An ad-hoc discovery protocol improves reliability, security and
scalability of multicast and server-based discovery. In switching from
multicast to server-based discovery, the discovery client is made
responsible for multicast suppression, and not discoverable devices with
services. Messages include message identifier and time-to-live parameters
to detect recast queries and avoid duplicating replies. A device's
announcement message includes endpoint identifier, configuration number
and stateless boot time parameters to detect changed device configuration
and rebooted state for refreshing cached device and service descriptions.
Paging parameters allow a discovery client to control the number of
discovery responses returned at a time from a discovery server.