Download presentation
Presentation is loading. Please wait.
1
1 Mobile Agent Instructor: Dr. AGGARWAL Presenter: Liu Lun
2
2 Outline Introduction to Mobile Agent(MA) Introduction to Mobile Agent System(MAS) Some issues of Mobile Agent Mobile Agent application Concluding remarks
3
3 What is mobile agent? Mobile agents are defined as active objects (or clusters of objects) that have behavior, state and location. Mobility: Agents that can travel in network Autonomy: Agent itself decides when and where to migrate next Opposite : Stationary agent Mobile code (Applets)
4
4 Comparison of 3 Network computing paradigm Client-Server Paradigm Code-on-Demand Paradigm Know- how Client Server Client Know- how Know how Server Download (Applet) Agent Know- how Host Network Mobile Agent Paradigm
5
5 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
6
6 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.
7
7 Contd 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.
8
8 MA System Arichitecture The main components include mobile agents (defined before) places supports the execution of particular procedures and provides access to local resources. agent systems Places inside an agent system may share resources, code, or security mechanisms and, in general, have a privileged relationship with each other and less expensive mobility. Regions Agent systems may be grouped in regions. A region represents a security domain where network-wide resources are accessed following a uniform policy. Principals Agents, places, agent systems, and regions are associated with a number of principals that represent real-world entities such as a person, an organization, or a company.
9
9
10
10 Requirement of a MAS Agent Execution Support, Management Support, Security Support, Mobility Support, Unique Identification of Agents Support, Transaction Support, and Communication Support.
11
11 Object mobility Strong Mobility Migration of agent code, data and execution state Weak Mobility Migration of only the agent code and data Strong mobility is difficult to accomplish! If the agent code is interpreted, access to the execution state is difficult to obtain If the agent code is compiled before execution, the execution state is represented by the stack. Transporting the stack and rebuilding it on a different host, which can be an entirely different architecture, is a nontrivial task.
12
12 Support Languages for mobile agent The first language for programming mobile agents called TeleScript was introduced in 1994. Mobile agent could be implement by various languages, but java language is the most popular because: Platform independence. Create once, go everywhere. Object-oriented feature Security model
13
13 Security issue - host security Authentication of user Determination of whether the user has the authorization to execute Determination of agents ability to pay for the service provided by the server
14
14 Trusted and un-trusted mobile agent Some MA platform treat trusted and untrusted agent differently Untrusted agents are prohibited to run dangerous command.
15
15 Agent Security- agent security Example: An agent roams around the Internet to look for the lowest price of a air ticket; it remembers the lowest price it finds most recently Data tampering: change of execution state of agents by malicious hosts ( “ brain-flush ” the agent of the lowest price it remembers) Solution: Agent tampering detection (e.g. cryptographic watermarks) Prevention (e.g. execution of encrypted functions)
16
16 Virus detection One Solution: to make the system Turing-complete. Consider an mobile agent only have the following limited power: to alter its own internal state variables to make database queries in the current server to move to another server to send text message back to its owner
17
17 Standardization of mobile agent There are various mobile agent system available such as AgentTcl, Aglets, MOA, Grasshopper and Odyssey. These differ widely in architecture and implementation. thereby impeding interoperability, rapid proliferation of agent technology
18
18 Standardization of mobile agent (contd) MASIF is a Standardization effort by the Object Management Group (OMG) to enable different mobile agent systems to interoperate. MASIF provide 2 sets of interfaces to standardizes: Agent Management Agent Transfer Agent and Agent System Names. Agent System Type and Location Syntax.
19
19 Standardization of mobile agent (contd) Other standardization effort include developing a common Agent Communication Languages (e.g., KQML) to improve interoperability between agents, and between agents and mobile agent middleware
20
20 other issues related to mobile agent Execution performance Execution performance is often sacrificed in order to achieve portability via code interpretation. Justintime compilation is one way towards better performance. Robustness. Adding robustness involves fault tolerance schemes (e.g., coping with hosts crashing) and is key for trust and acceptance of the technology in companies.
21
21 Competing Technologies Message passing systems Remote Method Invocation (RMI) Common Object Remote Broker Architecture (CORBA) etc. Distributed objects frameworks are de- centralized but their functionality is fixed
22
22 Mobile Agent vs. Remote Procedure Call(RPC) RPC: using Synchronous protocol-High Efficiency and low latency Scaling -- Multiple servers Mobile Agent: Messaging(Asynchronous) :Robustness, especially in wide area network Every node is a server
23
23 Application Areas for Mobile Agents Data collection from many places Searching and filtering Monitoring Negotiating
24
24 Application area for Mobile Agent(cont’) Bartering Parallel processing Entertainment Targeted information dissemination
25
25 Potential usage for mobile client Mobile clients’ feature: 1. They only intermittently connected to a network, 2. Even when connected they have limited bandwidth 3. They have limited storage and processing capability Mobile agents’ feature: 1. Reduction of Network traffic 2. Asynchronous interaction 3. Remote searching and filtering
26
26 Concluding Remarks Achievement: MA can effectively reduce network load and overcome network latency. MA can improve both flexibility and communication robustness. MA has proved to be beneficial to information collection and monitoring. Open issue: Security, secrecy and complexity(easy to deploy but hard to debug), and execution performance remain a big challenge for its industrial use. Limited availability of quantitative performance evaluation Further standardization work still required for heterogeneous environments
27
27 Reference http://www.cnri.reston.va.us/home/koe/index.html http://www.ikv.de/products/grasshopper/ http://www.cs.dartmouth.edu/˜agent/ http://mole.informatik.uni-stuttgart.de/ http://www.jumpingbeans.com http://www.dsg.technion.ac.il/fargo/ http://sun195.iit.unict.it/MAP http://www.trl.ibm.com/aglets/
28
28 Thanks. Questions and Answers
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.