MobileAgents

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 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]. 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 2. How trust value is calculated 3. Overall trust value Trust systems produce a score that reﬂects 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. More:
 * Direct experience
 * Witness information
 * Role-based rules
 * Third-party references
 * What are the differences between trust and reputation systems?**
 * [|Compare Reputation and Trust]

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


 * Mobile Agents**
 * Intelligent Assistants on the Internet**

[]