Presentation is loading. Please wait.

Presentation is loading. Please wait.

บทที่ 3 เอเจนต์แบบเคลื่อนที่ (Mobile Agent)

Similar presentations


Presentation on theme: "บทที่ 3 เอเจนต์แบบเคลื่อนที่ (Mobile Agent)"— Presentation transcript:

1 บทที่ 3 เอเจนต์แบบเคลื่อนที่ (Mobile Agent)
นำเสนอโดย อ.จุฑาวุฒิ จันทรมาลี หลักสูตรวิทยาการคอมพิวเตอร์ มหาวิทยาลัยราชภัฏสวนดุสิต

2 Outline Introduction to Mobile Agent(MA)
Introduction to Mobile Agent System(MAS) Some issues of Mobile Agent Mobile Agent application Concluding remarks

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 Comparison of 3 Network computing paradigm
Know how: the code to be executed

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 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 Events in Mobile Agent’s life-time
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 Mobile Agent System Architecture
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. Usually an agent system is implemented on a single host. An agent system has a structure that is similar to the structure of a place.

9 Mobile Agent System Architecture
Access to local resources is regulated by the place’s security system, which is composed of three subsystems whose tasks are authentication, authorization, and accounting.

10 Requirement of a MAS Agent Execution Support, Management Support,
Security Support, Mobility Support, Unique Identification of Agents Support, Transaction Support, and Communication Support. An Agency must fulfill following requirements [4]: * Agent Execution Support An agent platform must provide the capability to create mobile agents, taking into account agent-specific requirements regarding the runtime environment. * Management Support It is necessary for agent administrators to be able to monitor and control their agents. The control aspect comprises among others the temporary interruption of an agent's task execution, its premature termination, or the modification of its task. * Security Support The privacy and integrity of agents as well as agent systems must be guaranteed throughout their entire lifetimes. This requirement comprises the encryption and decryption of agents during migration, the authentication and authorization of agents and agent systems, and access control regarding the resources of an agent system or even of an agent offering some functionality. * Mobility Support A special mobility support must be provided by the platform, supporting remote execution as well as migration. Note that the mobility aspect cannot be sufficiently handled without regarding the security support mentioned above. * Support for Unique Identification Mobile agents as well as agent systems have to be uniquely identifiable in the scope of the entire agent environment. Thus, special support is required for the generation of unique agent identifiers. * Transaction Support An important requirement is the support of correct and reliable execution of agents in presence of concurrency and occurrence of failures. Therefore, transaction support must be provided. * Communication Support Agents should be able to communicate with each other as well as with platform services. Several mechanisms are possible, such as messages, method invocation or a blackboard mechanism. Communication through messages may be done point-to-point, by multicasting or broadcasting. Furthermore, agent communication includes support for semantic analysis.

11 Object mobility Strong Mobility Weak 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 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 Some mobile agent implemented in prolog,

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 Security and resource control are crucial when agents executing on a local machine come from foreign hosts and when agents cross organizational boundaries. Security issues must be dealt with to encourage the uptake of mobile agent Two aspects: host security: protecting the host against malicious agents agent security protecting the agents against malicious host cryptographic watermarks, execution of encrypted functions

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 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 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 Despite being Turing complete, there is no way to write a virus in this system.

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 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. MASIF [1] is a collection of definitions and interfaces that provides an interoperable interface for mobile agent systems. It is as simple and generic as possible to allow for future advances in mobile agent systems. MASIF specifies two interfaces: MAFAgentSystem (for agent transfer and management) and MAFFinder (for naming and locating). . Agent Management. One can envision a system administrator managing agent systems of different types via standard operations in a standard way: create an agent, suspend it, resume, and terminate. The Mobile Agent Facility (MAF) proposal [7] is an attempt to standardize this execution environment.

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 Kqml: Knowledge query manipulation language. Mobile agents can benefit from standards efforts on inter-agent communication An Agent Communication Language (ACL) is a tool that follows the path of this layered abstraction of the interoperability question. From /ieeecomsoc98.pdf Kind of like xml

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 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 Client –middleware-server structure. RMI is essentially a object-oriented RPC CORBA both wraps native code in an object-oriented language-independent interface and elevates it in a level where it can be invoked remotely in a location transparent manner. [ mobile and corbra.pdf] In distributed object systems such as CORBA TM the location of the components is deliberately hidden to the user who does not need to take care nor can see where the ser vice required is done In such environments there is no distinction between the interaction of objects resident on the same host and objects on dierent hosts jsa99.pdf

22 Mobile Agent vs. Remote Procedure Call(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 Mobile agent employ messaging framework to for transport, hence are asynchronous. In RPC, the RPC parameter are passed to an interface routine, which marshal them into a form suitable for transmission and they are sent explicitly to the server. Messaging is inherently asynchronous, has handed off the message contents to the messaging sub-system, it continues execution. [mobag.pdf] RMI: (remote method invocation) is an object oriented RPC (remote procedure calls) (Birrell et al. 1984) protocol that allows the user to invoke methods on a remote object as if it were a local object. There are also issues of interoperability, where the single communication protocol is embedded in the Java RMI stubs and skeletons at compile time. Runtime connection to non Java RMI entities is therefore

23 Application Areas for Mobile Agents
Data collection from many places Searching and filtering Monitoring Negotiating

24 Application area for Mobile Agent(cont’)
Bartering Parallel processing Entertainment Targeted information dissemination

25 Potential usage for mobile client
Mobile clients’ feature: They only intermittently connected to a network, Even when connected they have limited bandwidth They have limited storage and processing capability Mobile agents’ feature: Reduction of Network traffic Asynchronous interaction Remote searching and filtering

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 Increased security often obtained at the expense of performance. We did not handle the traditional architecture well securely up untill now.

27 จบบทที่ 3


Download ppt "บทที่ 3 เอเจนต์แบบเคลื่อนที่ (Mobile Agent)"

Similar presentations


Ads by Google