IP Library Granted Patent US 9,146,935
Granted Patent B1
US 9,146,935 · App. 14/460,078 · Granted Sep 29, 2015

Systems and methods for classifying files as candidates for deduplication

Inventor: Namita Agrawal (Baner, IN)
Assignee: Symantec Corporation
G06F17/30156G06F11/1453G06F2201/80G06F2201/84
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,146,935
App. No.
14/460,078
Granted
Sep 29, 2015
Kind
B1
Abstract

A computer-implemented method may include identifying at least one file and detecting an event that is suggestive of at least a portion of the file being duplicated in at least one additional file. The computer-implemented method may also include classifying the file as a candidate for deduplication in response to detecting the event. The computer-implemented method may further include maintaining the file's candidate-for-deduplication classification for use in prompting a determination on whether the portion of the file is already stored within a storage device.

Claims (64)

1. A computer-implemented method for classifying files as candidates for deduplication, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying at least a portion of a file;

detecting an event that is suggestive of a duplicate instance of the portion of the file already being stored within a storage device prior to determining whether the duplicate instance of the portion of the file is already stored within the storage device;

in response to detecting the event, classifying the file as a candidate for deduplication such that the file's candidate-for-deduplication classification indicates that the duplicate instance of the portion of the file is likely already stored within the storage device;

maintaining the file's candidate-for-deduplication classification for use in prompting a determination on whether the duplicate instance of the portion of the file is already stored within the storage device by maintaining an attribute associated with the file that indicates that the file is a candidate for deduplication;

reducing the amount of time or resources needed to determine whether a set of files that includes the file qualify for deduplication by, during deduplication or backup of data within a storage system:

identifying the attribute associated with the file;

determining, based on the attribute associated with the file, that the file is a candidate for deduplication;

in response to determining that the file is a candidate for deduplication, determining whether the portion of the file is already stored within the storage device.

2. The computer-implemented method of claim 1 , wherein the event that is suggestive of the duplicate instance of the portion of the file already being stored within the storage device comprises at least one of:

an attempt by a user of a computing system to mark the file to indicate that the portion of the file is duplicated in at least one additional file;

an attempt to copy the portion of the file into the additional file;

an attempt by a user of a computing system to send the file as an email attachment to a plurality of additional users whose computing devices are backed up by the same backup system;

after downloading the file to a computing system for a first time, an attempt to download the file to the computing system for a second time.

3. The computer-implemented method of claim 1 , wherein the attribute associated with the file indicates that the portion of the file is duplicated in at least one additional file.

4. The computer-implemented method of claim 1 , wherein maintaining the file's candidate-for-deduplication classification comprises:

maintaining, within a database, the attribute associated with the file that indicates that the duplicate instance of the portion of the file is likely already stored within the storage device.

5. The computer-implemented method of claim 1 , wherein maintaining the attribute associated with the file comprises setting at least one binary digit that indicates that the duplicate instance of the portion of the file is likely already stored within the storage device.

6. The computer-implemented method of claim 1 , wherein the attribute associated with the file comprises:

metadata that identifies a number indicating how many additional files are expected to comprise a duplicate instance of the portion of the file.

7. The computer-implemented method of claim 1 , further comprising:

detecting one or more attempts to modify the file;

determining that the number of detected attempts to modify the file is above a predetermined threshold;

in response to determining that the number of detected attempts to modify the file is above the predetermined threshold, removing the file's candidate-for-deduplication classification.

8. The computer-implemented method of claim 1 , wherein classifying the file as a candidate for deduplication comprises classifying the file as a candidate for source-side deduplication that is performed on the file prior to sending any portion of the file to the storage device.

9. The computer-implemented method of claim 1 , wherein classifying the file as a candidate for deduplication comprises classifying the file as a candidate for in-band deduplication that is performed on the file while the file is transitioning to the storage device.

10. The computer-implemented method of claim 1 , wherein classifying the file as a candidate for deduplication comprises classifying the file as a candidate for variable-block deduplication that facilitates deduplicating variable-sized portions of the file.

11. A computer-implemented method for determining whether files are candidates for deduplication, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying at least a portion of a file;

identifying a classification assigned to the file that is suggestive of a duplicate instance of the portion of the file already being stored within a storage device by identifying, within the file, an attribute associated with the file that indicates that the file is a candidate for deduplication;

reducing the amount of time or resources needed to determine whether a set of files that includes the file qualify for deduplication by determining, based on the classification assigned to the file, that the file is a candidate for deduplication prior to determining whether the duplicate instance of the portion of the file is already stored within the storage device;

in response to determining that the file is a candidate for deduplication, determining whether the duplicate instance of the portion of the file is already stored within the storage device.

12. The computer-implemented method of claim 11 , wherein identifying the portion of the file comprises identifying a request to copy the portion of the file to the storage device.

13. The computer-implemented method of claim 11 , further comprising:

determining that the duplicate instance of the portion of the file is already stored within the storage device;

in response to determining that the duplicate instance of the portion of the file is already stored within the storage device, refraining from copying the portion of the file to the storage device.

14. The computer-implemented method of claim 11 , further comprising:

determining that the duplicate instance of the portion of the file is not already stored within the storage device;

in response to determining that the duplicate instance of the portion of the file is not already stored within the storage device, copying the portion of the file to the storage device.

15. The computer-implemented method of claim 11 , further comprising:

determining that the duplicate instance of the portion of the file is already stored within the storage device;

identifying the duplicate instance of the portion of the file stored within the storage device;

upon identifying the duplicate instance of the portion of the file, removing the duplicate instance of the portion of the file from the storage device.

16. The computer-implemented method of claim 11 , further comprising:

detecting one or more attempts to modify the file;

determining that the number of detected attempts to modify the file is above a predetermined threshold;

in response to determining that the number of detected attempts to modify the file is above the predetermined threshold, removing the file's candidate-for-deduplication classification.

17. A system for classifying files as candidates for deduplication, the system comprising:

an identification module, stored in memory, that identifies at least a portion of a file;

a detection module, stored in memory, that detects an event that is suggestive of a duplicate instance of the portion of the file already being stored within a storage device prior to a determination of whether the duplicate instance of the portion of the file is already stored within the storage device;

a classification module, stored in memory, that:

classifies, in response to detecting the event, the file as a candidate for deduplication such that the file's candidate-for-deduplication classification indicates that the duplicate instance of the portion of the file is likely already stored within the storage device;

maintains the file's candidate-for-deduplication classification for use in prompting an application to determine whether the duplicate instance of the portion of the file is already stored within the storage device by maintaining an attribute associated with the file that indicates that the file is a candidate for deduplication;

a deduplication module, stored in memory, that reduces the amount of time or resources needed to determine whether a set of files that includes the file qualify for deduplication by, during deduplication or backup of data within a storage system:

identifying the attribute associated with the file;

determining, based on the attribute associated with the file, that the file is a candidate for deduplication;

determining, in response to determining that the file is a candidate for deduplication, whether the portion of the file is already stored within the storage device;

at least one processor that executes the identification module, the detection module, the classification module, and the deduplication module.

18. The system of claim 17 , wherein the detection module detects the event that is suggestive of the duplicate instance of the portion of the file already being stored within the storage device by performing at least one of:

detecting an attempt to copy the portion of the file into at least one additional file;

detecting, after downloading the file to a computing device for a first time, an attempt to download the file to the computing device for a second time.

19. The system of claim 17 , wherein the detection module detects the event that is suggestive of the duplicate instance of the portion of the file already being stored within the storage device by detecting an attempt by a user of a computing device to send the file as an email attachment to a plurality of additional users whose computing devices are backed up by the same backup system.

20. The system of claim 17 , wherein the classification module maintains the file's candidate-for-deduplication classification by:

maintaining, within a database, the attribute associated with the file that indicates that the duplicate instance of the portion of the file is likely already stored within the storage device.

Assignments (13)
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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2014
From: AGRAWAL, NAMITA
To: SYMANTEC CORPORATION
Reel/Frame 033539/0972 →
Continuity (1)
Continuation 13043441 · Mar 8, 2011