28-01-2013, 04:38 PM
Mobile Agents Computing
Mobile Agents.ppt (Size: 362.5 KB / Downloads: 21)
What is a Mobile Agent?
Program that can migrate from system to system within a network environment
Performs some processing at each host
Agent decides when and where to move next
How does it move ?
Save state
Transport saved state to next system
Resume execution of saved state
Definition
In a broad sense, an agent is any program that acts on behalf of a (human) user. A mobile agent then is a program which represents a user in a computer network, and is capable of migrating autonomously from node to node, to performs some computation on behalf of the user.
A Mobile Agent Dissected
A mobile agent contains the following 3 components:
Code - the program (in a suitable language) that defines the agent's behavior.
State - the agent's internal variables etc., which enable it to resume its activities after moving to another host.
Attributes - information describing the agent, its origin and owner, its movement history, resource requirements, authentication keys etc. Part of this may be accessible to the agent itself, but the agent must not be able to modify the attributes
Levels of Mobility
Strong 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
Mobile Agent Terms
Agent System
An agent system is a platform that can create, interpret, execute, transfer and terminate agents. Like an agent, an agent system is associated with an authority that identifies the person or organization for whom the agent system acts. For example, an agent system with authority Bob implements Bob's security policies in protecting Bob's resources. An agent system is uniquely identified by its name and address. A host can contain one or more agent systems.
Agent
An agent is a computer program that acts autonomously on behalf of a person or organization. Currently, most agents are programmed in an interpreted language ( for example, Tcl and Java ) for portability. Each agent has its own thread of execution so tasks can be performed on its own initiative.
Events in Mobile Agent’s life-time
Creation: a brand new agent is born and its state is initialized.
Dispatch: an agent travels to a new host.
Cloning: a twin agent is born and the current state of the original is duplicated in the clone.
Deactivation: an agent is put to sleep and its state is saved in persistent storage.
Activation: a deactivated agent is brought back to life and its state is restored from persistent storage.