O'Reilly logo

Mobile Agents by Wilhelm R. Rossak, Peter Braun

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

4.3 Solutions to Provide Location-Transparent Communication 141
To make the distribution of a tuple space transparent to the agent, Rowstron
proposes, for example, to migrate parts of the tuple space to another loca-
tion [Rowstron, 1998]. An overview of tuple space–oriented approaches for
mobile agents can be found in Ciancarini et al. [1999] and Omicini et al.
[2001].
4.3 Solutions to Provide Location-Transparent Communication
In this section we discuss several approaches to solving the problem of global
and reliable communication. The main issue we are tackling here is location-
transparent communication using asynchronous message passing between
mobile agents.
As we mentioned at the beginning of this chapter, early systems published
in the mid to late 1990s provide only local communication between agents
residing on the same agency or some kind of remote communication with-
out location transparency. In the latter case, different concepts for local and
remotecommunication wereoften provided. InTelescript [White, 1996], local
communication is offered by meetings. An agent—the petitioner—initiates
communication by calling the specific method meet, which defines the tar-
get agent—the petitionee. If another local agent is available and matches the
petition, the method meeting is called to allow the target agent to decline
the communication. In the other direction the petitioner agent gets a refer-
ence to the other agent so that it can call methods. Global communication is
implemented by connections, which are point-to-point connections between
agents residing at different agencies. If the target agent accepts the connec-
tion, both agents can exchange Telescript objects via this channel. In Agent
Tcl [Gray, 1997a] agents were allowed to communicate remotely by using
remote procedure calls—tracking of mobile agents was not an issue, and the
programmer had to implement his own techniques for this. Ajanta, a Java-
based mobile agent toolkit, also provides remote method invocation [Karnik
and Tripathi, 2001] as the only choice. Other toolkits, for example, Mole, do
provide some kind of remote communication, but they restrict the mobility
of agents. After an agent has accepted a so-called session, it is not allowed
to migrate. If it migrates, the session is terminated immediately [Baumann
et al., 1997].
Some of the mobile agent toolkits developed in recent years provide a
means to let mobile agents communicate with other agents independent of
142 Chapter 4 Mobile Agent Communication
their current location. Before we discuss some of these approaches, we want
to point out the wide range of possible solutions related to the design space
for global communication. First, we can determine that any approach for
location-transparent communication must provide solutions for both of the
following actions:
Agent tracking, which involves recording the current position of an agent
to make it possible to find the agent later
Message delivery, which dictates that the message must be sent to the
agent’s current location if the target agent is not residing at the same
agency as the sender agent
We can immediately present two solutions with opposite behavior. The first
one, the full information approach, assumes that every agency has full knowl-
edge about the current location of all agents in the system. Agent tracking
becomes a very expensive task in this approach, because for each migra-
tion, all agencies in the network must update their local location directory.
To make this protocol reliable, an agent must notify all agencies about its
forthcoming migration so that they can buffer messages to this agent during
the migration process. After the agent has reached its new location, a sec-
ond update message must be sent to all agencies. This approach is also very
expensive in terms of used storage, because the location directory contains
entries for all agents currently active in the system independent of their real
behavior in terms of messages sent to it. This location directory also contains
the same data on each agency, so we have a high level of redundancy. In
contrast, delivering a message is extremely easy in this approach, because
it involves accessing only a single directory and sending the message to the
current agent’s destination.
The opposite solution is the no information approach. With this approach,
we assume that no agent tracking is established and therefore no agency
has direct knowledge of the current location of any agents other than those
residing locally. Obviously, agent migration is now very cheap, because no
location directory must be updated. However, to locate an agent to deliver a
message becomes extremely expensive.The only way to do this is to searchfor
the target agent either sequentially or in parallel using multi-cast or broadcast
mechanisms oftheunderlying network infrastructure. Inwide-area, Internet-
scale networks, this technique is impracticable, which has resulted in this
approach being discarded as well.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required