Chapter 11

Naplet: Microkernel and Pluggable Design of Mobile Agent Systems

CHENG-ZHONG XU

Department of Electrical and Computer Engineering, Wayne State University, Detroit, Michigan

11.1 INTRODUCTION

An agent is a sort of special object that has autonomy. It behaves like a human agent, working for clients in pursuit of its own agenda. A mobile agent has as its defining trait the ability to travel from machine to machine proactively on open and distributed systems, carrying its code, data, and running state. The proactive mobility of autonomous agents, particularly their flow of control, leads to a novel distributed processing model on the Internet.

Mobile agents grew out of early code mobility technologies such as process migration and mobile objects in distributed systems. Process migration deals with the transfer of code as well as data and running state between machines for the purpose of dynamic load distribution, fault resilience, eased system administration, and data access locality [1, 2]. In distributed object systems such as Common Object Request Broker Architecture (CORBA) and Java remote method invocation (RMI), object mobility is realized by passing objects as arguments in remote object invocation. Object migration makes it possible to move objects among address spaces, implementing a finer grained mobility with respect to process-level migration.

Early process and object migration frameworks are mostly targeted at a “closed” system in which programmers have complete ...

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.