IP Library Granted Patent US 10,324,893
Granted Patent B1
US 10,324,893 · App. 13/327,397 · Granted Jun 18, 2019

Backup application catalog analyzer

Inventor: Nilesh Telang (Maharashtra, IN)
Assignee: Veritas Technologies LLC
G06F16/125G06F16/137
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 10,324,893
App. No.
13/327,397
Granted
Jun 18, 2019
Kind
B1
Abstract

The present disclosure provides for analyzing data stored in a data protection storage system to determine a prospective storage scheme that provides a more efficient use of storage resources in the data protection storage system. Data can be analyzed to identify a set of data suitable for long term storage in an archive. Data can be analyzed to identify a set of data suitable for deletion to reduce duplicate copies of data, and remove expired data. Protection policies that provide double coverage of data, causing additional inefficient storage of data, can be identified. A prospective amount of freed storage and other savings can be calculated, if all or part of the prospective storage scheme is implemented, where the prospective amount of freed storage and other savings can be displayed to in a report. A prospective storage scheme may also be determined for a client system that stores live data.

Claims (147)

1. A method comprising:

creating a first backup image of a plurality of files;

storing information in a first catalog, wherein

the first catalog comprises a plurality of catalog entries,

the first catalog corresponds to a first client of a plurality of clients,

the first catalog further corresponds to a first data policy associated with the first client,

the first data policy is one of a plurality of data policies associated with the first client, and

the information describes the plurality of files;

determining one or more off-peak hours, wherein

the one or more off-peak hours are characterized by lower than normal network traffic;

hashing, during the one or more off-peak hours, the plurality of catalog entries to produce a hash value associated with each of the catalog entries, wherein

each of the catalog entries comprises information regarding a copy of a respective file stored in the first backup image;

populating, during the one or more off-peak hours, a plurality of table entries in a catalog analysis table, wherein

each table entry of the plurality of table entries comprises

the hash value associated with each respective catalog entry,

information identifying one or more backup images that comprise the respective file associated with the respective catalog entry, and

information identifying one or more data policies of the plurality of data policies that are associated with the respective file;

analyzing, during the one or more off-peak hours, the catalog analysis table to identify a candidate deletion set, wherein

the analyzing comprises, for each table entry in the catalog analysis table,

determining whether the respective file is associated with a second data policy that is associated with a second catalog in order to determine whether the respective file is a candidate for deletion, and

with respect to each respective file that is a candidate for deletion, adding the respective file to a candidate deletion set of files that are candidates for deletion;

determining a first exclusion criteria, wherein

the first exclusion criteria is received from a user;

filtering, during the one or more off-peak hours, the candidate deletion set to exclude one or more files that are candidates for deletion and also satisfy the first exclusion criteria; and

deleting, during the one or more off-peak hours, the candidate deletion set from the first backup image, wherein

the hashing, the populating, the analyzing, and the deleting are performed by a processor of a computing system.

2. The method of claim 1 , wherein

the first backup image is generated during at least one backup process performed on live client data stored at a client system,

the first catalog is produced during a backup process, and

the first backup image is stored in a storage system.

3. The method of claim 1 , further comprising:

calculating a prospective amount of freed storage, wherein

the prospective amount of freed storage is calculated, at least in part, using the candidate deletion set, and

the prospective amount of freed storage represents storage no longer needed to store the first backup image.

4. The method of claim 3 , further comprising:

providing a report to a user, wherein

the report indicates the prospective amount of freed storage.

5. The method of claim 1 , further comprising:

cataloguing live client data to produce the first catalog, wherein

a set of data comprises the live client data stored at a client system, and

the cataloguing populates the plurality of catalog entries of the first catalog.

6. The method of claim 1 , further comprising:

determining whether a first table entry of the plurality of table entries meets archival criteria to identify a candidate archival data set, wherein

the candidate archival data set comprises a file, in response to a determination that the first table entry meets the archival criteria, and

the candidate archival data set is identified as suitable for being archived.

7. The method of claim 6 , further comprising:

calculating a prospective amount of freed storage, wherein

the prospective amount of freed storage is calculated, at least in part, using the candidate archival data set, and

the prospective amount of freed storage represents storage no longer needed to store the first backup image.

8. The method of claim 7 , wherein

the archival criteria comprises target file attributes of files that are suitable for being archived.

9. The method of claim 7 , further comprising:

determining whether the first table entry meets exclusion criteria to identify files that should be excluded from the candidate archival data set.

10. The method of claim 6 , wherein the populating the plurality of table entries comprises:

determining whether the hash value is contained in the catalog analysis table;

in response to determining that the hash value is contained in the catalog analysis table,

adding a location identifier (ID) of the file to an existing table entry of the catalog analysis table, wherein

the existing table entry comprises the hash value, and

the location ID identifies a location in a set of data at which a copy of the first backup image is stored; and

in response to determining that the hash value is not contained in the catalog analysis table,

adding a new table entry to the catalog analysis table, wherein

the new table entry comprises the hash value and the location ID.

11. The method of claim 1 , further comprising:

updating, by the processor, one or more of the plurality of table entries after deleting the candidate deletion set.

12. The method of claim 1 , wherein

each table entry further comprises

a segment hash list, wherein

the segment hash list comprises a plurality of segment hash values;

the populating further comprises generating a first segment hash value for a first segment of a file; and

the analyzing further comprises

comparing the first segment hash value to each of the plurality of segment hash values to determine if the first segment hash value is included in the segment hash list, and

in response to a determination that the first segment hash value corresponds to any of the plurality of segment hash values, adding the first segment to the candidate deletion set.

13. An apparatus comprising:

a processor; and

a memory coupled to the processor and configured to store instructions executable by the processor, the instructions configured to implement

an analysis engine configured to

create a first backup image of a plurality of files;

store information in a first catalog, wherein

the first catalog comprises a plurality of catalog entries,

the first catalog corresponds to a first client of a plurality of clients,

the first catalog further corresponds to a first data policy associated with the first client,

the first data policy is one of a plurality of data policies associated with the first client, and

the information describes the plurality of files;

determine one or more off-peak hours, wherein

the one or more off-peak hours are characterized by lower than normal network traffic;

hash, during the one or more off-peak hours, the plurality of catalog entries to produce a hash value associated with each of the catalog entries, wherein

each of the catalog entries comprises information regarding a copy of a respective file stored in the first backup image;

populate, during the one or more off-peak hours, a plurality of table entries in a catalog analysis table, wherein

each table entry of the plurality of table entries comprises

 the hash value associated with each respective catalog entry,

 information identifying one or more backup images that comprise the respective file associated with the respective catalog entry, and

 information identifying one or more data policies of the plurality of data policies that are associated with the respective file;

analyze, during the one or more off-peak hours, the catalog analysis table to identify a candidate deletion set, wherein

analyzing the catalog analysis table comprises, for each table entry in the catalog analysis table,

 determining whether the respective file is associated with a second data policy that is associated with a second catalog in order to determine whether the respective file is a candidate for deletion, and

with respect to each respective file that is a candidate for deletion, adding the respective file to a candidate deletion set of files that are candidates for deletion;

determine a first exclusion criteria, wherein

the first exclusion criteria is received from a user;

filter, during the one or more off-peak hours, the candidate deletion set to exclude one or more files that are candidates for deletion and also satisfy the first exclusion criteria; and

delete the candidate deletion set from the first backup image during the one or more off-peak hours.

14. The apparatus of claim 13 , wherein

the first backup image is generated during at least one backup process performed on live client data stored at a client system,

the first catalog is produced during a backup process, and

the first backup image is stored in a storage system.

15. The apparatus of claim 13 , further comprising:

a catalog module configured to

catalogue live client data to produce the first catalog, wherein

a set of data comprises the live client data stored at a client system, and

the plurality of catalog entries of the first catalog are populated.

16. The apparatus of claim 13 , wherein

the analysis engine is further configured to

determine whether a first table entry of the plurality of table entries meets archival criteria to identify a candidate archival data set, wherein

the candidate archival data set comprises a file, in response to a determination that the first table entry meets the archival criteria, and

the candidate archival data set is identified as suitable for being archived.

17. The apparatus of claim 16 , wherein

the analysis engine is further configured to

calculate a prospective amount of freed storage, wherein

the prospective amount of freed storage is calculated, at least in part, using the candidate archival data set, and

the prospective amount of freed storage represents storage no longer needed to store the first backup image.

18. The apparatus of claim 17 , wherein

the archival criteria comprises target file attributes of files that are suitable for being archived.

19. A non-transitory computer readable storage medium configured to store instructions that, when executed by a processor, are configured to cause the processor to implement a method comprising:

creating a first backup image of a plurality of files;

storing information in a first catalog, wherein

the first catalog comprises a plurality of catalog entries,

the first catalog corresponds to a first client of a plurality of clients,

the first catalog further corresponds to a first data policy associated with the first client,

the first data policy is one of a plurality of data policies associated with the first client, and

the information describes the plurality of files;

determining one or more off-peak hours, wherein

the one or more off-peak hours are characterized by lower than normal network traffic;

hashing, during the one or more off-peak hours, the plurality of catalog entries to produce a hash value associated with each of the catalog entries, wherein

each of the catalog entries comprises information regarding a copy of a respective file stored in the first backup image;

populating, during the one or more off-peak hours, a plurality of table entries in a catalog analysis table, wherein

each table entry of the plurality of table entries comprises

the hash value associated with each respective catalog entry,

information identifying one or more backup images that comprise the respective file associated with the respective catalog entry, and

information identifying one or more data policies of the plurality of data policies that are associated with the respective file;

analyzing, during the one or more off-peak hours, the catalog analysis table to identify a candidate deletion set, wherein

the analyzing comprises, for each table entry in the catalog analysis table,

determining whether the respective file is associated with a second data policy that is associated with a second catalog in order to determine whether the respective file is a candidate for deletion, and

with respect to each respective file that is a candidate for deletion, adding the respective file to a candidate deletion set of files that are candidates for deletion;

determining a first exclusion criteria, wherein

the first exclusion criteria is received from a user;

filtering, during the one or more off-peak hours, the candidate deletion set to exclude one or more files that are candidates for deletion and also satisfy the first exclusion criteria;

and

deleting, during the one or more off-peak hours, the candidate deletion set from the first backup image.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075763/0001 →
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 Jan 4, 2012
From: TELANG, NILESH
To: SYMANTEC CORPORATION
Reel/Frame 027477/0474 →
Cited By (1)
US 12,373,421