IP Library Granted Patent US 10,168,929
Granted Patent B2
US 10,168,929 · App. 15/705,629 · Granted Jan 1, 2019

Browse and restore for block-level backups

Inventors: Sri Karthik Bhagi (Eatontown, NJ); Sunil Kumar Gutta (Hyderabad, IN); Vijay H. Agrawal (Pune, IN); Rahul S. Pawar (Marlboro, NJ)
Assignee: Commvault Systems, Inc.
G06F3/0619G06F3/065G06F3/0665G06F3/0689G06F11/00G06F11/1469
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 10,168,929
App. No.
15/705,629
Granted
Jan 1, 2019
Kind
B2
Abstract

Systems and methods for performing file-level restore operations for block-level data volumes are described. In some embodiments, the systems and methods restore data from a block-level data volume contained in secondary storage by receiving a request to restore one or more files from the block-level data volume, mounting a virtual GUID Partition Table (GPT) disk to the block-level data volume, accessing one or more mount paths established by the virtual GPT disk between the data agent and the block-level data volume, and browsing data from one or more files within the block-level data volume via the established one or more mount paths provided by the virtual GPT disk.

Claims (53)

1. A system for browsing and restoring data contained in a block-level data volume, the system comprising:

at least one processor;

at least one data storage device coupled to the at least one processor and storing instructions for implementing a process to restore data contained in a block-level data volume, wherein the process comprises:

receiving a request to perform a file-level restore of the block-level data volume;

mounting, via a pseudo mount component, a virtual disk to the block-level data volume; and

restoring, via a restore component, data from one or more files within the block-level data volume via one or more mount paths provided by the virtual disk.

2. The system of claim 1 , wherein the restore component is configured to:

identify clusters within the block-level data volume associated with the one or more files;

translate the identified clusters into disk sectors;

transfer a read request of the disk sectors to a virtual disk driver;

receive, from the virtual disk driver, volume extent information associated with volume extents for the one or more files within the block-level data volume and converted by the virtual disk driver from disk extent information that was based on size and offset information associated with the disk sectors; and

access data from the one or more files within the block-level data volume using the received volume extent information associated with the volume extents for the one or more files within the block-level data volume.

3. The system of claim 1 , wherein the pseudo mount component creates a pseudo mount point to the block-level data volume that represents a point in time image of the block-level data volume.

4. The system of claim 1 , wherein the pseudo mount component launches a pseudo mount server having a client interface that mounts the virtual disk to the block-level data volume.

5. The system of claim 1 , wherein the data from one or more files within the block-level data volume is indexed with at least one of the following:

a) one or more mount points,

b) one or more file extents,

c) one or more file offsets, or

d) one or more archive file identifiers.

6. The system of claim 1 , wherein the pseudo mount component mounts the virtual disk based on information contained in a file restore configuration file of an index cache associated with the block-level data volume.

7. The system of claim 1 , wherein the pseudo mount component mounts a virtual disk that includes a single partition based on a relative size of the block-level data volume to the block-level data volume.

8. The system of claim 1 , wherein the restore component is configured to:

translate, via the virtual disk and a virtual disk driver, a received file restore request into a volume extent request; and

restore data associated with the volume extent request.

9. A computer-readable medium, excluding transitory propagating signals, storing instructions that, when executed by a pseudo mount server, causes the pseudo mount server to perform a method for facilitating file-level browsing of a block-level data volume, the method comprising:

generating a pseudo mount point to the block-level data volume that represents a point in time image of the block-level data volume,

wherein generating the pseudo mount point to the block-level data volume includes mounting a virtual disk to the block-level data volume;

translating, via the pseudo mount point, a file restore request into a volume extent request; and

restoring data associated with the volume extent request via one or more mount paths provided by the virtual disk.

10. The computer-readable medium of claim 9 , wherein generating a pseudo mount point to the block-level data volume that represents a point in time image of the block-level data volume includes creating the virtual disk.

11. The computer-readable medium of claim 9 , wherein generating a pseudo mount point to the block-level data volume that represents a point in time image of the block-level data volume includes accessing a running virtual disk and mounting the running virtual disk to the block-level data volume.

12. The computer-readable medium of claim 9 , wherein the virtual disk includes a single partition based on a relative size of the block-level data volume to the block-level data volume.

13. The computer-readable medium of claim 9 , wherein the virtual disk wraps the block-level data volume into a partition of the virtual disk.

14. The computer-readable medium of claim 9 , wherein the data from one or more files within the block-level data volume is indexed with at least one of the following:

a) one or more mount points,

b) one or more file extents,

c) one or more file offsets, or

d) one or more archive file identifiers.

15. A method for browsing and restoring data contained in a block-level data volume performed by at least one data storage device coupled to at least one processor, the method comprising:

receiving a request to perform a file-level restore of the block-level data volume;

mounting, via a pseudo mount component, a virtual disk to the block-level data volume; and

accessing data from one or more files within the block-level data volume via one or more mount paths provided by the virtual disk, wherein accessing data includes

identifying clusters within the block-level data volume associated with the one or more files;

translating the identified clusters into disk sectors;

transferring a read request of the disk sectors to a virtual disk driver;

receiving, from the virtual disk driver, volume extent information associated with volume extents for the one or more files within the block-level data volume and converted by the virtual disk driver from disk extent information that was based on size and offset information associated with the disk sectors; and

accessing data from the one or more files within the block-level data volume using the received volume extent information associated with the volume extents for the one or more files within the block-level data volume.

16. The method of claim 15 , wherein the pseudo mount component creates a pseudo mount point to the block-level data volume that represents a point in time image of the block-level data volume.

17. The method of claim 15 , wherein the pseudo mount component launches a pseudo mount server having a client interface that mounts the virtual disk to the block-level data volume.

18. The method of claim 15 , wherein the pseudo mount component mounts the virtual disk based on information contained in a file restore configuration file of an index cache associated with the block-level data volume.

19. The method of claim 15 , wherein the method further comprises:

translating, via the virtual disk and a virtual disk driver, a received file restore request into a volume extent request; and

restore data associated with the volume extent request.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2017
From: GUTTA, SUNIL KUMAR; BHAGI, SRI KARTHIK; AGRAWAL, VIJAY H.; PAWAR, RAHUL S.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 043602/0052 →
Continuity (2)
Continuation 14805615 · Jul 22, 2015
Related Publication 20180129435A1 · May 10, 2018
Cited By (4)
US 12,216,613 US 12,253,977 US 12,306,725 US 12,488,143