1 / 24

Mobile Agents

Mobile Agents. Mouse House Creative Technologies Mike O’Brien. Outline. Introduction to Mobile Agents Where & Why use Mobile Agents Mobile Agent Architecture Some Problems Java based toolkit for Agents (ASDK) Introduction to Aglets Aglet Architecture The Road Ahead for Mobile Agents

wattan
Download Presentation

Mobile Agents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mobile Agents Mouse House Creative Technologies Mike O’Brien

  2. Outline • Introduction to Mobile Agents • Where & Why use Mobile Agents • Mobile Agent Architecture • Some Problems • Java based toolkit for Agents (ASDK) • Introduction to Aglets • Aglet Architecture • The Road Ahead for Mobile Agents • Competing Technologies • Conclusions

  3. Search engine Machine A Machine B What is a Mobile Agent? • Program that can migrate from system to system within a network environment • Performs some processing at each host • Agent decides when and where to move next • How does it move? • Save state • Transport saved state to next system • Resume execution of saved state

  4. Why Mobile Agents: Motivations • Network Management Bottlenecks • Unnecessary Bandwidth Utilization (Client/Server) • Low bandwidth connections • Users let the agent roam on their behalf • Wait for results • Asynchronous transaction capabilities • Agents can have Intelligence • Making decisions • Process Information • Communicating with other Agents

  5. Where are Mobile Agents Used Today? • Network Management Systems • Discovery Agents • Configuration Agents • Information Retrieval • Best price, interesting news, music, monitor stock market • Data Mining • Search Engines

  6. Mobile Agent Architecture • Agent transfer protocols • Like all data transfer from one system to another, agents must adhere to a protocol • Agent execution support • Networked systems that use agents, must support an environment for them to run in • AEE ( Agent Execution Environment ) • Agent construction and applications • Construction tools allow users define the task, set the parameters and proceed to launch the agents onto the networks

  7. Migration Technology • Common execution language • Interpretive scripting language • Java • Process persistence • convert the object's state (variables, stack, and possibly even the point of execution) into a data form suitable for transmission over a network. • Communication mechanism between agent hosts • TCP/IP, or even higher level HTTP

  8. Agent Host Requirements • An agent host must allow multiple agents to co-exist and execute simultaneously • An agent host must allow agents to communicate with each other and the agent host • An agent host must be able to negotiate the exchange of agents • An agent host must be able to freeze an executing agent and transfer it to another host • An agent host must be able to thaw an agent transferred from another and allow it to resume execution

  9. Agent Requirements • An agent must have its own unique identity • Agents must be able to determine what other agents are executing in the agent host • Agents must be able to determine what messages other agents accept and send

  10. Problems • Security for hosts • As a system, how do I make sure that the agent I let into my AEE is not an “evil” agent? • Encrypted signature • Resource negotiation Security for agents • Security for agents • protection against hostile hosts that would seek to dissect or modify them • Little to protect agents from snooping eyes!

  11. Mobile Agents in Java • A mobile agent in Java is called an “Aglet” • Light weight agent • Why use Java • Platform independence! • Create once, go anywhere • Price ….. FREE TOOLKITS ( ASDK ) • Hosts can provide an environment for the aglet to execute within

  12. Developing A Mobile Agentusing the AGLETS SOFTWARE DEVELOPMENT KIT (ASDK) “An environment for programming mobile Internet Agents in JAVA”

  13. ASDK System Goals • Easy and Comprehensive model for programming agents without modifying the Java VM • Support Dynamic and Powerful Communication with know and unknown agents • Design a harmonious architecture with existing Web/Java Technology

  14. What are Aglets ? • Aglets are Java objects that can move from one host on the Internet to another. • When an Aglet moves it takes along its program code as well as its data. How Does the ASDK Work ?

  15. Aglet API Overview

  16. Aglet API Overview

  17. Creating an Aglet • First we determine what our Aglet is going to accomplish (or do). • Extend the ABSTRACT class Aglet (this class is provided with the ASDK) • This abstract class provides the fundamental methods used to control both the mobility and the life cycle of the mobile agent.

  18. Primary Methods for Lifecycle and Mobility Control * Some of these methods are final and cannot be overridden.

  19. Specifying Behaviour

  20. Aglets at Runtime • Currently aglets use the Agent Transfer Protocol (ATP) as a default implementation of the communication layer (ATP is modeled after HTTP) • Used on the Tahiti aglet server • Use the Aglets Server Interface to write application capable of hosting, receiving and dispatching aglets

  21. Future Applications

  22. Future Applications 2

  23. Competing Technologies • Message passing systems • Remote Method Invocation (RMI) • Common Object Remote Broker Architecture (CORBA)

  24. Conclusions • Advantages • Bandwidth & Performance • Working offline • Monitor or find information • Disadvantages • Security concerns for both hosts & agents • Tough competition

More Related