People-centric Sensor Systems
Papers referenced:
"Sensing Meets Mobile Social Networks: The Design, Implementation, and
Evaluation of the CenceMe Application", by Miluzzo, Lane, Fodor,
Peterson, Ly, Musolesi, Eisenman, Zheng, and Campbell
Overview
Motivation:
use off-the-shelf mobile phones to develop a sensor application to
track user information and share using social networking applications.
Design
Phone Limitations:
- OS Limitations - Phones are primarily designed to handle calls.
Applications may be denied resources because the phone
prioritizes calls over the applications.
- API and Operational Limitations - JME does not always support necessary functions such as accessing the accelerometer.
- Security Limitations - To protect phone and cellular network, signed keys are often needed for development.
- Energy Management Limitations -
- Radio interfaces consume huge amounts of energy.
- Applications must implement efficient duty cycles to balance fidelity/user experience with power consumption.
- APIs often do not provide fine-grained control to toggle components (e.g., radio) on/off.
Architectural Design Issues:
- Split-Level Classification -
- The phone does some classification and produces primitives.
- Primitives are are sent to the backend and the backend does additional classification and produces facts.
- Advantages:
- customization - can produce user-specific customizations
- resiliency to breaks in connectivity - primitives are sent when possible
- minimizes bandwidth usage - raw data does not need to be sent
- reduces energy usage - aggregates upload
- enhances privacy - does not send raw data
- Power Aware Duty Cycle
- Minimize sampling while maintaining responsiveness.
- Typically sample at a low rate, but increase rate when information is accessed.
- Software Portability
- Use JME when possible.
- Some functionality must be system specific.
Implementation
Implemented on Nokia N95 phones (also available for the iPhone at cenceme.org).
Operations:
- Sensing
- Classification to produce primitives
- Presentation of people's presence on the phone
- Upload of primitives to backend servers
Classifications:
- classifying the nature of the sound collected from the microphone
- classifying the accelerometer data to determine activity (sitting, standing, walking, running)
- scanned Bluetooth/MAC addresses in range
- GPS readings
- random photos
Phone Software Architecture -- Figure 1:
- Symbian Servers - native implementation of servers that collect
data from accelerometer, audio, and event detection for photo generation
- Sensing components - Accelerometer, Audio, and Photo receive data
from the symbian servers. GPS and Bluetooth daemon controlled by
the sensing controller.
- Local storage - stores raw data before classification and primitives after classification
- Upload manager - uploads data to backend servers.
- Privacy settings GUI - allows user to enable/disable the sensors.
- ClickStatus - front-end app that shows status of buddies.
- WatchTasks - launches the app at startup and relaunches after a call or something dies.
- On the iPhone, apps cannot run in the background.
Backend Software Architecture -- Figure 3:
- Phone to Backend Communication uses XML-RPC
- Backend provides push and pull of data for different applications
- Push to Facebook
- Allow pull from Skype/iGoogle
Classifiers
Phone Classifiers:
- Audio - uses discrete Fourier transform to determine whether someone is talking
- Activity - uses accelerometer data to determine if user is sitting, standing, walking, or running.
- Figure 6
- Mean, standard deviation, and number of peaks per unit time are used as feature vector components
- Perform training of decision tree algorithm offline and use tree with depth 3 for online classification
Backend Classifiers:
- Conversation - combines multiple audio primitives to determine whether someone is in a conversation, which may contain pauses
- Social Context
- neighborhood conditions - are there cenceme friends around?
- social status - combination of classifiers
- sitting in a conversation with cenceme friends (activity + conversation + neighborhood)
- partying (sound volume + activity)
- dancing (sound volume + activity)
- Mobility Mode - uses GPS to determine if user is traveling in a vehicle or not
- Location - uses GPS and Wikimapia GIS data
- Am I Hot -
- Nerdy - often alone and spends time in locations such as libraries
- Party animal - often at parties and often near others
- Cultured - often visits theaters/museums
- Healthy - often walking, jogging, cycling, or at the gym
- Greeny - low environmental impact -- not typically in a car and often walks, cycles, or runs
Sami
Rollins
Date: 2008-01-15