In Distributed Systems Mobile Agents In Distributed Systems Luk Stoops VUB - programming laboratory
What is a Software Agent User View An agent is a program that assists people and act on their behalf Agents function by allowing people to delegate work to them
What is a Software Agent System View Software object situated in an execution environment mandatory properties Reactive Autonomous (control over its own actions) Goal driven (pro-active) Temporally continuous
What is a Software Agent System View Possible properties Communicative can communicate with other agents Mobile can travel from one host to an other Learning adapts in accordance with previous experience Believable appears believable to the end-user
Stationary Agent Executes only on the system where it begins execution Gets information from other resources via Remote Procedure Call Object Request Broker (CORBA)
Mobile Agent Not bound to the system where it begins execution Ability to transport itself form one system to another Ability to travel allows him to move to a system that contains an object with which the agent wants to interact
Reduce the Network Load
Example Aglets
Finger
Overcome Network Latency Critical real-time systems robots in manufacturing processes Agents dispatched from central controller Act locally
Encapsulate Protocols Protocols that implement the input /output conversions are hard-coded in the host As protocols evolve (security, efficiency) they become a legacy problem Mobile Agents can move to remote hosts in order to establish “channels” based on proprietary protocols
Execute Asynchronously and Autonomously
Adapt Dynamically Sense their execution environment and react autonomously to changes Multiple mobile agents can distribute themselves among the hosts to form the optimal configuration for solving a particular problem x y u v (x+y) * (u+v)
Naturally Heterogeneous Network computing is fundamentally heterogeneous hardware software Mobile agents are computer- and transport layer independent Optimal conditions for seamless system integration
Robust and Fault-tolerant Able to react dynamically to unfavorable situations and events If a host is being shut down, all agents executing on that machine will be warned and give time to dispatch and continue their operation on another host in the network
Applications Electronic commerce Personal Assistance Secure brokering agent to agent negotiation Personal Assistance schedule a meeting Secure brokering involved parties are invited on a secure host Distributed information retrieval search engine to remote sources
Applications Telecommunication networks services dynamic network reconfiguration Workflow applications and groupware Monitoring and notification Information dissemination internet “push” model Parallel processing mobile agent can clone themselves
Literature http://www.acm.org/~danny http://www.trl.ibm.co.jp/aglets http://www.meitca.com/hsl/projects/concordia http://www.objectspace.com/voyager http://www.cs.dartmouth.edu/~agent http://www.uni-kl.de/ag-nehmer/ara http://www.cs.uit.no/dos/tacoma