1 / 51

Agents Transacting in Open Environments

Agents Transacting in Open Environments. Two phases: Locating appropriate agents through different kinds of discovery infrastructure Agent Name Services (System level) Middle Agents (Knowledge level) Performing the transaction with or without middleware infrastructure.

vilina
Download Presentation

Agents Transacting in Open Environments

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. Agents Transacting in Open Environments Two phases: • Locating appropriate agents through different kinds of discovery infrastructure • Agent Name Services (System level) • Middle Agents (Knowledge level) • Performing the transaction • with or without middleware infrastructure

  2. Agent Name Service v.2 (ANS) The ANS is a name registration and lookup service to facilitate communication among agent applications. Agent 2 Agent 1

  3. DNS • Most hosts that have an IP address know of (are preconfigured or learned via DHCP) of at least one DNS server • Entries hardcoded and infrequently changed • New specs (DNS update/DDNS) allow for dynamic updates of entries • Hierarchical and distributed • Primary and secondary masters for redundancy • Local caching for “learned” entries to speed up future resolution requests • New SRV Resource Records to indicate service type, address, port, and load balencing information

  4. ANS Features & Benefits • Acts as a “white-pages” service similar to the Domain Name Service (DNS) • Provides extended features that do not exist in DNS • Integrates new features that have not yet been standardized, or made widely available with DNS (service type and port numbers, service discovery) • Provides platform for testing agent interactions without requiring immediate implementation and integration of new technologies into centrally administered network infrastructure

  5. ANS acts as an extension to DNS Agent Name lookup ANS Infrastructure Partial resolution but with extra info: Location = protocol://hostname:port-number hostname lookup DNS Infrastructure IP Address

  6. Agent Communications Now, I need to find other agents, and let them find me I want to talk on the network to other agents Agent 1 Agent 1 Agent 1 Communicator Communicator ANS Client

  7. Recent Enhancements • Automatic fail-over from one ANS server to another • Ability to dynamically “discover” ANS servers (in both clients and servers) • Ability for Client to perform operations on all known ANS servers • Ability for Server to automatically “push” register and unregister requests • Ability for Server to propagate lookup requests to other ANS Server systems • Multiple avenues for Server to gain knowledge of Agent registration entry

  8. ANS Client Initializationinitialize internal list of ANS servers ANS Server “apple” Agent 1 • apple • lemon ANS Server “pear” Communicator ANS Client ANS Server “banana” 1 File with list of servers • apple • lemon

  9. Dynamic “discovery” of ANS servers • Available in both clients and servers • Search for existing servers on system startup • Discover new servers as they come online • Remove servers that cleanly shut down and leave the network • Remove servers that are unreachable (avoid future delays) • Search for previously undiscovered servers when server-list falls below safe threshold • Limit repeated discovery requests to avoid multicast storms • Allow discovery to be disabled for single server sites, or in installations where Multicast traffic is prohibited • Core discovery module based on Universal Plug-N-Play (UPnP) Simple Service Discovery Protocol (SSDP)

  10. ANS Client Initializationsearch via SSDP discovery process ANS Server “apple” 2 Agent 1 Who's Out There? ANS Server “pear” Communicator ANS Client ANS Server “banana” • apple • lemon

  11. ANS Client Initializationactive servers reply that they are available ANS Server “apple” I’m here Agent 1 ANS Server “pear” 3 Communicator ANS Client I’m here ANS Server “banana” • apple • lemon • pear

  12. ANS Client Operationnew servers announce that they are alive ANS Server “apple” Agent 1 ANS Server “pear” 4 Communicator ANS Client ANS Server “banana” • apple • lemon • pear • banana Hey Everyone I just came online

  13. ANS Client Operationentries are “pruned” if they are unreachable ANS Server “apple” 5 To: apple Agent 1 To: lemon ? ANS Server “pear” Communicator ANS Client To: pear ANS Server “banana” • apple • lemon • pear • banana To: banana

  14. ANS Client Operationclient can interact with one or all servers ANS Server “apple” 5 To: apple Agent 1 To: lemon ? ANS Server “pear” Communicator ANS Client To: pear ANS Server “banana” • apple • lemon • pear • banana To: banana

  15. ANS Client/Server OperationAgent Registration with Server “Push” ANS Server “apple” Push to pear To: apple Agent 1 ANS Server “pear” Communicator Push to banana ANS Client ANS Server “banana” • apple • lemon • pear • banana

  16. Server propagation of lookup requests • Lookup in local cache, then possibly in SQL database • Lookup with partner ANS servers in same discovery group • Lookup sent to a user defined set of non-discoverable servers that can be used to implement an cross-organizational hierarchy of ANS systems • Discovery group partners look in local cache only • Hierarchy ANS servers look locally, then to their partners, then to their hierarchy systems • Search path is propagated with lookup request to assist in loop avoidance and handling request Time-To-Live limits • Successful non-local searches result in interim ANS servers “learning” and registering agent entry in their local cache

  17. ANS Client/Server OperationAgent Lookup with Server Forwarding To: apple Agent 1 Lookup “Susan” Check Hierarchy Servers ANS Server “apple” 3 2 Check with Group Partners 1 Lookup in Local Cache

  18. Branching Nature of Extended ANS Lookup Agent • Discovery Group-Partners provide scaling and fault tolerance • Hierarchy Partners allow linking different organizational groups Primary ANS Primary’s discovered partners Discovered partners of other servers in hierarchy

  19. Linked ANS Organizations Art Robotics Software Eng English CMU Agents Group Nokia Computer Services Microsoft You Are Here

  20. Linked ANS Organizations Art Robotics Software Eng English Not found Lookup “Bubba” Nokia Computer Services Microsoft You Are Here

  21. Linked ANS Organizations Art Robotics Software Eng English CMU Agents Group Not found Nokia Computer Services Not found Not found Microsoft You Are Here

  22. Linked ANS Organizations Art Robotics Software Eng English Not found CMU Agents Group Nokia Computer Services Microsoft You Are Here

  23. Linked ANS Organizations Art Robotics Software Eng English Not found CMU Agents Group Not found Not found Nokia Computer Services Microsoft You Are Here

  24. Linked ANS Organizations Art Not found Robotics Software Eng English CMU Agents Group Nokia Computer Services Microsoft You Are Here

  25. Linked ANS Organizations Art Robotics Software Eng English CMU Agents Group Not found Not found Nokia Computer Services Microsoft You Are Here

  26. Linked ANS Organizations Art Robotics Software Eng English Not found CMU Agents Group Nokia Computer Services Microsoft You Are Here

  27. Linked ANS Organizations Art Robotics Software Eng English CMU Agents Group Not found Nokia Computer Services Not found Not found Microsoft You Are Here

  28. Linked ANS Organizations Not found Art Robotics Software Eng English CMU Agents Group Nokia Computer Services Microsoft You Are Here

  29. Linked ANS Organizations 5 Art Robotics Software Eng 2 English 3 4 CMU Agents Group 1 Nokia Computer Services A Time-To-Live (TTL) of 5 (default) has been reached! Lookup will occur to local cache of “English” ANS server, but will not be forwarded to any of the English discovery group partners, or its hierarchy systems (Art). Going back through the progression, 5 to 4 to 3… the next hierarchy server branch found will be checked. Microsoft You Are Here

  30. Linked ANS Organizations Art Robotics Software Eng English CMU Agents Group Not found Nokia Computer Services Microsoft You Are Here

  31. Linked ANS Organizations Art Robotics Software Eng English CMU Agents Group Nokia Computer Services Microsoft You Are Here Not found Not found

  32. Linked ANS Organizations Art Robotics Software Eng English CMU Agents Group Nokia Computer Services Microsoft Not found You Are Here

  33. Linked ANS Organizations Art Robotics Software Eng English CMU Agents Group Nokia Computer Services Microsoft You Are Here Bubba Found!

  34. Linked ANS Organizations Bubba “Learned” (registered) CMU Agents Group Bubba “Learned” (registered) Nokia Bubba “Learned” (registered) Microsoft Bubba Found Answer to Bubba Lookup “Learned”

  35. JINI • Clients Agents (CA) and Service Agents/providers (SA) use Directory Agents (DA) to locate needed resources • Discovery mechanism used for CAs and SAs to find DAs • preferred DA(s) may be pre-populated instead of using discovery • UA, SA, DA in JINI must have a DA (SLP and mDNS allow UA to discover SA without DA) • Lookup of service type and attributes has lookup service performing “matchmaker”-type functions • Lookup services periodically re-announce themselves on the network to allow services to register them selves with the new or recovered lookup service • Non-responding lookup services are not automatically pruned from registering service’s list

  36. ANS summary • Provides name resolution of agent’s friendly advertised name to a location (host & port) • Augments DNS service • May be replaced by newer DNS services • Like JINI, SLP, and SSDP, ANS implements discovery search for ANS servers (as DA’s) and uses unicast for the back channel • Uses TCP sockets for client lookup queries • Uses TCP sockets for agent registration

  37. Providers and Requesters • Agents can be categorized as either providers of services or requesters • These roles are not exclusive • Providers and requesters want to find each other based on functionality/capability • This is done through advertisement and request via middle agents

  38. Issues with Locating Agents (1) • Evaluation criteria • performance • robustness • scalability • load balancing • privacy • Where the matching is done • At the requester (preserving the privacy of requesters) • middle agents • service providers

  39. Transaction Phase • Providers and requesters interact with each other directly • a negotiation phase to find out service parameters and preferences (if not taken into account in the locating phase) • delegation of service • Providers and requesters interact through middle agents • middle agent finds provider and delegates • hybrid protocols • Reasons for interacting through middle agents • privacy issues (anonymization of requesters and providers) • trust issues (enforcement of honesty; not necessarily keep anonymity of principals); e.g. NetBill

  40. Protocols • Who to talk to: principals involved • Message content: • ex: a LARKS specification • Local processing: • ex: implied by KQML performatives (service-request, request-for-service-providers)

  41. Matching Engine for Service Providers & Requesters sorted list of agent contact info unsorted list of agent contact info decision algorithm matching capabilities with requests (LARKS) matching capabilities with requests (LARKS) service request + parameters service request capability parameters capability parameters

  42. Broadcaster Request for service Requester Broadcaster Broadcast service request Offer of service Delegation of service Results of service request Provider 1 Provider n

  43. Yellow Page Request for service Requester Yellow Page Unsorted list of contact info of (P1,P2, …, Pk) Advertisement of capabilities Delegation of service Results of service request Provider 1 Provider n

  44. Matchmaking Request for service Requester Matchmaker Unsorted full description of (P1,P2, …, Pk) Advertisement of capabilities +para. Delegation of service Results of service request Provider 1 Provider n

  45. Classified Ads Requester 1 Request for service+pref. Classified Ads Request for service+pref. Advertisement of capabilities (R1,R2, …, Rk) contact info. Requester n Offer of service Provider selects requester Delegation of service Provider 1 Service results

  46. Recommender Request for service+pref. Requester Recommender Sorted full description of (P1,P2, …, Pk) Advertisement of capabilities +para. Delegation of service Results of service request Provider 1 Provider n

  47. FacilitatorCombines Agent Location and Transaction Phases Request for service+pref. Requester Facilitator Results of service Advertisement of capabilities + para. Service result Delegation of service Provider 1 Provider n

  48. The Contract Net Protocol • An agent coordination and distributed task allocation mechanism, where: • multiple heterogeneous agents can perform tasks • agents can play two roles: managers, contractees • managers receive tasks, select prospective contractees and ask for bids • best bid wins task, performs it, manager monitors • Pros and cons: • simple to implement, base for many other protocols • fully distributed • performance quality not checked • easy to manipulate (free riders), may cause loops

  49. Contract Net Request for service + preferences Requester Manager Results of service Delegation of service Broadcast service request + pref Broadcast Results of Service Offer of service Broadcast Offer of service Provider 1 Provider 2 Provider n

More Related