15-821/18-843  Fall 2009 Project Assignments


Click here for the original list of proposed projects.

Internet Suspend/Resume

Internet Suspend/Resume is a system for transporting virtual machines called "parcels" across a network and rapidly resuming them at a client system. Only the parcel's memory image and metadata needs to be transferred before execution can resume; its disk image is divided into 128 KB chunks that are fetched from the ISR server on demand. To do this, ISR includes a Linux kernel module (Nexus) that provides a virtual disk driver. Nexus redirects parcel disk accesses to a userspace program, Parcelkeeper, which fetches the corresponding data if it is not already stored on the client. ISR supports multiple virtual machine monitors, including VirtualBox, KVM, and VMware.


1. Virtual Disks

Mentor: Benjamin Gilbert 

Students: Pradeep Krishnaswamy, Chetan Anand

Modify the ISR client infrastructure to export the parcel's virtual disk as an iSCSI target, rather than via the custom Nexus kernel module. Then use VirtualBox's iSCSI initiator support to attach parcels to their virtual disks. The resulting system should behave identically to an unmodified ISR client, but without the need for modifications to the host kernel.

2. Live-migration

Mentor: Benjamin Gilbert

Students: Rishit Shroff, Sameer Shah, Praveen Murugesan

Use KVM to build a prototype of live-migration support for ISR. The prototype should allow a user to request that a parcel running on a remote client be migrated to run locally and vice versa, while they are interacting with the parcel and without noticeable degradation of parcel responsiveness. KVM already provides the core functionality for this feature; your job is to connect it to the ISR infrastructure. To make your lives easier, you may replace ISR's virtual disk infrastructure with a simple shared disk (e.g. Network Block Device).


3. Booting from Pen Drive

Mentor: Adam Goode

Students: Manan Kadia, Manan Patel, Radhika Karandikar

Build a bootable ISR client image that can be stored on a USB pen drive. A user can boot a computer from their pen drive and use ISR to access their parcels. In addition to the ISR software, the pen drive should contain a dynamically-updated cache of parcel data (disk chunks and memory images) to prevent excessive fetches over the network. While a parcel is running, modified portions of the parcel's disk must be stored on the computer's internal hard drive for performance reasons. When the parcel is suspended, this data must be copied back to the pen drive. The user can then remove the pen drive and depart, leaving the computer running to upload modified data back to the ISR server.


Context Aware Applications

The number of applications for mobile devices is exploding rapidly. The following projects explore the domain of mobile systems equipped with sensors.


4. Platform for Context-Aware Mobile Mashups

Mentor: Jason Hong

Students: Lavanya Renganathan, Sneha Shah

There are three basic premises for context-aware mobile mashups:

- There are many kinds of information that are useful to people when mobile (or about to go mobile), but is too difficult to access on small mobile devices;

- Much of this information can be prepared beforehand on desktop computers

- This prepared information can be presented to users at appropriate times based on human-level contextual events (e.g., "when I am on my way home")

Some simple examples of context-aware mobile mashups include:

- "Precognition", such as "tell me to bring in the plants if the weather is about to get cold" or "when I am about to leave home, check if I need to bring an umbrella"

- Information displays, for example, "On work mornings, show weather, traffic, school delay status information for the children’s school, and school calendar information"

The scope of the project for this course would be to focus on developing a mobile/desktop platform for capturing useful contextual events. The criteria here are that these events should be useful, power efficient, extensible, fairly accurate, and timely. Students would extend EEMSS, an Energy-Efficient Mobile Sensing System that has been previously been developed.

5. Ergonomics Coach: Providing contextual just-in-time help and feedback to workers

Mentors: Dan Siewiorek, Asim Smailagic

Students: James Kong, Scott Fisk

On-the-job injuries are painful and costly. A multi-sensor platform with activity recognition algorithms can sense worker context and provide situationally appropriate feedback. We will focus on the package delivery domain which includes activities such as – scan documents with a handheld scanner device, load packages into a truck, drive, unload packages, push a cart, pull a cart, unload packages from a cart, and get signature.

We will use the accelerometers in an Android G1 phone as the primary sensing platform. For experimental discovery purposes we will also use secondary accelerometers on the wrist, waist, and leg. Additional sensors may include pressure sensors (shoe), flex sensors (glove), or other wearable accelerometers. The goal of this project is to determine the accuracy of activity recognition with the Android phone and to quantify the improvement in recognition accuracy through additional sensor types and location.


Edited by Satya on 11/12/2009