Chapter 5

Cooperating Mobile Agents

SUKUMAR GHOSH and ANURAG DASGUPTA

University of Iowa Iowa City, IA 52242, USA

5.1 INTRODUCTION

A mobile agent is a piece of code that migrates from one machine to another. The code (often called the script), which is an executable program, executes at the host machine where it lands. In addition to the code, agents carry data values or procedure arguments or results that need to be transported across machines. Compared to messages that are passive, agents are active and can be viewed as messengers.

Mobile agents are convenient tools in distributed systems, at both the applications layer and the middleware level. The promise of mobile agents in bandwidth conservation or disconnected modes of operation is now well accepted. Deploying multiple mobile agents cooperating with one another can add a new dimension to distributed applications. While parallelism is the obvious advantage, the issues of load balancing, agent rendezvous, and fault tolerance play major roles. Among numerous possible applications, we highlight the following four problems, each with a different flavor of cooperation:

  • Mapping of an Unknown Network Network mapping is also known as the topology discovery problem. Making such a discovery using a single mobile agent is equivalent to developing an efficient algorithm for graph traversal. With multiple agents, the challenge is to develop an efficient cooperation mechanism so that the discovery is complete in the fewest number of hops ...

Get Mobile Agents in Networking and Distributed Computing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.