Mobile Agents as an Architectural Concept for Internet-Based Distributed Applications [chapter]

Stefan Fünfrocken, Friedemann Mattern
1999 Kommunikation in Verteilten Systemen (KiVS)  
After introducing the concept of mobile agents and potential application domains, we motivate why mobile agent technology is an interesting concept for large Internet-based system structures. We then describe the Java-based WASP agent environment which integrates agent execution platforms into WWW servers and thus promotes a world wide infrastructure for mobile agents. We sketch first prototype applications, and we mention some unique aspects of the WASP project such as fully transparent
more » ... on of Java objects. Finally we report on some experiences we gained when realizing our mobile agent system. -Asynchronous task execution: While the agent acts on behalf of the client on a remote site, the client may perform other tasks. -More dynamics: It is not necessary to install a specific procedure at a server beforehand and to anticipate specific service request types; a client or a service provider may send different types of agents (e.g., realizing new service handlers) to a server without the need to reconfigure the server. -Reduced communication bandwidth: If vast amounts of server data have to be processed (e.g., weather data) and if only a few relevant pieces of information have to be filtered out, it is more economical to transfer the computation (i.e., the agent) to the data than to ship the data to the computation. -Improved real time abilities: Agents acting locally on a remote site may react faster to remote events than if these events and reactions to them have to be communicated between the remote machine and a central entity. -Higher degree of robustness: A dispatched agent may be instructed how to deal with potential problems such as unavailable servers (e.g., go to alternate sources or retry at some later time). Although mobility introduces new failure cases, in general fault tolerance is promoted because a mobile agent has the potential to react dynamically to adverse situations. -Improved support of nomadic computing and intermittently connected devices: Instead of being online for a longer period, a mobile user may develop an agent request while being disconnected, launch the agent during a brief connection session, and receive back the agent with the result at some later time. Several academic research projects (e.g., [1, 8, 12] ) explore the mobile agent paradigm, and several commercial systems (e.g., Aglets [9], Voyager [13], Concordia [14]) have been introduced recently. Most of these systems are based on Java for the programming of agents, but they largely differ in their migration and security models and most importantly in the support and services they provide for the agents. Some aspects of our own mobile agent project WASP ("Web Agent-based Service Providing") [5, 6] will be presented further down in Section 5.
doi:10.1007/978-3-642-60111-8_6 dblp:conf/kivs/FunfrockenM99 fatcat:yq4n666mznhmreqmfu5e52dbqy