IP Library Granted Patent US 7,506,202
Granted Patent B1
US 7,506,202 · App. 11/053,070 · Granted Mar 17, 2009

Compression of temporal dimension in a temporal storage device

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,506,202
App. No.
11/053,070
Granted
Mar 17, 2009
Kind
B1
Abstract

A method, apparatus, and computer program product for setting and implementing a policy to compress the history of data on a temporal volume is described.

Claims (112)

1. A method comprising:

selecting a first data block recorded at a first checkpoint in a data storage volume;

selecting a second data block recorded at a second checkpoint in the data storage volume, wherein

the second data block corresponds to the first data block;

determining which of the first data block and the second data block contains more recent data;

retaining the more recent data; and

upon retaining the more recent data, deleting the first data block.

2. The method of claim 1 wherein retaining the more recent data comprises:

inserting the more recent data in a corresponding block in a union of blocks, wherein

the inserting overwrites any existing data in the corresponding block in the union of blocks.

3. The method of claim 2 further comprising:

writing data in each block in the union of blocks to a corresponding block associated with a third checkpoint in the data storage volume.

4. The method of claim 1 wherein retaining the more recent data comprises:

inserting the more recent data in a corresponding block associated with a third checkpoint in the data storage volume.

5. The method of claim 1 wherein retaining the more recent data comprises:

inserting the more recent data in the second data block.

6. The method of claim 1 wherein determining which of the first data block and the second data block contains more recent data comprises:

comparing a first time stamp to a second time stamp, wherein

the first data block is coupled to the first time stamp, and

the second data block is coupled to the second time stamp.

7. The method of claim 1 wherein determining which of the first data block and the second data block contains more recent data comprises:

comparing a first time of recordation of the first checkpoint with a second time of recordation of the second checkpoint.

8. The method of claim 1 wherein determining which of the first data block and the second data block contains more recent data comprises:

determining which of the first checkpoint and the second checkpoint was recorded later.

9. The method of claim 8 wherein

the first checkpoint is in a first range of checkpoints, wherein

the first range of checkpoints comprises a plurality of checkpoints,

the second checkpoint is in the first range of checkpoints, and

the first range of checkpoints is selected for compression to a single checkpoint.

10. The method of claim 9 wherein compression to a single checkpoint comprises:

retaining the most recent data for each block recorded at each checkpoint in the first range of checkpoints; and

upon retaining the most recent data for each block, deleting each checkpoint in the first range of checkpoints.

11. The method of claim 1 further comprising:

upon retaining the more recent data, deleting the second data block.

12. A method comprising:

decreasing a number of data checkpoints stored in a volume in accord with a policy, wherein the policy comprises

a first range of checkpoints over which to decrease the number of checkpoints; and

a first number of checkpoints within the first range of checkpoints to be compressed into one checkpoint.

13. The method of claim 12 wherein the policy further comprises:

a second range of checkpoints over which to decrease the number of checkpoints; and

a second number of checkpoints within the second range to be compressed into one checkpoint.

14. The method of claim 12 wherein compressing a number of checkpoints into one checkpoint comprises:

selecting a checkpoint in the number of checkpoints;

for a block comprising data recorded at the checkpoint,

determining which of the data recorded at the checkpoint and a data recorded in a corresponding block in a union of blocks is more recent,

retaining the more recent data in the corresponding block in the union of blocks; and

deleting the block recorded at the checkpoint.

15. The method of claim 14 wherein compressing a number of checkpoints into one checkpoint further comprises:

creating a compression checkpoint; and

writing each block in the union of blocks to a corresponding block associated with the compression checkpoint.

16. An apparatus comprising:

a data storage volume;

a first data block stored at a first checkpoint in the data storage volume;

a second data block stored at a second checkpoint in the data storage volume, wherein

the second data block corresponds to the first data block;

means for selecting the first data block;

means for selecting the second data block;

means for determining which of the first data block and the second data block contains more recent data;

means for retaining the more recent data, wherein

a first range of checkpoints comprises

the first checkpoint, and

the second checkpoint;

means for selecting the first range of checkpoints for compression to a single checkpoint; and

means for compressing the first range of checkpoints into the single checkpoint, wherein the means for compressing comprises

means for retaining the most recent data for each block stored at each checkpoint in the first range of checkpoints, and

means for deleting each checkpoint in the first range of checkpoints upon retaining the most recent data for each block.

17. The apparatus of claim 16 wherein the means for retaining the more recent data comprises:

means for inserting the more recent data in a corresponding block in a union of blocks, wherein

the means for inserting overwrites any existing data in the corresponding block in the union of blocks.

18. The apparatus of claim 17 further comprising:

means for writing data in each block in the union of blocks to a corresponding block stored at a third checkpoint in the data storage volume.

19. The apparatus of claim 16 wherein the means for retaining the more recent data comprises:

means for inserting the more recent data in a corresponding block stored at a third checkpoint in the data storage volume.

20. The apparatus of claim 16 wherein the means for retaining the more recent data comprises:

means for inserting the more recent data in the second data block.

21. The apparatus of claim 16 wherein the means for determining which of the first data block and the second data block contains more recent data comprises:

means for comparing a first time stamp to a second time stamp, wherein

the first data block is coupled to the first time stamp, and

the second data block is coupled to the second time stamp.

22. The apparatus of claim 16 wherein the means for determining which of the first data block and the second data block contains more recent data comprises:

means for comparing a first time of recordation of the first checkpoint with a second time of recordation of the second checkpoint.

23. The apparatus of claim 16 wherein the means for determining which of the first data block and the second data block contains more recent data comprises:

means for determining which of the first checkpoint and the second checkpoint was recorded later.

24. A computer program product comprising:

a first set of instructions, executable on a computer system, configured to select a first data block recorded at a first checkpoint in a data storage volume;

a second set of instructions, executable on the computer system, configured to select a second data block recorded at a second checkpoint in the data storage volume, wherein

the second data block corresponds to the first data block;

a third set of instructions, executable on the computer system, configured to determine which of the first data block and the second data block contains more recent data;

a fourth set of instructions, executable on the computer system, configured to retain the more recent data;

a fifth set of instructions, executable on the computer system, configured to, upon the more recent data being retained, delete the first data block; and

computer readable storage media, wherein said computer program product is encoded in said computer readable storage media.

25. The computer program product of claim 24 wherein the fourth set of instructions comprises:

a fifth set of instructions, executable on the computer system, configured to insert the more recent data in a corresponding block in a union of blocks, wherein

inserting the more recent data overwrites any existing data in the corresponding block in the union of blocks.

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

a sixth set of instructions, executable on the computer system, configured to write data in each block in the union of blocks to a corresponding block associated with a third checkpoint in the data storage volume.

27. The computer program product of claim 24 wherein the fourth set of instructions comprises:

a seventh set of instructions, executable on the computer system, configured to insert the more recent data in a corresponding block associated with a third checkpoint in the data storage volume.

28. The computer program product of claim 24 wherein the fourth set of instructions comprises:

an eighth set of instructions, executable on the computer system, configured to insert the more recent data in the second data block.

29. The computer program product of claim 24 wherein the third set of instructions comprises:

a ninth set of instructions, executable on the computer system, configured to compare a first time stamp to a second time stamp, wherein

the first data block is coupled to the first time stamp, and

the second data block is coupled to the second time stamp.

30. The computer program product of claim 24 wherein the third set of instructions comprises:

an tenth set of instructions, executable on the computer system, configured to compare a first time of recordation of the first checkpoint with a second time of recordation of the second checkpoint.

31. The computer program product of claim 24 wherein the third set of instructions comprises:

an eleventh set of instructions, executable on the computer system, configured to determine which of the first checkpoint and the second checkpoint was recorded later.

32. The computer program product of claim 31 , wherein

a twelfth set of instructions, executable on the computer system, configured to select a first range of checkpoints for compression to a single checkpoint, wherein

the first checkpoint is in the first range of checkpoints, and

the second checkpoint is in the first range of checkpoints.

Assignments (17)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
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 Feb 8, 2005
From: COLGROVE, JOHN A.; KEKRE, ANAND A.; PANCHBUDHE, ANKUR P.
To: VERITAS OPERATING CORPORATION
Reel/Frame 016270/0571 →