Abstract
By interacting with external wireless sensors, smartphones can gather high-fidelity data on the surrounding environment to develop various environment-aware, personalized applications. In this work we introduce the sensor virtualization module (SVM), which virtualizes external sensors so that smartphone applications can easily utilize a large number of external sensing resources. Implemented on the Android platform, our SVM simplifies the management of external sensors by abstracting them as virtual sensors to provide the capability of resolving conflicting data requests from multiple applications and also allowing sensor data fusion for data from different sensors to create new customized sensors elements. We envision our SVM to open the possibilities of designing novel personalized smartphone applications.