Patent ID: 8645324

Claim:
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.