Data replication in a distributed system
First Claim
1. 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; and
if a failure is detected in the primary device, reallocating one of the at least one secondary device as a primary device.
2 Assignments
0 Petitions
Accused Products
Abstract
A global state management service manages replication in a distributed system. A distributed system can have several replica groups. The global state management service manages state associated with each replica group. Data replication is implemented without implementing an instance of a state machine on each device in a replica group. A replica group comprises a primary device and at least one secondary device. Each device in a replica group contains a replica of data of interest. The global state management service manages the allocation of primary and secondary devices. In the absence of a failure in either a primary device or a secondary device, read and write operations are performed without consulting the global state management service. When a failure is detected, the global state management service manages failover.
-
Citations
20 Claims
-
1. 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; and if a failure is detected in the primary device, reallocating one of the at least one secondary device as a primary device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for replicating data in a distributed system comprising a global state management service, a primary device, and at least one secondary device, the method comprising:
-
if no indication has been received that one of the primary device and a secondary device has failed, managing, by the primary device, read and write operations between the primary device and the at least one secondary device, wherein; a write operation is performed in a single round of message exchange comprising; providing, by the primary device, a write request to at least one live secondary device, wherein a live secondary device is a secondary device in which a failure has not been detected; and receiving, by the primary device, a reply from each live secondary device; and if an indication has been received that one of a primary device and a secondary device has failed, managing by the global state management service one of recovery and reallocation of the failed device. - View Dependent Claims (12)
-
-
13. A method for replicating data in a distributed system comprising a global state management service, a primary device, and at least one secondary device, the method comprising:
-
maintaining, by at least one of the global state management service and the primary device, a state of the primary device and the at least one secondary device; managing, by at least one of the global state management service and the primary device, a transition between states of the primary device and the at least one secondary device; and updating, by at least one of the global state management service and the primary device, a state of the primary device and the at least one secondary device, wherein absent a detection of a failure in one of the primary device and a secondary device, update operations are performed without interacting with the global state management service. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification