Preventing pauses in algorithms requiring pre-image information concerning modifications during data replication
First Claim
1. A method performed by a distributed computing system executing a plurality of processes, the processes including (i) a first process that executes on a first node and maintains a data region and (ii) a second process that executes on a second node and is associated with the data region, the method comprising:
- receiving, by the first process, a state marker message representing an intent to create a replica of the data region;
providing, by the first process, one or more post-image changes to first data of the data region, the one or more post-image changes being made after the state marker message was received;
receiving, by the second node, one or more post-image changes to first data of the data region made after the state marker message was received;
continuing, by the second node, the second process using the one or more post-image changes to the first data region before the data region has been fully replicated;
waiting to initiate replication of the data region until the data region maintained by the first process has stabilized;
determining that the data of the data region maintained by the first process has stabilized;
in response to determining that the data of the data region has stabilized, starting replication of the data region maintained by the first process to generate a replica of the data region maintained by the second process; and
updating the replica of the data region maintained by the second process with the one or more post-image changes to the first data of the data region.
4 Assignments
0 Petitions
Accused Products
Abstract
Data accessible to a first process is replicated for use by a second process. Modifications to the data during the replication process may cause algorithms requiring the values of data both before and after replication to pause. Sending the values of the datum, before and after modification, to a process that will access the replicated data enables algorithms that use both values to initiate execution without waiting for the replication process to be completed.
67 Citations
20 Claims
-
1. A method performed by a distributed computing system executing a plurality of processes, the processes including (i) a first process that executes on a first node and maintains a data region and (ii) a second process that executes on a second node and is associated with the data region, the method comprising:
-
receiving, by the first process, a state marker message representing an intent to create a replica of the data region; providing, by the first process, one or more post-image changes to first data of the data region, the one or more post-image changes being made after the state marker message was received; receiving, by the second node, one or more post-image changes to first data of the data region made after the state marker message was received; continuing, by the second node, the second process using the one or more post-image changes to the first data region before the data region has been fully replicated; waiting to initiate replication of the data region until the data region maintained by the first process has stabilized; determining that the data of the data region maintained by the first process has stabilized; in response to determining that the data of the data region has stabilized, starting replication of the data region maintained by the first process to generate a replica of the data region maintained by the second process; and updating the replica of the data region maintained by the second process with the one or more post-image changes to the first data of the data region. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising a plurality of computers, the system executing, on the plurality of computers, a plurality of processes, the processes including (i) a first process that executes on a first node and maintains a data region and (ii) a second process that executes on a second node and is associated with the data region, the system further comprising one or more non-transitory storage devices storing instructions that are operable, when executed by the system, to cause the system to perform operations comprising:
-
receiving, by the first process, a state marker message representing an intent to create a replica of the data region; providing, by the first process, one or more post-image changes to first data of the data region, the one or more post-image changes being made after the state marker message was received; receiving, by the second node, one or more post-image changes to first data of the data region made after the state marker message was received; continuing, by the second node, the second process using the one or more post-image changes to the first data region before the data region has been fully replicated; waiting to initiate replication of the data region until the data region maintained by the first process has stabilized; determining that the data of the data region maintained by the first process has stabilized; in response to determining that the data of the data region has stabilized, starting replication of the data region maintained by the first process to generate a replica of the data region maintained by the second process; and updating the replica of the data region maintained by the second process with the one or more post-image changes to the first data of the data region. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. One or more computer-readable non-transitory storage media encoded with instructions that, when executed by a system executing a plurality of processes, the processes including (i) a first process that executes on a first node and maintains a data region and (ii) a second process that executes on a second node and is associated with the data region, cause the system to perform operations comprising:
-
receiving, by the first process, a state marker message representing an intent to create a replica of the data region; providing, by the first process, one or more post-image changes to first data of the data region, the one or more post-image changes being made after the state marker message was received; receiving, by the second node, one or more post-image changes to first data of the data region made after the state marker message was received; continuing, by the second node, the second process using the one or more post-image changes to the first data region before the data region has been fully replicated; waiting to initiate replication of the data region until the data region maintained by the first process has stabilized; determining that the data of the data region maintained by the first process has stabilized; in response to determining that the data of the data region has stabilized, starting replication of the data region maintained by the first process to generate a replica of the data region maintained by the second process; and updating the replica of the data region maintained by the second process with the one or more post-image changes to the first data of the data region. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification