Patent ID: 7636868

Claim:
A system for replicating data in a distributed system, the system comprising: a plurality of devices comprising: a primary device for storing a replica of the data; and at least one secondary device, wherein: each one of the at least one secondary device is for storing a respective replica of the data; and absent a detection of a failure in one of the primary device and a secondary device, read operations and write operations are performed without consulting a global state management service; and the global state management service for: designating one of the plurality of devices in the distributed system as the primary device; designating from the plurality of devices the at least one secondary device; if a failure is detected in a secondary device, granting permission to the primary device to perform at least one of a write operation and a read operation; and if a failure is detected in the primary device, reallocating one of the at least one secondary device as a primary device.