Download presentation
Presentation is loading. Please wait.
Published byBasil Harper Modified over 9 years ago
2
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
3
Agent Name Service v.2 (ANS) The ANS is a name registration and lookup service to facilitate communication among agent applications. Agent 1 Agent 2
4
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
5
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
6
ANS acts as an extension to DNS Agent ANS Infrastructure DNS Infrastructure Name lookup Partial resolution but with extra info: Location = protocol://hostname:port-number hostname lookup IP Address
7
Agent Communications Agent 1 I want to talk on the network to other agents Agent 1 Now, I need to find other agents, and let them find me Agent 1
8
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
9
ANS Client Initialization initialize internal list of ANS servers Agent 1 ANS Server “banana” File with list of servers apple lemon apple lemon ANS Server “pear” ANS Server “apple” 1
10
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)
11
ANS Client Initialization search via SSDP discovery process Agent 1 ANS Server “banana” apple lemon ANS Server “pear” ANS Server “apple” 2
12
ANS Client Initialization active servers reply that they are available Agent 1 ANS Server “banana” apple lemon pear ANS Server “pear” ANS Server “apple” 3 I’m here
13
ANS Client Operation new servers announce that they are alive Agent 1 ANS Server “banana” apple lemon pear banana ANS Server “pear” ANS Server “apple” 4 Hey Everyone I just came online
14
ANS Client Operation entries are “pruned” if they are unreachable Agent 1 ANS Server “banana” ANS Server “pear” ANS Server “apple” 5 To: apple ? To: lemon To: pear To: banana
15
ANS Client Operation client can interact with one or all servers Agent 1 ANS Server “banana” ANS Server “pear” ANS Server “apple” 5 To: apple ? To: lemon To: pear To: banana
16
ANS Client/Server Operation Agent Registration with Server “Push” Agent 1 ANS Server “banana” ANS Server “pear” ANS Server “apple” To: apple Push to pear Push to banana
17
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
18
ANS Client/Server Operation Agent Lookup with Server Forwarding Agent 1 Lookup “Susan” ANS Server “apple” To: apple 1 Lookup in Local Cache 2 Check with Group Partners 3 Check Hierarchy Servers
19
Branching Nature of Extended ANS Lookup Agent Primary ANS Primary’s discovered partners Discovered partners of other servers in hierarchy Discovery Group-Partners provide scaling and fault tolerance Hierarchy Partners allow linking different organizational groups
20
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft
21
Linked ANS Organizations You Are Here Software Eng Robotics Computer Services English Art Nokia Microsoft Lookup “Bubba” Not found
22
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found Not found Not found
23
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found
24
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found Not found Not found
25
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found
26
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found Not found
27
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found
28
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found Not found Not found
29
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found
30
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft 1 2 3 4 5 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.
31
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found
32
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found Not found
33
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Not found
34
Linked ANS Organizations You Are Here CMU Agents Group Software Eng Robotics Computer Services English Art Nokia Microsoft Bubba Found!
35
Linked ANS Organizations CMU Agents Group Nokia Microsoft Bubba “Learned” (registered) Bubba “Learned” (registered) Bubba “Learned” (registered) Answer to Bubba Lookup “Learned” Bubba Found
36
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
37
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
38
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
39
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
40
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
41
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)
42
Matching Engine for Service Providers & Requesters matching capabilities with requests capability parametersservice request (LARKS) matching capabilities with requests capability parameters service request + parameters (LARKS) unsorted list of agent contact info decision algorithm sorted list of agent contact info
43
Broadcaster Requester Provider 1Provider n Request for service Broadcast service request Delegation of service Results of service request Offer of service
44
Yellow Page Requester Provider 1Provider n Request for service Unsorted list of contact info of (P 1,P 2, …, P k ) Advertisement of capabilities Delegation of service Results of service request
45
Matchmaking MatchmakerRequester Provider 1Provider n Request for service Unsorted full description of (P 1,P 2, …, P k ) Advertisement of capabilities +para. Delegation of service Results of service request
46
Classified Ads Requester 1 Provider 1 Request for service+pref. (R 1,R 2, …, R k ) contact info. Advertisement of capabilities Offer of service Service results Requester n Request for service+pref. Delegation of service Provider selects requester
47
Recommender Requester Provider 1Provider n Request for service+pref. Sorted full description of (P 1,P 2, …, P k ) Advertisement of capabilities +para. Delegation of service Results of service request
48
Facilitator Combines Agent Location and Transaction Phases FacilitatorRequester Provider 1Provider n Request for service+pref. Advertisement of capabilities + para. Results of service Service result Delegation of service
49
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
50
Contract Net ManagerRequester Provider 2Provider n Request for service + preferences Broadcast service request + pref Delegation of service Results of service Offer of service Provider 1 Broadcast Offer of service Results of Service
51
Conclusions Flexible services for locating agents are crucial for agile e-commerce Emerging competing standards No thought or standards at the knowledge level yet
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.