Title: Agent Name Service v.2 (ANS)
1(No Transcript)
2Agents 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
3Agent Name Service v.2 (ANS)
The ANS is a name registration and lookup service
to facilitate communication among agent
applications.
Agent 2
Agent 1
4DNS
- 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
5ANS 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
6ANS acts as an extension to DNS
Agent
Name lookup
ANS Infrastructure
Partial resolution but with extra info Location
protocol//hostnameport-number
hostname lookup
DNS Infrastructure
IP Address
7Agent 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
8Recent 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
9ANS Client Initializationinitialize internal
list of ANS servers
ANS Server apple
Agent 1
ANS Server pear
Communicator
ANS Client
ANS Server banana
1
File with list of servers
10Dynamic 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)
11ANS 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
12ANS Client Initializationactive servers reply
that they are available
ANS Server apple
Im here
Agent 1
ANS Server pear
3
Communicator
ANS Client
Im here
ANS Server banana
13ANS Client Operationnew servers announce that
they are alive
ANS Server apple
Agent 1
ANS Server pear
4
Communicator
ANS Client
ANS Server banana
Hey Everyone I just came online
14ANS 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
To banana
15ANS 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
To banana
16ANS 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
17Server 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
18ANS 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
19Branching Nature of Extended ANS Lookup
Agent
- Discovery Group-Partners provide scaling and
fault tolerance - Hierarchy Partners allow linking different
organizational groups
Primary ANS
Primarys discovered partners
Discovered partners of other servers in hierarchy
20Linked ANS Organizations
Art
Robotics
Software Eng
English
CMU Agents Group
Computer Services
Nokia
Microsoft
You Are Here
21Linked ANS Organizations
Art
Robotics
Software Eng
English
Not found
Lookup Bubba
Computer Services
Nokia
Microsoft
You Are Here
22Linked ANS Organizations
Art
Robotics
Software Eng
English
CMU Agents Group
Not found
Computer Services
Nokia
Not found
Not found
Microsoft
You Are Here
23Linked ANS Organizations
Art
Robotics
Software Eng
English
Not found
CMU Agents Group
Computer Services
Nokia
Microsoft
You Are Here
24Linked ANS Organizations
Art
Robotics
Software Eng
English
Not found
CMU Agents Group
Not found
Not found
Computer Services
Nokia
Microsoft
You Are Here
25Linked ANS Organizations
Art
Not found
Robotics
Software Eng
English
CMU Agents Group
Computer Services
Nokia
Microsoft
You Are Here
26Linked ANS Organizations
Art
Robotics
Software Eng
English
CMU Agents Group
Not found
Not found
Computer Services
Nokia
Microsoft
You Are Here
27Linked ANS Organizations
Art
Robotics
Software Eng
English
Not found
CMU Agents Group
Computer Services
Nokia
Microsoft
You Are Here
28Linked ANS Organizations
Art
Robotics
Software Eng
English
CMU Agents Group
Not found
Computer Services
Nokia
Not found
Not found
Microsoft
You Are Here
29Linked ANS Organizations
Not found
Art
Robotics
Software Eng
English
CMU Agents Group
Computer Services
Nokia
Microsoft
You Are Here
30Linked ANS Organizations
5
Art
Robotics
Software Eng
English
2
3
4
CMU Agents Group
1
Computer Services
Nokia
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
31Linked ANS Organizations
Art
Robotics
Software Eng
English
CMU Agents Group
Not found
Computer Services
Nokia
Microsoft
You Are Here
32Linked ANS Organizations
Art
Robotics
Software Eng
English
CMU Agents Group
Computer Services
Nokia
Microsoft
You Are Here
Not found
Not found
33Linked ANS Organizations
Art
Robotics
Software Eng
English
CMU Agents Group
Computer Services
Nokia
Microsoft
Not found
You Are Here
34Linked ANS Organizations
Art
Robotics
Software Eng
English
CMU Agents Group
Computer Services
Nokia
Microsoft
You Are Here
Bubba Found!
35Linked ANS Organizations
Bubba Learned (registered)
CMU Agents Group
Bubba Learned (registered)
Nokia
Bubba Learned (registered)
Microsoft
Bubba Found
Answer to Bubba Lookup Learned
36JINI
- 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 services
list
37ANS summary
- Provides name resolution of agents 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 DAs) and
uses unicast for the back channel - Uses TCP sockets for client lookup queries
- Uses TCP sockets for agent registration
38Providers 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
39Issues 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
40Transaction 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
41Protocols
- 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)
42Matching 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
capability parameters
service request
capability parameters
43Broadcaster
Request for service
Broadcaster
Requester
Broadcast service request
Offer of service
Delegation of service
Results of service request
Provider 1
Provider n
44Yellow Page
Request for service
Yellow Page
Requester
Unsorted list of contact info of (P1,P2, , Pk)
Advertisement of capabilities
Delegation of service
Results of service request
Provider 1
Provider n
45Matchmaking
Request for service
Matchmaker
Requester
Unsorted full description of (P1,P2, , Pk)
Advertisement of capabilities para.
Delegation of service
Results of service request
Provider 1
Provider n
46Classified Ads
Requester 1
Request for servicepref.
Classified Ads
Request for servicepref.
Advertisement of capabilities
(R1,R2, , Rk) contact info.
Requester n
Offer of service
Provider selects requester
Provider 1
Delegation of service
Service results
47Recommender
Request for servicepref.
Recommender
Requester
Sorted full description of (P1,P2, , Pk)
Advertisement of capabilities para.
Delegation of service
Results of service request
Provider 1
Provider n
48FacilitatorCombines Agent Location and
Transaction Phases
Request for servicepref.
Facilitator
Requester
Results of service
Advertisement of capabilities para.
Service result
Delegation of service
Provider 1
Provider n
49The 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
50Contract Net
Request for service preferences
Manager
Requester
Results of service
Delegation of service
Broadcast service request pref
Broadcast
Offer of service
Results of Service
Broadcast
Offer of service
Provider 2
Provider n
Provider 1
51Conclusions
- Flexible services for locating agents are crucial
for agile e-commerce - Emerging competing standards
- No thought or standards at the knowledge level yet