IP Library Granted Patent US 7,194,487
Granted Patent B1
US 7,194,487 · App. 10/687,104 · Granted Mar 20, 2007

System and method for recording the order of a change caused by restoring a primary volume during ongoing replication of the primary volume

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,194,487
App. No.
10/687,104
Granted
Mar 20, 2007
Kind
B1
Abstract

A method may involve replicating a first change made to a primary volume. The first change is replicated to a secondary volume. A second change made to the primary volume is also replicated to the secondary volume. The second change is caused by a restore operation. Replicating the second change to the secondary volume involves recording an order of the second change relative to the first change.

Claims (120)

1. A computing-device-implemented method, comprising:

replicating a first change made to a primary volume, wherein

the first change is replicated to a secondary volume; and

replicating a second change made to the primary volume, wherein

the second change is replicated to the secondary volume,

the second change is caused by a restore operation, and

the replicating the second change comprises recording an order of the second change relative to the first change.

2. The method of claim 1 , wherein

the replicating the first change comprises performing periodic replication; and

the replicating the second change comprises updating a volume map to indicate that a region of the secondary volume, which corresponds to a region of the primary volume changed by the restore operation, should be synchronized with the primary volume during a next period of said performing periodic replication.

3. The method of claim 1 , wherein

the replicating the first change comprises performing asynchronous replication,

the replicating the second change comprises allocating an entry corresponding to the restore operation in a log of changes to the primary volume, and

the entry includes information indicating the order of the second change relative to the order of the first change.

4. The method of claim 1 , wherein

the replicating the first change comprises

recording in a next snappoint one or more changes between a current snappoint and the primary volume while one or more changes indicated in the current snappoint are applied to the secondary volume,

converting the next snappoint to the current snappoint,

creating a new next snappoint at a subsequent point in time, and

periodically repeating the recording, the converting, and the creating; and

the replicating the second change comprises updating the next snappoint to indicate one or more regions of the primary volume modified by the restore operation.

5. The method of claim 4 , wherein

the updating the next snappoint comprises

logically ORing a bitmap comprised in the next snappoint with a restore bitmap; and

the restore bitmap indicates the one or more regions of the primary volume modified by the restore operation.

6. The method of claim 1 , wherein

the replicating the first change comprises

maintaining a log of changes applied to the primary volume, wherein the log records an order of the changes, and

applying each of the changes maintained in the log to the secondary volume in the order recorded in the log; and

the replicating the second change comprises

allocating an entry in the log, wherein the entry corresponds to the second change, and

updating the order recorded in the log to indicate the order of the second change relative to other changes recorded by the log.

7. The method of claim 6 , further comprising

applying a plurality of changes to the secondary volume as a single atomic operation before applying any subsequently-ordered changes recorded by the log to the secondary volume, wherein

the plurality of changes is caused by the restore operation, and

the plurality of changes comprises the second change.

8. The method of claim 7 , further comprising

storing data to be applied to the secondary volume in a secondary log, wherein

the data includes values of one or more regions of the primary volume as a result of the restore operation, and

the entry corresponding to the change includes a pointer to the data in the secondary log.

9. The method of claim 7 , further comprising applying to a snapshot of the secondary volume the plurality of changes; wherein the applying the plurality of changes to the secondary volume as the single atomic operation comprises performing an instant restore operation, and the instant restore operation restores the secondary volume from the snapshot.

10. The method of claim 1 , wherein

said replicating the second change comprises applying the second change to the secondary volume independently of performance of background activity to implement the second change on the primary volume.

11. A computer program product comprising:

a computer readable storage medium, wherein the computer readable storage medium comprises program instructions executable by a computing device to:

replicate a first change made to a primary volume, wherein

the first change is replicated to a secondary volume; and

replicate a second change made to the primary volume, wherein

the second change is replicated to the secondary volume,

the second change is caused by a restore operation, and

the program instructions are executable to record an order of the second change relative to the first change.

12. The computer program product of claim 11 , wherein the program instructions are executable by a computing device to:

perform periodic replication, wherein

the periodic replication replicates the first change and the second change, and

replicating the second change comprises updating a volume map to indicate that a region of the secondary volume, which corresponds to a region of the primary volume changed by the restore operation, should be synchronized with the primary volume during a next period of periodic replication.

13. The computer program product of claim 11 , wherein the program instructions are executable by a computing device to:

perform asynchronous replication, wherein

the asynchronous replication replicates the first change and the second change,

replicating the second change comprises allocating an entry corresponding to the restore operation in a log of changes to the primary volume, and

the entry includes information indicating the order of the second change relative to the order of the first change.

14. A system, comprising:

a processor; and

a memory storing program instructions executable by the processor to:

replicate a first change made to a primary volume, wherein

the first change is replicated to a secondary volume; and

replicate a second change made to the primary volume, wherein

the second change is replicated to the secondary volume,

the second change is caused by a restore operation, and

the program instructions are executable to record an order of the second change relative to the first change.

15. The system of claim 14 , wherein the program instructions are executable by the processor to:

perform periodic replication, wherein

the periodic replication replicates the first change and the second change, and

replicating the second change comprises updating a volume map to indicate that a region of the secondary volume, which corresponds to a region of the primary volume changed by the restore operation, should be synchronized with the primary volume during a next period of periodic replication.

16. The system of claim 15 , wherein

the updating the next snappoint comprises logically ORing a bitmap comprised in the next snappoint with a restore bitmap; and

the restore bitmap indicates the one or more regions of the primary volume modified by the restore operation.

17. The system of claim 14 , wherein the program instructions are executable by the processor to:

perform asynchronous replication, wherein

the asynchronous replication replicates the first change and the second change,

replicating the second change comprises allocating an entry corresponding to the restore operation in a log of changes to the primary volume, and

the entry includes information indicating the order of the second change relative to the order of the first change.

18. The system of claim 17 , wherein

the replicating the first change comprises

maintaining a log of changes applied to the primary volume, wherein the log records an order of the changes, and

applying each of the changes maintained in the log to the secondary volume in the order recorded in the log; and

the replicating the second change comprises

allocating an entry in the log, wherein

the entry corresponds to the second change, and

updating the order recorded in the log to indicate the order of the second change relative to other changes recorded by the log.

19. The system of claim 18 , wherein the program instructions are executable by the processor to:

store data to be applied to the secondary volume in a secondary log, wherein

the data includes values of one or more regions of the primary volume as a result of the restore operation, and

the entry corresponding to the change includes a pointer to the data in the secondary log.

20. The system of claim 19 , wherein the program instructions are executable by the processor to:

apply to a snapshot of the secondary volume a plurality of changes; wherein applying the plurality of changes to the secondary volume comprises performing a single atomic operation by performing an instant restore operation, and the instant restore operation restores the secondary volume from the snapshot.

21. A system, comprising:

a primary volume;

a secondary volume;

a computing device comprising:

means for replicating the primary volume to the secondary volume, wherein

the means for replicating record an order of first change to the primary volume relative to an order of a second change to the primary volume, and

the second change is due to the primary volume being restored from a point-in-time copy of the primary volume.

22. The system of claim 21 , wherein

the means for replicating perform periodic replication,

the periodic replication replicates the first change and the second change, and

replicating the second change comprises updating a volume map to indicate that a region of the secondary volume, which corresponds to a region of the primary volume changed by the restore operation, should be synchronized with the primary volume during a next period of periodic replication.

23. The system of claim 21 , wherein

the means for replicating perform asynchronous replication,

the asynchronous replication replicates the first change and the second change,

replicating the second change comprises allocating an entry corresponding to the restore operation in a log of changes to the primary volume, and

the entry includes information indicating the order of the second change relative to the order of the first change.

24. A system, comprising:

a primary volume,

a secondary volume,

a primary computing device coupled to access the primary volume; and

a secondary computing device coupled to the primary computing device by a network and coupled to access the secondary volume, wherein

the secondary computing device maintains the secondary volume as a replica of the primary volume,

the primary computing device is configured to record an order of a first change to the primary volume relative to a second change to the primary volume,

the second change is caused by restoring the primary volume from a point-in-time copy of the primary volume; and

the secondary computing device is configured to apply the first change and the second change to the secondary volume in the order recorded by the primary computing device.

Assignments (9)
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 →
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 →
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 Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2003
From: KEKRE, ANAND A.; PENDHARKAR, NIRANJAN S.
To: VERITAS OPERATING CORPORATION
Reel/Frame 014616/0644 →