Pervasive Computing Using Smartphones
Of late there has been increasing interest in devising device-centric solutions that treat user and devices as first class citizens. Instead of designing solutions in abstract space, solutions are designed keeping the available devices in mind. Such solutions are easy to evaluate and deploy in realistic settings. Smart Phone is one device that holds great promise in realizing the pervasive computing vision. Goals of this project include: (1). Designing middleware and protocols for service provisioning on Smart Phones (2). Designing middleware to support augmented reality applications on Smart Phones (3). Characterizing energy usage of Smart Phone applications and developing energy optimization techniques
We have designed and implemented SDIPP, a protocol for service provisioning on Smart Phones. SDIPP stands for Service Discovery, Interaction and Payment Protocol.
We have also designed and implemented Smart Message Architecture on Smart Phones for discovering and executing mobile services.
Portable Smart Message Architecture
Indoor localization has long been a goal of pervasive computing research. We are exploring the possibility of determining user's location based on the camera images received from a smart phone. In our system, the smart phone is worn by the user as a pendant and images are periodically captured and transmitted over GPRS to a web server. The web server returns the location of the user by comparing the received images with images stored in a database. We tested our system inside the Computer Science department building. Preliminary results show that user's location can be determined correctly with more than 80\% probability of success. As opposed to earlier solutions for indoor localization, this approach does not have any infrastructure requirements. The only cost is that of building an image database.
|Indoor Localization Application|
|Left: User wearing the phone as a pendant, Right: Snapshots of the client running on the phone|
Undergraduate students are involved in developing applications. We have implemented the following applications:
In the future, smart phones will run a number of background applications that would compete for limited battery lifetime.
There is a need to manage battery as a resource across these
applications. We have designed a system for context-aware battery
management based on two key observations. First, it is necessary
to create an energy budget for different applications in order to prevent
low priority applications (such as background tasks) from affecting the
availability of high priority applications (such as telephony). Second,
the knowledge of when the user will recharge the phone next is crucial to
managing battery lifetime on phones. This is because the knowledge of when
the next recharge will happen determines the total battery lifetime
available to applications.
At the heart of the battery management system are algorithms that predict: (1) when the next charging opportunity will be available, (2) how much call-time will be required by the user in the interim, and (3) how long the battery will last if the current set of applications continue to execute. The algorithms process user's location traces and call-logs for making some of these predictions. We have also developed a technique to predict battery consumption of applications accurately. Experimental results obtained with real user traces demonstrate the feasibility of our approach."
|Battery Management System Architecture|
The following applications are available in source code and binary formats. Please contact us if you are interested in obtaining copies.
|Enables a person to open a Bluetooth enabled door with their Smart Phone. Please check the README file for a better description.
Authors: Nishkam Ravi, Peter Stern*, Niket Desai*, and Liviu Iftode
|Start discovery.||Doors found.||
Processing request for opening a door.
The control circuit for supplying and controlling power to the door.
|Continuously trades personal information input by the user to other SmartPhones in the vicinity. Please check the README file for a better description.
Authors: Niket Desai*, Nishkam Ravi and Liviu Iftode
|Main menu.||Manual or auto search. Search for keyword eg. "Doctor" or a friend's name.||
Found a profile.
The profile found.
|Bill Payment Application|
|Implementation of the PPDC protocol. Using a variation of the Millicent Scrip protocol, pays bills electronically from a SmartPhone. Please check the README file for a better description.
Authors: Peter Stern*, Nishkam Ravi and Liviu Iftode
|Choose the vendor to pay.||Vendor inputs bill amount.||
Split the bill with your friends?
|Select which friends to split the bill with.||The friend enters how much he would like to contribute.||A receipt of the transaction is generated on both devices.|
The bill is paid and a receipt is generated.
|The broker's record of the transaction.|
Context-aware Battery Managemetn for Mobile Phones.
Accepted for publication in Sixth Annual IEEE International Conference on Pervasive Computing and Communications (Percom 2008) March 2008.
Indoor Localization Using Camera Phones.
To appear in the Proceedings of the 7th IEEE Workshop on Mobile Computing Systems and Applications, April 2006.
Peter Stern, Niket Desai, Cristian Borcea, Nishkam Ravi