The protocols that I could find that were relevant to your intended application are as follows:
The XRDS documentation is stupid, but you can specify XML service descriptions. The specification of the type of service may be general, but I get a headache from trying to decipher the work of the committee.
The XMPP Service Discovery protocol (part of the protocol formerly known as Jabber) also looked promising, but it seems that even if you can push your description of the service, they expect it to become one of the services mentioned in this list . Expanding it will make it non-standard.
Finally, I found something called seap (SErvice announcement protocol) . It is old, it is shaky, the source can be decent, it is written in C and Perl, it is kludge, but it seems that it does what you want, kind of.
Pressing the service pulse seems to be such an application specific and trivial problem that almost no one has considered a solution to the general case.
My advice? Read the protocols and sources mentioned above for inspiration (I'll start with seap), and then write, implement and publish a common (probably xml-based) protocol yourself. All existing ones, apparently, are either application specific, incomprehensible, or bedbugs.
source share