![]() |
DHARMA:Distributed
Home Agent DSL lab, CIS Department, University of Pennsylvania [Overview] [People]
[Papers/Talk] [Related
Projects]
[Download/Usage]
[Status]
|
![]() |
Mar 13, 2005: DHARMA 0.4.2 released. You don't even need an account to get PlanetLab access until May 3, 2005, i.e. during NSDI.
Dec 18, 2004: DHARMA 0.4.1 released, more secure handoff, various bugs fixed.
Checkout the latest screenshot based on 0.3.3
The DHARMA 0.3.3 is released. totally refactored, better design, less bugs.
DHARMA online status monitoring is available. (based on appmanager with small patches)
The NIE (Network Inference Engine) is available to download for public.
Robust network service is a major challenge to effective, ubiquitous mobile computing. Mobile nodes (MNs) generally use IP to avail themselves of the services and software available as IP overlays, and to use the highly available IP packet delivery. The wireless link from mobile device to the routed IP network has proven problematic in the face of radio phenomena, and support for IP routing has demanded use of a home IP address and home agent to forward packets. The challenges of radio phenomena such as interference and inadequate signal strength have been particularly problematic for the TCP/IP protocol, the performance of which degrades rapidly in the face of packet loss. The challenges of Mobile IP, in addition to limited deployment, include the inefficient triangle routing which occurs when an MH is far from home.
DHARMA addresses both of these problems. We address the wireless link problem with multiple links and algorithms for choosing links in response to application requirements and network conditions. This behavior provides a robust link model characterized by the best case of the link quality and resembles, in principle, the RON work from MIT. We address the IP routing triangle by creating a multiplicity of "Home Agents" (HAs) with which a correspondent host (CH) can reach the mobile. Geographically dispersed overlay networks, such as Planetlab, are our vehicle for deployment of multiple HAs.
Who need DHARMA? Laptop and other mobile device users, who have crappy wireless links, change the network attach points often, or suspend/resume their mobile devices.
What applications does DHARMA support? DHARMA has a transport layer implementation that support all legacy TCP applications. That means, you can keep your TCP connections open when the network link is broken, network interfaces are switched, you suspend you laptop for traveling, etc. An ssh connection, remote X11 applications, large file downloading, messengers are all excellent application examples for DHARMA. It also supports dynamically changing interface binding for a particular TCP connection, and works on Linux and Windows (with or without cygwin).
Motivating examples: (1) At home, you ssh to your machine in the office and start a remote X application, say Emacs. After a while, you suspend your laptop and go to the office. The travel from home to office takes a couple of minutes. You resume your laptop in the office and expect to continue using the Emacs window you had started. (2) You start downloading a large file on your laptop via wireless link. After a while, you bring the laptop to a place where faster Ethernet connection is available. You plug the Ethernet cable in the laptop and expect the download can switch to the faster link without breaking the ongoing connection. DHARMA makes all these feasible.
Why not Mobile IP? (1) Mobile IP and other network layer mobility solutions cannot cope with the temporary network disconnection problem. For example, hibernation of laptops for a couple of minutes, or short period wireless link failures. (2) Mobile IP creates inefficient routing problems when you travel far from home. (3) DHARMA prototype is a user level implementation. You do not have to hack kernel files and worry about the version compatibility issue, given Linux releases at least one new version every month!
Yun Mao, Ph.D.
student
Willem de Bruijn, Visiting Scholar (Emeritus)
Bjorn Knutsson, Postdoc
Honghui Lu, Assistant Professor
Jonathan M. Smith, Professor
Yun Mao, Bjorn Knutsson, Honghui Lu, Jonathan M. Smith. DHARMA: Distributed Home Agent for Robust Mobile Access. IEEE INFOCOM 2005, Miami, Florida, March 2005. slides.
Willem de Bruijn. A Network Inference Engine. Technical Report, University of Pennsylvania, Oct 2003. code
Yun Mao, Willem deBruijn, Bjorn Knutsson, Honghui Lu, Jonathan M. Smith. Distributed Home Agent for Robust Mobile Access. SOSP 2003 WIP Session. [ppt, pdf]
DHARMA download and instructions are available here. To use PlanetLab as home agents, you have to email maoy at cis.upenn.edu to get an account. However, if you use 0.4.2 version, you don't need an account during NSDI (now to May 3, 2005).
To download and try the network inference engine, go here
Application Private
Networking
Knowledge Plane
PlanetLab
The Migrate Internet Mobility
Project
Host Mobility using an Internet Indirection
Infrastructure
Reliable Sockets