IP Library Granted Patent US 10,162,711
Granted Patent B1
US 10,162,711 · App. 15/179,578 · Granted Dec 25, 2018

Data locality control for deduplication

Inventors: Xianbo Zhang (Plymouth, MN); Haibin She (Beijing, CN); Xiaobing Song (Beijing, CN)
Assignee: VERITAS TECHNOLOGIES LLC
G06F11/1453G06F11/1458G06F17/30156G06F2201/82G06F2201/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 10,162,711
App. No.
15/179,578
Granted
Dec 25, 2018
Kind
B1
Abstract

A method for data locality control in a deduplication system is provided. The method includes forming a fingerprint cache from a backup image corresponding to a first backup operation. The method includes removing one or more fingerprints from inclusion in the fingerprint cache, in response to the one or more fingerprints having a data segment locality, in a container, less than a threshold of data segment locality. The container has one or more data segments corresponding to the one or more fingerprints. The method includes applying the fingerprint cache, with the one or more fingerprints removed from inclusion therein, to a second backup operation, wherein at least one method operation is executed through a processor.

Claims (45)

1. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising:

extracting a fingerprint referenced in a first backup image, the first backup image a result of a first backup operation;

determining data segment locality of the fingerprint relative to a container having a data segment corresponding to the fingerprint;

denying the fingerprint a membership in a fingerprint cache, in response to the fingerprint having a data segment locality less than a first threshold of data segment locality;

repeating the extracting, the determining, and the denying for a plurality of fingerprints referenced in the first backup image; and

deduplicating data segments of a second backup operation, via application of the fingerprint cache, the fingerprint cache having a subset of a plurality of fingerprints referenced in the first backup image;

wherein the first threshold is selected based on a restore performance requirement.

2. The computer-readable media of claim 1 , wherein:

the first backup image references the data segment in the container; and

data segment locality of the fingerprint relative to the container and the first backup image includes a count of a total number of data segments that are in the container and referenced by the first backup image.

3. The computer-readable media of claim 1 , wherein the fingerprint cache having the subset of the plurality of fingerprints referenced in the first backup image includes:

selecting extracted fingerprints having data segment locality greater than or equal to the first threshold of data segment locality for membership in the fingerprint cache.

4. The computer-readable media of claim 1 , wherein the deduplicating the data segments of the second backup operation, via application of the fingerprint cache, causes one or more data segments to be written to a further container differing from the container having the data segment corresponding to the fingerprint.

5. The computer-readable media of claim 1 , wherein the method further comprises:

determining data segment locality of a further data segment relative to a container having the further data segment, the further data segment and the container referenced by a second backup image as a result of the second backup operation;

copying the further data segment to a further container, in response to the further data segment having data segment locality less than a second threshold of data segment locality;

rewriting the second backup image so that the second backup image references the further data segment in the further container; and

repeating the determining, the copying, and the rewriting, for a plurality of data segments referenced by the second backup image.

6. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising:

extracting a fingerprint referenced in a first backup image, the first backup image a result of a first backup operation;

determining data segment locality of the fingerprint relative to a container having a data segment corresponding to the fingerprint;

denying the fingerprint a membership in a fingerprint cache, in response to the fingerprint having a data segment locality less than a first threshold of data segment locality;

repeating the extracting, the determining, and the denying for a plurality of fingerprints referenced in the first backup image;

deduplicating data segments of a second backup operation, via application of the fingerprint cache, the fingerprint cache having a subset of a plurality of fingerprints referenced in the first backup image;

analyzing a second backup image, corresponding to the second backup operation, as to data segment locality relative to containers;

copying one or more data segments having data segment locality less than a second threshold of data segment locality, relative to one or more containers, to a further container, wherein the second threshold is less than the first threshold; and

adjusting the second backup image to reference location, in the further container, of the one or more data segments.

7. A computer implemented method, comprising:

extracting a fingerprint referenced in a first backup image, the first backup image a result of a first backup operation;

determining data segment locality of the fingerprint relative to a container having a data segment corresponding to the fingerprint;

denying the fingerprint a membership in a fingerprint cache, in response to the fingerprint having a data segment locality less than a first threshold of data segment locality;

repeating the extracting, the determining, and the denying for a plurality of fingerprints referenced in the first backup image; and

deduplicating data segments of a second backup operation, via application of the fingerprint cache, the fingerprint cache having a subset of a plurality of fingerprints referenced in the first backup image;

wherein the first threshold is selected based on a restore performance requirement.

8. The method of claim 7 , wherein:

the first backup image references the data segment in the container; and

data segment locality of the fingerprint relative to the container and the first backup image includes a count of a total number of data segments that are in the container and referenced by the first backup image.

9. The method of claim 7 , wherein the fingerprint cache having the subset of the plurality of fingerprints referenced in the first backup image includes:

selecting extracted fingerprints having data segment locality greater than or equal to the first threshold of data segment locality for membership in the fingerprint cache.

10. The method of claim 7 , wherein the deduplicating the data segments of the second backup operation, via application of the fingerprint cache, causes one or more data segments to be written to a further container differing from the container having the data segment corresponding to the fingerprint.

11. The method of claim 7 , wherein the method further comprises:

determining data segment locality of a further data segment relative to a container having the further data segment, the further data segment and the container referenced by a second backup image as a result of the second backup operation;

copying the further data segment to a further container, in response to the further data segment having data segment locality less than a second threshold of data segment locality;

rewriting the second backup image so that the second backup image references the further data segment in the further container; and

repeating the determining, the copying, and the rewriting, for a plurality of data segments referenced by the second backup image.

Assignments (12)
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 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069632/0613 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
MERGER Recorded Feb 22, 2018
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 045001/0339 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2018
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 045406/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2018
From: ZHANG, XIANBO; SHE, HAIBIN; SONG, XIAOBING
To: SYMANTEC CORPORATION
Reel/Frame 045001/0265 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2016
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0466 →
Continuity (1)
Division 14094527 · Dec 2, 2013