Preventing pauses in algorithms requiring pre-image information concerning modifications during data replication
First Claim
Patent Images
1. A method of replicating data, the method comprising:
- transmitting, to a set of processes, an intention to make a replication of a data region for a new process, wherein each of the set of processes utilizes its own replica of the data region to respond to data requests and the replication of the data region as a new replica would be used by the new process to respond to data requests;
after the transmission of the intention to make the replication of the data region and during a process of creating the replication of the data region by replicating the data region from at least one of the set of processes, upon receipt by one of the processes of the set of processes of a data request to modify a data portion of the data region, receiving, from the one of the processes of the set of processes receiving the data request and at the new process, a current value of the data portion of the data region and a modified value of the data portion of the data region corresponding to the received data request;
receiving, at the new process and prior to completing the replication of the data region for the new process, a request by an algorithm requiring the current value and the modified value before a completion of the replication of the data region for the new process;
providing the current value and modified value as input to the algorithm without requiring the completion of the replication of the data region for the new process, thereby enabling the algorithm to continue executing without pausing for the completion of the replication of the data region as the new replica; and
completing the replication of the data region for the new process after providing the current value and the modified value to the algorithm, wherein the replication of the data region includes the current value.
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.
-
Citations
17 Claims
-
1. A method of replicating data, the method comprising:
-
transmitting, to a set of processes, an intention to make a replication of a data region for a new process, wherein each of the set of processes utilizes its own replica of the data region to respond to data requests and the replication of the data region as a new replica would be used by the new process to respond to data requests; after the transmission of the intention to make the replication of the data region and during a process of creating the replication of the data region by replicating the data region from at least one of the set of processes, upon receipt by one of the processes of the set of processes of a data request to modify a data portion of the data region, receiving, from the one of the processes of the set of processes receiving the data request and at the new process, a current value of the data portion of the data region and a modified value of the data portion of the data region corresponding to the received data request; receiving, at the new process and prior to completing the replication of the data region for the new process, a request by an algorithm requiring the current value and the modified value before a completion of the replication of the data region for the new process; providing the current value and modified value as input to the algorithm without requiring the completion of the replication of the data region for the new process, thereby enabling the algorithm to continue executing without pausing for the completion of the replication of the data region as the new replica; and completing the replication of the data region for the new process after providing the current value and the modified value to the algorithm, wherein the replication of the data region includes the current value. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be configured to:
-
transmit, to a set of processes, an intention to make a replication of a data region for a new process, wherein each of the set of processes utilizes its own replica of the data region to respond to data requests and the replication of the data region as a new replica would be used by the new process to respond to data requests; after the transmission of the intention to make the replication of the data region and during a process of creating the replication of the data region by replicating the data region from at least one of the set of processes, upon receipt by one of the processes of the set of processes of a data request to modify a data portion of the data region, receive, from the one of the processes of the set of processes receiving the data request and at the new process, a current value of the data portion of the data region and a modified value of the data portion of the data region corresponding to the received data request; receive, at the new process and prior to completing the replication of the data region for the new process, a request by an algorithm requiring the current value and the modified value before a completion of the replication of the data region for the new process; provide the current value and modified value as input to the algorithm without requiring the completion of the replication of the data region for the new process, thereby enabling the algorithm to continue executing without pausing for the completion of the replication of the data region as the new replica; and complete the replication of the data region for the new process after providing the current value and the modified value to the algorithm, wherein the replication of the data region includes the current value. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions, that when executed by the one or more computer processors, control the one or more computer processors to be configured to; transmit, to a set of processes, an intention to make a replication of a data region for a new process, wherein each of the set of processes utilizes its own replica of the data region to respond to data requests and the replication of the data region as a new replica would be used by the new process to respond to data requests; after the transmission of the intention to make the replication of the data region and during a process of creating the replication of the data region by replicating the data region from at least one of the set of processes, upon receipt by one of the processes of the set of processes of a data request to modify a data portion of the data region, receive, from the one of the processes of the set of processes receiving the data request and at the new process, a current value of the data portion of the data region and a modified value of the data portion of the data region corresponding to the received data request; receive, at the new process and prior to completing the replication of the data region for the new process, a request by an algorithm requiring the current value and the modified value before a completion of the data region for the new process; provide the current value and modified value as input to the algorithm without requiring the completion of the replication of the data region for the new process, thereby enabling the algorithm to continue executing without pausing for the completion of the replication of the data region as of the new replica; and complete the replication of the data region for the new process after providing the current value and the modified value to the algorithm, wherein the replication of the data region includes the current value. - View Dependent Claims (14, 15, 16, 17)
-
Specification