Home
News
People
Projects
Publications
Workshops
Seminar
Software
Conferences
Funding
Collaborations
Resources
Directions

 

Webmaster

Goals Description Software Applications Publications People Support Links
Goals

The goal of the Smart Messages project is to develop a computing model and a system architecture for networks of embedded systems (NES). The applications running over NES range from as simple as data collection and data dissemination in sensor networks to complex cooperative applications such as cars collaborating to adapt to traffic conditions or robots with intelligent cameras performing distributed object tracking. The main question that we try to answer is: How to program user-defined distributed applications over NES?

[Top]

Description

NES are large scale, ad hoc networks that work unattended. They are composed of resource constrained, heterogeneous, and volatile nodes. Programming NES is a significant challenge due to this unique combination of characteristics which makes traditional distributed computing models difficult, if not impossible, to use in such networks. Our solution is Cooperative Computing, a distributed computing model based on execution migration. In this model, applications are dynamic collections of Smart Messages (SMs) and each node cooperates by providing a common system support. Smart Messages are migratory execution units that execute on nodes of interest named by content and reached using self-routing at intermediate nodes. Each node in NES provides a virtual machine for SM execution and a name-based memory, called Tag Space The Tag Space offers persistent memory across SM executions and a uniform interface to the host OS and I/O system. The complete node architecture is presented in the figure below.


Cooperative Node Architecture

To demonstrate the feasibility of our computing model and system architecture, we have implemented an SM prototype by modifying Sun Microsystem's KVM. KVM is a virtual machine designed for mobile devices with resource constraints, suitable for devices with as little as 160 KB memory. SMs are written in Java and the SM's API is implemented as Java libraries using native methods. The SM migration is lightweight because the execution state consists only of SM's data bricks and the control stack. This prototype runs over a testbed consisting of HP's iPAQs with Linux 2.4.x as OS and equipped Orinoco's802.11b PC cards for wireless communication. An application developed over this prototype is EZCab, which is used for booking cabs in densely populated urban areas.


Prototype Node with Camera and GPS attached
Software

An implementation of SM based on KVM 1.0.3 for iPAQ and Intel x86 platforms is available here

[Top]

Applications

[Top]

Publications
Presentations
[Top]

People
Faculty

Liviu Iftode

Graduate Students

Cristian Borcea, Porlin Kang, Gang Xu, Yang Ni, Peng Zhou, Nishkam Ravi

Undergraduate Students

Peter Stern

Collaborators

Chalermek Intanagonwiwat

Alumni

Deepa Iyer, Akhilesh Saxena, Phillip Stanley-Marbell

[Top]

Support
[Top]

Links to Related Projects

[Top]