A system and methods for service discovery and publication are disclosed.
Application programs write requests for service discovery, publication,
and subscription to a service discovery application programming
interface. The service discovery application programming interface
invokes one or more lower-level protocols to satisfy the discovery,
publication and/or subscription request. Service information retrieved
from lower-layer protocols is formatted into a consistent data model and
returned to the client application. In addition, service information may
be stored in a persistent data store managed by a discovery persistence
service communicatively connected to the service discovery API.