IP Library Granted Patent US 7,096,330
Granted Patent B1
US 7,096,330 · App. 10/207,432 · Granted Aug 22, 2006

Symmetrical data change tracking

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,096,330
App. No.
10/207,432
Granted
Aug 22, 2006
Kind
B1
Abstract

A method, computer program product, computer system and system that enable symmetrical data change tracking with respect to a set of data and a copy of the set of data, referred to as a snapshot or a second set of data. The data and the copy may be independently updated after the two sides are “split.” A join may be performed of the two sides of the split to resynchronize the data. For the first set of data, an accumulator map tracks changes to the first set of data and a volume map tracks changes to the first set of data with respect to a second set of data. For the second set of data (the snapshot), a second accumulator map tracks changes to the second set of data and a second volume map tracks changes to the second set of data with respect to the first set of data.

Claims (95)

1. A method comprising:

maintaining a first accumulator map for a first set of data, wherein

the first accumulator map tracks changes in the first set of data;

maintaining a first volume map for the first set of data, wherein the first volume map tracks changes in the first set of data with respect to a version of a second set of data;

maintaining a second volume map for the second set of data, wherein

the second volume map tracks changes in the second set of data with respect to a version of the first set of data; and

using the first accumulator map to update the first volume map when a copy of the first set of data is made.

2. The method of claim 1 wherein

the second set of data is created as a snapshot of the first set of data.

3. The method of claim 2 wherein

each of the first set of data and the second set of data can be updated independently after the second set of data is created.

4. The method of claim 1 further comprising:

synchronizing a portion of the first set of data with a corresponding portion of the second set of data such that the first set of data and the second set of data are the same.

5. The method of claim 4 further comprising:

identifying the portion and the corresponding portion using:

the first volume map;

the first accumulator map, wherein

the first accumulator map tracks changes in the first set of data after a first point in time;

the second volume map; and

a second accumulator map, wherein

the second accumulator map tracks changes in the second set of data after a second point in time.

6. The method of claim 1 further comprising:

storing at least one of the first accumulator map, the first volume map, and the second volume map persistently.

7. The method of claim 1 further comprising:

storing the first set of data and the first volume map on a first storage device; and

storing the second set of data and the second volume map on a second storage device.

8. The method of claim 7 comprising:

storing the first accumulator map on the first storage device, wherein

the first accumulator map tracks changes in the first set of data after a first point in time; and

storing a second accumulator map on the second storage device, wherein

the second accumulator map tracks changes in the second set of data after a second point in time.

9. The method of claim 1 further comprising:

clearing the first accumulator map after the first volume map is updated.

10. A system comprising:

first maintaining means for maintaining a first volume map for a first set of data, wherein the first volume map tracks changes in the first set of data with respect to a version of a second set of data; and

second maintaining means for maintaining a second volume map for the second set of data, wherein

the second volume map tracks changes in the second set of data with respect to a version of the first set of data; and

third maintaining means for maintaining a first accumulator map for the first set of data, wherein

the first accumulator map tracks changes in the first set of data; and

using means for using the first accumulator map to update the first volume map when a copy of the first set of data is made.

11. The system of claim 10 wherein

the second set of data is created as a snapshot of the first set of data.

12. The system of claim 11 wherein

each of the first set of data and the second set of data can be updated independently after the second set of data is created.

13. The system of claim 10 further comprising:

synchronizing means for synchronizing a portion of the first set of data with a corresponding portion of the second set of data such that the first set of data and the second set of data are the same.

14. The system of claim 10 further comprising:

clearing means for clearing the first accumulator map after the first volume map is updated.

15. A system comprising:

a first maintaining module to maintain a first volume map for a first set of data, wherein the first volume map tracks changes in the first set of data with respect to a version of a second set of data;

a second maintaining module to maintain a second volume map for the second set of data, wherein

the second volume map tracks changes in the second set of data with respect to a version of the first set of data;

a third maintaining module to maintain a first accumulator map for the first set of data, wherein the first accumulator map tracks changes in the first set of data; and

a using module configured to use the first accumulator map to update the first volume map when a copy of the first set of data is made.

16. The system of claim 15 wherein

the second set of data is created as a snapshot of the first set of data.

17. The system of claim 16 wherein

each of the first set of data and the second set of data can be updated independently after the second set of data is created.

18. The system of claim 15 further comprising:

a synchronizing module to synchronize a portion of the first set of data with a corresponding portion of the second set of data such that the first set of data and the second set of data are the same.

19. The system of claim 15 further comprising:

a clearing module configured to clear the first accumulator map after the first volume map is updated.

20. A computer system comprising:

a processor for executing at least one instruction;

a memory coupled to the processor, the memory comprising:

first maintaining instructions to maintain a first volume map for a first set of data, wherein the first volume map tracks changes in the first set of data with respect to a version of a second set of data;

second maintaining instructions to maintain a second volume map for the second set of data, wherein

the second volume map tracks changes in the second set of data with respect to a version of the first set of data;

third maintaining instructions to maintain a first accumulator map for the first set of data, wherein

the first accumulator map tracks changes in the first set of data; and

using instructions configured to use the first accumulator map to update the first volume map when a copy of the first set of data is made.

21. The computer system of claim 20 wherein

the second set of data is created as a snapshot of the first set of data.

22. The computer system of claim 21 wherein

each of the first set of data and the second set of data can be updated independently after the second set of data is created.

23. The computer system of claim 20 wherein the memory further comprises:

synchronizing instructions to synchronize a portion of the first set of data with a corresponding portion of the second set of data such that the first set of data and the second set of data are the same.

24. The computer system of claim 20 further comprising:

clearing instructions configured to clear the first accumulator map after the first volume map is updated.

25. A computer program product contained on a computer-readable medium, wherein the computer program product comprises:

first maintaining instructions to maintain a first volume map for a first set of data, wherein the first volume map tracks changes in the first set of data with respect to a version of a second set of data;

second maintaining instructions to maintain a second volume map for the second set of data, wherein

the second volume map tracks changes in the second set of data with respect to a version of the first set of data;

third maintaining instructions to maintain a first accumulator map for the first set of data, wherein

the first accumulator map tracks changes in the first set of data; and

using instructions configured to use the first accumulator map to update the first volume map when a copy of the first set of data is made.

26. The computer program product of claim 25 wherein

the second set of data is created as a snapshot of the first set of data.

27. The computer program product of claim 26 wherein

each of the first set of data and the second set of data can be updated independently after the second set of data is created.

28. The computer program product of claim 25 further comprising:

synchronizing instructions to synchronize a portion of the first set of data with a corresponding portion of the second set of data such that the first set of data and the second set of data are the same, wherein

the computer-readable medium further stores the synchronizing instructions.

29. The computer program product of claim 25 further comprising:

clearing instructions configured to clear the first accumulator map after the first volume map is updated.

Assignments (17)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
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 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
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 Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2004
From: VERITAS SOFTWARE CORPORATION
To: VERITAS OPERATING CORPORATION
Reel/Frame 015933/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2002
From: ROOT, MICHAEL E.; SHARMA, GOPAL; KISELEV, OLEG
To: VERITAS SOFTWARE CORPORATION
Reel/Frame 013154/0606 →