A Paper Abstract by Benjamin Grosof

Itinerant Agents for Mobile Computing (Oct. 1995)

by David Chess, Benjamin N. Grosof, Colin G. Harrison, David W. Levine, and Colin J. Parris (NB: authorship order is alphabetic)


This paper describes an abstract framework for itinerant agents that can be used to implement secure, remote applications in large, public networks such as the Internet or the IBM Global Network. Itinerant agents are programs which are dispatched from a source computer and which roam among a set of networked servers until they are able to accomplish their task. A major focus of the paper is the Agent Meeting Point, an abstraction which supports the interaction of agents with each other and server based resources. This is an extension to the client / server model in which the client sends a portion of itself to the server for execution. An additional feature of itinerant agents is their ability to migrate from server to server, perhaps seeking one that can help with the user's task or perhaps collecting information from all of them.

Why is this extended form of client-server computing desirable or valuable? There are many detailed motivations for using itinerant agents, which fall broadly into two categories: 1) support for mobile computers or lightweight devices and 2) the emerging need in rapidly evolving networks for an asynchronous method of searching for information or transaction services. For example:
1. The reduction of overall communication traffic over the low-bandwidth, high-latency, high-cost access networks typically employed by mobile computers.
2. The ability of the agent to engage in high-bandwidth communication with a server, for example, for searching through large, free text databases.
3. The ability of lightweight mobile computers to interact with heavyweight applications without having to have detailed knowledge of the remote server's capabilities ahead of time.
4. The ability of the agent to integrate knowledge from the client and server and perform inferencing at the server.
5. The ability of the user to create ``personalized services'' by tailoring agent that take up residence at a server and respond to the user's requests.

These claimed advantages are, at present, hypothetical, and we are performing experiments to determine if they can be realized. We believe that they are sufficiently real to merit initial exploration.

Public networks already contain an enormous number of computers which are capable of providing specific services and this number will continue to grow. These servers employ a wide variety of processors, operating systems, databases, application frameworks and applications. The purpose of an itinerant agent framework is to enable these numerous, heterogeneous servers to offer a host-independent execution environment for itinerant agent programs, a standard communication language with which agents and servers can engage in dialogues, a method of employing public security services to enable secure, authenticated access to server resources, and secure auditing and error recovery mechanisms. (In many cases, itinerant agents will in effect be performing electronic commerce. This requires us also to consider many commercial issues, not least that of payment methods. However, we believe that the electronic payment systems being developed for other forms of electronic commerce will be applicable to commerce conducted by itinerant agents; hence we do not discuss these payment issues in this paper.)

This paper is structured as follows: We begin with an overview of the operation of an itinerant agent framework and a review of previous work (section 2). In section 3 we consider likely applications of itinerant agents and discuss one specific example in detail. Section 4 is an architectural description of the structure of itinerant agents, the languages employed to create them and the execution environments required at the servers. In section 5 we give a detailed description of how an itinerant agent is processed at a server. Section 6 discusses the important issues of security, always important in network services and especially so in this case. Drawing to a close, we describe in section 7 the technical advantages of the itinerant agent framework and the services it enables.


In the previous subsection we presented several of the technical advantages provided by our framework. While some subset of these technical advantages may be present in other solutions, collectively, the framework provides an overwhelming technical advantage when compared to any currently posed solution. Our itinerant agent framework permits the secure interaction of agents written in multiple scripting languages, communicating in various agent communication languages, and traveling via multiple transport services in a heterogeneous network.

The framework also supports the use of standardized and non-standard distributed object-oriented frameworks, thus enabling the support of a variety of execution environments. This support allows client and service providers to write agents in a scripting language of their chose and to interface their legacy systems with proxy agents suited to any interfacing application. The introduction of the {Authentication Services} provides clients and service provides with access to a variety of authentication and encryption schemes and permits them to use the schemes in any manner suitable to their use.


In this paper we presented an overview of a prototype framework for the support of itinerant agents. This framework provides a secure facility for agent interaction that can support agents requiring diverse execution environments, communicating via multiple communication languages, and traveling via multiple transport services. We motivated this presentation by discussing, in general, several examples of the use of agents and, in detail, an example of a travel reservation scenario.

This initial work addressed several major issues in the area of itinerant agents; however, there are some issues that have not been addressed, although they are being actively pursued and will be presented in subsequent publications.

Last update: 1-8-98
Up to Benjamin Grosof's Papers page
Up to Benjamin Grosof home page
[ IBM Research home page ]

[ IBM home page | Order | Search | Contact IBM | Help | (C) | (TM) ]