IP Library Granted Patent US 10,423,495
Granted Patent B1
US 10,423,495 · App. 14/480,507 · Granted Sep 24, 2019

Deduplication grouping

Inventors: Fanglu Guo (Los Angeles, CA); Weibao Wu (Vadnais Heights, MN); Xianbo Zhang (Plymouth, MN)
Assignee: Veritas Technologies LLC
G06F11/1453G06F16/285
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,423,495
App. No.
14/480,507
Granted
Sep 24, 2019
Kind
B1
Abstract

A method for grouping backup images in deduplication groups is described. In one embodiment, the method includes identifying a new backup image, obtaining metadata from one or more nodes in the new backup image, and comparing the metadata from the one or more nodes in the new backup image with information from one or more nodes in a backup image from a first deduplication group. Each of the one or more nodes include at least in part a file or a directory. The first deduplication group is one group from a plurality of deduplication groups.

Claims (54)

1. A method for deduplication grouping, comprising:

identifying a new backup image;

enumerating a top N levels of directories and files in the backup image;

obtaining metadata of the top N levels of directories and files in the new backup image;

applying a hash function to the metadata to generate one or more first hash values;

obtaining one or more second hash values of metadata corresponding to a top N levels of directories and files of each of a first deduplication group and a second deduplication group, wherein the first deduplication group and the second deduplication group do not share hash values with one another;

comparing the one or more first hash values to one or more second hash values that correspond to hashes of metadata of the first deduplication group and the second deduplication group;

identifying which of the first deduplication group and the second deduplication group has hash values that match most of the one or more first hash values; and

designating the first deduplication group as a deduplication group for the new backup image, responsive to identifying the first deduplication group as having more hash values that match more of the one or more first hash values than the second deduplication group.

2. The method of claim 1 , further comprising:

comparing a hierarchical file structure of the file system in the new backup image to a hierarchical file structure of a file system in the backup image from each of the first and second deduplication groups.

3. The method of claim 1 , further comprising:

obtaining metadata from a data structure of a database management system in the backup image.

4. The method of claim 3 , further comprising:

comparing the metadata from the data structure of the database management system in the backup image with information from a data structure in the backup image from each of the first and second deduplication groups.

5. The method of claim 1 , wherein designating the first deduplication group is in further response to determining the given deduplication group meets a matching threshold level.

6. The method of claim 5 , wherein in response to determining the given deduplication group does not meet the matching threshold level:

creating a new deduplication group; and

storing the new backup image in the new deduplication group.

7. The method of claim 1 , further comprising:

upon failing to match the new backup image with any of the two or more deduplication groups, creating a new deduplication group; and

storing the new backup image in the new deduplication group.

8. The method of claim 1 , wherein said hash function is a locality-sensitive hash function.

9. A computing device configured for deduplication grouping, comprising:

a processor;

memory in electronic communication with the processor, wherein the memory stores computer executable instructions that when executed by the processor cause the processor to perform the steps of:

identifying a new backup image;

enumerating a top N levels of directories and files in the backup image;

obtaining metadata of the top N levels of directories and files in the new backup image;

applying a hash function to the metadata to generate one or more first hash values;

obtaining one or more second hash values of metadata corresponding to a top N levels of directories and files of each of a first deduplication group and a second deduplication group, wherein the first deduplication group and the second deduplication group do not share hash values with one another;

comparing the one or more first hash values to one or more second hash values that correspond to hashes of metadata of the first deduplication group and the second deduplication group;

identifying which of the first deduplication group and the second deduplication group has hash values that match most of the one or more first hash values; and

designating the first deduplication group as a deduplication group for the new backup image, responsive to identifying the first deduplication group as having more hash values that match more of the one or more first hash values than the second deduplication group.

10. The computing device of claim 9 , wherein the instructions executed by the processor cause the processor to perform the steps of:

comparing a hierarchical file structure of the file system in the new backup image to a hierarchical file structure of a file system in the backup image from each of the first and second deduplication groups.

11. The computing device of claim 9 , wherein the instructions executed by the processor cause the processor to perform the steps of:

obtaining metadata from a data structure of a database management system in the backup image.

12. The computing device of claim 11 , wherein the instructions executed by the processor cause the processor to perform the steps of in response to determining the first deduplication group does not meet a matching threshold level:

create a new deduplication group; and

store the new backup image in the new deduplication group.

13. The computing device of claim 9 , wherein designating the first deduplication group is in further response to determining the given deduplication group meets a matching threshold level.

14. The computing device of claim 13 , wherein in response to determining the first deduplication group does not meet the matching threshold level:

creating a new deduplication group; and

storing the new backup image in the new deduplication group.

15. A non-transitory computer-readable storage medium storing computer executable instructions that when executed by a processor cause the processor to perform the steps of:

identifying a new backup image;

enumerating a top N levels of directories and files in the backup image;

obtaining metadata of the top N levels of directories and files in the new backup image;

applying a hash function to the metadata to generate one or more first hash values;

obtaining one or more second hash values of metadata corresponding to a top N levels of directories and files of each of a first deduplication group and a second deduplication group, wherein the first deduplication group and the second deduplication group do not share hash values with one another;

comparing the one or more first hash values to one or more second hash values that correspond to hashes of metadata of the first deduplication group and the second deduplication group;

identifying which of the first deduplication group and the second deduplication group has hash values that match most of the one or more first hash values; and

designating the first deduplication group as a deduplication group for the new backup image, responsive to identifying the first deduplication group as having more hash values that match more of the one or more first hash values than the second deduplication group.

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 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 Sep 8, 2014
From: GUO, FANGLU; WU, WEIBAO; ZHANG, XIANBO
To: SYMANTEC CORPORATION
Reel/Frame 033693/0605 →
Cited By (2)
US 12,411,926 US 12,579,107