A distributed data storage system is provided with a mechanism for
determining data storage resource availability during data system
failures. When a partition occurs, a coordinator requests all reachable
replicas to begin a new epoch and each replica responds with its most
recent epoch number and the list of replicas that it believes were active
in that epoch. From the responses, the coordinator finds the maximum epoch
number and the list of replicas in that epoch is taken as the list from
which a quorum must be drawn. The coordinator establishes a quorum when,
for each byte in the virtual store, the coordinator receives responses
from more than half of the replicas for that byte. The coordinator then
determines resource availability and sends out a message to all the
reachable replicas with a new epoch number greater than the previous epoch
number and the list of replicas active in this new epoch. The replicas
receive this message, record the epoch number and the list of replicas,
and proceed.
Een verdeeld systeem van de gegevensopslag wordt voorzien van een mechanisme om het middelbeschikbaarheid van de gegevensopslag tijdens de mislukkingen van het gegevenssysteem te bepalen. Wanneer een verdeling voorkomt, verzoekt een coördinator alle bereikbare replica's om met een nieuw tijdvak te beginnen en elke replica antwoordt met zijn meest recente tijdvakaantal en de lijst van replica's die het gelooft was actief in dat tijdvak. Van de reacties, vindt de coördinator het maximumtijdvakaantal en de lijst van replica's in zoverre dat het tijdvak als de lijst wordt genomen waarvan een quorum moet worden getrokken. De coördinator vestigt een quorum wanneer, voor elke byte in de virtuele opslag, de coördinator reacties van meer dan de helft replica's voor die byte ontvangt. De coördinator bepaalt dan middelbeschikbaarheid en stuurt een bericht aan alle bereikbare replica's met een nieuw tijdvakaantal groter dan het vorige tijdvakaantal en de lijst van replica's actief in dit nieuwe tijdvak. De replica's ontvangen dit bericht, registreren het tijdvakaantal en de lijst van replica's, en gaan te werk.