IP Library Granted Patent US 9,495,264
Granted Patent B2
US 9,495,264 · App. 12/853,234 · Granted Nov 15, 2016

Data replication techniques using incremental checkpoints

Inventors: Samir Desai (Maharashtra, IN); Niranjan Pendharkar (Pune, IN)
Assignee: Veritas Technologies LLC
G06F11/2097G06F11/1451G06F11/2094G06F17/30212G06F17/30575G06F2201/84
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 9,495,264
App. No.
12/853,234
Granted
Nov 15, 2016
Kind
B2
Abstract

Incremental checkpoint, for use in data replication, track the changes made to a file system after a point in time at which the incremental checkpoint is created. Data replication techniques using the incremental checkpoints may include taking a regular checkpoint of the file system and creating the first time full copy on remote node using the regular checkpoint. Changes made to the file system are then tracked in an incremental checkpoint that are stored on the remote node. The processes of taking the incremental checkpoint and storing the incremental checkpoint are iteratively performed. The first time fully copy and the incremental checkpoints may then be used for data replication, backup, continuous data protection (CDP), or the like.

Claims (72)

1. A method comprising:

starting generation of a full copy of a file system on a primary node at a first time, wherein the file system is locked while the full copy is generated;

starting generation of an incremental checkpoint at substantially the first time;

receiving input/output requests to the file system on the primary node;

storing queued changes to the file system in a sequential log;

unlocking and making changes to the file system on the primary node at a second time later than the first time in response to corresponding input/output requests;

completing generation of the full copy at a third time concurrent with or later than the second time;

storing the full copy on a remote node;

completing generation of the incremental checkpoint after the third time, wherein the incremental checkpoint consists of changes to the file system stored in the sequential log;

storing the incremental checkpoint on the remote node; and

generating a replication copy of the file system by applying the changes in the incremental checkpoint to the full copy of the file system.

2. The method according to claim 1 , further comprising:

taking a regular checkpoint of the file system on the primary node;

creating the first time full copy on the remote node using the regular checkpoint;

taking the incremental checkpoint of the file system on the primary node; and

iteratively repeating taking the incremental checkpoint and storing the incremental checkpoint on a predetermined interval, wherein changes to the file system are paused while switching from a current incremental checkpoint to a new incremental checkpoint.

3. The method according to claim 2 , further comprising:

retrieving the first time full copy from the remote node;

retrieving each successive incremental checkpoint from the remote node; and

creating the replication copy by applying changes in each successive incremental checkpoint to the first time full copy.

4. The method according to claim 1 , wherein the incremental checkpoint mirrors changes to files and metadata of the file system from a point of creation of the current incremental checkpoint to a point of creation of the new incremental checkpoint.

5. The method according to claim 1 , wherein the incremental checkpoint mirrors overlays to the non-written data on the original file data.

6. The method according to claim 1 , wherein the incremental checkpoint comprises a block level snapshot.

7. The method according to claim 1 , wherein the incremental checkpoint comprises a file level snapshot.

8. One or more non-transitory computing device readable media having computing device executable instructions which when executed perform a method comprising:

starting generation of a full copy of a file system on a primary node at a first time, wherein the file system is locked while the full copy is generated;

starting generation of an incremental checkpoint at substantially the first time;

receiving input/output requests to the file system on the primary node;

storing queued changes to the file system in a sequential log;

unlocking and making changes to the file system on the primary node at a second time later than the first time in response to corresponding input/output requests;

completing generation of the full copy at a third time concurrent with or later than the second time;

storing the full copy on a remote node;

completing generation of the incremental checkpoint after the third time, wherein the incremental checkpoint consists of changes to the file system stored in the sequential log;

storing the incremental checkpoint on the remote node; and

generating a replication copy of the file system by applying the changes in the incremental checkpoint to the full copy of the file system.

9. The one or more non-transitory computing device readable media having computing device executable instructions which when executed perform the method of claim 8 , further comprising:

taking a regular checkpoint of the file system on the primary node;

creating the first time full copy on a remote node using the regular checkpoint;

taking the incremental checkpoint of the file system on the primary node; and

iteratively repeating taking the incremental checkpoint and storing the incremental checkpoint on a predetermined interval, wherein changes to the file system are paused while switching from a current incremental checkpoint to a new incremental checkpoint.

10. The one or more non-transitory computing device readable media having computing device executable instructions which when executed perform the method of claim 9 , further comprising:

retrieving the first time full copy from the remote node;

retrieving each successive incremental checkpoint from the remote node; and

creating the replication copy by applying changes in each successive incremental checkpoint to the first time full copy.

11. The one or more non-transitory computing device readable media having computing device executable instructions which when executed perform the method of claim 8 , wherein the incremental checkpoint mirrors changes to files and metadata of the file system from a point of creation of the current incremental checkpoint to a point of creation of the new incremental checkpoint.

12. The one or more non-transitory computing device readable media having computing device executable instructions which when executed perform the method of claim 8 , wherein the incremental checkpoint mirrors overlays the non-written data on the original file data.

13. The one or more non-transitory computing device readable media having computing device executable instructions which when executed perform the method of claim 8 , wherein the incremental checkpoint comprises a block level snapshot.

14. The one or more non-transitory computing device readable media having computing device executable instructions which when executed perform the method of claim 8 , wherein the incremental checkpoint comprises a file level snapshot.

15. A storage system comprising:

one or more processors coupled to one or more computing device readable storage media and executing computing device readable code which implement one or more modules, wherein the one or more modules:

start generation of a full copy of a file system on a primary node at a first time, wherein the file system is locked while the full copy is generated;

start generation of an incremental checkpoint at substantially the first time;

receive input/output requests to the file system on the primary node;

store queued changes to the file system in a sequential log;

unlock and make changes to the file system on the primary node at a second time later than the first time in response to corresponding input/output requests;

complete generation of the full copy at a third time concurrent with or later than the second time;

store the full copy on a remote node;

complete generation of the incremental checkpoint after the third time, wherein the incremental checkpoint consists of changes to the file system stored in the sequential log;

store the incremental checkpoint on the remote node; and

generate a replication copy of the file system by applying the changes in the incremental checkpoint to the full copy of the file system.

16. The storage system of claim 15 , wherein the one or more modules:

take a regular checkpoint of the file system on the primary node;

create the first time full copy on remote node using the regular checkpoint;

take the incremental checkpoint of the file system on the primary node; and

iteratively repeat taking the incremental checkpoint and storing the incremental checkpoint on a predetermined interval, wherein changes to the file system are paused while switching from a current incremental checkpoint to a new incremental checkpoint.

17. The storage system of claim 16 , wherein the one or more modules:

retrieve the first time full copy from the remote node;

retrieve each successive incremental checkpoint from the remote node; and

create replication copy by applying changes in each successive incremental checkpoint to the first time full copy.

18. The storage system of claim 15 , wherein the incremental checkpoint mirrors changes to files and metadata of the file system from a point of creation of the current incremental checkpoint to a point of creation of the new incremental checkpoint.

19. The storage system of claim 15 , wherein the incremental checkpoint comprises a block level snapshot.

20. The storage system of claim 15 , wherein the incremental checkpoint comprises a file level snapshot.

Assignments (13)
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 Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
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 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2014
From: DESAI, SAMIR; PENDHARKAR, NIRANJAN S
To: SYMANTEC CORPORATION
Reel/Frame 033177/0385 →
Continuity (1)
Related Publication 20120036106A1 · Feb 9, 2012