Data replication method
First Claim
Patent Images
1. A method of replicating a data region of a distributed data storage system, wherein the distributed data storage system comprises a plurality of computing nodes, each computing node capable of storing data regions and supporting processes that access data regions, the method comprising:
- transmitting a message indicating an intention to replicate a data region managed by a first process of a first computing node for a second process, wherein the message is transmitted to a plurality of processes that currently access, through at least one communication channel, the data region and thereby cause each of the processes in the plurality of processes to transmit subsequent update operations made by the process to the data region to the second process;
monitoring a status of each of the communication channels to determine whether a number of in-flight update operations transmitted to the data region are received and applied to the data region, wherein in-flight update operations are transmitted prior to the transmission of the message, but not applied by the data region prior to the transmission of the message; and
replicating the data region upon confirmation that the number of in-flight update operations has been received by and applied to the data region to create a replica of the data region for the second process, wherein the subsequent update operations are applied to the replica of the data region by the second process and the in-flight update operations are not applied to the replica of the data region by the second process.
3 Assignments
0 Petitions
Accused Products
Abstract
To ensure data consistency for a new data replica created for a computing system, the transmission and receipt of messages altering the data are monitored and replication of the data is permitted when all changes to the data that have been transmitted to the data have been received.
33 Citations
20 Claims
-
1. A method of replicating a data region of a distributed data storage system, wherein the distributed data storage system comprises a plurality of computing nodes, each computing node capable of storing data regions and supporting processes that access data regions, the method comprising:
-
transmitting a message indicating an intention to replicate a data region managed by a first process of a first computing node for a second process, wherein the message is transmitted to a plurality of processes that currently access, through at least one communication channel, the data region and thereby cause each of the processes in the plurality of processes to transmit subsequent update operations made by the process to the data region to the second process; monitoring a status of each of the communication channels to determine whether a number of in-flight update operations transmitted to the data region are received and applied to the data region, wherein in-flight update operations are transmitted prior to the transmission of the message, but not applied by the data region prior to the transmission of the message; and replicating the data region upon confirmation that the number of in-flight update operations has been received by and applied to the data region to create a replica of the data region for the second process, wherein the subsequent update operations are applied to the replica of the data region by the second process and the in-flight update operations are not applied to the replica of the data region by the second process. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium comprising instructions that when executed on a plurality of computing nodes of a distributed data storage system, each computing node capable of storing data regions and supporting processes that access data regions, cause the distributed data storage system to replicate a data region by performing the steps of:
-
transmitting a message indicating an intention to replicate a data region managed by a first process of a first computing node for a second process, wherein the message is transmitted to a plurality of processes that currently access, through at least one communication channel, the data region and thereby cause each of the processes in the plurality of processes to transmit subsequent update operations made by the process to the data region to the second process; monitoring a status of each of the communication channels to determine whether a number of in-flight update operations transmitted to the data region are received and applied to the data region, wherein in-flight update operations are transmitted prior to the transmission of the message but not applied by the data region prior to the transmission of the message; and replicating the data region upon confirmation that the number of in-flight update operations has been received by and applied to the data region to create a replica of the data region for the second process, wherein the subsequent update operations are applied to the replica of the data region by the second process and the in-flight update operations are not applied to the replica of the data region by the second process. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A distributed data storage system comprising a plurality of computing nodes, wherein each computing node is capable of storing data regions and supporting processes that access data regions and wherein the plurality of computing nodes are configured to perform the steps of:
-
transmitting a message indicating an intention to replicate a data region managed by a first process of a first computing node for a second process, wherein the message is transmitted to a plurality of processes that currently access, through at least one communication channel, the data region and thereby cause each of the processes in the plurality of processes to transmit subsequent update operations made by the process to the data region to the second process; monitoring a status of each of the communication channels to determine whether a number of in-flight update operations transmitted to the data region are received and applied to the data region, wherein in-flight update operations are transmitted prior to the transmission of the message but not applied by the data region prior to the transmission of the message; and replicating the data region upon confirmation that the number of in-flight update operations has been received by and applied to the data region to create a replica of the data region for the second process, wherein the subsequent update operations are applied to the replica of the data region by the second process and the in-flight update operations are not applied to the replica of the data region by the second process. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification