1 / 51

Kick Off Meeting Island of San Servolo - Venice, Italy 11th to 13th February 2008

Kick Off Meeting Island of San Servolo - Venice, Italy 11th to 13th February 2008. Mobile Agents Jens Schumacher Mathias Rieder Thomas Bargetz. Agenda. What is a Software Agent Concepts of Mobile Agents Usage of Mobile Agent Systems Implementation. What is a software agent.

molimo
Download Presentation

Kick Off Meeting Island of San Servolo - Venice, Italy 11th to 13th February 2008

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. Kick Off MeetingIsland of San Servolo - Venice, Italy11th to 13th February 2008 Mobile Agents Jens Schumacher Mathias Rieder Thomas Bargetz

  2. Agenda • What is a Software Agent • Concepts of Mobile Agents • Usage of Mobile Agent Systems • Implementation

  3. What is a software agent • Software Agent • Definition • Features • Why agents

  4. Definition of a software agent • [Jacques Ferber 1999]: • phsysical or virtual entity • is capable of acting in an environment • communicate directly with other agents • is driven by a set of tendencies • is capable of perceiving ist environment • possesses skills and can offer services • may be able to reproduce itself • [Shoham 1997]: • A software entity which functions continously and autonomously in a particular environment, often inhabited by other agents and processes

  5. Features of a Software Agent • Piece of software • Fulfilling jobs for a user • Acts in the behalf of an agency • Uses services and resources on several hosts • Autonomy • Intelligence • Reactivity

  6. Why Agents • The concepts relate to the way we naturally think about • complex tasks • Several small applications instead of one big • The system in whole is more fail-safe • System is easy to upgrade (new agent)

  7. Why Agents • One application which does the whole job is like one • employee in a company does everything.

  8. Why Agents • Solution: • More employees • One employee works only on a (small) part

  9. Mobile Agent Systems Mobile Agents

  10. Mobile Agent Systems • Massive distributed computation paradigm • Mobile agents • Software Agent which migrates between systems in a network

  11. Comparison Moblie Agents – Client/Server architecture • Client/Server – concept: • e.g. Database-Server • Database-server offers services to access his data • Program-logic polls the data to compute them • Mobile Agents – concept • Instead of bringing the data to the logic – bring the logic to the data and send back the result network network result

  12. Client Server Model versus Agent Model • Searching a file in a network (client server model): Client Computers in the network

  13. Client Server Model versus Agent Model • Searching a file in a network (client server model): Client Server

  14. Client Server Model versus Agent Model • Searching a file in a network (client server model): Client not found Server

  15. Client Server Model versus Agent Model • Searching a file in a network (client server model): Client Server

  16. Client Server Model versus Agent Model • Searching a file in a network (client server model): Client not found Server

  17. Client Server Model versus Agent Model • Searching a file in a network (client server model): Client Server

  18. Client Server Model versus Agent Model • Searching a file in a network (client server model): Client Found! Server

  19. Client Server Model versus Agent Model • The client needed 10 steps to find the file (2 for every • request) • The client is blocks other operations, he can‘t do • anything else • Imagine a network with 500 computers!

  20. Client Server Model versus Agent Model • Searching a file in a network with Agents: Client Client activates search agents

  21. Client Server Model versus Agent Model • Searching a file in a network with Agents: Client

  22. Client Server Model versus Agent Model • Searching a file in a network with Agents: Client Found!

  23. Client Server Model versus Agent Model • Searching a file in a network with Agents: Found! Stop search! Client

  24. Mobile Agent Systems • Agencyuser commissions agent to do a jobagent migrates to hosts offering the asked services and executes autonomously Do this & that for me

  25. Mobile Agent Systems • Authonomy • Task selection • Priorization • Goal directed behaviour • Decision making... without human intervention

  26. Mobile Agent Systems • Intelligence • Sensing the environment • self-adaptation • learning • Decision making

  27. Mobile Agent Systems • Accomplish intelligence through: • Communication between agents • Communication between agent and platform • Acess to services (DB, Internet, …) • Sensor-Data • … • Autonomous decision making using rule-engines

  28. Mobile Agent Systems • Reactivity • Perceive the context in which they operate • React to it appropriatelye.g. Migrate to other host if: • Ressources are not available • Host is busy • ...

  29. Migration of Mobile Agents • Now we know what mobile agents are, but • how does the migration works?

  30. Mobile Agent Systems - Migration • Agent (program) travels from host to host • Agent stops execution at a certain point • Serialization to a network stream • Another host receives agent • Agent continues work at same point this causes several problems network

  31. Agent runs on different machines Agent runs on different platforms Programs written in C and C++ are not very portable Compiled code runs only on the compilation platform Problem of libraries, OS-specific calls, ... Hardware independent programming

  32. Solution – use interpreted programming language (e.g. JAVA) JAVA Virtual Machine acts as an abstraction-layer to encapsulate the underlying platformall java-enabled plattforms can be used as hosts Hardware independent programming

  33. There needs to be a widely accepted framework for executing mobile agents Agents run within a well defined runtime-environment (Container)‏ These containers need to be installed on every host-machine Use Middleware (e.g. JADE)‏ Middleware offers common services ... more on that later on Ubiquity-problem http://jade.tilab.com/

  34. Security is a fundamental concern for a mobile agent system. Can you trust an agent? Agent Identification Who is the author of an agent? Can I trust an agent? Author certifies his/her Agents (digital signature) Integrity of Agent's code How to find corrupted/virual agents (code-manipulation during transmission)‏ Agents use code-signatures (finger-prints/checksums)‏ Security Issues – agent integrity

  35. How to protect your sensitive data Host-Machines can grant/deny access to their resources/services Protect host-machine from virual agents use identification (discussed before)‏ Sandbox model Agent can not leave defined sandbox Security Issues – sensitive data Host Machine Runtime container sandbox

  36. Agents use secure (encrypted) communication channels - asymmetric public key encryption - also used for agent-transmission Security Issues – sensitive data network xx xx

  37. Example This was a lot of theory, lets get on with an example

  38. Observation of goods located on a truck - Traditional approach Example GPS 2. Truck keeps track of its own position 1. Truck is equiped with a GPS enabled device

  39. Example • Observation of goods located on a truck - Traditional approach 3. Device periodically tramsmits it‘s location to the company‘s headquarter GSM 4. Headquarter observse the trucks location

  40. 1. Example • Observation of goods located on a truck – Mobile Agent approach Before the truck takes off Agent collects information - device features (GPS, temperature sensor, …) - type of goods - route information 2. Agent reports trucks state

  41. Example • Observation of goods located on a truck – Mobile Agent approach Depending on the type of goods, the device‘s features and the route,different agents migrate to the truck‘s device Route-tracking agent Temperature-tracking agent …

  42. Example • Observation of goods located on a truck – Mobile Agent approach Route-tracking agent • has a copy of the planned route • can check itself if the truck leaves the route, is late, … • decides itself whether to inform the driver, the headquarter, … Temperature-tracking agent • can access the trucks temperature-sensor • alarms the driver if sensor reaches critical value • …

  43. Low communication bandwidth needed Instead of transferring the data to the processing-unit, send the processing-unit (agent) to the data. Agent decides when to communicate and when not Offline Execution Agent can handle conneciton-leaks Continue job Wait until connection is re-established keep logs … Mobile Agents – Pro's

  44. Take advantage of spread resources idle CPUs local data-access for high-performance computation (instead of transferring data over the network)‏ locally available resources (databases, internet-connection, external peripherals, …) Flexible and scalable functionality of an Agent Environment depends on the functionality of the single agents Solve new problems by implementing new agents The rest of the system is not affected Mobile Agents – Pro's

  45. Security risks already discussed Additional software needed Middleware must be installed on all hosts Additional resources needed Agent Management Services consume additional resources. Is there a specification and does already exist a middleware? Mobile Agents – Con's

  46. Foundation for Intelligent Physical Agents “FIPA is an IEEE Computer Society standards organization that promotes agent-based technology and the interoperability of its standards with other technologies.” Define a set of standards for AgentSystem - Middleware FIPA

  47. FIPA - Agent Managment Service • Directory Facilitator • Component of an agent platform • Provides yellow pages service to other agents • Saves an accurate, complete and timely list of agents • Can form federations with other DFs

  48. FIPA - Agent Managment Service • Agent Managment System • Mandatory component of the agent platform • Manages operations of an agent platform • Create / delete agent • Overseeing the migration of agents to and from the agent platform • Offers description of the agent platform • Is the managing authority of an agent platform

  49. Java Agent Development http://jade.tilab.com/ Runtime environment Middleware Developed by Telecom Italia Lab Open Source (LGPL license)‏ Conform to FIPA-Specifications JADE

  50. JADE • Java Agent Development • Entirely written in JAVA • Runs on every JAVA-enabled platform/device • JADE LEAP • suitable for mobile lightweight Java environments down to JAVA MicroEdition-CLDC • Cheap JAVA-enabled mobile devices can be used

More Related