21-11-2012, 04:49 PM
MOBILE AGENTS
MOBILE AGENTS.docx (Size: 182.78 KB / Downloads: 45)
INTROCUCTION TO MOBILE AGENTS
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.
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.
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.
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.
MIGRATION OF MOBILE AGENTS
Mobile agents are agents that can physically travel across a network, and perform tasks on machines that provide agent hosting capability. This allows processes to migrate from computer to computer, for processes to split into multiple instances that execute on different machines, and to return to their point of origin. Unlike remote procedure calls, where a process invokes procedures of a remote host, process migration allows executable code to travel and interact with databases, file systems, information services and other agents. The technology behind mobile agents is examined, and an analysis of its uses and implications is offered.
Mobile agents have been the focus of much speculation and hype in recent years. The appeal of mobile agents is quite alluring - mobile agents roaming the Internet could search for information, find us great deals on goods and services, and interact with other agents that also roam networks (and meet in a gathering place) or remain bound to a particular machine. Significant research and development into mobile agency has been conducted in recent years, and there are many mobile agent architectures available today. However, mobile agency has failed to become a sweeping force of change, and now faces competition in the form of message passing and remote procedure call (RPC) technologies.
If mobile agents were to gain widespread commercial adoption (to the degree that say, web browsing or email has), then what type of a network would we have? The following list of implications is by no means exhaustive, but does provide an interesting set of observations.
Bandwidth conservation is an admirable goal, but whether mobile agents will help realize this goal is questionable (Harrison, 1995). For bandwidth to be conserved, the bandwidth consumed by sending across a mobile agent, and waiting for its results, must be less than that of a series of queries sent via a messaging or RPC system. This is a determination that must be made in practice, and cannot be fully verified just by theory.
Many scenarios can be foreseen. Perhaps mobile agents could comb through large amounts of resources on a single site, and bring back a small number of matches, in a similar nature to a search engine. However, some electronic commerce models suggest that mobile agents would be sent out to multiple sites, perhaps to negotiate low prices with vendors (a shopping-bot). This sort of activity has the potential to result in an incredible explosion of bandwidth consumption.
Indeed, searching is a task that many people would like to see mobile agents performing. Currently, a small number of indexing agents collect information for search engines, while millions of queries are made by users. Imagine if the same number of queries were made instead by mobile agents that traveled across the network to sites.
MOBILITY OF AGENTS
WEAK MOBILITY
• When moving a mobile agent carries code + data state
• Data State - global or instance variable
• On moving, execution has to start from the beginning
STRONG MOBILITY
Move execution state with agent
Why is it important?
– Computationally equivalent to weak mobility
– However, simpler, more natural abstraction
– Therefore, easier to write mobile agents
More importantly – mobile state allows forced mobility
• When moving a mobile agent carries code + data state + execution state
• Data State - global or instance variable
• Execution State – local variables and threads
• On moving, execution can continue from the point it stopped on the previous host
FEATURES OF MOBILE AGENT
Mobility – With the help of mobility feature mobile agent migrate between node to node, communication processes can be performed in a wireless as well as a fixed network.
Autonomy – In autonomy, mobile agent executes autonomously on the behalf of the some other process.
Communication – Mobile agent has the ability to communicate with another mobile agent, servers (i.e. either mobile or fixed) and other clients.
Learning – One of the most exciting features of mobile agent is its learning ability i.e. it changes the behavior according to its past experience.
Interoperability – Mobile agents have property to operate on different platform or over different clients and adapt to changes in the environment.
Persistence – mobile agent has no need to establish continuous connection for execution of programs i.e. it deals with disconnected operations.