Musi być w sieci jeden serwer, nazwijmy go rootem (lub rootami jeżeli jest ich kilka), do którego będą zgłaszały się wszystkie pozostałe serwery w momencie uruchomienia. Jeżeli klient będzie chciał użyć wyszukiwarki serwerów to zwróci się z zapytaniem do roota, a ten odpowie listą podłączonych i aktywnych serwerów. Oczywiście serwery muszą okresowo raportować rootowi swój stan żeby ten ni rozgłaszał do klientów niedziałających już maszyn.
PS: To wszystko bardzo ładnie da się napisać i zasymulować w domowych warunkach. Będzie potrzeba tylko trochę wirtualnych maszyn do testowania. VBox Twoim pomocnikiem :) ...i przygotuj się na równolegle otwarte trzy albo cztery "wiżułale" razem z tymi wirtualami :) ...SSD Twoim pomocnikiem :)