7 Reasons
7 Reasons
7 Reasons
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.