In implementing a reliable distributed shared memory, a weak consistency
model is modified to ensure that all vital data structures are properly
replicated at all times. Write notices and their corresponding diffs are
stored on a parameterizable number of nodes. Whenever a node (say the
primary node) releases a lock, it sends its current vector timestamp,
write notices generated during the time the lock was held and their
corresponding diffs to a secondary node. The secondary nodes keeps this
information separate from its own private data structures. If a node fails
(detected by all nodes simultaneously through a group membership protocol)
while holding a lock, then all nodes complete a lock release method, and
enter a recovery operation. During this recovery operation, all nodes
exchange all write notices and corresponding diffs, including backup write
notices and diffs held by nodes on behalf of the failed node. After all
information has been exchanged, diffs are applied and all nodes may start
fresh.
Wenn man ein zuverlässiges verteiltes geteiltes Gedächtnis einführt, wird ein schwaches Übereinstimmung Modell geändert, um sicherzugehen, daß alle lebenswichtigen Datenstrukturen richtig ständig wiederholt werden. Schreiben Sie Nachrichten und ihre entsprechenden diffs werden auf einer parameterizable Anzahl von Nullpunkten gespeichert. Wann immer ein Nullpunkt (sagen Sie den Primärnullpunkt), eine Verriegelung freigibt, sendet er seinen gegenwärtigen vektorzeitstempel, schreibt die Nachrichten, die während der Zeit erzeugt werden, welche die Verriegelung und ihre entsprechenden diffs zu einem Sekundärnullpunkt gehalten wurde. Die Sekundärnullpunkte führt diese Informationen getrennt von seinen eigenen privaten Datenstrukturen. Wenn ein Nullpunkt (gleichzeitig ermittelt durch alle Nullpunkte durch ein Gruppe Mitgliedschaft Protokoll) beim Halten einer Verriegelung, dann ausfällt, aller Nullpunkte eine Verriegelung Freigabemethode durchführen und einen Wiederaufnahme Betrieb eintragen. Während dieses Wiederaufnahme Betriebes tauschen alle Nullpunkte alle schreiben Nachrichten aus und entsprechende diffs, einschließlich Unterstützung schreiben die Nachrichten und diffs, die durch Nullpunkte im Namen des verlassenen Nullpunktes gehalten werden. Nachdem alle Informationen ausgetauscht worden sind, werden diffs angewendet und alle Nullpunkte können frisches beginnen.