Mobile agent

From Wikipedia, the free encyclopedia

In computer science, a mobile agent is a composition of computer software and data which is able to migrate (move) from one computer to another autonomously and continue its execution on the destination computer.

Contents

[edit] Definition and overview

Mobile Agent, namely, is a type of software agent, with the feature of autonomy, social ability, learning, and most important, mobility.

When the term mobile agent is used, it refers to a process that can transport its state from one environment to another, with its data intact, and still being able to perform appropriately in the new environment. Mobile agents decide when and where to move next, which is evolved from RPC. So how exactly does a mobile agent move? Just like a user doesn't really visit a website but only make a copy of it, a mobile agent accomplishes this move through data duplication. When a mobile agent decides to move, it saves its own state and transports this saved state to next host and resume execution from the saved state.

Mobile agents are a specific form of mobile code and software agents paradigms. However, in contrast to the Remote evaluation and Code on demand paradigms, mobile agents are active in that they may 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.

[edit] Advantages

Some advantages which mobile agents have over conventional agents:

  • Move computation to data, reducing network load.
  • 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

[edit] Application of mobile agents

Common applications include:

  • Resource availability, discovery, monitoring
  • Information retrieval can be used in fetching the system information to and fro in client server paradigm
system information
system information
  • Network management, by using mobile agents we can monitor the throughput of remote machine in terms of network parameters
  • Copying files in a server client paradigm or backing up of data on remote machines
making backup
making backup
  • Dynamic software deployment can increase portability, making system requirements less influential

[edit] See also

[edit] External links

Languages