P
US8930309B2ActiveUtilityPatentIndex 67

Interval-controlled replication

Assignee: DASH PRASANTA RPriority: Feb 29, 2012Filed: Feb 29, 2012Granted: Jan 6, 2015
Est. expiryFeb 29, 2032(~5.7 yrs left)· nominal 20-yr term from priority
Inventors:DASH PRASANTA R
G06F 11/3419G06F 11/3485G06F 11/2074G06F 3/067G06F 3/0619G06F 11/2076G06F 3/065G06F 16/2308G06F 17/30348
67
PatentIndex Score
4
Cited by
16
References
21
Claims

Abstract

Various systems and methods for interval-controlled replication are described. For example, one method involves a node receiving a first interval indication indicating start of a first interval. After receiving the first interval indication, an application on the node initiates a first write, which includes the node initiating a first local write and a first remote write. The first local write accesses a local storage. The first remote write accesses a remote storage and replicates the first local write. The node waits for acknowledgements indicating that the local and remote writes have finished, as well as for a second interval indication, before the first write from the application is treated being complete.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method, comprising:
 receiving, at a local node,
 a first write from an application, and 
 a first interval indication, wherein
 the first interval indication indicates a start of a first interval, and 
 the first interval indication is one of a plurality of interval indications; 
 
 
 first initiating, at the local node, a first local write, a first remote write, and a second remote write, wherein
 the first initiating is performed in response to receipt of the first interval indication,
 the first local write accesses a local storage of the local node, 
 the first local write is based on the first write, 
 the first remote write accesses a first remote storage, 
 the first remote write replicates the first local write, 
 the second remote write accesses a second remote storage, and 
 the second remote write replicates the first local write; 
 
 
 receiving, at the local node, a first remote write acknowledgement, wherein
 the first remote write acknowledgement indicates that the first remote storage completed the first remote write; 
 
 receiving, at the local node, a second remote write acknowledgement, wherein
 the second remote write acknowledgement indicates that the second remote storage completed the second remote write; 
 
 receiving a second interval indication of the plurality of interval indications; and 
 acknowledging a completion of the first remote write and a completion of the second remote write, wherein
 the acknowledging of each completion is communicated to the application, and 
 the acknowledging is performed in response to receipt of the first remote write acknowledgement, the second remote write acknowledgement, and the second interval indication. 
 
 
     
     
       2. The method of  claim 1 , wherein
 a plurality of nodes comprises a first node, and 
 the first node performs the acknowledging in response to determining that each of the plurality of nodes have received the second interval indication. 
 
     
     
       3. The method of  claim 2 , wherein
 determining that each of the plurality of nodes have received the second interval indication comprises
 receiving an acknowledgement that each of the plurality of nodes has received the second interval indication. 
 
 
     
     
       4. The method of  claim 1 , wherein
 the first remote write has a first associated time stamp, and 
 the first associated time stamp indicates the first interval. 
 
     
     
       5. The method of  claim 1 , further comprising:
 determining a new interval if the first local write and the first remote write have completed before receiving the second interval indication. 
 
     
     
       6. The method of  claim 1 , further comprising:
 sending a first interval acknowledgement, wherein 
 the first interval acknowledgement indicates receipt of the first interval indication. 
 
     
     
       7. The method of  claim 1 , wherein
 the first initiating is performed further in response to the receiving the first write, and 
 the first write accesses a first data; 
 and further comprising: 
 receiving a second write from the application, wherein
 the application is configured to issue the second write in response to the acknowledging, 
 the second write accesses a second data, and 
 the second data is dependent on the first data. 
 
 
     
     
       8. The method of  claim 1 , wherein
 the first remote write accesses a first data, 
 the second remote write accesses a second data, and 
 the second data is dependent on the first data. 
 
     
     
       9. The method of  claim 1 , further comprising:
 second initiating a third local write to the local storage and a third remote write to a third remote storage, wherein
 the third remote write replicates the third local write, 
 the second initiating is performed in response to receipt of the first interval indication, 
 
 the first remote write accesses a first data, 
 the third remote write accesses a second data, and 
 the second data is independent of the first data. 
 
     
     
       10. The method of  claim 1 , further comprising:
 determining if a first node has not responded to a first amount of the plurality of interval indications; 
 in response to a determination that the first node has not responded to the first amount of the plurality of interval indications, indicating in interval indications that the first node is unresponsive. 
 
     
     
       11. The method of  claim 10 , further comprising:
 determining if the first node responds to interval indications after a delay, and 
 in response to a determination that the first node responds to the interval indications, processing any remote writes performed by the first node during the delay. 
 
     
     
       12. The method of  claim 1 , further comprising:
 determining whether a first node is accessing certain data, wherein the certain data comprises a first data dependency characteristic; 
 in response to a determination that the first node is accessing the certain data, the first node performing batch processing of the certain data. 
 
     
     
       13. The method of  claim 1 , wherein
 in response to receiving the acknowledging of the completion, the application is configured to complete a first application write, wherein
 the first write is based on the first application write, and 
 the application is configured to complete the first application write during a second interval. 
 
 
     
     
       14. A system comprising:
 an application, wherein
 the application is configured to issue a first write, 
 
 a management module, wherein
 the management module is configured to
 receive, at a local node, a first interval indication, wherein
 the first interval indication indicates a start of a first interval, 
 initiate, at the local node, a first local write, a first remote write, and a second remote write, wherein 
 the first local write is based on the first write, 
 the management module performs the initiating in response to 
  the application issuing the first write, and 
  the management module receiving the first interval indication, 
 the first remote write accesses a first remote storage, and 
 the second remote write access a second remote storage, 
 
 receive, at the local node, a second interval indication, wherein
 the second interval indication indicates a start of a second interval, 
 
 receive, at the local node, a first remote write acknowledgement, wherein
 the first remote write acknowledgement indicates that the first remote storage completed the first remote write, 
 
 receive, at the local node, a second remote write acknowledgement, wherein
 the second remote write acknowledgement indicates 
 that the second remote storage complete the second remote write: 
 
 and 
 acknowledge that the first remote write and the second remote write are completed, wherein
 the management module performs the acknowledging of the first write and the acknowledging of the second write in response to 
  receiving the second interval indication, 
  receiving the first remote write acknowledgement, and 
  receiving the second remote write acknowledgement; and 
 the management module performs the acknowledging to the application. 
 
 
 
 
     
     
       15. The system of  claim 14 , wherein
 the application is configured to issue to a second write in response to receiving acknowledgement of the first write from the management module. 
 
     
     
       16. The system of  claim 14 , wherein
 a plurality of nodes comprises the system, 
 the management module performs the acknowledging of the first write in further response to
 determining that each of the plurality of nodes have received the second interval indication. 
 
 
     
     
       17. The system of  claim 14 , wherein
 the management module is further configured to send a first interval acknowledgement, wherein
 the first interval acknowledgement indicates that the management module received the first interval indication. 
 
 
     
     
       18. A computer program product comprising:
 a plurality of instructions, comprising
 a first set of instructions, executable on a computer system, configured to receive a first interval indication, wherein
 the first interval indication indicates a start of a first interval, 
 the first interval indication is one of a plurality of interval indications, 
 
 a second set of instructions, executable on the computer system, configured to initiate a first local write, a first remote write, and a second remote write, wherein
 the first local write is based on a first write, 
 the first write is received from an application, 
 the initiating is performed in response to receipt of the first interval indication, 
 the first local write accesses a local storage, 
 the first remote write accesses a first remote storage, 
 the first remote write replicates the first local write, 
 the second remote write accesses a second remote storage, and 
 the second remote write replicates the first local write, 
 
 a third set of instructions, executable on the computer system, configured to receive a first remote write acknowledgement, wherein
 the first remote write acknowledgement indicates that the first remote storage completed the first remote write, 
 
 a fourth set of instructions, executable on the computer system, configured to receive a second remote write acknowledgement, wherein
 the second remote write acknowledgement indicates that the second remote storage completed the second remote write, 
 
 a fifth set of instructions, executable on the computer system, configured to
 receive a second interval indication of the plurality of interval indications, and 
 
 a sixth set of instructions, executable on the computer system, configured to acknowledge that the first remote write and the second remote write have completed in response to receipt of the first remote write acknowledgement, the second remote write acknowledgement, and the second interval indication, wherein
 the acknowledgement of the completion is communicated to the application; and 
 
 
 a computer-readable storage medium, wherein the instructions are encoded in the computer-readable storage medium. 
 
     
     
       19. The computer program product of  claim 18 , wherein
 each of the first remote write and the first local write has a first associated time stamp, and 
 the first associated time stamp indicates the first interval. 
 
     
     
       20. The computer program product of  claim 18 , wherein
 determining that each of a plurality of nodes have received the second interval indication comprises
 receiving an acknowledgement that each of the plurality of nodes have received the second interval indication. 
 
 
     
     
       21. The computer program product of  claim 18 , wherein
 the plurality of instructions further comprises a seventh set of instructions, executable on a computer system, configured to
 send a first interval acknowledgement, wherein 
 the first interval acknowledgement indicates receipt of the first interval indication.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.