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.