Mobile agent

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In computer science, a mobile agent is a composition of computer software and data that is able to migrate (move) from one computer to another autonomously and continue its execution on the destination computer. In reality, the mobile agent is the code/object on the move which travels in its itinerary within the network of connected nodes.

Definition and overview[edit]

A mobile agent is a type of software agent, with the feature of autonomy, social ability, learning, and most significantly, mobility.

More specifically, a mobile agent is a process that can transport its state from one environment to another, with its data intact, and be capable of performing appropriately in the new environment. Mobile agents decide when and where to move. Movement is often evolved from RPC methods. Just as a user directs an Internet browser to "visit" a website (the browser merely downloads a copy of the site, or one version of it in the case of dynamic web sites), a mobile agent accomplishes a move through data duplication. When a mobile agent decides to move, it saves its own state (process image), transports this saved state to the new host and resumes execution from the saved state.

A mobile agent is a specific form of mobile code, within the field of code mobility. However, in contrast to the remote evaluation and code on demand programming paradigms, mobile agents are active in that they can choose to migrate between computers at any time during their execution. This makes them a powerful tool for implementing distributed applications in a computer network.

There are two types of mobile agents. The classification is based on their migration path.

  1. Mobile agents with predefined path: these have a static migration path.
  2. Free roaming mobile agent:[1] these have a dynamic migration path. Depending on the present network condition, the mobile agent chooses its path.

An open multi-agent system (MAS) is a system in which agents, that are owned by a variety of stakeholders, continuously enter and leave the system.

History and Evolution[edit]

In the early 1990s, General Magic created the Telescript language and environment for writing and executing mobile agents, and described it with the now-popular "cloud" metaphor; as described by Andy Hertzfeld:

"The beauty of Telescript," says Andy, "is that now, instead of just having a device to program, we now have the entire Cloud out there, where a single program can go and travel to many different sources of information and create a sort of a virtual service.[2]

The company was unsuccessful, however.


Some advantages which mobile agents have over conventional agents are:

  • Computation bundles - converts computational client/server round trips to relocatable data bundles, reducing network load.
  • Parallel processing -asynchronous execution on multiple heterogeneous network hosts
  • Dynamic adaptation - actions are dependent on the state of the host environment
  • Tolerant to network faults - able to operate without an active connection between client and server
  • Flexible maintenance - to change an agent's actions, only the source (rather than the computation hosts) must be updated
  • Bandwidth conversion which is conversion the bandwidth one host to another host.
  • Reduces compilation time.

One particular advantage for remote deployment of software includes increased portability thereby making system requirements less influential.

See also[edit]


  1. ^ Linna, Fan; Jun, Liu (2010-06-01). A free-roaming mobile agent security protocol against colluded truncation attack. 2010 2nd International Conference on Education Technology and Computer (ICETC). Vol. 5. pp. V5–261–V5–265. doi:10.1109/ICETC.2010.5530034. ISBN 978-1-4244-6367-1. S2CID 13966113.
  2. ^ Levy, Steven (April 1994). "Bill and Andy's Excellent Adventure II". Wired.

External links[edit]