IP Library Granted Patent US 7,743,381
Granted Patent B1
US 7,743,381 · App. 10/663,632 · Granted Jun 22, 2010

Checkpoint service

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,743,381
App. No.
10/663,632
Granted
Jun 22, 2010
Kind
B1
Abstract

A computer accessible medium may be encoded with instructions which, when executed: replicate a checkpoint segment from a first local storage of a first node to at least one other node; and load a copy of the checkpoint segment from the other node to a second local storage of a second node. The checkpoint segment is stored into the first local storage by an application, and comprises a state of the application. The copy of the checkpoint segment is loaded into a second local storage responsive to a request from the second node to load the copy. The second node is to execute the application. In some embodiments, the copy of the checkpoint segment may also be loaded into a global storage.

Claims (60)

1. A computer accessible storage medium encoded with instructions forming a checkpoint service, wherein the instructions, when executed:

receive a request to register a checkpoint segment from an application that is separate from the checkpoint service;

replicate the checkpoint segment from a first local storage of a first node to at least one other node responsive to the application registering the checkpoint segment with the checkpoint service, wherein the checkpoint segment is stored into the first local storage by the application, and wherein the checkpoint segment comprises a state of the application, and wherein the first local storage is directly accessible only to the first node; and

load a copy of the replicated checkpoint segment from the at least one other node into a second local storage of a second node responsive to a request from the second node to load the copy, wherein the second node is to execute the application, wherein the checkpoint segment is identified by a checkpoint segment name that is unique within a cluster including the first node and the second node.

2. The computer accessible storage medium as recited in claim 1 wherein the at least one other node comprises two or more other nodes.

3. The computer accessible storage medium as recited in claim 1 wherein the request to load the copy is issued by the application executing on the second node.

4. The computer accessible storage medium as recited in claim 1 wherein the request to load the copy is issued by an agent that monitors the application on behalf of a cluster server.

5. The computer accessible storage medium as recited in claim 1 wherein the instructions, when executed, retrieve the copy from one of the at least one other node responsive to the request.

6. The computer accessible storage medium as recited in claim 1 wherein the at least one other node is configured to load the copy into a global storage, and wherein the instructions, when executed, retrieve the copy from the global storage responsive to the request.

7. The computer accessible storage medium as recited in claim 1 wherein the instructions, when executed, replicate the checkpoint segment by performing at least:

reading the checkpoint segment from the first local storage of the first node; and

transmitting the checkpoint segment to the at least one other node.

8. The computer accessible storage medium as recited in claim 1 wherein the instructions, when executed:

receive a retrieval request in the at least one other node; and

transmit the copy to a source of the retrieval request.

9. The computer accessible storage medium as recited in claim 1 wherein the instructions, when executed:

receive the checkpoint segment from the first node in the at least one other node; and

store the checkpoint segment in the at least one other node.

10. The computer accessible storage medium as recited in claim 1 wherein the at least one other node is configured to load the copy into a global storage, and wherein the instructions, when executed:

receive the checkpoint segment from the first node; and

store the checkpoint segment in the global storage.

11. The computer accessible storage medium as recited in claim 1 wherein the at least one other node is not capable of executing the application.

12. A method comprising:

an application storing a checkpoint segment of the application's state to a local storage of a first node on which the application is executing, wherein the local storage is directly accessible only to the first node;

the application registering the checkpoint segment with a checkpoint service that is separate from the application;

the checkpoint service replicating a checkpoint segment from the first local storage of the first node to at least one other node responsive to the registering and the storing; and

loading a copy of the replicated checkpoint segment from the at least one other node into a second local storage of a second node responsive to a request from the second node to load the copy, wherein the second node is to execute the application, wherein the checkpoint segment is identified by a checkpoint segment name that is unique within a cluster including the first node and the second node.

13. The method as recited in claim 12 wherein the at least one other node comprises two or more other nodes.

14. The method as recited in claim 12 further comprising issuing the request to load the copy by the application executing on the second node.

15. The method as recited in claim 12 further comprising issuing the request to load the copy by an agent that monitors the application on behalf of a cluster server.

16. The method as recited in claim 12 further comprising retrieving the copy from one of the at least one other node responsive to the request.

17. The method as recited in claim 12 wherein the at least one other node is configured to load the copy into a global storage, the method further comprising retrieving the copy from the global storage responsive to the request.

18. The method as recited in claim 12 wherein replicating the checkpoint segment comprises:

reading the checkpoint segment from the first local storage of the first node; and

transmitting the checkpoint segment to the at least one other node.

19. The method as recited in claim 12 further comprising:

receiving a retrieval request in the at least one other node; and

transmitting the copy to a source of the retrieval request.

20. The method as recited in claim 12 further comprising:

receiving the checkpoint segment from the first node in the at least one other node; and

storing the checkpoint segment in the at least one other node.

21. The method as recited in claim 12 further comprising:

receiving the checkpoint segment from the first node; and

storing the checkpoint segment in a global storage.

22. The method as recited in claim 12 wherein the at least one other node is not capable of executing the application.

23. A cluster comprising a plurality of nodes, wherein each of the plurality of nodes comprises a computer, and

wherein a checkpoint service executing on a first node of the plurality of nodes is configured to replicate a checkpoint segment from a first local storage of the first node to at least one other node of the plurality of nodes,

wherein the checkpoint segment is stored into the first local storage by an application executing on the first node separate from the checkpoint service, and

wherein the application is configured to register the checkpoint segment with the checkpoint service and wherein the checkpoint service is configured to replicate the checkpoint segment responsive to the application registering the checkpoint segment and storing the checkpoint segment to the local storage, wherein the local storage is directly accessible only to the first node of the plurality of nodes, and

wherein the checkpoint segment comprises a state of the application, and

wherein a checkpoint service executing on a second node of the plurality of nodes is configured to load a copy of the replicated checkpoint segment from the at least one other node into a second local storage of the second node responsive to a request to load the copy, wherein the second node is to execute the application, wherein the checkpoint segment is identified by a checkpoint segment name that is unique within a cluster including the first node and the second node.

24. The cluster as recited in claim 23 wherein the at least one other node is not capable of executing the application.

25. The computer accessible storage medium as recited in claim 1 wherein the instructions, when executed:

record the checkpoint segment name to access the checkpoint segment for replicating.

26. The computer accessible storage medium as recited in claim 25 wherein the instructions, when executed:

select the at least one other node to which the checkpoint segment is to be replicated responsive to the request to register the checkpoint segment.

27. The method as recited in claim 12 further comprising:

recording the checkpoint segment name to access the checkpoint segment for replicating responsive to the registering.

28. The method as recited in claim 27 further comprising:

selecting the at least one other node to which the checkpoint segment is to be replicated responsive to the registering.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2015
From: SYMANTEC OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 036199/0642 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2003
From: TRAN, CUONG H.
To: VERITAS OPERATING CORPORATION
Reel/Frame 014516/0121 →