Abstract

The increasing ubiquity of the modern smartphone, coupled with its technical capabilities in terms of processing power, internet connectivity, and sensor richness, make it an ideal platformfor sensing all kinds of information about ourselves and the world around us. The emerging field of Mobile Phone Sensing (MPS) is taking advantage of this new technology, with applications in health care, traffic planning, social science, and more. However, with these new capabilities come new challenges as well, several of which we address in this dissertation. First, accurate, continuous, and instantaneous localization is needed both as a primary sensor of human mobility, and to place other sensor source into a spatial context. Second, scaling up experiments to potentially thousands of devices poses unique organizational and technological challenges. Third, energy consumption is of paramount importance in mobile devices where battery life time is a major constraint on what can be achieved, yet accurate, fine-grained energy analysis on mobile devices is still very difficult. We studied two aspects of smartphone localization. First, we explored howwell three different sensor modalities (GPS,Wi-Fi, and Geolocation) performon the task of finding when and where people dwell. We found that each of these offer roughly equal performance, but only when the signal is of sufficient quality. Therefore, coverage is an important issue. Another consequence of this study is that where available,Wi-Fi is a good substitute for the more energy-hungry GPS receiver on these tasks. Second, encouraged by this last result, we designed a novelWi-Fi scanning algorithm that reduces the energy consumption of this task by roughly half on modern smartphones. It achieves this by scanning as few channels as possible, thereby reducing the time taken by a scan, and thus the energy consumed. The algorithm visits the available channels in sequence of popularity, and terminates early when enough information has been gathered to provide a good location estimate. This early termination happens either when a certain number of access points has been found, or when during the scan it is discovered that the user has notmoved since the previous scan. We then turned to the scalability aspect of mobile phone sensing. MPS experiments are typically quantitative, which means that ideally as many test subjects as possible should be included in the study. Unfortunately smartphone experiments scale terribly in terms of number of participants because of several factors. First, experiments must be deployed to end-user’s phones, but application stores are not designed for the type of rapid prototyping and frequent re-deployment we envision. Second, there is a large organizational overhead involved in recruiting and incentivizing people to take part. Third, smartphone development is non-trivial, and a lot of domain knowledge is required to write successful applications that typical researchers don’t possess. To tackle these issues we developed a middleware called Pogo, which turns an ordinary Android smartphone into a node in a large-scale MPS test bed. We solve the deployment issue by allowing researchers to push their experiments directly to participating devices without involvement from the user. Once users have been recruited into a test bed, their resources and sensor data can be used for different experiments, and nodes may be shared between research groups. Finally, experiments running on the Pogo middleware are written in JavaScript using a simple yet flexible API, which hides the intricacies of Android programming. However, even though Pogo lowers the barrier for participation, users may still leave an experiment if the strain on their battery is too high. Energy efficiency is therefore a topic of major importance in the context of mobile phone sensing. From our own experience we found that accurate measurement and analysis of smartphone energy usage is cumbersome at best, primarily due to a lack of proper tooling. Accurate, high-resolution power meters such as the Monsoon power monitor provide a wealth of data, but interpreting these power traces is difficult without context. Moreover, these bulky powermeters cannot be used in-situ, which makes it impossible to measure power consumption with the end-user in the loop. To address these issues we developed Neat, a power analysis toolkit comprising a mobile power meter, and software that fuses recorded phone state (event logs) with the power trace post-facto to yield a single annotated power trace. The toolkit is scriptable, and can be used to automatically extract meaningful statistical data from hours-long traces. We have used Neat to explore power consumption of backgroundWi-Fi scanning and found two kernel bugs in the process. The scriptable nature of Neat made it easy to extract energy consumption profiles of notoriously hard to model OLED panels, and by processing power traces obtained from phones carried by end-users we have demonstrated Neat’s usefulness in real-world experiments.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call