PRESENTED BY: ABDALLA ELAOGALI
Mobile Agents
THE LIBYAN ACADEMY COMPUTER SCIENCE
Agent Systems
Fall 2013
Outline
IntroductionWhat are Agents?What is a Mobile AgentStatic and Mobile AgentMore about Mobile AgentsWhy use Mobile Agents?Working of Mobile AgentsThe life cycle of a Mobile Agen
Outline - cont
Agent Migration StrategiesoStrong Migration
oWeak MigrationProperties of Mobile Agents
Agent Communication StrategiesApplications of Mobile Agents
Advantages of Mobile AgentsDisadvantages of Mobile Agents
Security IssuesConclusions
References
What are Agents?
The concept of agents is not an unfamiliar one. The precepts of agent technology have
existed in many of the applications we use today and take for granted. For example,
your e-mail client .Recently, intelligent agents have come to
vogue.One of the most interesting and much
vaunted category of agents is mobile agents.
Anand Tripathi, University of Minnesota
5
Mobile Agents
A mobile agent is an object capable of autonomously migrating from one host to
another in a distributed system to perform actions on behalf of its creator .
Clientagent(code+data) Mobile Agent
Server 1
Server 3 Server 2
Static and Mobile Agents
Static agents achieve their goal by executing on a single machine.
mobile agents migrate from one computer to another in the network and execute on
several machines.Mobility increases the functionality of the
mobile agent and allows the mobile agent to perform tasks beyond the scope of static
agents .
Figure 1
More about Mobile Agents
A mobile agent is an active object that can move both data and functionality (code) to
multiple places within a distributed system.
A mobile agent should be able to execute on any machine within a network, regardless of
the processor type or operating system.
Figure 1
Why use Mobile Agents?
User passivity/data timelinessMulti-staged/multi-processed calculationsUntrusted collaboratorsLow-reliability/partially-disconnected
networks
Figure 1
Working of Mobile Agents
A mobile agent consists of the program code and the program execution.
Initially a mobile agent resides on a computer called the home machine.
The agent is then dispatched to execute on a remote computer called a mobile agent host.
The life cycle of a Mobile Agent
• 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.
Cont,
• Retraction: an agent is brought back from a remote host along with its state to the home machine.
• Disposal: an agent is terminated and its state is lost forever.
• Communication: Notifies the agent to handle messages incoming from other agents , which is the primary means of inter-agent correspondence.
Agent Migration Strategies
Strong MigrationThe code, data and execution state are
migrated to the next host.Weak Migration
Involves only the migration of the code and data state of the mobile agent.
Properties of Mobile Agents
Adaptive LearningMobile agents can learn from experiences
and adapt themselves to the environmentAutonomy
Mobile agents can take some decisions on its own .
MobilityMobile agents have the ability to move from
one host to another in the network.
Agent Communication Strategies
a mobile agent should interacts and cooperates with others.
To communicate with a remote mobile agent:owe must find the location of the agent and route
the message to it.oA naming scheme is needed to identify agents in
a unique fashion.oOne mechanism such as message passing,
streams, events, proxies, blackboard mechanism and CORBA as a communication protocol.
Applications of Mobile Agents
Mobile Agents are suitable for the following applications
Parallel Computing.
Data Collection.
E-commerce.
Mobile Computing.
Advantages of Mobile Agents
Reduction in bandwidth usage. Reduce total time. Reduce Latency. Disconnected Operation. Load Balancing. Dynamic Deployment.
Reduction in bandwidth usage
Dataset
Dataset
Dataset
Dynamically selected proxy site
Merged and filtered data
stream
Server
Dataset
Proxy
ProxyServer
Dataset
Reduction in bandwidth usage cont,
Overcome total time
Dataset
Dataset
DatasetFact
• Sending an agent avoids remote interaction.Goal
• Avoiding remote interaction leads to faster completion times.
Current Systems• Do not meet the goal in all network environments• Tradeoff: Local interaction vs. interpretive
overhead
Reduction in latencySumatra chat
server [RASS97]
1. Observe high
average latency to
clients
2. Move to better
location
2 to 4 times smaller
latency in trial runs
Disconnected Operation
Dataset
Dataset
Dataset
Dynamically selected proxy site
X
Agent continues its task even if the link to its home machine goes down (temporarily).
Load Balancing
Machine A Machine B
Machine A Machine B
Agent moves to balance load
Dynamic Deployment
DatasetDataset
Disadvantages of Mobile Agents
The main drawback of mobile agents is the security risk involved in using mobile agents.
Security risks in a mobile computing environment are twofold.
Conclusions
Distributed computing involving several computers in a network can be achieved
using message passing or remote procedure calls (RPC) .
ReferencesStrategies of Mobile Agent for Handling a Task.ISSN:
2277-3754 ISO 9001:2008 Certified International Journal of Engineering and Innovative Technology (IJEIT) Volume
2, Issue 1, July 2012 244 Cornell University, Department of Computer Science.
http://www.cs.cornell.edu WIKIPEDIA The Free Encyclopedia
http://en.wikipedia.org/wiki/Mobile_agentMole - Concepts of a Mobile Agent System
Dipl.-Inform. J. Baumann, Dipl.-Inform. F. Hohl, Prof. Dr. K. Rothermel, Dipl.-Inform. M. Straßer
Security Issues in Mobile Code SystemsDavid M. Chess
:// . / / /#http klynch com documents agents Refs