Patent ID: 7631016

Claim:
A method of managing replicas of a data item, the method comprising the computer-implemented steps of: responding to a request to update the data item by initiating an update operation to replicas of the data item; determining whether at least a first predetermined percentage of members of a most-recently-established membership group were updated in the update operation, wherein the most-recently-established membership group includes those replicas that were updated in a most recent prior update to the data item; and in response to determining that (a) at least the first predetermined percentage of the members of the most-recently-established membership group were updated in the update operation, and (b) all members of the most-recently-established membership group were not updated in the update operation, establishing the replicas of the data item that were updated in the update operation as a new membership group that replaces the most-recently-established membership group; and responding to a request to read the data item by initiating a read operation on replicas of the data item; determining a second predetermined percentage based on determining a difference between one hundred percent and the first predetermined percentage of the most-recently-established membership group; determining whether more than the second predetermined percentage of the members of the most-recently-established membership group were read in the read operation; if more than the second predetermined percentage of the members of the most-recently-established membership group (a) were read in the read operation and (b) contained a most recent version associated with the data item, then determining a current version of the data item based on the members of the most-recently-established membership group that were read in the read operation; and wherein the method is performed by one or more computing devices.