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

10.6 Managing Logical-Agency Networks 391
MirrorAndPush does not define a mapping of classes to code units, and, there-
fore, cannot be used for the initial migration of an agent. It first loads
code units and data items from the agent’s home agency or last mirror
agency that are still missing and not defined at the current agency. If
there is already a mirror agency, it is released and the current agency
becomes the new mirror agency.
MirrorAndPushWithoutCache works like MirrorAndPush, but disables the code
cache by default.
Worm works like a worm that roams the network and initializes each agency
that it visits to become a code ser ver. It does not transmit any code along
with its state transmission, but always loads necessar y classes from the
last agency it has visited before. It defines a single common code unit for
all classes.
WormWithoutCache works like Worm, but disables the code cache by default.
10.6 Managing Logical-Agency Networks
10.6.1 Introduction
The Tracy Domain Manager Service is an approach to construct and evolve a
network of agencies. It is indispensable if mobile agents are to move through
the network automatically.
The basic concept we employ is that of a logical-agency network.We
define a logical network as an undirected graph in which vertices represent
agencies and an edge exists between a pair of vertices if there is the possibil-
ity of transmitting mobile agents between the corresponding agencies. Not
all agencies are able to exchange mobile agents because of different trans-
mission protocols, firewalls, or private subnetworks that are only reachable
via a gateway server. A logical-network view is a necessary prerequisite for
a mobile agent to be able to move through the network in an autonomous
fashion. On each agency an agent can ask for this service for the neighboring
agencies and decide which agency to migrate to next.
Without such a network service, the agent’s programmer has to code the
agent’s itinerary into its business logic. Although this is sufficient in many
applications and in small networks, it is not reasonable to define an agent’s
route in a wide-area network or in a dynamic environment (e.g., where
392 Chapter 10 Programming Agents with Tracy
agencies move in and out of the visible network). In such a scenario, a mobile
agent must be able to find a suitable itinerary on its own, that is, it extends
its autonomy to the task of initial-route planning. In addition, it must be
in a position to react to the ever-changing environment of connections and
agencies.Therefore, the agent can modify and refine the initial itinerary while
it is traveling the network.
Our approach has a two-level structure, where agencies within a subnet-
work are combined into a domain. All agencies within a single domain enlist
at a central server, which is called a domain manager (Fig. 10.1). Each domain
manager registers itself with a unique central server named master. Domains
can be connected to each other so that mobile agents can also reach agencies
in other domains. Connecting and disconnecting of agencies to the network
is fully automatic and dynamic. Our approach is multi-agent based, that is,
several stationary and mobile agents communicate with each other to build
and evolve the logical network view.
The main characteristics of this approach are its robustness in failure sit-
uations and its high performance [Braun et al., 2001a]. This approach can
guarantee that at all times there is a domain manager for each domain. If a
domain manager crashes (because its hosting agency crashes) all remaining
agencies vote for the new domain manager. If the original domain manager
is relaunched, it can reclaim this role.
A logical-agency network is the foundation for more sophisticated ser-
vices of this kind, which all need information about neighboring agencies,
or even all agencies currently reachable. One research topic is to develop
Higher specialization
Higher priority
Master (unique)
is a
is a
Domain manager
Domain node
Domain node – Domain manager
Domain manager – Domain manager
Domain manager – Master
Figure 10.1 Topology of our logical-agency network. An edge between a pair of vertices
indicates that the corresponding agencies know each other.

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