2.
Basic Elements of the Ajanta System
A host in the Internet can provide services
to mobile Agents by
running an AgentServer.
An agent server creates a confined execution
environment for visiting agents and allows
the local Resource
owner to grant access of its resources to agents in a selective manner.
It provides primitive operations to agent
programmers, such as those which allow agents
to migrate to other servers, communicate
with each other, query their environment, etc. A
set of these agent servers collectively
constitute the mobile-agent programming environment,
in conjunction with ancillary servers
such as name resolvers and public-key repositories.
Following are the important elements of
Ajanta's computation model.
Principal: Actions in the system
are always performed on behalf of some authorized principal,
an entity which has a unique identity
in the system. Agents, hosts, agent servers, and human
users are some of the principals in the
system. For each principal, the Ajanta system uses DSA
keys for signature and El-Gamal keys for
encryption.
Creator: The agent is usually created
by another principal, such as an application program, or
another agent -- we call this the creator
of the agent.
Owner: This is the human user whom
the agent represents. An agent's owner is different from
its creator.
Guardian: An application assigns
to each of its agents a guardian object which is responsible
for dealing with exception conditions
encountered by the agent. If the agent encounters any
exceptions during its execution, it is
transported to its guardian, which takes the appropriate
recovery actions. An agent's creator
can also act as its guardian.
Agent Credentials:
This
is a signed certificate carried by each agent describing its identity and
origin. Its tampering can be detected.
It contains the names of the agent, its owner, creator, and
guardian. Other information
encoded into the credentials includes a digest of the ``intentions"
for
which the agent is created. The inclusion
of a digest of the intentions places restrictions on the
rights granted to an agent by its creator.
Typically, the intention is abstracted into an itinerary.
Code Base Server: Other information
included in the credential is the URL for agent's code base
server, which is a server that provides
the code for the classes required by the mobile agent.
Typically the creator of an agent would
act as its code base server.
At each server, the agent environment
object acts as the interface between agents and the
services provided by that server. When
an agent arrives at a server, an object references named
host is set to point to the server's
agent environment object. An agent can invoke the primitives
provided by the environment object
to request migration, communication with other agents, or access
the resources at the server. The server's
domain
registry keeps track of the agents currently executing
on it,and responds to status queries from
their owners. The agent transfer component implements a
protocol that is responsible for the migration
of agents from server to server. A server may also provide
access to application-defined resources.
A resource is an object that acts as an interface to some
service or information available at the
host. The server maintains a resource registry which is used
in
setting up ``safe bindings" between
resources and agents.
GO TO- Top of this page Previous Chapter Next Chapter Table of Contents of this Guide