Vector Clock
Vektoruhren verwenden einen N-dimensionalen Vektor zur Kausalitätsverfolgung und bestimmen, ob Ereignisse nebenläufig oder kausal geordnet sind; eingesetzt zur verteilten Versionsverfolgung.
Zweck
Die Ereigniskausalität in verteilten Systemen ohne zentrale Uhr bestimmen und so kausale Konsistenz ermöglichen.
Mechanismus
Jeder Knoten hält einen Vektor VC[i]. Bei einem lokalen Ereignis wird VC[self]++ ausgeführt. Nachrichten tragen den VC des Senders; der Empfänger bildet das Maximum je Dimension. Gilt VC[a] < VC[b], geht a kausal voran; sind sie unvergleichbar, sind sie nebenläufig.
Anwendungsfälle
- Kausale Konsistenz
- Erkennung von Versionskonflikten
- Ordnung verteilter Ereignisse