Project Ideas for CMSC818L, Spring 2002
Project proposals must be sent by e-mail no later than March 15.
- Programming Networks of Embedded Systems using Smart Messages.
Scale, volatility and ad-hoc configuration make networks of embedded systems
impossible to program using traditional distributed computing models.
Smart Messages offer an alternative solution called cooperative
computing, which is essentially based on execution migration with
self-routing. The goal of this project is to design a high-level
programming environment for networks of embedded systems based on SM.
The programs should allow the user to express the quality of results
and handle routing exceptions.
- Operating System for Smart Messages.
Smart Messages require a simple
system support in the center of which there is a Tag Space. Memory
operations, I/O and synchronization are all performed through the Tag
Space. The goal of this project is to design and implement a micro OS
kernel with an event-based architecture. In this OS, a Smart Message
is nothing else but a mobile event handler in the Tag Space.
- Smart Message over Bluetooth.
The goal of this project is to design
and implement a content-based
network layer over Bluetooth. This basically requires
supporting scatternets. Smart Message communication will perform on
top of the BT scatternets using content-based routing.
- Smart Message Security.
Smart Messages supports cooperative computing
through execution migration and mobile code, solutions that are
obviously prone to security attacks. The current Smart Message
implementation ignores security issues. In order to make it a viable
support for distributed computing over networks of embedded systems,
security must be addressed. The big challenge is to design a
distributed security
model assuming nodes with limited resources.
- Routing Schemes using Smart Messages.
The key feature of the Smart
Message architecture is self-routing by which we understand that
routing is chosen by the application as a migration library. The
application can also intervene in migration to change routing and/or
destination. This topic can lead to multiple projects. The routing
scheme must be original but can be inspired from existing
content-based routing schemes. In all cases nodes must be
assumed volatile and mobile. Of particular interest are
geographical routing, global energy-aware routing, probabilistic and
rendez-vous routing schemes.
- Distributed applications over Smart Messages.
The goal of this project
is to design and implement complex distributed applications using
Smart Messages. Object-tracking using multiple intelligent camera
nodes is an example of complex distributed application but other
non-trivial applications are also acceptable.
- Relaxed Transport Protocols over Networks of Embedded Systems.
Existing transport protocols with end-points bound to hosts and
strong end-to-end semantics cannot be used for networks of embedded
systems where nodes, links and routes are volatile and mobile. The
goal of this project is to design and implement a new class of
transport protocols with dynamic binding of end-points to hosts and
dynamic splitting of connection in the network. This project does not
assume Smart Message support.
- Relaxed Transport Protocols over Overlay Networks.
This project
mirrors the goals of the previous project but will apply to WAN
rather than to networks of embedded systems. The basic idea is to
decouple the
transport protocol from the network layer. The protocol must support
a content-based end-point naming using one of the existing P2P
schemes for location and routing. In particular, this protocol should
work for user-to-user communication in pervasive computing
environments where users change hosts during connection.
- Split-Networking for Network Servers.
This one and the following two
projects are part of the Split-OS project, which aims to support
server performance by splitting the operating system between the host
and intelligent devices (I-NIC) or dedicated front-end nodes
(connection servers). The key
ingredient of this split architecture is the non-intrusive
intra-server communication provided by VIA or Infiniband-like
interconnects. The goal of this project is to offload the networking
protocols to a front-end node using
a kernel-based implementation starting
from an open-source UNIX system.
- Direct Device-to-Device Communication.
The goal of this project is to
design and implement the kernel mechanisms to allow direct
device-to-device communication bypassing the host and its memory.
Applications control direct device-to-device communication but
operating system must ensure reliable and protected communication
between devices. The storage device must provide a DAFS server
interface. Policy to decide between host-mediated vs. direct
device-to-device communication must also be developed and evaluated
using a real server application. This project will be performed
in conjunction with the Split-Networking project.
- Cooperative Networking.
This project targets to provide a shared TCP
layer on top of multiple intelligent network interfaces
or connection servers. Connections
can be shared among multiple I-NICs and the cooperative protocol must
tolerate I-NIC failures and implement load balancing.
This project will be performed
in conjunction with the Split-Networking project.
- Distributed DAFS. DAFS is an efficient remote
file system protocol designed to take advantage of memory-to-memory
communication interconnects such as VI or Infiniband. The goal
of this project is to develop a distributed DAFS over a number of
DAFS servers to provide a single global file system space.
- Your project idea.
Liviu Iftode / iftode@cs.umd.edu