IP Library Granted Patent US 12,189,493
Granted Patent B1
US 12,189,493 · App. 16/836,306 · Granted Jan 7, 2025

Methods and systems for improved deduplication performance using prefetched backup information

Inventors: Yaobin Qin (Minneapolis, MN); Xianbo Zhang (Plymouth, MN)
Assignee: Veritas Technologies LLC
G06F11/1464G06F9/30047G06F11/1451G06F11/1461G06F11/1469G06F18/21G06N20/00G06F2201/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 12,189,493
App. No.
16/836,306
Granted
Jan 7, 2025
Kind
B1
Abstract

Methods, computer program products, computer systems, and the like are disclosed that provide for improved deduplication performance using prefetched backup information. For example, such methods, computer program products, and computer systems can include generating new feature information for a new backup image, (for each existing backup image in a plurality of existing backup images) comparing the new feature information with existing feature information for the each existing backup image, identifying one or more existing backup images of the plurality of existing backup images, and prefetching the one or more existing backup images. The feature information is generated as an output of a machine learning process. The machine learning process receives at least a portion of data of the new backup image as an input. The one or more existing backup images are identified based, at least in part, on a result of the comparing.

Claims (164)

1. A method comprising:

generating new feature information for a portion of data, wherein

the portion of the data is a sample of data of a new backup image,

the new backup image is a full image,

the sample of the data of the new backup image is the data of the new backup image that is within a sample window of the data of the new backup image,

the new feature information comprises one or more generative models for a machine learning process,

the new feature information of the sample of the data is representative of one or more features of the data of the new backup image by virtue of the one or more generative models being representative of one or more features of the data of the new backup image,

the one or more features are representative of container usage of the new backup image,

the container usage of the new backup image comprises a logical size of each of one or more fingerprints stored in a data container of the new backup image and a data container identifier of the data container of the new backup image, and

the machine learning process receives the portion of the data of the new backup image as an input;

for each existing backup image in a plurality of existing backup images,

comparing the new feature information with existing feature information, wherein

the each existing backup image is another full image,

the each existing backup image comprises existing data,

the existing feature information is representative of one or more existing features of the data of the each existing backup image,

the one or more existing features are representative of container usage of the each existing backup image,

the container usage of the each existing backup image comprises another logical size of each of one or more fingerprints stored in a data container of the each existing backup image and a data container identifier of the data container of the each existing backup image,

the existing feature information comprises one or more other generative models for the machine learning process,

the comparing comprises

performing a distance determination operation,

the distance determination operation determines a distance between a feature of the new feature information and a feature of the existing feature information based on the logical size of the each of the one or more fingerprints stored in the data container of the new backup image, the data container identifier of the data container of the new backup image, the another logical size of the each of the one or more fingerprints stored in the data container of the each existing backup image, and the data container identifier of the data container of the each existing backup image, and

the comparing results in corresponding distance information for the each existing backup image, with respect to the new feature information;

in response to the comparing, selecting one or more of the plurality of existing backup images as selected existing backup images, based, at least in part, on the corresponding distance information for each of the plurality of existing backup images; and

prefetching the selected existing backup images.

2. The method of claim 1 , wherein the generating comprises:

producing pre-processed data by performing one or more data pre-processing operations on the portion of the data; and

producing the new feature information by performing a feature extraction operation on the pre-processed data, wherein

the feature extraction operation is comprised in the machine learning process.

3. The method of claim 2 , wherein

the one or more data pre-processing operations comprise at least one of

an outlier removal operation,

a data clustering operation, or

a kernel density estimation operation.

4. The method of claim 2 , wherein the generating further comprises:

retrieving the portion of the data, wherein

each of the one or more features of the data of the new backup image and each of the one or more existing features of the data of the each existing backup image comprises a lower bound of a data container identifier range, a mean of the data container identifier range, and an upper bound of the data container identifier range, and

the logical size is a size of data at the mean of the data container identifier range.

5. The method of claim 1 , wherein the comparing comprises:

comparing one or more features of the new feature information and one or more features of the existing feature information.

6. The method of claim 2 , wherein

the one or more data pre-processing operations comprise a data clustering operation,

the data clustering operation comprises a density-based clustering algorithm, and

the distance determination operation comprises

calculating a relative entropy between a first probability density function and a second probability density function.

7. The method of claim 6 , wherein

the density-based clustering algorithm is a density-based spatial clustering of applications with noise (DBSCAN) algorithm,

the new feature information is represented by the first probability density function calculated using the DBSCAN algorithm,

the existing feature information is represented by the second probability density function calculated using the DBSCAN algorithm, and

the distance is defined by a relative entropy between the first probability density function and the second probability density function.

8. The method of claim 1 , wherein the selecting comprises:

identifying the selected existing backup images, wherein

the identifying comprises

determining a number of the selected existing backup images, and

determining a backup identifier for each of the selected existing backup images.

9. The method of claim 1 , wherein

the one or more existing backup images are prefetched prior to a deduplication operation being performed on the new backup image.

10. The method of claim 1 , wherein

the new feature information comprises

a mean value for a first feature,

a covariance for the first feature, and

sampled data for the first feature, and

the existing feature information comprises

a mean value for a second feature,

a covariance for the second feature, and

sampled data for the second feature.

11. A non-transitory computer-readable storage medium, comprising program instructions, which, when executed by one or more processors of a computing system, perform a method comprising:

generating new feature information for a portion of data, wherein

the portion of the data is a sample of data of a new backup image,

the new backup image is a full image,

the sample of the data of the new backup image is the data of the new backup image that is within a sample window of the data of the new backup image,

the new feature information comprises one or more generative models for a machine learning process,

the new feature information of the sample of the data is representative of one or more features of the data of the new backup image by virtue of the one or more generative models being representative of one or more features of the data of the new backup image,

the one or more features are representative of container usage of the new backup image,

the container usage of the new backup image comprises a logical size of each of one or more fingerprints stored in a data container of the new backup image and a data container identifier of the data container of the new backup image, and

the machine learning process receives the portion of the data of the new backup image as an input;

for each existing backup image in a plurality of existing backup images,

comparing the new feature information with existing feature information, wherein

the each existing backup image is another full image,

the each existing backup image comprises existing data,

the existing feature information is representative of one or more existing features of the data of the each existing backup image,

the one or more existing features are representative of container usage of the each existing backup image,

the container usage of the each existing backup image comprises another logical size of each of one or more fingerprints stored in a data container of the each existing backup image and a data container identifier of the data container of the each existing backup image,

the existing feature information comprises one or more other generative models for the machine learning process,

the comparing comprises

performing a distance determination operation,

the distance determination operation determines a distance between a feature of the new feature information and a feature of the existing feature information based on the logical size of the each of the one or more fingerprints stored in the data container of the new backup image, the data container identifier of the data container of the new backup image, the another logical size of the each of the one or more fingerprints stored in the data container of the each existing backup image, and the data container identifier of the data container of the each existing backup image, and

the comparing results in corresponding distance information for the each existing backup image, with respect to the new feature information;

in response to the comparing, selecting one or more of the plurality of existing backup images as selected existing backup images, based, at least in part, on the corresponding distance information for each of the plurality of existing backup images; and

prefetching the selected existing backup images.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the generating comprises:

producing pre-processed data by performing one or more data pre-processing operations on the portion of the data; and

producing the new feature information by performing a feature extraction operation on the pre-processed data, wherein

the feature extraction operation is comprised in the machine learning process.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the generating further comprises:

retrieving the portion of the data, wherein

the one or more data pre-processing operations comprise at least one of

an outlier removal operation,

a data clustering operation, or

a kernel density estimation operation,

each of the one or more features of the data of the new backup image and each of the one or more existing features of the data of the each existing backup image comprises a lower bound of a data container identifier range, a mean of the data container identifier range, and an upper bound of the data container identifier range, and

the logical size is a size of data at the mean of the data container identifier range.

14. The non-transitory computer-readable storage medium of claim 12 , wherein

the one or more data pre-processing operations comprise a data clustering operation,

the data clustering operation comprises a density-based clustering algorithm, the distance determination operation comprises

determining a distance between each feature of the new feature information and a feature of the existing feature information by calculating a relative entropy between a first probability density function and a second probability density function,

the density-based clustering algorithm is a density-based spatial clustering of applications with noise (DBSCAN) algorithm,

the new feature information is represented by the first probability density function calculated using the DBSCAN algorithm,

the existing feature information is represented by the second probability density function calculated using the DBSCAN algorithm, and

the distance is defined by a relative entropy between the first probability density function and the second probability density function.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the selecting comprises:

identifying the selected existing backup images, wherein

the identifying comprises

determining a number of the selected existing backup images, and

determining a backup identifier for each of the selected existing backup images.

16. A computing system comprising:

one or more processors; and

a non-transitory computer-readable storage medium coupled to the one or more processors, comprising program instructions, which, when executed by the one or more processors, perform a method comprising

generating new feature information for a portion of data, wherein

the portion of the data is a sample of data of a new backup image,

the new backup image is a full image,

the sample of the data of the new backup image is the data of the new backup image that is within a sample window of the data of the new backup image,

the new feature information comprises one or more generative models for a machine learning process,

the new feature information of the sample of the data is representative of one or more features of the data of the new backup image by virtue of the one or more generative models being representative of one or more features of the data of the new backup image,

the one or more features are representative of container usage of the new backup image,

the container usage of the new backup image comprises a logical size of each of one or more fingerprints stored in a data container of the new backup image and a data container identifier of the data container of the new backup image, and

the machine learning process receives the portion of the data of the new backup image as an input,

for each existing backup image in a plurality of existing backup images,

comparing the new feature information with existing feature information, wherein

the each existing backup image is another full image,

the each existing backup image comprises existing data,

the one or more existing features are representative of container usage of the each existing backup image,

the container usage of the each existing backup image comprises another logical size of each of one or more fingerprints stored in a data container of the each existing backup image and a data container identifier of the data container of the each existing backup image,

the existing feature information comprises one or more other generative models for the machine learning process,

the comparing comprises

 performing a distance determination operation,

the distance determination operation determines a distance between a feature of the new feature information and a feature of the existing feature information based on the logical size of the each of the one or more fingerprints stored in the data container of the new backup image, the data container identifier of the data container of the new backup image, the another logical size of the each of the one or more fingerprints stored in the data container of the each existing backup image, and the data container identifier of the data container of the each existing backup image, and

the comparing results in corresponding distance information for the each existing backup image, with respect to the new feature information,

in response to the comparing, selecting one or more of the plurality of existing backup images as selected existing backup images, based, at least in part, on the corresponding distance information for each of the plurality of existing backup images, and

prefetching the selected existing backup images.

17. The computing system of claim 16 , wherein the generating comprises:

producing pre-processed data by performing one or more data pre-processing operations on the portion of the data; and

producing the new feature information by performing a feature extraction operation on the pre-processed data, wherein

the feature extraction operation is comprised in the machine learning process.

18. The computing system of claim 17 , wherein the generating further comprises:

retrieving the portion of the data,

the one or more data pre-processing operations comprise at least one of

an outlier removal operation,

a data clustering operation, or

a kernel density estimation operation,

each of the one or more features of the data of the new backup image and each of the one or more existing features of the data of the each existing backup image comprises a lower bound of a data container identifier range, a mean of the data container identifier range, and an upper bound of the data container identifier range, and

the logical size is a size of data at the mean of the data container identifier range.

19. The computing system of claim 17 , wherein

the one or more data pre-processing operations comprise a data clustering operation,

the data clustering operation comprises a density-based clustering algorithm, the distance determination operation comprises

determining a distance between each feature of the new feature information and a feature of the existing feature information by calculating a relative entropy between a first probability density function and a second probability density function,

the density-based clustering algorithm is a density-based spatial clustering of applications with noise (DBSCAN) algorithm,

the new feature information is represented by the first probability density function calculated using the DBSCAN algorithm,

the existing feature information is represented by the second probability density function calculated using the DBSCAN algorithm, and

the distance is defined by a relative entropy between the first probability density function and the second probability density function.

20. The computing system of claim 16 , wherein the selecting comprises:

identifying the selected existing backup images, wherein

the identifying comprises

determining a number of the selected existing backup images, and

determining a backup identifier for each of the selected existing backup images.

Assignments (10)
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 069574/0951 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELESAE OF SECURITY INTEREST IN PATENTS AT R/F 053640/0780 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0492 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Aug 31, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053640/0780 →
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 Jul 31, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 053373/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2020
From: QIN, YAOBIN; ZHANG, XIANBO
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 052276/0981 →
Continuity (1)
Provisional Application 62969082 · Feb 2, 2020
References Cited (20)
US 8315992B1 · Gipp et al. · 2012 [cited by applicant]
US 8935446B1 · Shilane · 2015 [cited by examiner]
US 9134914B1 · Derbeko et al. · 2015 [cited by applicant]
US 9575680B1 · Zhang · 2017 [cited by examiner]
US 9733846B1 · Wigmore et al. · 2017 [cited by applicant]
US 10380074B1 · Gu · 2019 [cited by examiner]
US 10592149B1 · Jenkins et al. · 2020 [cited by applicant]
US 20100074439A1 · Howells · 2010 [cited by examiner]
US 20120303866A1 · Bandic et al. · 2012 [cited by applicant]
US 20140074804A1 · Colgrove · 2014 [cited by examiner]
US 20150019499A1 · Aronovich · 2015 [cited by examiner]
US 20170090786A1 · Parab et al. · 2017 [cited by applicant]
US 20180173732A1 · Wu · 2018 [cited by examiner]
US 20190213088A1 · Olson · 2019 [cited by examiner]
US 20190310591A1 · Hazard · 2019 [cited by examiner]
US 20210191911A1 · Ponnala · 2021 [cited by examiner]
US 20210240377A1 · VanderSpek et al. · 2021 [cited by applicant]
CN 110569245A · 2019 [cited by examiner]
WO WO2020112025A1 · 2020 [cited by examiner]
Zhu, Benjamin, et al., “Avoiding the Disk Bottleneck in the Data Domain Deduplication File System”, USENIX Association, Fast 2008: 6th USENIX Conference on File and Storage Technologies, 2008, pp. 269-282. [cited by applicant]