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 efficiency and also the flexibility of reusing existing code modules. PRISM then pushes the application out automatically to an appropriate set of phones based on a specified 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-specific 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.