Operating System Support for Mobile Agents
Abstract
An agent is a process that may migrate through a computer network in order to satisfy requests made by its clients. Agents implement a computational metaphor that is analogous to how most people conduct business in their daily lives: visit a place, use a service (perhaps after some negotiation), and then move on. Thus, for the computer illiterate, agents are an attractive way to describe network-wide computations. Agents are also useful abstractions for programmers who must implement distributed applications. This is because in the agent metaphor, the processor or place the computation is performed is not hidden from the programmer, but the communications channels are. Contrast this with the traditional approach of employing a client at one site that communicates with servers at other sites. Communication is not hidden and must be programmed explicitly. Moreover, pieces of a computation performed at different sites must be coordinated, placing an added burden on the programmer. By structuring a system in terms of agents, applications can be constructed in which communication-network bandwidth is conserved. Data may be accessed only by an agent executing at the same site as the data resides. An agent typically will filter or otherwise reduce the data it reads, carrying with it only the relevant information as it roams the network; there is rarely a need to transmit raw data from one site to another. In contrast, when an application is built using a client and servers, raw data may have to be sent from one site to another if, for example, the client obtains its computing cycles from a different site than it obtains its data.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jan 01, 1998
- Accession Number
- ADA572692
Entities
People
- Dag Johansen
- Fred B. Schneider
- Robbert Van Renesse
Organizations
- Cornell University