IP Library Granted Patent US 10,817,326
Granted Patent B2
US 10,817,326 · App. 16/371,412 · Granted Oct 27, 2020

Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)

Inventors: Henry Wallace Dornemann (Eatontown, NJ); Rahul S. Pawar (Marlboro, NJ); Amit Mitkar (Manalapan, NJ); Sunil Kumar Gutta (Hyderabad, IN); Sumedh Pramod Degaonkar (Surrey, CA); Jianwei Chen (Philadelphia, PA)
Assignee: Commvault Systems, Inc.
G06F9/45558G06F3/065G06F11/1438G06F11/1484G06F11/1469G06F2009/45583
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,817,326
App. No.
16/371,412
Granted
Oct 27, 2020
Kind
B2
Abstract

Hypervisor-independent block-level live browse is used for directly accessing backed up virtual machine (VM) data. Hypervisor-free file-level recovery (block-level pseudo-mount) from backed up VMs also is disclosed. Backed up virtual machine (“VM”) data can be browsed without needing or using a hypervisor. Individual backed up VM files can be requested and restored to anywhere without a hypervisor and without the need to restore the rest of the backed up virtual disk. Hypervisor-agnostic VM backups can be browsed and recovered without a hypervisor and from anywhere, and individual backed up VM files can be restored to anywhere, e.g., to a different VM platform, to a non-VM environment, without restoring an entire virtual disk, and without a recovery data agent at the destination.

Claims (70)

1. A system comprising:

a first computing device comprising one or more hardware processors and computer memory, wherein the first computing device is communicatively coupled to a storage device; and

wherein the first computing device is configured to:

execute a first file system, a pseudo-disk driver, and a media agent,

store to the storage device a secondary copy of virtual-machine data backed up from a virtual disk of a virtual machine,

wherein the secondary copy comprises (i) a catalogue of a virtual machine file system for the virtual machine, and (ii) data blocks,

wherein the secondary copy lacks hypervisor-specific metadata from the virtual disk of the virtual machine, and

wherein the virtual machine is hosted on a second computing device that is distinct from the first computing device,

use the pseudo-disk driver to create a pseudo-disk on the first computing device,

mount the pseudo-disk to the first computing device, wherein the pseudo-disk driver presents the pseudo-disk to the first file system as a block data storage device and not as a virtual disk associated with a virtual machine,

by the pseudo-disk driver, retrieve the catalogue of the virtual machine file system from the secondary copy and into the pseudo-disk,

wherein the first file system and the media agent lack direct access to the secondary copy, and

by the first file system without using a hypervisor to interpret the catalogue, enumerate the catalogue of the virtual machine file system as retrieved by the pseudo-disk driver, and transmit the catalogue to the media agent.

2. The system of claim 1 , wherein in response to a request to browse the virtual machine as backed up to the storage device, the media agent transmits the catalogue as enumerated by the first file system.

3. The system of claim 1 , wherein in response to a request to browse the secondary copy, the media agent transmits the catalogue as enumerated by the first file system.

4. The system of claim 1 , wherein the first computing device is further configured to:

receive a request at the media agent for a first file that was backed up from the virtual disk of the virtual machine;

restore the first file, at least in part using the media agent,

from first data blocks that are retrieved by the pseudo-disk driver from the secondary copy into the pseudo-disk based on information about the first file in the catalogue of the virtual machine file system as enumerated by the first file system; and

wherein the first file is restored at the first computing device without using a hypervisor.

5. The system of claim 4 , wherein the information about the first file found in the catalogue comprises associations between the first file and the first data blocks.

6. The system of claim 4 , wherein the information about the first file found in the catalogue comprises associations between the first file and the first data blocks; and

wherein an index generated when the secondary copy was stored to the storage device points to at least one of the first data blocks in the secondary copy at the storage device.

7. The system of claim 1 , wherein the first computing device is further configured to:

in response to a request to browse the secondary copy, transmit the catalogue as enumerated by the first file system;

receive a request for a first file that was backed up from the virtual disk of the virtual machine;

in response to one or more read requests for first data blocks issued by the first file system to the pseudo-disk, (A) retrieve the first data blocks by the pseudo-disk driver from the secondary copy and into the pseudo-disk, and (B) serve the first data blocks to the first file system;

without using a hypervisor, restore the first file from the first data blocks, at least in part by the media agent; and

transmit the first file as restored in response to the request.

8. The system of claim 7 , wherein an index generated when the secondary copy was stored to the storage device points to at least one of the first data blocks in the secondary copy at the storage device.

9. The system of claim 1 , wherein the first computing device lacks a communicative coupling to a hypervisor for interpreting the catalogue of the virtual machine file system retrieved from the secondary copy.

10. A system comprising:

a first computing device comprising one or more hardware processors and computer memory,

wherein the first computing device is communicatively coupled to a storage device that comprises a secondary copy of virtual-machine data backed up from a virtual disk of a virtual machine,

wherein the secondary copy comprises (i) a catalogue of a virtual machine file system for the virtual machine, and (ii) data blocks,

wherein the secondary copy lacks hypervisor-specific metadata from the virtual disk of the virtual machine, and

wherein the virtual machine is hosted on a second computing device that is distinct from the first computing device; and

wherein the first computing device is configured to:

execute a first file system, a pseudo-disk driver, and a media agent,

use the pseudo-disk driver to create a pseudo-disk on the first computing device,

mount the pseudo-disk to the first computing device, wherein the pseudo-disk driver presents the pseudo-disk to the first file system as a block data storage device and not as a virtual disk associated with a virtual machine,

by the pseudo-disk driver, retrieve the catalogue of the virtual machine file system from the secondary copy and into the pseudo-disk, wherein the first file system and the media agent lack direct access to the secondary copy, and

by the first file system without using a hypervisor to interpret the catalogue, enumerate the catalogue of the virtual machine file system and transmit the catalogue to the media agent, and by the media agent, transmit the catalogue as enumerated by the first file system in response to a request to browse the secondary copy.

11. The system of claim 10 , wherein the first computing device is further configured to:

receive a request at the media agent for a first file backed up from the virtual disk of the virtual machine;

restore the first file, at least in part using the media agent, from first data blocks that are retrieved by the pseudo-disk driver from the secondary copy into the pseudo-disk based on information about the first file in the catalogue of the virtual machine file system, wherein the first file is restored at the first computing device without using a hypervisor.

12. The system of claim 11 , wherein the information about the first file found in the catalogue comprises associations between the first file and the first data blocks.

13. The system of claim 11 , wherein the information about the first file found in the catalogue comprises associations between the first file and the first data blocks; and

wherein an index generated when the secondary copy was stored to the storage device points to at least one of the first data blocks in the secondary copy.

14. The system of claim 10 , wherein the media agent at least in part generated the secondary copy and also generated an index stored to the first computing device, and wherein the index points to the secondary copy in the storage device.

15. A non-transitory computer-readable medium storing instructions that, when executed by a first computing device that comprises one or more hardware processors, causes the first computing device to perform operations comprising:

maintain a communicative coupling to a storage device that comprises a secondary copy of virtual-machine data backed up from a virtual disk of a virtual machine,

wherein the secondary copy comprises (i) a catalogue of a virtual machine file system for the virtual machine, and (ii) data blocks,

wherein the secondary copy lacks hypervisor-specific metadata from the virtual disk of the virtual machine, and

wherein the virtual machine is hosted on a second computing device that is distinct from the first computing device;

execute a first file system, a pseudo-disk driver, and a media agent;

use the pseudo-disk driver to create a pseudo-disk on the first computing device;

mount the pseudo-disk to the first computing device, wherein the pseudo-disk driver presents the pseudo-disk to the first file system as a block data storage device and not as a virtual disk associated with a virtual machine;

by the pseudo-disk driver, retrieve the catalogue of the virtual machine file system from the secondary copy and into the pseudo-disk, wherein the first file system and the media agent lack direct access to the secondary copy;

by the first file system without using a hypervisor to interpret the catalogue, enumerate the catalogue of the virtual machine file system and transmit the catalogue to the media agent; and

by the media agent in response to a request to browse the secondary copy, transmit the catalogue as enumerated by the first file system.

16. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

receive a request at the media agent for a first file backed up from the virtual disk of the virtual machine;

restore the first file, at least in part using the media agent, wherein first data blocks are retrieved by the pseudo-disk driver from the secondary copy into the pseudo-disk based on information about the first file in the catalogue of the virtual machine file system, and

wherein the first file is restored at the first computing device without using a hypervisor.

17. The non-transitory computer-readable medium of claim 16 , wherein the information about the first file found in the catalogue comprises associations between the first file and the first data blocks.

18. The non-transitory computer-readable medium claim 16 , wherein the information about the first file found in the catalogue comprises associations between the first file and the first data blocks; and

wherein an index generated when the secondary copy was stored to the storage device points to at least one of the first data blocks in the secondary copy.

19. The non-transitory computer-readable medium of claim 15 , wherein the media agent at least in part generated the secondary copy and also generated an index stored to the first computing device, and wherein the index points to the secondary copy in the storage device.

20. The non-transitory computer-readable medium of claim 15 , wherein the first computing device lacks a communicative coupling to a hypervisor for interpreting the catalogue of the virtual machine file system retrieved from the secondary copy.

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 Apr 1, 2019
From: DORNEMANN, HENRY WALLACE; PAWAR, RAHUL S.; MITKAR, AMIT; GUTTA, SUNIL KUMAR; DEGAONKAR, SUMEDH PRAMOD; CHEN, JIANWEI
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 048758/0433 →
Continuity (3)
Continuation 15436563 · Feb 17, 2017
Provisional Application 62305919 · Mar 9, 2016
Related Publication 20190227832A1 · Jul 25, 2019
Cited By (1)
US 12,647,313