IP Library Granted Patent US 9,081,792
Granted Patent B1
US 9,081,792 · App. 14/577,152 · Granted Jul 14, 2015

Optimizing backup of whitelisted files

Inventors: Stephen Williams (South Jordan, UT); Nathan S. Bushman (Springville, UT)
Assignee: STORAGECRAFT TECHNOLOGY CORPORATION
G06F17/30156
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,081,792
App. No.
14/577,152
Granted
Jul 14, 2015
Kind
B1
Abstract

Optimizing backup of whitelisted files. In one example embodiment, a method of optimizing backup of whitelisted files may include a whitelist analysis phase that may include identifying a set of allocated blocks in a source storage at a point in time, identifying whitelisted files that are already stored in a deduplication storage, and determining whether one of the whitelisted files is stored in the source storage by analyzing file attribute data stored in file system metadata in the source storage. If so, the whitelist analysis phase may include pruning the set of allocated blocks to exclude the allocated blocks that correspond to content of the one whitelisted file and associating logical locations of the content of the one whitelisted file as stored in the source storage with logical locations of the content of the one whitelisted file as stored in the deduplication storage.

Claims (33)

1. A method of optimizing backup of whitelisted files in a source storage during deduplication of the source storage, the method being executed by one or more processors, the method comprising:

a whitelist analysis phase that includes:

identifying a set of allocated blocks in the source storage at a point in time;

identifying whitelisted files that are already stored in a deduplication storage;

determining whether one or more of the whitelisted files are stored in the source storage by analyzing file attribute data stored in file system metadata in the source storage;

responsive to one or more of the whitelisted files being stored in the source storage, pruning the set of allocated blocks to exclude the allocated blocks that correspond to content of the one or more whitelisted files; and

associating logical locations of the content of the one or more whitelisted files as stored in the source storage with logical locations of the content of the one or more whitelisted files as stored in the deduplication storage;

an analysis phase that is performed after completion of the whitelist analysis phase and that includes, for each block in the pruned set of allocated blocks:

determining if the allocated block is duplicated in the deduplication storage; and

responsive to the allocated block being duplicated in the deduplication storage, associating a physical location of the allocated block as stored in the source storage with a physical location of the corresponding duplicated block as stored in the deduplication storage;

a backup phase that is performed after completion of the analysis phase and that includes, for each unique nonduplicate block in the pruned set of allocated blocks:

storing the unique nonduplicate block in the deduplication storage; and

associating a physical location of the unique nonduplicate block as stored in the source storage with a physical location of the corresponding block as stored in the deduplication storage; and

a whitelist restore phase that is performed after completion of the backup phase and that includes the following steps for the blocks that correspond to the content of the one or more whitelisted files:

determining the physical locations corresponding to the logical locations of the blocks as stored in the deduplication storage;

reading the blocks from the determined physical locations of the deduplication storage;

determining the physical locations corresponding to the logical locations of the blocks as stored in the source storage at the point in time; and

storing the blocks in physical locations of a restore storage that match the determined physical locations of the source storage.

2. The method as recited in claim 1 , wherein the whitelisted files includes files that have been seeded into the deduplication storage, the seeded whitelisted files each having a size that is above a predetermined threshold size.

3. The method as recited in claim 1 , wherein the identifying the whitelisted files includes:

gaining file level access to files from multiple storages that have been backed up into the deduplication storage; and

comparing file attribute data stored in file system metadata of each of the multiple backed-up storages to identify common files having a size that is above a predetermined threshold size.

4. The method as recited in claim 3 , wherein the comparing the file attribute data further includes comparing hashes, stored in the deduplication storage, of blocks of the common files to verify that the common files are identical.

5. The method as recited in claim 3 , wherein the comparing the file attribute data further includes comparing additional file attribute data stored in blocks of files in the multiple backed-up storages to identify common files.

6. The method as recited in claim 1 , wherein the analyzing the file attribute data further includes analyzing additional file attribute data stored in blocks of the files that are stored in the source storage.

7. The method as recited in claim 1 , wherein the whitelisted files includes a particular Windows Image Boot (WIMBoot) file.

8. The method as recited in claim 1 , further comprising:

a restore phase that is performed after completion of the backup phase and that includes the following steps for each of the blocks in the pruned set of allocated blocks:

reading the block from the deduplication storage; and

storing the block in the restore storage in a physical location that matches the associated physical location of the block as originally stored in the source storage at the point in time.

9. One or more non-transitory computer-readable media storing one or more programs that are configured, when executed, to cause the one or more processors to execute the method as recited in claim 1 .

10. The method as recited in claim 1 , wherein the whitelisted files include files that have been seeded into the deduplication storage.

11. The method as recited in claim 1 , wherein the identifying the whitelisted files includes analyzing files stored in the deduplication storage to identify common files having a size that is above a predetermined threshold size.

Assignments (6)
CHANGE OF NAME Recorded Aug 16, 2024
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: STORAGECRAFT TECHNOLOGY LLC
Reel/Frame 068660/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2024
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC; ARCSTOR MIDCO LLC; ARCSERVE ACQUISITION COMPANY LLC; ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY, LLC
To: STORAGECRAFT, LLC
Reel/Frame 068660/0208 →
SECURITY INTEREST Recorded Mar 16, 2021
From: ARCSERVE (USA) LLC; STORAGECRAFT TECHNOLOGY LLC; ZETTA, LLC
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 055603/0219 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 16, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 055614/0607 →
SECURITY AGREEMENT Recorded Apr 18, 2016
From: STORAGECRAFT TECHNOLOGY CORPORATION
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 038449/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2014
From: WILLIAMS, STEPHEN; BUSHMAN, NATHAN S.
To: STORAGECRAFT TECHNOLOGY CORPORATION
Reel/Frame 034558/0858 →