Patent ID: 7814064
Filing Date: 2010-10-12
Classification: G06F,H04L

Abstract:
1. A computer-implemented method for ensuring data synchronization by reaching a consensus on the data stored in a subset of a plurality of storage devices in a distributed system, the computer implemented method comprising: relocating consensus data from a first storage device from the subset of the plurality of storage devices to a second storage device not from the subset of the plurality of storage devices upon unavailability of the first storage device, wherein the consensus data on the second storage device is associated with a plurality of status parameters, the plurality of status parameters comprising a list parameter for listing members of the subset, an incarnation parameter for specifying a version of the subset and a proxy parameter for identifying whether the second storage device is a proxy of the first storage device; updating a second status parameter associated with other consensus data of at least one other storage device from the subset of the plurality of storage devices, wherein the second status parameter indicates an addition of the second storage device to the subset of the plurality of storage devices and an exclusion of the first storage device from the subset of the plurality of storage devices such that the subset after the act of updating comprises the second storage device, wherein the act of updating the plurality of status parameters comprises using a processor; determining the consensus based at least in part upon the consensus data from the second storage device from the subset of the plurality of storage devices with the other consensus data of the subset, wherein the second storage device comprises the consensus data that was relocated from the first storage device and the second storage device was added to the subset upon the unavailability of the first storage device; and storing the consensus data in a volatile or non-volatile computer readable medium or displaying the consensus data on a display device.