|
Mobile agent
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.
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.
Advantages
1) Move computation to data, reducing network load.
2) Asynchronous execution on multiple heterogeneous network hosts
3) Dynamic adaptation - actions are dependent on the state of the host
environment
4) Tolerant to network faults - able to operate without an active
connection between client and server
5) Flexible maintenance - to change an agent's actions, only the source
(rather than the computation hosts) must be updated
Applications
1) Resource availability, discovery, monitoring
2) Information retrieval
3) Network management
4) Dynamic software deployment
|