Discovery is a
mechanism by which agents and infrastructural services can
find each other in ad-hoc networks. Discovery enables agents/services/servers
to auto-configure with reference to each other, thus facilitating
interactions. With Discovery, agent systems no longer require
the tedious manual configuration of system locations, host
names, and port numbers, before being able to operate.
Agents and infrastructural
services that use Discovery can implement advanced behaviors
to respond to their changing environments. Servers can locate
each other, share information and coordinate their operations.
Client agents can learn of new servers/services as they become
operational, and automatically re-register/re-advertise with
the new system components, to ensure registration availability
and increased system fault tolerance. Agents can also be programed
to survive initialization within incomplete environments,
and to finish initialization once all needed peer systems
are available, online, and active. This Discovery feature
reduces the problems associated with previous implementations
that relied on strict, order-specific startup sequences.
Our current implementation
of Discovery is based on the Simple Service Discovery Protocol
(SSDP) that is part of the Universal
Plug-n-Play (UPnP) specification.
Discovery in ANS
Discovery has been
integrated into the RETSINA Agent Name
Service (ANS) to help agents locate ANS servers. On startup,
both the ANS client and server load a list of ANS servers
from a file. They use the entries in this memory-cached-list
to connect to and conduct conversations with ANS servers.
Before implementation of Discovery, the list was static. Discovery
causes the list to be dynamically expanded and contracted
as ANS servers come and go from the network. Agents are now
registered on multiple servers, and servers share registration
and unregistration information about agents.
M. Paolucci, A. Ankolekar and N. Srinivasan, "Automated
Discovery, Interaction and Composition of Semantic Web services,"
Journal of Web Semantics, Volume 1, Issue 1, September
2003, pp. 27-46.
K. Sycara, T. Nishimura, and N. Srinivasan, "Using
DAML-S for P2P Discovery," in Proceedings of the
First International Conference on Web Services (ICWS'03),
Las Vegas, Nevada, USA, June 2003, pp 203- 207 .
Langley, M. Paolucci, and K. Sycara, "Discovery of Infrastructure in Multi-Agent
Systems." In Agents 2001 Workshop on Infrastructure for
Agents, MAS, and Scalable MAS.
Institute Project Page