IP Library Granted Patent US 8,725,688
Granted Patent B2
US 8,725,688 · App. 12/553,145 · Granted May 13, 2014

Image level copy or restore, such as image level restore without knowledge of data object metadata

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,725,688
App. No.
12/553,145
Granted
May 13, 2014
Kind
B2
Abstract

A system and method for performing an image level restore of data is described. In some examples, the system receives a request to restore a file and transmits the request to an intermediate component. The intermediate component may then retrieve a directory file from an image of a secondary copy of a data set, identify a location of the file from the directory file, and provide the location to the requestor.

Claims (76)

1. A method in a computing system for restoring an individual file from a snapshot of a primary copy of a data set, the method comprising:

receiving at a file system a request to restore files from a snapshot of a primary copy of a data set,

wherein the snapshot indicates which files are included in the data set at a certain point in time,

wherein at least some of the data set is stored as a secondary copy that differs from the primary copy, and

wherein the secondary copy resides in a storage device that differs from another storage device storing the primary copy of the data set;

transmitting from the file system to an intermediate component a request for a directory file that contains information associated with files imaged by the snapshot,

wherein the directory file includes information identifying the files imaged by the snapshot and information identifying locations of the files imaged by the snapshot in the secondary copy;

redirecting the request for the directory file from the intermediate component to the storage device,

wherein the redirected request includes location information for the directory file;

transmitting the directory file from the storage device to the intermediate component;

storing the received directory file in a cache associated with the intermediate component;

communicating information associated with files contained within the directory file from the intermediate component to the file system;

transmitting a selection of a file to be restored to the intermediate component;

transferring location information for the file from the intermediate component to the file system,

wherein the location information is obtained from the directory file;

transmitting a request for the file using the transferred location information from the file system to the storage device, and

serving a subsequent request to restore files using the directory file stored in the cache associated with the intermediate component.

2. The method of claim 1 , wherein the transferred location information includes an identification of data blocks on the storage device.

3. The method of claim 1 , wherein redirecting the request includes:

at the intermediate component, retrieving a location for the directory file.

4. An intermediate component communicatively located between a restore component and a storage device, the intermediate component comprising:

a memory storing computer-executable instructions of:

a directory request module configured for the intermediate component to:

receive a request from the restore component for restoring files from a snapshot of a primary copy of a data set,

wherein the snapshot indicates which files are included in the data set at a certain point in time,

wherein at least some of the data set corresponding to the snapshot is stored as a secondary copy that differs from the primary copy, and

wherein the secondary copy resides in the storage device that differs from another device storing the primary copy of the data set; and

transmit a request to the storage device for a directory that includes information about files imaged by the snapshot;

a location information retrieval module configured for the intermediate component to:

receive the directory from the storage device;

present information regarding files included in the directory to the restore component; and

transfer location information to the restore component for a file selected by the restore component,

wherein the location information is contained within the received directory; and

a cache module configured for the intermediate component to:

store the received directory or the location information for a predetermined time period after the request for restoring files was received; and

provide the received directory or the location information stored in the cache module in response a subsequent request for restoring files; and

a processor for executing the computer-executable instructions stored in the memory.

5. An intermediate component communicatively located between a restore component and a removable media for restoring an individual file from an image level copy of a primary copy of a data set, comprising:

means for receiving a request to restore files from an image level copy of a primary copy of a data set;

wherein the image level COPY indicates which files are included in the data set at a certain point in time,

wherein at least some of the data set corresponding to the image level copy is stored as a secondary copy that differs from the primary copy, and

wherein the secondary copy resides in the removable media that differs from another storage device storing the primary copy of the data set;

means for requesting a directory file from the secondary copy, wherein the directory file contains information identifying locations of the files imaged by the image level copy and included in the secondary copy;

means for receiving and redirecting the request for the directory file to the removable media, wherein the redirected request includes location information for the directory file obtained from the image level copy;

means for receiving the directory file and storing the received directory file in a cache;

means for communicating information associated with files contained within the directory file to the restore component;

means for receiving a selection of the file to be restored;

means for transferring location information for the file to the restore component receiving a selection of the file, wherein the location information for the file is obtained from the directory file; and

means for serving at least one subsequent request to restore files using the directory file stored in the cache.

6. The intermediate component of claim 5 , wherein the means for displaying files includes:

means for displaying files tracked by the directory file; and

means for displaying files tracked by a file allocation table associated with the primary copy of the data set.

7. A non-transitory computer-readable storage medium containing code, which when executed by a computer causes an intermediate component communicatively located between a restore component and a storage device to perform a method, the method comprising:

receiving a request from the restore component for restoring files from a snapshot of a primary copy of a data set,

wherein the snapshot indicates which files are included in the data set at a certain point in time,

wherein at least some of the data set corresponding to the snapshot is stored as a secondary copy that differs from the primary copy, and

wherein the secondary copy resides in the storage device that differs from another device storing the primary copy of the data set;

transmitting a request to the storage device for a directory that includes information about files imaged by the snapshot;

receiving the directory from the storage device;

presenting information regarding files included in the directory to the restore component;

transferring location information to the restore component for a file selected by the restore component,

wherein the location information is contained within the received directory;

storing the received directory or the location information in a cache for a predetermined time period after the request for restoring files was received; and

providing the received directory or the location information stored in the cache module in response a subsequent request for restoring files.

8. A method performed by an intermediate component communicatively located between a restore component and a removable media to restore an individual file from an image level copy of a primary copy of a data set, the method comprising:

receiving a request to restore files from an image level copy of a primary copy of a data set,

wherein the image level copy indicates which files are included in the data set at a certain point in time,

wherein at least some of the data set corresponding to the image level copy is stored as a secondary copy that differs from the primary copy, and

wherein the secondary copy resides in the removable media that differs from another storage device storing the primary copy of the data set;

requesting a directory file from the secondary copy, wherein the directory file contains information identifying locations of the files imaged by the image level copy and included in the secondary copy;

receiving and redirecting the request for the directory file to the removable media, wherein the redirected request includes location information for the directory file obtained from the image level copy;

receiving the directory file and storing the received directory file in a cache;

communicating information associated with files contained within the directory file to the restore component;

receiving a selection of the file to be restored;

transferring location information for the file to the restore component receiving a selection of the file, wherein the location information for the file is obtained from the directory file; and

serving at least one subsequent request to restore files using the directory file stored in the cache.

Assignments (5)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2009
From: LAD, KAMLESHKUMAR K.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 023187/0064 →