Протоколы, которые я мог найти, которые имели какое-либо отношение к вашему намеченному приложению, следующие:
Документация XRDS является тупой, но вы можете выдвигать описания служб в формате XML. Спецификация типа сервиса может быть общей, но у меня болит голова от попыток расшифровать выступление комитета.
Протокол XMPP Service Discovery (часть протокола, ранее известного как Jabber) также выглядел многообещающе, но кажется, что даже если вы могли бы выдвинуть описание службы, они ожидают, что она будет одной из служб упомянутый в этом списке . Расширение его сделало бы его нестандартным.
Наконец-то я нашел то, что называется seap (протокол объявления SErvice) . Он старый, хрупкий, источник может быть приличным, он написан на C и Perl, это кладж, но, похоже, он делает то, что вы хотите, вроде как.
Кажется, что подача импульса сервисного объявления является настолько специфической и тривиальной проблемой для конкретного приложения, что почти никто не рассматривал решение общего случая.
Мой совет? Для вдохновения прочитайте упомянутые выше протоколы и источники (я бы начал с seap), а затем напишите, внедрите и опубликуйте общий (возможно, основанный на xml) протокол самостоятельно. Похоже, что все существующие либо специфичны для приложения, либо непостижимы, либо являются клуджем.