Presentation is loading. Please wait.

Presentation is loading. Please wait.

EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni.

Similar presentations


Presentation on theme: "EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni."— Presentation transcript:

1 EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni

2 EEL 5937 Weak mobility

3 EEL 5937 Weak mobility In the case of weak mobility, agents are allowed to transfer data only at specific instances. Weak mobility puts smaller requirements on the agent systems: –Traditional programming languages can be used: Java, Perl, Python, Lisp –Smaller performance penalty But there are still a number of challenges:

4 EEL 5937 Challenges in soft mobility Platform independent code –How do I handle heterogeneous systems? –What about _extremely_ heterogeneous systems? How to collect state / data? How to mark checkpoints (when is mobility possible)? Authorization, security, resource management Reliability problems How do I handle open files and other local resources? How do I handle global names? How do I send a message to a mobile agent? What is the address of the agent?

5 EEL 5937 Agent systems with weak mobility Most agent system designers considered that migration is a relatively rare even in the life of the agent system. –Thus: weak mobility The agent system is allowed to migrate, but migration is not a fundamental type of operation, but a problem to be solved –In Telescript, migration was the basic communication primitive! Examples: –Aglets, Jade, Concordia, Grasshopper, Bond 2, aIsland (JXTA) –About 60 agent systems on the Mobile Agent List –http://mole.informatik.uni-stuttgart.de/mal/mal.html

6 EEL 5937 Standards for weak mobility Object Management Group (OMG), an international consortium dealing with interoperability specifications (e.g. CORBA) MASIF: Mobile Agent Facility –A specification, released in 2000, specifying how CORBA based agents should implement weak mobility –There are a number of conformant agent systems (eg. Grasshopper, partially Aglets) As of yet, FIPA did not release any standard for agent mobility. –But they did for mobile (nomadic) users, eg. PDAs etc.

7 EEL 5937 Aglets Java based mobile agent system –I have chosen to present this because of its major focus on mobility Research project at IBM Japan (from 1996) –Danny Lange and Mitsuro Oshima –http://www.trl.ibm.com/aglets/index_e.htm As IBM decided to phase out the project it was released as an Open Source project –http://aglets.sourceforge.net/

8 EEL 5937 Aglets (cont’d) Goal: “Provide an easy and comprehensive model for programming mobile agents without requiring modifications to Java VM or native code”

9 EEL 5937 Aglet Lifecycle

10 EEL 5937 Agent lifecycle Instantiating: –Creating a new aglet from the codebase –Cloning (the clone has the same state as the original but different identity) An aglet can dispatch itself to a remote server by calling the Aglet.dispatch(URL dest) primitive. To be more precise, an aglet occupies the aglet context and can move from this context to others during its execution. Because the server may serve multiple contexts within one Java VM, and one host may serve multiple servers in one host the context are named as the following set –the address of the host, typically IP-address. –the port number to which the server is listening. –the name of context within the server. –Example: atp://aglets.ibm.com:1434/context_name –ATP:// Aglets Transport Protocol

11 EEL 5937 Aglet lifecycle (cont’d) Dispatching causes an aglet to suspend its execution, serialize its internal state and bytecode into the standard form and then to be transported to the destination. On the receiver side, the Java object is reconstructed according to the data received from the origin, and a new thread is assigned and executed. Aglets can be persistent. Since a mobile aglet needs to be serializable into a bit-stream, all mobile aglet can be persistent in nature. The Aglet.deactivate(long timeout) primitive causes an aglet to be stored in secondary storage and to sleep for a specified number of milliseconds.

12 EEL 5937 Migration events in Aglets

13 EEL 5937 Security issues in aglets / mobile agents For secure agent execution, the agent system must provide the following security services: Authentication of the Sender, the Manufacturer and the Owner of the Agent. –Who is responsible for this agent? –Who is responsible for the agent code? –Has the agent (code and state) been tampered with? Authorization of the Agent (or Its Owner) –What can this agent do? (E.g, can this agent access files?) Secure Communication between Agent Systems. –Can the agent protect its privacy? Non-repudiation and Auditing. –How can we ensure that a deal has been actually carried out? –Security-sensitive activities of agents must be recorded, and an administrator must be able to audit them.


Download ppt "EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni."

Similar presentations


Ads by Google