You are on page 1of 2

Seven Good Reasons for Mobile Agents

Dispatch your agents; shut off than the data to the computation.
your machine. They overcome network latency. Critical real-time
systems, such as robots in manufacturing processes,
Danny B. Lange and Mitsuru Oshima need to respond in real time to changes in their envi-
ronments. Controlling such systems through a factory
Mobility is an orthogonal property of agents, that is, network of substantial size involves significant laten-
not all agents are mobile. An agent can just sit there and
cies. For critical real-time systems, such latencies are
communicate with its environment through conven-
not acceptable. Mobile agents offer a solution,
tional means, such as remote procedure calling and
because they can be dispatched from a central con-
messaging. We call agents that do not or cannot move
troller to act locally and execute the controller’s direc-
“stationary agents.” A stationary agent executes only
tions directly.
on the system on which it begins execution. If it needs
They encapsulate protocols. When data is
information not on that system or needs to interact with
an agent on another system, it typically uses a commu- exchanged in a distributed system, each host owns the
nication mechanism, such as remote procedure calling. code that implements the protocols needed to properly
In contrast, a mobile agent is not bound to the sys- code outgoing data and interpret incoming data. How-
tem on which it begins execution [1]. It is free to travel ever, as protocols evolve to accommodate new
among the hosts in the network. Created in one execu- requirements for efficiency or security, it is cumber-
tion environment, it can transport its state and code some if not impossible to upgrade protocol code prop-
with it to another execution environment in the network, erly. As a result, protocols often become a legacy
where it resumes execution. The term “state” typically problem. Mobile agents, on the other hand, can move
means the attribute values of the agent that help it to remote hosts to establish “channels” based on pro-
determine what to do when it resumes execution at its prietary protocols.
destination. Code in an object-oriented context means They execute asynchronously and autonomously.
the class code necessary for an agent to execute. Mobile devices often rely on expensive or fragile net-
A mobile agent has the unique ability to transport work connections. Tasks requiring a continuously open
itself from one system in a network to another in the connection between a mobile device and a fixed net-
same network. This ability allows it to move to a system work are probably not economically or technically fea-
containing an object with which it wants to interact sible. To solve this problem, tasks can be embedded
and then to take advantage of being in the same host into mobile agents, which can then be dispatched into
or network as the object. the network. After being dispatched, the agents
Our interest in mobile agents is not motivated by the become independent of the process that created them
technology per se but rather by the benefits agents and can operate asynchronously and autonomously.
provide for creating distributed systems. There are at The mobile device can reconnect at a later time to col-
least seven main benefits, or good reasons, to start lect the agent.
using mobile agents: They adapt dynamically. Mobile agents can sense
They reduce the network load. Distributed systems their execution environment and react autonomously
often rely on communication protocols involving multi- to changes. Multiple mobile agents have the unique
ple interactions to accomplish a given task. The result ability of distributing themselves among the hosts in
is a lot of network traffic. Mobile agents allow users to the network to maintain the optimal configuration for
package a conversation and dispatch it to a destina- solving a particular problem.
tion host where interactions take place locally. Mobile They are naturally heterogeneous. Network com-
agents are also useful when reducing the flow of raw puting is fundamentally heterogeneous, often from
data in the network. When very large volumes of data both hardware and software perspectives. Because
are stored at remote hosts, that data should be mobile agents are generally computer- and transport-
processed in its locality rather than transferred over layer-independent (dependent on only their execution
the network. The motto for agent-based data process- environments), they provide optimal conditions for
ing is simple: Move the computation to the data rather seamless system integration.

88 March 1999/Vol. 42, No. 3 COMMUNICATIONS OF THE ACM


They are robust and fault-tolerant. Mobile agents’ Telecommunication networks services. Support and
ability to react dynamically to unfavorable situations management of advanced telecommunication services
and events makes it easier to build robust and fault- are characterized by dynamic network reconfiguration
tolerant distributed systems. If a host is being shut and user customization. The physical size of these net-
down, all agents executing on that machine are warned works and the strict requirements under which they
and given time to dispatch and continue their opera- operate call for mobile agent technology to function as
tion on another host in the network. the glue keeping the systems flexible yet effective.
But be warned: Do not waste your time searching for Workflow applications and groupware. The nature of
the killer application for mobile agents. There are no workflow applications includes support for the flow of
mobile agent applications, but there are plenty of information among coworkers. Mobile agents are espe-
applications that benefit from using mobile agents. cially useful here, because, in addition to mobility, they
Several applications clearly benefit from the mobile provide a degree of autonomy to the workflow item.
agent paradigm: Individual workflow items fully embody the information
E-commerce. Mobile agents are well suited for e- and behavior they need to move through the organiza-
commerce. A commercial transaction may require tion—independent of any particular application.
real-time access to remote resources, such as stock Monitoring and notification. This classic mobile
quotes and perhaps even agent-to-agent negotiation. agent application highlights the asynchronous nature
Different agents have different goals and implement of these agents. An agent can monitor a given informa-
and exercise different strategies to accomplish them. tion source without being dependent on the system
We envision agents embodying the intentions of their from which it originates. Agents can be dispatched to
creators, acting and negotiating on their behalf. wait for certain kinds of information to become avail-
Mobile agent technology is a very appealing solution able. It is often important that the life spans of moni-
for this kind of problem. toring agents exceed or be independent of the
Personal assistance. Mobile agents’ ability to exe- computing processes that created them.
cute on remote hosts makes them suitable as assis- Information dissemination. Mobile agents embody
tants performing tasks in the network on behalf of their the so-called Internet push model. Agents can dissem-
creators. Remote assistants operate independently of inate information, such as news and automatic soft-
their limited network connectivity; their creators can ware updates, for vendors. The agents bring the new
even turn off their computers. For example, to sched- software components, as well as installation proce-
ule a meeting with several other people, a user can dures, directly to customers’ computers where they
send a mobile agent to interact with the agents repre- autonomously update and manage the software.
senting each of the people invited to the meeting. The Parallel processing. Given that mobile agents can
agents negotiate and establish a meeting time. create a cascade of clones in the network, another
Secure brokering. An interesting application of potential use of mobile agent technology is to admin-
mobile agents is in collaborations in which not all the ister parallel processing tasks. If a computation
collaborators are trusted. The parties could let their requires so much processor power that it must be dis-
mobile agents meet on a mutually agreed secure host tributed among multiple processors, an infrastructure
where collaboration takes place without risk of the of mobile agent hosts can be a plausible way to allo-
host taking the side of one of the visiting agents. cate the related processes. c
Distributed information retrieval. Instead of moving Reference
large amounts of data to the search engine so it can cre- 1. Lange, D., and Oshima, M. Programming and Deploying Java Mobile
Agents with Aglets. Addison-Wesley Longman, Reading, Mass., 1998.
ate search indexes, agent creators can dispatch their
agents to remote information sources where they locally
Danny B. Lange (danny@genmagic.com) is director of agent
create search indexes that can later be shipped back to technology in General Magic, Inc. in Sunnyvale, Calif.
the system of origin. Mobile agents can also perform Mitsuru Oshima (oshima@genmagic.com) is a technical lead in
extended searches that are not constrained by the hours General Magic, Inc. in Sunnyvale, Calif.
during which a creator’s computer is operational. © 1999 ACM 0002-0782/99/0300 $5.00

COMMUNICATIONS OF THE ACM March 1999/Vol. 42, No. 3 89