Muss diese Funktion in eine existierende Anwendung implementiert werden? Ansonsten gibt es ja schon diverse Programme die z. B. Dateien synchronisieren oder auch ganze Ordner.
Mal unabhängig von der Sprache: Wie sind die Rechner im Internet erreichbar? Haben die feste IPs oder würdest Du so etwas wie dyndns nutzen? Wenn Du auf einem Server im Internet einen Webservice einrichten kannst, dann musst Du die einzelnen Rechner nicht kennen. Jeder Rechner (Client) könnte sich dann mit dem "Server" abgleichen.
Kannst Du nicht mehr "Hintergrundinformationen" angeben?
Und wenn Du Daten über das Internet austauschen möchtest, gehe immer davon aus, dass die Daten, die Du erhälst manipuliert sein könnten.