PRISM-Platform for Remote Sensing using Smartphones
To realize the potential of opportunistic and participatory sensing using mobile smartphones, a key challenge is ensuring the ease of developing and deploying such applications, without the need for the application writer to reinvent the wheel each time. To this end, we present a Platform for Remote Sensing using Smartphones (PRISM) that balances the interconnected goals of generality, security, and scalability. PRISM allows application writers to package their applications as executable binaries, which offers efﬁciency and also the ﬂexibility of reusing existing code modules. PRISM then pushes the application out automatically to an appropriate set of phones based on a speciﬁed set of predicates. This push model enables timely and scalable application deployment while still ensuring a good degree of privacy. To safely execute untrusted applications on the smartphones, while allowing them controlled access to sensitive sensor data, we augment standard software sandboxing with several PRISM-speciﬁc elements like resource metering and forced amnesia. We present three applications built on our implementation of PRISM on Windows Mobile: citizen journalist, party thermometer, and road bump monitor. These applications vary in the set of sensors they use and in their mode of operation (depending on human input vs. automatic). We report on our experience from a small-scale deployment of these applications. We also present a large-scale simulation-based analysis of the scalability of PRISM’s push model.
Mobile phones are proliferating with more than 4 billion phones in use worldwide . Programmable smartphones constitute a signiﬁcant and growing fraction of these phones. For instance, 172 million of the 1.2 billion phones sold worldwide in 2009 were smartphones . While smartphones today are used largely in isolation, operating as individual units serving their respective users (e.g., enabling users to check their email), there is a nascent interest in community applications, which leverage the resources of a potentially large and distributed set of mobile smartphones. One such class of community applications that has received much research attention recently is community sensing [26, 25, 37, 4, 7]. Community sensing using mobile smartphones is motivated by the observation that such phones include not only computing and communication capabilities but also a range of sensing capabilities, such as provided by the microphone, camera, GPS, and accelerometer, among other sensors. The idea, then, is to orchestrate the computing, communication, and sensing capabilities of a population of mobile phones, which happen to be at the right place at the right time, to enable large-scale sensing purely through software running on this existing hardware base. A community sensing application could either be participatory, involving explicit user action (e.g., taking photographs), or opportunistic, operating without user involvement (e.g., recording a GPS trace) [8, 27]. A key challenge in realizing the potential of community sensing is ensuring the ease of developing and deploying such applications, so that the application writer does not have to reinvent the wheel each time. To this end, we present PRISM, a Platform for Remote Sensing using Smartphones, which addresses a number of common challenges that such applications face. PRISM tries to balance three interconnected goals:
1. Generality: support a wide range of applications with ﬂexibility to reuse existing code.
2. Security: ensure that the participating phones, belonging to
individual users, remain secure and that applications do not
misuse sensitive sensor information.