This page provides a brief overview of mobile agents and of the work here at Dartmouth.

A mobile agent is a program that can migrate from machine to machine in a heterogeneous network. The program chooses when and where to migrate. It can suspend its execution at an arbitrary point, transport to another machine and resume execution on the new machine. In the picture below, an agent carrying a mail message migrates first to a router and then to the recipient's mailbox. The agent can perform arbitrarily complex processing at each machine in order to ensure that the message reaches the intended recipient.
Agent picture

Mobile agents have several advantages over the traditional client/server model.

There are many alternative techniques -- queued RPC, proxy servers, etc. -- that have many of these same advantages. The problem with these alternative techniques is that each one is only suitable for certain applications. A mobile-agent system on the other hand is a single, unified framework in which a wide range of distributed applications can be implemented easily and efficiently.

Notable mobile agent systems include:

A mobile-agent system called D'Agents is under development at Dartmouth College. The ultimate goal of D'Agents is to support applications that require the retrieval, organization and presentation of distributed information in arbitrary networks. Some of the research areas are:

D'Agents is used in several information-retrieval and workflow applications.

See the research page for more details.

Last updated on January 27, 1996

The D'Agents Project ended in approximately 2003. The software, and this web site, is no longer maintained. For questions please contact David Kotz.