IP Library Granted Patent US 8,127,174
Granted Patent B1
US 8,127,174 · App. 11/068,016 · Granted Feb 28, 2012

Method and apparatus for performing transparent in-memory checkpointing

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 8,127,174
App. No.
11/068,016
Granted
Feb 28, 2012
Kind
B1
Abstract

A method and apparatus for performing transparent checkpoint data backup by identifying portions of memory that store the checkpoint data that have been modified since a prior in-memory checkpoint process and backing up only the identified portions of memory containing the modified checkpoint data.

Claims (80)

1. A method comprising:

accessing checkpoint data;

mapping the checkpoint data to a memory region;

initiating a backup of the checkpoint data, wherein

the initiating is performed after an initial backup of the checkpoint data has been performed;

in response to the initiating, identifying data stored in at least one portion of the memory region, wherein

the data stored in the at least one portion of the memory region has been modified since the initial backup of the checkpoint data;

copying the data stored in the at least one portion of the memory region; and

replicating the data stored in the at least one portion of the memory region to at least one backup server.

2. The method of claim 1 , wherein the at least one portion of the memory region comprises a memory page.

3. The method of claim 1 , wherein the at least one portion of the memory region comprises a memory block.

4. The method of claim 1 , further comprising:

monitoring one or more parameters associated with the memory region, wherein

the one or more parameters indicate whether a portion of the memory region has been modified.

5. The method of claim 1 , further comprising:

monitoring page-dirty bits to identify modified portions of the memory region.

6. The method of claim 1 , further comprising:

setting all portions of the memory region to read only;

tracking faults that occur each time a write request is executed for a portion of the memory region; and

identifying portions having faults as modified portions.

7. The method of claim 1 , further comprising:

tracking portions of memory that are being flushed by an operating system; and

identifying the portions as modified portions.

8. The method of claim 1 , wherein the memory region is at least one of a file or an operating system device.

9. A system comprising:

one or more processors;

memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

access checkpoint data,

map the checkpoint data to a memory region,

initiate a backup of the checkpoint data, wherein

the backup of the checkpoint data is initiated after an initial backup of the checkpoint data has been performed,

identify data stored in at least one portion of the memory region, in response to initiating the backup of the checkpoint data, wherein

the data stored in the at least one portion of the memory region has been modified since the initial backup of the checkpoint data,

copy the data stored in the at least one portion of the memory region, and

replicate the data stored in the at least one portion of the memory region to at least one backup server.

10. The system of claim 9 , wherein the at least one portion of the memory region comprises at least one of a memory page and a memory block.

11. The system of claim 9 , wherein the program instructions are further executable to:

monitor one or more parameters associated with the memory region, wherein

the one or more parameters indicate whether a portion of the memory region has been modified.

12. The system of claim 9 , wherein the program instructions are further executable to:

monitor page-dirty bits to identify modified portions of the memory region.

13. The system of claim 9 , wherein the program instructions are further executable to:

set all portions of the memory region to read only;

track faults that occur each time a write request is executed for a portion of the memory region; and

identify portions having faults as modified portions.

14. The system of claim 9 , wherein the program instructions are further executable to:

track portions of memory that are being flushed by an operating system; and

identify the portions as modified portions.

15. A computer readable storage medium comprising program instructions executable to:

access checkpoint data;

map the checkpoint data to a memory region;

initiate a backup of the checkpoint data, wherein

the backup of the checkpoint data is initiated after an initial backup of the checkpoint data has been performed;

identify data stored in at least one portion of the memory region, in response to

initiating the backup of the checkpoint data, wherein

the data stored in the at least one portion of the memory region has been modified since the initial backup of the checkpoint data;

copy the data stored in the at least one portion of the memory region; and

replicate the data stored in the at least one portion of the memory region to at least one backup server.

16. The computer readable storage medium of claim 15 , wherein the at least one portion of the memory region comprises at least one of a memory page and a memory block.

17. The computer readable storage medium of claim 15 , wherein the program instructions are further executable to:

monitor one or more parameters associated with the memory region, wherein

the one or more parameters indicate whether a portion of the memory region has been modified.

18. The computer readable storage medium of claim 15 , wherein the program instructions are further executable to:

monitor page-dirty bits to identify modified portions of the memory region.

19. The computer readable storage medium of claim 15 , wherein the program instructions are further executable to:

set all portions of the memory region to read only;

track faults that occur each time a write request is executed for a portion of the memory region; and

identify portions having faults as modified portions.

20. The computer readable storage medium of claim 15 , wherein the program instructions are further executable to:

track portions of memory that are being flushed by an operating system; and

identify the portions as modified portions.

21. A method comprising:

accessing checkpoint data;

mapping the checkpoint data to a memory region;

determining at least one portion of the memory region that has been modified;

setting all portions of the memory region to read only;

tracking faults that occur each time a write request is executed for a portion of the memory region;

identifying the portions having faults as portions that are modified portions;

copying the modified portions; and

replicating the copied modified portions of the memory region comprising modified checkpoint data to at least one backup server.

Assignments (14)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
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 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
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 →
CHANGE OF NAME Recorded Sep 21, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019866/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2005
From: SHAH, VEERAL; BORATE, MILIND
To: VERITAS OPERATIONG CORPORATION
Reel/Frame 016346/0952 →