DaAgent: A Dependable Agent-based Computing System
An agent-based computing model is a very attractive model
for computing over the Internet. It is comprised of an active entity called
mobile agent that performs a computation distributed over several nodes
in a distributed system. While performing a computation, an agent moves
independently and asynchronously from one node to another. A mobile agent
differs from a traditional operating system process in two important characteristics:
(1) Location Awareness: unlike a process, a mobile agent knows where it
is executing in a distributed system at any point in time, and (2) Communication
Awareness: unlike a process, a mobile agent is aware of the communication
network and makes an informed decision to move from one node to another
during execution.
While a mobile, agent-based computing model overcomes
several limitations of the traditional client-server model of distributed
computing when applied over the Internet, there are several fundamental
research issues in the design, implementation, and deployment of mobile,
agent systems over the Internet that have not been investigated in sufficient
detail. These include agent security, agent fault tolerance, and interagent
communication & synchronization.
We have designed and implemented a mobile, agent-based
computing system called DaAgent. This system has been designed to investigate
agent security, agent fault tolerance, and interagent communication &
synchronization issues in a mobile, agent-based computing environment.
The first version of the DaAgent system was implemented in C and allowed
the construction of C agents. This system mainly focussed on the mobility
and fault tolerance issues. A description of this system is available in
the following publication:
The key limitation of the first version the DaAgent
system was that it assumed the the underlying computing environment to
be a homogeneous, distributed computing environment. The current version
(Version 2) of the DaAgent system has been implemented using Java, allows
the construction of Java agents, and runs on a variety of computing platforms
including IRIX, Solaris, Linux, and Windows. We have developed several
simple agent applications in DaAgent including an interlibrary loan service
agent and a travel agency agent. A description of this system alongwith
its computing environment is available from the following publications:
-
S. Mishra, Y. Huang, and H. Kuntur,
DaAgent:
A Dependable Mobile Agent System. Fastabstract. Proceedings of the
29th IEEE International Symposium on Fault-tolerant Computing, Madison,
WI (June 1999).
-
S. Mishra, Y. Huang, and H. Kuntur,
Programming
Environment of DaAgent. Proceedings of the 12th IASTED International
Conference Parallel and Distributed Computing and Systems (PDCS 2000),
Las Vegas, NV (November 2000).
The DaAgent system is currently being used to investigate
the agent security, agent fault tolerance, and interagent communication
& synchronization issues.
DaAgent: Security
Because an agent-based system allows an agent written by
a user to run on remote nodes, it opens up a plethora of security concerns.
The security support in the DaAgent system includes (1) protection of the
resources of a host from malicious agents that may visit it, (2) protection
of an agent from malicious hosts on which it may run, (3) protection of
an agent from malicious entities during its migration over the Internet
from one host to another, and (4) protection of the complete computing
system from denial of service attacks that may be launched by a malicious
agent or a malicious user. The DaAgent system provides this security support
using the Java 1.2 sandbox security model, the Java cryptography architecture,
and the SSL protocol. A description of the security architecture of the
DaAgent system is available from the following paper:
DaAgent: Fault Tolerance
One key reason for the complexity of performing computations
over the Internet is that Internet is unreliable. Due to high communication
load, link failures, or software bugs, transient communication failures
and communication partitions are common in the Internet. In addition, nodes
in the Internet constantly fail and recover. These failures cause three
problems in a mobile, agent-based computing system: (1) a communication
failure may prevent the migration of an agent from one node to the next,
(2) failure of a node to which an agent intends to visit may force an agent
to terminate prematurely, and (3) failure of a node may result in a premature
termination of all agents running on that node.
The DaAgent system provides support for agent fault tolerance
with a specific focus on the fact that the underlying computing environment
is Internet. Three agent fault-tolerance protocols have been designed and
implemented that allow agents to continue to execute correctly despite
node or communication failures. In addition, two protocols have been designed
and implemented to detect and terminate runaway agents that may be cerated
either maliciously, or as a consequences of agent fault-tolerance protocols.
A description of these protocols is available from the following publication:
-
S. Mishra,
Agent Fault Tolerance
Using Group Communication. Proceedings of the 2001 International Conference
on Parallel and Distributed Processing Techniques and Application (PDPTA
2001), Las Vegas, NV (June 2001).
-
S. Mishra and Y. Huang,
Fault
Tolerance in Agent-Based Computing Systems. Proceedings of the 13th
ISCA International Conference on Parallel and Distributed Computing Systems,
Las Vegas, NV (August 2000).
-
J. van Baalen, J. Caldwell, and S. Mishra, Specifying and
Checking Fault-tolerant Agent-based Protocols using Maude. Proceedings
of the 1st Goddard Workshop on Formal Approaches to Agent-Based Systems,
Greenbelt, MD (April 2000).
DaAgent: Interagent Communication & Synchronization
With increasing use of the Internet for computing purposes
and increasing acceptance of the mobile, agent-based computing model for
Internet computing, more and more complex computations are being designed
and implemented using the agent-based computing model. A large number of
these applications consist of multiple agents that operate in parallel
and need to interact with one another at various stages of their execution
for exchanging information and synchronization. These interagent communication
& synchronization requirements arise due to either the inherent distributed
nature of the computations being constructed, or efficiency reasons. To
support the construction of such computations, there is a need for well-defined
interagent communication & synchronization models. The DaAgent system
provides eight models of interagent communication & synchronization.
Each of these models is based on specific requirements of various Internet
applications. In addition to the traditional execution synchronization,
the mobile nature of agents gives rise to another form synchronization
namely location synchronization. Location synchronization allows two mobile
agents to synchronize the location of their execution at various times
during execution. The eight models of interagent communication & synchronization
in the DaAgent system provide varying degrees of execution and location
synchronization. A description of these models is available from the following
publications:
-
S. Mishra and P. Xie. Interagent Communication and Synchronization
Support in the DaAgent Mobile Agent-Based Computing System. IEEE Transactions
on Parallel and Distributed Systems, 14(3), March 2003.
-
S. Mishra and P. Xie. Communication
and Synchronization Models in Mobile Agent-Based Computing Systems.
Proceedings of the 14th ISCA International Conference on Parallel and Distributed
Computing Systems (PDCS 2001), Richardson, TX (August 2001).
-
S. Mishra and P. Xie,
Interagent
Communication and Synchronization in DaAgent. Proceedings of the 21st
IEEE International Conference on Distributed Computing Systems, Phoenix,
AZ (April 2001).
-
S. Mishra and P. Xie,
Models
for Interagent Communication and Synchronization. Proceedings of the
2000 International Conference on Parallel and Distributed Processing Techniques
and Applications, Las Vegas, NV (June 2000).
Copyright © 2003 Shivakant Mishra