IP Library Granted Patent US 9,262,275
Granted Patent B2
US 9,262,275 · App. 14/595,984 · Granted Feb 16, 2016

Archiving data objects using secondary copies

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,262,275
App. No.
14/595,984
Granted
Feb 16, 2016
Kind
B2
Abstract

A system for archiving data objects using secondary copies is disclosed. The system creates one or more secondary copies of primary copy data that contains multiple data objects. The system maintains a first data structure that tracks the data objects for which the system has created secondary copies and the locations of the secondary copies. To archive data objects in the primary copy data, the system identifies data objects to be archived, verifies that previously-created secondary copies of the identified data objects exist, and replaces the identified data objects with stubs. The system maintains a second data structure that both tracks the stubs and refers to the first data structure, thereby creating an association between the stubs and the locations of the secondary copies.

Claims (47)

1. A non-transitory computer-readable storage medium storing computer-executable instructions, which when executed cause a system to perform a method for archiving multiple data objects included in primary copy data, the method comprising:

for each of one or more data objects to be archived, replacing the data object in the primary copy data with a stub referencing a secondary copy of the identified data object,

wherein the secondary copy of the multiple data objects is a first secondary copy of the multiple data objects;

determining that a first data object included in the primary copy data has been deleted;

if the primary copy data has been deleted less than a predetermined period of time, then producing a second secondary copy of the first data object,

wherein the second secondary copy is produced from a first secondary copy of the first data object, and

providing, from the first secondary copy of other data objects except for the first data object, a corresponding second secondary copy of the other data objects.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the determining that the first data object included in the primary copy data has been deleted further comprises:

scanning the primary data to populate an image map; and

comparing the image map to a data structure that indicates a location of the first secondary copy.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the predetermined period of time is set by a storage policy.

4. The non-transitory computer-readable storage medium of claim 1 , wherein the determining that the first data object included in the primary copy data has been deleted further comprises receiving information from a driver or file system that detects deletions.

5. The non-transitory computer-readable storage medium of claim 1 , wherein the predetermined period of time is determined at least in part by an object type of the first data object.

6. The non-transitory computer-readable storage medium of claim 1 , wherein the secondary copy of the multiple data objects is a backup copy created at least in part by an incremental or full backup operation.

7. The non-transitory computer-readable storage medium of claim 1 , further comprising identifying the one or more of the multiple data objects that are to be archived, wherein the identifying comprises determining that the one or more of the multiple data objects satisfy predetermined retention criteria, including at least one of: a data object type, a data object age, a data object size, a percentage of disk quota, remaining storage, and metadata.

8. The non-transitory computer-readable storage medium of claim 1 , further comprising identifying one or more of the multiple data objects that are to be archived, wherein the identifying comprises determining that the one or more of the multiple data objects satisfy predetermined retention criteria.

9. The non-transitory computer-readable storage medium of claim 1 , wherein at least one of the multiple data objects is an email or email attachment.

10. The non-transitory computer-readable storage medium of claim 1 , further comprising:

determining that a first data object included in the primary copy data satisfies predetermined criteria; and

in response to determining that the first data object satisfies the predetermined criteria, deleting the secondary copy of the first data object.

11. A system for archiving data objects using secondary copies, the system comprising:

at least one memory;

at least one processor coupled to the memory;

a first data structure that tracks multiple data objects associated with secondary copies,

wherein the secondary copies are associated with a primary copy containing the multiple data objects;

a component that identifies data objects to be achieved and replaces the identified data objects with stubs;

a second data structure that both tracks the stubs and refers to the first data structure,

wherein the secondary copy of the multiple data objects is a first secondary copy of the multiple data objects;

a component that creates, from the first secondary copy of a first data object, a second secondary copy of the first data object, only when a difference between a deletion time for the first data object and the present time is less than a predetermined period of time; and

a component that creates, from the first secondary copy of other data objects except for the first data object, a corresponding second secondary copy of the other data objects.

12. The system of claim 11 , wherein the predetermined period of time is determined at least in part by an object type of the first data object, according to archival rules, or storage policies.

13. The system of claim 11 , wherein the secondary copy of the multiple data objects is a backup copy created at least in party by an incremental or full backup operation.

14. The system of claim 11 , the system further comprising:

if the difference between the deletion time and the present time is greater than the predetermined period of time, a component that deletes the primary copy of the data object.

15. A method for archiving multiple data objects included in primary copy data, the method comprising:

for each of one or more data objects to be archived, replacing the data object in the primary copy data with a stub referencing a secondary copy of the identified data object,

wherein the secondary copy of the multiple data objects is a first secondary copy of the multiple data objects;

determining that a first data object included in the primary copy data has been deleted;

if the primary copy data has been deleted less than a predetermined period of time, then producing a second secondary copy of the first data object,

wherein the second secondary copy is produced from a first secondary copy of the first data object, and

providing, from the first secondary copy of other data objects except for the first data object, a corresponding second secondary copy of the other data objects.

16. The method of claim 15 , wherein the determining that the first data object included in the primary copy data has been deleted further comprises:

scanning the primary data to populate an image map; and

comparing the image map to a data structure that indicates a location of the first secondary copy.

17. The method of claim 15 , wherein the predetermined period of time is set by a storage policy.

18. The method of claim 15 , wherein the determining that the first data object included in the primary copy data has been deleted further comprises receiving information from a driver or file system that detects deletions.

19. The method of claim 15 , wherein the predetermined period of time is determined at least in part by an object type of the first data object.

Assignments (3)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2015
From: GOKHALE, PARAG; KOTTOMTHARAYIL, RAJIV; VARADHARAJAN, PRAKASH
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 034701/0281 →