agents a new paradigm for distributed computing n.
Skip this Video
Loading SlideShow in 5 Seconds..
Agents – A new Paradigm for Distributed Computing PowerPoint Presentation
Download Presentation
Agents – A new Paradigm for Distributed Computing

Agents – A new Paradigm for Distributed Computing

104 Vues Download Presentation
Télécharger la présentation

Agents – A new Paradigm for Distributed Computing

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Agents – A new Paradigm for Distributed Computing “agent-based computing has been hailed as the next significant breakthrough in software development”(Sargent, 1992) “the new revolution in software”(Ovum, 1994) NUST Institute of Information Technology Research Lab

  2. Network Computing Paradigms • Client Server • Domain Login Server • Yahoo Mail Server • Peer to Peer • Lime Wire • Hybrid (Client Server & P2P) • Napster • KaZaa

  3. Sequence of Presentation • Introduction to the concept of an agent • Quick Start to programming agents • Agent Based Systems • Main application areas • DIAMOnDS (DIstributed Agents for MObile & Dynamic Services)

  4. What are Agents ? • Potential for making software agents • Normally the agent refers to humans “one that acts or has the power or authority to act… or represent another.” • In computer world, "a software program that acts on a user’s behalf" • But agents sound just like computer programs. How are they different?

  5. What exactly an agent is? • Why is it hard to know through literature what agents are ? • Each of definition grew directly out of the set of examples of agents that the definer had in mind. • "This FAQ will not attempt to provide an authoritative definition ..." The FAQ Agent [] • Each definer emphasize on the particular characteristic of agent he is working on.

  6. Characteristics of Agents

  7. In search of a mathematical definition • One who acts on behalf of others (real world) • Humans act, as do most other animals. Also, some autonomous mobile robots act. • What do they (Software+Real world) have in common ? • Each is situated in, and is a part on some environment. • Each senses its environment and act autonomously upon it. • No other entity is required to feed it input, or to interpret and use its output. • Each acts in pursuit of it's own agenda • Each acts so that its current actions may effect its later sensing, that is its actions effect its environment. • Finally, each acts continually over some period of time. • Lets formalize the common characteristics into a mathematical definition ………..

  8. A Mathematical definition • An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future. • How a payroll program is not an agent • Its output would not effect what it senses later • It runs once and then goes into a coma, waiting to be called again (temporal continuity) • All software agents are programs, but not all programs are agents

  9. Sequence of Presentation • Introduction to the concept of an agent • Quick Start to programming agents • Agent Based Systems • Main application areas • DIAMOnDS (Distributed Agents for MObile & Dynamic Services)

  10. Agents Toolkit • “Any software package, application or development environment that provides agent builders with a sufficient level of abstraction to allow them to implement intelligent agents with desired attributes, features and rules." • Optional Features:- • A platform for agent development • Features for visual programming • An environment for monitoring, analyzing and testing agents • Its better not to reinvent the wheel

  11. Four kinds of available toolkits • General Purpose Agent Toolkit • Mobile Agents • Intelligent Agents • Multi Agents

  12. Sequence of Presentation • Introduction to the concept of an agent • Quick Start to programming agents • Agent Based Systems • Main application areas • DIAMOnDS (Distributed Agents for MObile & Dynamic Services)

  13. Agent Based Systems • One in which the key abstraction used is that of an agent • Might be conceptualized in terms of agents • Analogy with OO Systems • A number of software tools exist that allow a user to implement software systems • as agents, • and as societies of cooperating agents

  14. Agent Application Domain Characteristic • Solving new types of problems • Open Systems • Complex Systems • Ubiquitous Computing Systems • Improving efficiency of software development • Distribution of Data, Control, Expertise, or Resources • Natural Metaphor • Legacy Systems • The limitations of Agents based solution • No overall system controller. • No global perspective. • Trust and delegation.

  15. Sequence of Presentation • Introduction to the concept of an agent • Quick Start to programming agents • Agent Based Systems • Main application areas • DIAMOnDS (Distributed Agents for MObile & Dynamic Services)

  16. Application Areas • Industrial Applications • Process Control • Manufacturing • Air Traffic Control • Commercial Applications • Information Management • Information filtering • Information gathering • Electronic Commerce • Business Process Management • Medical Applications • Patient Monitoring • Health Care • Entertainment • Games • Interactive Theater and Cinema

  17. Agent Based Solution for Japanese Bullet Train • The Japanese bullet train, is world-famous for • its speed, • reliability, • and safety. • Since the Central Japan Railway Company (CJR) introduced the Hikari and Kodama Super Expresses, these high-speed trains • have been perfectly punctual—within 15 to 30 seconds • with absolutely no passenger injuries • During peak hours, trains arrive and depart from the Tokyo station every 3.5 minutes, meaning as many as 130 may be running simultaneously.

  18. OASIS – Air Traffic Management System • One Agent dedicated to each aircraft known to system. • Local Agents • Perform local computation or reasoning for each aircraft. • Global Agents • Handle global or inter-aircraft co-ordination. • perform the sequence optimization and manage wind information and user interaction.

  19. OASIS – Air Traffic Management System - Features • Goal & Data oriented • Self-monitoring capability • Enables to adapt it's behavior as required according to prior performance • Dynamic environment • Enables to react to changes in weather and aircraft behavior as soon as they are observed • Developed on Unix system with X-Windows • Can handle in excess of one hundred aircraft agents

  20. Soccer Game implemented as Agent Based Solution • Competition • Players from the red and the yellow team follow different objectives. • Cooperation • Players cooperate by passing the ball to others of their team. • Robustness • A team can still play with 10 or even 9 players. • Situated Behavior • Behavior is affected by the environment, i.e. the position of the ball and other players. • Behavior (e.g. shooting the ball) affects the environment. • Autonomous behavior • There is no central control. • A player does not follow commands of another player.

  21. Some other applications

  22. Sequence of Presentation • Introduction to the concept of an agent • Quick Start to programming agents • Agent Based Systems • Main application areas • DIAMOnDS (Distributed Agents for MObile & Dynamic Services)

  23. Team Members Saad Liaquat Kiani Anjum Shehzad Umer Farooq Khalid Maria Riaz Afrasyab Bashir Aamir Shafi Supervisor Dr Arshad Ali

  24. Features • A framework that provides a simple API to develop different types of mobile agent based applications. • Based on Service Oriented Architecture • Only Mobile Agents Framework which • Presents agents & their hosts as services • Allows remote monitoring and controlling of agents by providing remotely downloadable GUI • Provides agents as modern objects – they carry their GUI with themselves • Resilient to changes in the network • Allows agents to be started from the web

  25. Benefits • Provides a basic agent implementation which takes care of all the problems regarding • Mobility • Security • Remote Administration • Network Uncertainty • A distributed application developer needs to focus only on application logic without worrying about the above concerns.

  26. Why Mobile Agents ? • Reduce network load and overcome network latency. • Execute asynchronously and autonomously. • Naturally heterogeneous, adapt dynamically • Are fault-tolerant and allow disconnected operations

  27. Service Oriented Architecture • Three basic entities • Service Provider • Service Registry • Service Requestor • Benefits • Loosely Coupled Services • Protocol Independence • Location Transparency • Time Independence

  28. Modules • Agent Starter • Provides the facility to load an agent from a file into the JVM. • Agent Station • Host for agents – provides execution environment to the agent • Agents • Basic Service Agent • File Access Agent • Database Access Agent • Search / Information Retrieval Agent • Connectivity Test Agent • Client • Provides remote monitoring & controlling of services by downloading their GUIs

  29. Lookup Service Lookup Service Lookup Services Discovery & Registration Execution Engine Agent Station Discovery Code Base Server Agent Starter Discovery Client Resources Agent UI DIAMOnDS Architecture

  30. Basic DIAMOnDS Agent • Mobile • Can migrate between Agent Stations by • Name • IP • Random move • Predefined path • Mobility mechanism • Light HTTP server • Marshalling / Unmarshalling • Weak Mobility

  31. Basic DIAMOnDS Agent • Transaction • ACID properties • Either agent moves successfully to destined station or remains on the same station • Service • Acts as an entity providing functionality to the users • Registers with the Registry Service • By providing Specific attributes • Can be discovered by other services using the published attributes • Provides remote GUI for administration and/or its specific operations

  32. Agent Starter • The Agent Starter performs pre-functional initialization • Main Functions • Providing an interface for anyone interested to load their agents • Instantiation of Agents (Loading an agent from a jar file into the JVM) • Service Client • Hosting an HTTP server for providing code base for each type of agent

  33. Agent Starter

  34. Agent Station • Acts as a JINI Service • Establishes a peer relationship with all stations • Provides registration, notification and discovery mechanism for agents • Execution Environment for the agents • Agent Starter sub module • Security sub module (based on PKI) • Trust Establishment with other services • Authenticating & validating incoming agents • Access rights management

  35. Lookup DiscReg Agent Station Agent Station DiscReg Remote Notifications Registration DiscReg Agent Station Station-Station Agent Movement …Agent StationEstablishes p2p relationship with other stations

  36. ..Agent Station Services provided to the agent • Provides following services to the agents • Registration • Notification • Discovery • Execution environment • Access to Transaction Service • Access to Java Space Service

  37. Agent Station GUI

  38. Client • User Module that • Discovers services • Using Discovery sub module • Enables user interaction with remote service and resources • Contacting service proxies through Lookup Service • Downloads Remote Service GUIs • Connectivity Test view • Remote Database view • Remote File Access • Searching remote data stores

  39. Client - Web Accessibility • Web Interface to DIAMOnDS Framework • Compatible with Java WebStart Technology • User does not even need to install this module • All necessary files for client execution are downloaded from an HTTP server by a simple click from the user • Same client module either accessed from installed package or accessed from the Web through Java Web Start • Unique feature of the framework

  40. Client GUI

  41. Application Agents • All application agents exhibit properties of • Mobility • Transaction • Service • We have provided a toolkit and by using it other agents can be created. • Reusability • Four specific implementations of our toolkit are • File Access Agent • Database Agent • Data Search / Information retrieval Agent • Connectivity Test Agent

  42. File Access Agent • Remote File Access Functionality • Exports file system of the host station to the client/user • File transfer over TCP sockets • Remote File edit/view • Secure Access to file system • Based on public/private key pairs

  43. File Access Agent…

  44. Connectivity Test Agent • A hopping agent that moves between all the stations that are online • It keeps a record of all its moves in the form of a log file with itself • Not on persistent storage • Shows station presence on a world map • Proof of Fault Tolerance Implemented • Scenario • This agent is about to move to a station that has just crashed • Conventional Applications might fail in such a scenario • No notification of the dynamic network • No intelligence • Conn. Test Agent’s behavior in this scenario • The agent will recognize this network change and will select a different station to move to. • Such fault tolerance measures are a must for Distributed Applications

  45. Connectivity Test Agent

  46. Database Access Agent • Access to remote databases • Agent Station registers databases with itself, making the DBs accessible to hosted agents • Database can be queried/updated remotely through the agent GUI at client • RMI-JDBC

  47. Database Access Agent

  48. Data Search Agent • Visit different Agent Stations searching for given information • Word/Phrase to look for in files • User can select the locations to search • Steps • Moves to a site • Analyzes the stored documents • Records results (saves state) • Moves to the next site.

  49. Data Search Agent