1 / 28

Agents for the Grid

CISC 889: Agents, Web Services and Grid Computing Fall 2003. Agents for the Grid. By: Sachin Kamboj. Outline. Review Grids Agents Web Services Relation between Grids, Agents and Web Services MyGrid Agent Communication Languages and Models Generic API Ontology Support

kort
Download Presentation

Agents for the Grid

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. CISC 889: Agents, Web Services and Grid Computing Fall 2003 Agents for the Grid By: Sachin Kamboj

  2. Outline • Review • Grids • Agents • Web Services • Relation between Grids, Agents and Web Services • MyGrid • Agent Communication Languages and Models • Generic API • Ontology Support • Mapping to the XML protocol • Technical Challenges • Conclusions Agents for the Grid

  3. Review (Grid) • A form of distributed computing that involves coordinating and sharing resources across dynamic and geographically dispersed organizations • Shared resources include: • Computing • Application • Data • Storage • Network • Grid computing suggests a computing paradigm similar to an electric power grid: • A variety of resources contribute power into a shared “pool” for many consumers to access on an as-needed basis. Agents for the Grid

  4. Review (Agents) • A computer system situated in some environment that is capable of flexible autonomous action in order to meet its design objectives • Situatedness • Able to perceive its environment through sensory inputs • Perform actions that change it in some way • Autonomous • Able to act without the direct intervention of humans • Flexible • Reactive • Pro-active • Social Agents for the Grid

  5. Review (Web Services) • Self-contained, self-describing modular applications that can be published, located and invoked over the web. • Perform functions that can be anything from simple requests to complicated business processes… • A software system designed to support interoperable machine-to-machine interaction over a network. • Three fundamental requirements to provide or use web services: • Web services must be network accessible to be invoked • HTTP is the de-facto network protocol although may use SMTP • Web services should use XML-based messaging for information exchange… (SOAP is mostly used…) • All specifications for invoking a web service should be available through a service description (WSDL is used for this…) Agents for the Grid

  6. Question? • Please fill in the blanks: Agents □ Grids □ Web Services • ≠ ≠ • ≠ = • = ≠ • = = Agents for the Grid

  7. Answer • The answer would depend on what we mean by the term equal… • Answer the similar question: • Please fill in the blanks: Desktops □ Laptops □ Servers … • Each of these types of computers serve a different purpose: • There is nothing preventing us from running a server on a laptop from a desk… • In such a situation are the three equal? Agents for the Grid

  8. Answer • Agents, Web Services and Grid Computing are all distributed computing paradigms… • All three address different areas of the “distributed computing pie” • Although a lot of the methods overlap • Grids allow processes to access distributed (geographically disperse) resources… • Web services are processes/resources designed to be interoperable over existing web protocols (HTTP, XML, etc…) • Agents build intelligence into the processes/resources. Agents for the Grid

  9. Questions • Can web services, agents and grids be integrated/combined together? • Yes!!! • Already all three address many of the same problems • A lot of the work being done in the grid and web services world has already been done in the agent world… • Why would we want to combine the three? • How do we combine the three? Agents for the Grid

  10. Why use agents on the grid? • Resources are finite • If resources are unavailable, resource consumers (processes) need to be able to adapt/change their requirements or re-plan • Variation in supply and demand • Resource requirements and availability might change dynamically • Simple queuing/scheduling of resources is inappropriate and inefficient • Hence, reactive and pro-active agents are needed to distribute the resources… • Agents adapt to prevailing circumstances and hence provide services that are dynamic and robust Agents for the Grid

  11. Why use agents on the grid? • Grids provide means of locating resources • However, grids at present do not provide means of discovering high-level services… • Services can range from simple methods and procedure calls to more complex signature specifying service types. • Grids do not provide a common ontology for specifying resources and services • They also don’t allow the dynamic creation of ontologies Agents for the Grid

  12. Why use agents on the grid? • Agents allow the integration of multiple information sources in problem solving environments • Agents interact using co-operation and negotiation to achieve common goals • Agents allow the building of computational economies to regulate the supply and demand of resources • Agents allow the creation of market-based economies • Agents act as self interested entities competing on a market where goods such as computational resources are traded. • Allow resources to be distributed fairly… Agents for the Grid

  13. Why integrate with web services? • Web services have emerged as a set of open standards • Defined by W3C • Are ubiquitously supported by IT suppliers and users • Use existing protocols (such as HTTP and XML) • Do not require new protocols to be developed • Allow a large population of existing Internet users to contribute or use resources on a single large grid • For example: SETI@home Agents for the Grid

  14. MyGrid • Purpose is to provide a collaborative and supportive environment that enables geographically distributed biologists to achieve research goals more effectively • Must provide an environment in which distributed bioinformatics applications may be developed • Involves the design of a generic architecture that supports multiple existing protocol, languages and standards and which hopefully will be able to accommodate future developments • Based on SoFAR • Southampton Framework for Agent Research Agents for the Grid

  15. MyGrid • One goal is to develop an abstract communication architecture that can be mapped onto concrete communication technologies: • For openness protocols on the wire are defined • Message formats for each protocol supported are defined • Programming APIs are provided for ease of development • Allow programmers to develop new tools and applications in MyGrid Agents for the Grid

  16. MyGrid • An agent based computing paradigm has been adapted as underpinning the architectural design • Agents: • Are a software engineering unit, typically larger than a class or module which can encapsulate roles and goals • Are capable of complex interactions thus forming multi-agent systems • Communicate using agent communication languages (ACLs) • Structured around a set of: • Message types (performatives) • Message content schemas (ontologies) and • Meta information Agents for the Grid

  17. Agent Communication Language • Consists of three elements: • Performatives • Are communicative acts • They specify the intention of the message • Are used to structure and classify messages • Ontology • An agreed vocabulary with a shared understanding of some domain that is used between two communicating agents • Required so that the receiver agent know what the sender agent intended • Meta-Information • Is the communication context and includes information about the act of communication • Examples include sender, receiver, sent time, message identifier… • Is used by agents to discriminate between messages Agents for the Grid

  18. Agent Communication Model • An ACL does not provide a generic API to communications: • Performing a CORBA method call differs substantially from invoking a service through an apache soap implementation • Solution is to provide an abstract communication model that supports • Startpoint/endpoint pairs to refer to remote objects • A form of method activation to start computations on remote objects • Communication between agents takes place over a virtual communication link defined by a startpoint and an endpoint Agents for the Grid

  19. Generic API • To communicate with an agent, one needs to acquire a startpoint that represents the agent • The startpoint supports a method for each performative defined in the ACL • A communication is initiated by performing a method call on a startpoint, passing as argument the message content and envelope interface Agent { boolean query_if(Predicate p, Envelope e); Predicate[] query_ref(Predicate p, Envelope e); void inform(Predicate p, Envelope e); void uninform(Predicate p, Envelope e); Contract register(Action a, Envelope e); void unregister(Contract c, Envelope e); Contract subscribe(Predicate p, Envelope e); void unsubscribe(Contract c, Envelope e); void request(Action a, Envelope e); } Agents for the Grid

  20. Ontology Support • Ontologies are defined in XML syntax • Concepts are composed of a number of fields and may extend other concepts using single inheritance • Supports primitive concepts and polymorphic vectors • Hence ontologies are organized along a hierarchy • The root of the hierarchy is referred to as a term • As a part of the ontology, notions of equality, matching and subsumption (reasoning over hierarchies) on ontological terms are also defined Agents for the Grid

  21. Ontology Support • Example1: <term name=“Person” extends=“Term”> <field type=“String” name=“title”/> <field type=“String” name=“forename”/> <field type=“String” name=“surname”/> </term> • Example 2: <term name=“Envelope” extends=“Term”> <field type=“AgentTerm” name=“sender”/> <field type=“AgentTerm” name=“receiver”/> <field type=“Time” name=“timestamp”/> <field type=“Integer” name=“identifier”/> <field type=“Integer” name=“reference”/> <field type=“Conversation” name=“conversation”/> </term> Agents for the Grid

  22. Mapping to the XML Protocol Deployment.xml sofar provider: DeMultiplexor http server soap servlet HTTP lookup soap registry Id -> . id url Soap startpoint for B RMI METHOD: Inform Agent B METHOD: Inform Agent A Soap endpoint for B Agents for the Grid

  23. Technical Challenges • Startpoints: • To allow communication, startpoints need to be sent to the agent initiating the communication • Startpoint might be either RMI stubs or Soap stubs • However RMI stubs cannot be serialized over XML • Hence only Soap startpoints can be serialized over the XML protocol layer Agents for the Grid

  24. Technical Challenges • Contracts • An agent offering a service advertises itself by registering with a registry service • The registry service commits to advertising the agent capability and as a proof issues a contract to the agent • As long as the contract remains live, the registry will retain the advertised capability • Contracts are similar to leases as they need to be renewed on a regular basis by “keep-alive”. • If an agent crashes, the keep alive messages will no longer be sent, the lease will not be renewed and the registry entry will be cleared • Java RMI automatically handles contracts and leases… • However SOAP requires the client implementer to implement the lease and contract algorithms Agents for the Grid

  25. Technical Challenges • Class Loading • The ability to load code dynamically is a very important property of a long running multi-agent system. • For example, a registry agent may run permanently on a well known host • As new agents and their associated ontologies get developed, they will register their service in the registry • When these agents are required the code should be loaded dynamically by the registry • XML provides an RPC mechanism without built-in dynamic code loading capability • This limits the scalability of the thus developed code Agents for the Grid

  26. Conclusions • A computational economy may be a mechanism able to allocate resources in a fair and efficient manner in a Grid environment • This requires the use of a marketplace economy based on agents • The dynamic discovery, creation, management and disbanding of virtual organizations require complex agent-based interactions • Agents may be seen as web services • XML protocol is expressive enough to support an Agent Communication Language • ACL can be mapped onto several concrete protocols • A fixed set of performatives combined with an abstract communications model offers a uniform API to programming communications Agents for the Grid

  27. References • Luc Moreau:“Agents for the Grid: A Comparison with Web Services (Part I: Transport Layer)”, in 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID'02) p. 220 • Arturo Avila-Rosas, Luc Moreau, Vijay Dialani, Simon Miles, Xiaojian Liu: “Agents for the Grid: a Comparison with Web Services (part II: Service Discovery)”, inFirst International Workshop on "Challenges in Open Agent Systems”, AAMAS 2002 Agents for the Grid

  28. Questions? Agents for the Grid

More Related