IP Library Granted Patent US 9,569,446
Granted Patent B1
US 9,569,446 · App. 13/156,199 · Granted Feb 14, 2017

Cataloging system for image-based backup

Inventors: David Allen Feathergill (Woodstock, IL); Matthew S. Hrycko (Addison, IL)
Assignee: Dell Software Inc.
G06F17/30088
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,569,446
App. No.
13/156,199
Granted
Feb 14, 2017
Kind
B1
Abstract

Examples of systems and methods for cataloging image-based backups are disclosed. In certain implementations, these systems and methods can obtain information about file system structure from a volume undergoing image-based backup. The systems and methods can generate a catalog of the file system structure that can be stored with the backup image. The systems and methods can generate a searchable index of the catalog so that users can search for files within the backup image without being required to manually mount the backup image containing the searched-for file. As a result, in certain embodiments, users advantageously can more quickly locate and restore files from image-based backups.

Claims (72)

1. A system for backing up a virtual machine disk file in a virtual computing environment, the system comprising:

a computer system comprising computer hardware, the computer system comprising a data store, the computer system programmed to implement a cataloging module, a backup module, and a restore module, wherein:

the cataloging module is configured to, for each virtual machine disk file of a plurality of virtual machine disk files:

access the virtual machine disk file comprising a file system of a guest operating system of a virtual machine to obtain metadata about the file system, the metadata comprising information about a logical structure of the file system;

analyze the metadata to determine a logical hierarchy of a set of files in the file system;

analyze the metadata to determine one or more attributes of the set of files in the file system;

generate a catalog comprising information about the logical hierarchy and the one or more attributes of the set of files in the file system, the catalog comprising a computer-enabled searchable index of at least one of a plurality of image-based backups, wherein the computer-enabled searchable index performs automated file searches within the plurality of image-based backups without manually mounting a backup image containing a searched-for file;

wherein each image-based backup of the plurality of image-based backups is associated with a unique catalog; and

store the catalog outside the virtual machine;

the backup module is configured to, for each virtual machine disk file of the plurality of virtual machine disk files:

backup the virtual machine disk file to a backup image stored on the data store; and

the restore module is configured to:

enable a user to search the catalogs for a desired file from a virtual machine image-based backup from outside the virtual machines and without specifying which virtual machine image includes the desired file; and

wherein the computer system is programmed to concurrently and asynchronously execute the cataloging module in a first thread and the backup module in a second thread different from the first thread, wherein the cataloging module is configured to determine the logical hierarchy of the at least some files in the file system in a first pass through the metadata and to determine the one or more attributes of the at least some files in the file system in a second pass through the metadata; and

wherein the first thread and the second thread are executed by a backup server outside the virtual machine associated with the virtual machine disk file.

2. The system of claim 1 , wherein the set of files includes at least one file and at least one directory of the file system.

3. The system of claim 1 , wherein a first processor is programmed to execute the cataloging module and the backup module, and a second processor is programmed to execute the virtual machine, the first processor different from the second processor.

4. The system of claim 1 , wherein the cataloging module is configured to store the catalog in the data store.

5. The system of claim 1 , wherein the computer system is programmed to execute the cataloging module and the backup module outside the virtual machine.

6. The system of claim 1 , wherein the metadata comprises a master file table (MFT).

7. The system of claim 1 , wherein the virtual machine disk file comprises a snapshot of a base virtual machine disk file, the snapshot comprising a point-in-time copy of the base file.

8. The system of claim 7 , wherein the backup module is further configured to establish a savepoint, the savepoint comprising the backup image and the catalog.

9. The system of claim 1 , wherein the set of files includes all the files and directories of the file system.

10. The system of claim 1 , wherein the catalog or the computer-enabled searchable index includes path information for the set of files in the file system.

11. The system of claim 1 , wherein the restore module is configured to:

receive a search inquiry for a file that may be included in a backup image, the backup image associated with a catalog;

generate a searchable index from the catalog associated with the backup image;

search the searchable index of the catalog associated with the backup image to determine matches to the search inquiry; and

output information relating to the matches to the search inquiry.

12. The system of claim 11 , wherein the restore module is further configured to:

receive a selection of a match to the search inquiry;

mount the backup image associated with the selection of the match to the search inquiry; and

restore the selection from the mounted backup image to a target.

13. The system of claim 11 , wherein the computer system is programmed to implement a database module, and to generate the computer-enabled searchable index from the catalog associated with the backup image:

the restore module is configured to import the catalog into the database module; and

the database module is configured to generate the computer-enabled searchable index.

14. A method of backing up a virtual machine disk file in a virtual computing environment, the method comprising:

under control of a computer system comprising one or more physical computing devices, for each virtual machine disk file of a plurality of virtual machine disk files:

accessing metadata of the virtual machine disk file, the virtual machine disk file comprising a file system of a guest operating system of a virtual machine executing on a host server, the metadata comprising information about a logical structure of the file system;

analyzing the metadata to determine a logical hierarchy of a set of files in the file system and one or more attributes of the set of files in the file system;

filtering the metadata based on at least one filter criterion to determine the set of files in the file system;

generating a catalog comprising information about the logical hierarchy and the one or more attributes of the set of files in the file system, the catalog comprising a computer-enabled searchable index of at least one of a plurality of image-based backups, wherein the computer-enabled searchable index performs automated file searches within the plurality of image-based backups without manually mounting a backup image containing a searched-for file;

wherein each image-based backup of the plurality of image-based backups is associated with a unique catalog;

storing the catalog in a persistent storage outside the virtual machine;

backing up the virtual machine disk file to a backup image;

the computer system enabling a user to search the catalogs for a desired file from a virtual machine image-based backup from outside the virtual machines and without specifying which virtual machine image includes the desired file;

wherein the computer system is programmed to concurrently and asynchronously execute a first thread and a second thread;

wherein the first thread comprises a cataloging thread that is configured to determine the logical hierarchy of the at least some files in the file system in a first pass through the metadata and to determine the one or more attributes of the at least some files in the file system in a second pass through the metadata;

wherein the second thread comprises the backing up; and

wherein the first thread and the second thread are executed by a backup server outside the virtual machine associated with the virtual machine disk file.

15. The method of claim 14 , wherein backing up the virtual machine disk file comprises storing the backup image in the persistent storage.

16. The method of claim 14 , wherein analyzing the metadata comprises reading the metadata a plurality of times.

17. The method of claim 14 , further comprising:

wherein the virtual machine disk file comprises a snapshot of a base virtual machine disk file, the snapshot comprising a point-in-time copy of the base virtual machine disk file; and

establishing a savepoint, the savepoint comprising the backup image and the catalog.

18. The method of claim 14 , further comprising:

searching the computer-enabled searchable index to find a match to a user inquiry for a file that may be stored in the backup image; and

if a match is found, restoring the file from the backup image to a target destination.

19. A computer-readable storage medium comprising computer-executable instructions configured to implement a method of backing up a virtual machine image, the method comprising:

for each virtual machine image of a plurality of virtual machine images:

accessing metadata of the virtual machine image, the virtual machine image comprising a file system of a guest operating system of a virtual machine, the metadata comprising information about a logical structure of the file system;

analyzing the metadata to determine a logical hierarchy of a set of files in the file system and one or more attributes of the set of files in the file system;

filtering the metadata based on at least one filter criterion to determine the set of files in the file system;

generating a catalog comprising information about the logical hierarchy and the one or more attributes of the set of files in the file system, the catalog comprising a computer-enabled searchable index of at least one of a plurality of image-based backups, wherein the computer-enabled searchable index performs automated file searches within the plurality of image-based backups without manually mounting a backup image containing a searched-for file;

wherein each image-based backup of the plurality of image-based backups is associated with a unique catalog;

storing the catalog in a persistent storage;

backing up the virtual machine image to a backup image;

enabling a user to search the catalogs for a desired file from a virtual machine image-based backup from outside the virtual machines and without specifying which virtual machine image includes the desired file;

wherein the computer-executable instructions launch a first thread and a second thread that execute concurrently and asynchronously;

wherein the first thread comprises a cataloging thread that is configured to determine the logical hierarchy of the at least some files in the file system in a first pass through the metadata and to determine the one or more attributes of the at least some files in the file system in a second pass through the metadata;

wherein the second thread comprises the backing up; and

wherein the first thread and the second thread are executed by a backup server outside the virtual machine associated with a virtual machine disk file.

Assignments (27)
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 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 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 →
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 →
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 →
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 →
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 Jul 14, 2011
From: FEATHERGILL, DAVID ALLEN; HRYCKO, MATTHEW S.
To: QUEST SOFTWARE, INC.
Reel/Frame 026592/0779 →
Continuity (1)
Provisional Application 61352745 · Jun 8, 2010