A Mobile Agent, namely, is a type of software agent, with the feature of autonomy, social ability, learning, and most importantly, 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), similarly, a mobile agent accomplishes a move through data duplication. When a mobile agent decides to move, it saves its own state, 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. However, in contrast to the Remote evaluation and Code on demand programming paradigms, mobile agents are active in that they canchoose to migrate between computers at any time during their execution. This makes them a powerful tool for implementing distributed applications in a computer network.
An open multi-agent systems (MAS) is a system in which agents, that are owned by a variety of stakeholders, continuously enter and leave the system.

Reputation and Trust

The following are general concerns about Trust and Reputation in Mobile Agent research:
1. Source of trust information
  • Direct experience
  • Witness information
  • Role-based rules
  • Third-party references
2. How trust value is calculated
3. Overall trust value
What are the differences between trust and reputation systems?
Trust systems produce a score that reflects the relying party’s subjective view of an entity’s trustworthiness, whereas reputation systems produce an entity’s (public) reputation score as seen by the whole community.


Some advantages which mobile agents have over conventional agents:
  • 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
One particular advantage for remote deployment of software includes increased portability thereby making system requirements less influential.

Mobile Agents
Intelligent Assistants on the Internet