IP Library Granted Patent US 8,898,114
Granted Patent B1
US 8,898,114 · App. 13/218,362 · Granted Nov 25, 2014

Multitier deduplication systems and methods

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 8,898,114
App. No.
13/218,362
Granted
Nov 25, 2014
Kind
B1
Abstract

Multitier deduplication can reduce the amount of bandwidth and storage resources used during deduplication. In certain embodiments, the system can determine if a data block is stored in a first archive data storage. If so, the system can skip the data block. If not, the system can determine if the data block is stored or identified in a second archive data storage. In various implementations, the first archive data storage can be local to the system and the second archive data storage can be a global archive that may be remote from the system. The system can create a map of a plurality of backups stored at the first archive enabling the system to quickly check multiple archives. The multitier data deduplication can filter out inactive data blocks during or before performing the deduplication process.

Claims (65)

1. A system for deduplicating a backup archive, the system comprising:

a computer system comprising computer hardware, the computer system programmed to implement:

a deduplication module configured to:

access one or more block directories associated with one or more backup archives at an archive data store, wherein the one or more block directories include fingerprints of data blocks associated with the one or more backup archives, and wherein at least one of the one or more backup archives is associated with a data store;

create a composite block map based at least in part on the one or more block directories, wherein the composite block map includes fingerprints of each data block stored at the archive data store; and

access one or more data blocks from the data store and for each of the one or more data blocks, the deduplication module is further configured to:

create a fingerprint for the data block;

determine whether the fingerprint exists in the composite block map of the archive data store;

in response to determining that the fingerprint does not exist in the composite block map, determine whether the fingerprint exists in a global deduplication data store, wherein the global deduplication data store is separate from the archive data store and the composite block map; and

in response to determining that the fingerprint does not exist in the global deduplication data store, identify the data block for backup storage; and

a backup module configured to:

backup each of the data blocks identified for backup storage as a target archive at the archive data store; and

store the fingerprint associated with each of the data blocks identified for backup storage at a target block directory associated with the target archive.

2. The system of claim 1 , wherein the fingerprint includes one or more of a checksum and a hash.

3. The system of claim 1 , wherein the one or more backup archives or the target archive include one or more of a full archive, an incremental archive, and a differential archive.

4. The system of claim 1 , wherein the deduplication module is further configured to:

create a map of the active and the inactive data blocks of the one or more data blocks from the data store; and

access the data blocks identified as active in the map and to not access the data blocks identified as inactive in the map.

5. The system of claim 1 , wherein at least one of the one or more data blocks is associated with a virtual machine file.

6. The system of claim 1 , in response to determining that the fingerprint exists in the composite block map, the deduplication module is further configured to update the target block directory to point to the location of the block associated with the fingerprint at the archive data store.

7. The system of claim 1 , in response to determining that the fingerprint exists in the global deduplication data store, the deduplication module is further configured to update the target block directory to point to the location of the block associated with the fingerprint at the global deduplication data store.

8. The system of claim 1 , wherein the backup module is further configured to:

remove each data block from the target archive not identified for backup storage by the deduplication module, and

remove each fingerprint from the target block directory associated with each removed data block.

9. A method of deduplicating a backup archive, the method comprising:

by a computer system comprising computer hardware:

accessing one or more block directories associated with one or more archives at an archive data store, wherein the one or more block directories include fingerprints of data blocks associated with the one or more archives, and wherein at least one of the one or more archives is associated with a data store;

creating a composite block map based at least in part on the one or more block directories, wherein the composite block map includes fingerprints of each data block stored at the archive data store; and

accessing one or more data blocks from the data store and for each of the one or more data blocks:

creating a fingerprint for the data block;

determining whether the fingerprint exists in the composite block map of the archive data store;

in response to determining that the fingerprint does not exist in the composite block map, determining whether the fingerprint exists in a global deduplication data store, wherein the global deduplication data store is separate from the archive data store and the composite block map;

in response to determining that the fingerprint does not exist in the global deduplication data store, backing up the data block as part of a target archive at the archive data store; and

storing the fingerprint associated with the data block storage at a target block directory associated with the target archive.

10. The method of claim 9 , further comprising:

creating a map of the active and the inactive data blocks of the one or more data blocks from the data store, and

accessing the data blocks identified as active in the map while not accessing the data blocks identified as inactive in the map.

11. The method of claim 9 , wherein in response to determining that the fingerprint exists in the composite block map, the method further comprises updating the target block directory to point to the location of the block associated with the fingerprint at the archive data store.

12. The method of claim 9 , wherein in response to determining that the fingerprint exists in the global deduplication data store, the method further comprises updating the target block directory to point to the location of the block associated with the fingerprint at the global deduplication data store.

13. The method of claim 9 , wherein in response to determining that the fingerprint exists in the composite block map, the method further comprises:

removing the data block from the target archive, and

removing the fingerprint from the target block directory.

14. The method of claim 9 , wherein in response to determining that the fingerprint exists in the global deduplication data store, the method further comprises:

removing the data block from the target archive, and

removing the fingerprint from the target block directory.

15. A non-transitory computer-readable storage medium comprising computer-executable instructions configured to implement a method of deduplicating a backup archive, the method comprising:

accessing one or more block directories associated with one or more archives at a first archive data store, wherein the one or more block directories include fingerprints of data blocks associated with the one or more archives, and wherein at least one of the one or more archives is associated with a data store;

creating a composite block map based at least in part on the one or more block directories, wherein the composite block map includes fingerprints of each data block stored at the first archive data store; and

accessing one or more data blocks from the data store and for each of the one or more data blocks:

creating a fingerprint for the data block;

determining whether the fingerprint exists in the composite block map of the first archive data store;

in response to determining that the fingerprint does not exist in the composite block map, determining whether the fingerprint exists in a second archive data store, wherein the second archive data store is separate from the first archive data store and the composite block map;

in response to determining that the fingerprint does not exist in the second archive data store, backing up the data block as part of a target archive at the first archive data store; and

storing the fingerprint associated with the data block storage at a target block directory associated with the target archive.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises:

creating a map of the active and the inactive data blocks of the one or more data blocks from the data store, and

accessing the data blocks identified as active in the map while not accessing the data blocks identified as inactive in the map.

17. The non-transitory computer-readable storage medium of claim 15 , wherein in response to determining that the fingerprint exists in the composite block map, the method further comprises updating the target block directory to point to the location of the block associated with the fingerprint at the first archive data store.

18. The non-transitory computer-readable storage medium of claim 15 , wherein in response to determining that the fingerprint exists in the second archive data store, the method further comprises updating the target block directory to point to the location of the block associated with the fingerprint at the second archive data store.

19. The non-transitory computer-readable storage medium of claim 15 , wherein in response to determining that the fingerprint exists in the composite block map, the method further comprises:

removing the data block from the target archive, and

removing the fingerprint from the target block directory.

20. The non-transitory computer-readable storage medium of claim 15 , wherein in response to determining that the fingerprint exists in the second archive data store, the method further comprises:

removing the data block from the target archive, and

removing the fingerprint from the target block directory.

Assignments (28)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
CHANGE OF NAME Recorded Aug 19, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031035/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2011
From: MATTOX, JASON
To: QUEST SOFTWARE, INC.
Reel/Frame 026814/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2011
From: FEATHERGILL, DAVID ALLEN
To: QUEST SOFTWARE, INC.
Reel/Frame 026814/0452 →