Hallo Leute,
ich grübel derzeit über ein Konzept um Daten zwischen verschiedenen Mesh Nodes (Wifi Tablets) innerhalb eines Wifi Meshs zu synchronisieren. Die Geräte sind dabei so verbunden, dass sie bereits auf Netzwerkebene über das Meshnetzwerk mit allen Knoten (also nicht nur den direkten Nachbarn) kommunizieren können.
In meiner Anwendung machen sich dann alle Peers über Broadcasts miteinander bekannt. Dies ist kein weiteres Problem. Meine Anwendung soll nun aber einen Datenspeicher enthalten, der über alle Nodes synchronisiert wird. D.h. kommt ein neuer Node dazu erhält er direkt die aktuellen Daten. Verschwindet ein Node und macht Änderungen müssen diese beim Wiedereintritt in das Mesh mit allen anderen abgeglichen werden. Dies ist jetzt leider nicht mehr so trivial und ich bin an der Überlegung wie der Nachrichtenfluss aussehen könnte.
Die Datenstruktur soll eine UniqueID (GUID) sowie ein Objekt enthalten (Hashtable). Der Inhalt des Objekts ist immer das, was zuletzt geschrieben wurde. (Also hier dann zusätzlich noch den Timestamp der letzten Änderung) Gelöschte Objekte müssen natürlich auch auf allen Nodes gelöscht werden.
Ich habe mir jetzt einige Dinge angeschaut und überlegt weiß aber bei manchen Themen nicht weiter:
Habt ihr schonmal versucht so etwas zu Implementieren?
Welchen Ansatz würdet ihr weiterverfolgen?
Viele Grüße
MeisterM
Ich weiß nicht ob dir das so passt aber wir hatten mal eine Lösung für eine Art Dezentralen Messanger :
Wir wollten einen Messanger ohne Zentralen Server. Der erste Client der sich einloggt ist dann der Masterserver. Sobald neue Clients dazukommen, fragen diese nach dem Master und kriegen von da die Daten. Sobald der Master Offline geht wandert der Mastertoken weiter.
Wie gesagt, dass ist seeeehr Grob umrissen wie das System funktioniert, bei weiteren Fragen und wenn das irgendwie zu dir passt, melde dich einfach.
Grüße