IP Library Granted Patent US 8,938,481
Granted Patent B2
US 8,938,481 · App. 13/794,357 · Granted Jan 20, 2015

Generic file level restore from a block-level secondary copy

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,938,481
App. No.
13/794,357
Granted
Jan 20, 2015
Kind
B2
Abstract

Systems and methods are provided which perform a file level restore by utilizing existing operating system components (e.g., file system drivers) that are natively installed on the target computing device. These components can be used to mount and/or interpret a secondary copy of the file system. For instance, the system can instantiate an interface object (e.g., a device node such as a pseudo device, device file or special file) on the target client which includes file system metadata corresponding to the backed up version of the file system. The interface provides a mechanism for the operating system to mount the secondary copy and perform file level access on the secondary copy, e.g., to restore one or more selected files.

Claims (35)

1. A method for performing a file level restore of a block level secondary copy in a data storage system, comprising:

instantiating a device node on a first computing device, the device node providing an interface for a file system driver executing on the first computing device to access a block-level secondary copy of file system data which resides in secondary storage;

with the file system driver,

interfacing with the device node to obtain file system metadata corresponding to the block-level secondary copy;

processing the obtained file system metadata to mount the block-level secondary copy onto the first computing device;

in response to a request to access at least one file of the mounted secondary copy, interfacing with the device node to request a read of the at least one file;

with the device node and in response to the read request, initiating retrieval of the at least one file from secondary storage; and

copying the retrieved at least one file to primary storage associated with the first computing device.

2. The method of claim 1 , wherein the device node comprises one or more of a pseudo device, a device file, or a special file.

3. The method of claim 1 , wherein said interfacing with the device node to request a read of the at least one file comprises making a standard system read call.

4. The method of claim 1 , wherein a media agent module executing on a second computing device and in communication with the secondary storage retrieves a data block including the at least one file and forwards the data block to a data agent module executing on the first computing device.

5. The method of claim 1 , wherein the file system metadata specifies at least a directory structure for the block-level secondary copy.

6. The method of claim 1 , wherein the file system metadata includes a superblock and said processing comprises processing the superblock.

7. The method of claim 1 , wherein the file system driver corresponds to a first file system type and wherein the file system data of the block-level secondary copy is of the first file system type.

8. The method of claim 1 , wherein the request to access the at least one file is a restore request entered by a user via a graphical user interface.

9. The method of claim 1 , wherein the retrieved at least one file is included in a data block that also includes at least one second file of the mounted secondary copy, the method further comprising:

maintaining the data block in a cache associated with the first computing device;

receiving a request to access the at least one second file in the mounted secondary copy;

with the file system driver and in response to the request to access the at least one second file, interfacing with the device node to request a read of the at least one second file;

with the device node, determining that the at least one second file resides in the cache;

retrieving the at least one second file from the cache; and

copying the at least one second file to the primary storage.

10. A data storage system, comprising:

a first computing device;

a data agent module executing on the first computing device, the data agent module configured to instantiate a device node on the first computing device, the device node providing a file system driver executing on the first computing device with an interface to access a block-level secondary copy of file system data which resides in secondary storage, wherein the file system driver is configured to interface with the device node obtain file system metadata corresponding to the block-level secondary copy and to process the obtained file system metadata to mount the block-level secondary copy onto the first computing device;

wherein the data agent module is further configured to:

in response to instructions from the device node to retrieve at least one file of the mounted block-level secondary copy from secondary storage, request the at least one file from secondary storage; and

receive the at least one file from secondary storage; and

wherein the received at least one file is copied to primary storage associated with the first computing device.

11. The data storage system of claim 10 , wherein the device node comprises one or more of a pseudo device, a device file, or a special file.

12. The data storage system of claim 10 , wherein the device node generates the request to retrieve the at least one file in response to the file system driver making a standard system read call for the at least one file.

13. The data storage system of claim 10 , wherein a media agent module in communication with the secondary storage responds to the request from the data agent module to retrieve a data block including the at least one file, and forwards the data block to the data agent module.

14. The data storage system of claim 10 , wherein the file system metadata specifies at least a directory structure for the block-level secondary copy.

15. The data storage system of claim 10 , wherein the file system metadata includes a superblock and the file system driver processes the superblock to mount the block-level secondary copy.

16. The data storage system of claim 10 , wherein the file system driver corresponds to a first file system type and wherein the file system data of the block-level secondary copy is of the first file system type.

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 May 23, 2013
From: KUMARASAMY, PARAMASIVAM; MITKAR, AMIT; EROFEEV, ANDREI; CHEDALAVADA, DURGA PRASAD; SESHADRI, SUMA; DEVASSY, VARGHESE
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 030478/0387 →