IP Library Granted Patent US 11,573,862
Granted Patent B2
US 11,573,862 · App. 17/173,077 · Granted Feb 7, 2023

Application aware backup of virtual machines

Inventors: Sudha Krishnan Iyer (Cupertino, CA); Rahul S. Pawar (Marlboro, NJ)
Assignee: Commvault Systems, Inc.
G06F11/1451G06F3/065G06F3/0619G06F9/45558G06F11/1458G06F11/301G06F11/302G06F11/3051G06F2009/45562G06F2201/815G06F2201/84G06F2201/865
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 11,573,862
App. No.
17/173,077
Granted
Feb 7, 2023
Kind
B2
Abstract

Systems and methods for performing application aware backups and/or generating other application aware secondary copies of virtual machines are described. For example, the systems and methods described herein may access a virtual machine, automatically discover various databases and/or applications (e.g., SQL, Exchange, Sharepoint, Oracle, and so on) running on the virtual machine, and perform data storage operations that generate a backup, or other secondary copy, of the virtual machine, as well as backups, or other secondary copies, of each of the discovered applications.

Claims (39)

1. A system for performing a data storage operation on a virtual machine, the system comprising:

a host computing device comprising one or more processors, computer memory, and a hypervisor, wherein the one or more processors is configured to:

for one or more applications hosted by a virtual machine, inject an application-specific data agent into the virtual machine that corresponds to the one or more applications hosted by the virtual machine,

wherein the application-specific data agent is configured to perform, at least, an application-specific backup job for a corresponding application that is executed in a specific virtual computing environment;

instruct each application-specific data agent injected into the virtual machine to perform an application-specific backup job,

wherein the application-specific backup job comprises creating a snapshot copy of the corresponding application; and,

create a backup copy of the virtual machine by associating each snapshot copy of the one or more applications with the backup copy of the virtual machine;

generate an index that comprises data imaged by snapshot copies of the one or more applications; and

map the generated index to an index of the backup copy of the virtual machine.

2. The system of claim 1 , wherein creating the backup copy of the virtual machine comprises performing a snapshot operation of the virtual machine to create a snapshot copy of the virtual machine, and wherein the snapshot copy of the virtual machine is a point-in-time copy that reflects locations of blocks of data stored in a data storage device.

3. The system of claim 1 , wherein creating the backup copy of the virtual machine comprises performing a streaming backup operation of the virtual machine to store a secondary copy of the virtual machine to magnetic tape storage media.

4. The system of claim 1 , wherein the one or more processors if further configured to: access a registry of the virtual machine to identify the one or more applications.

5. The system of claim 1 , the one or more processors if further configured to: quiesce an application into an application-consistent state prior to creating a snapshot copy of the corresponding application.

6. The system of claim 1 , wherein the one or more processors if further configured to: discover a SQL application, an Exchange application, an Oracle application, or a Sharepoint application.

7. A method for performing a data storage operation on a virtual machine, the method comprising:

for one or more applications hosted by a virtual machine, injecting a data agent into the virtual machine that corresponds to the one or more applications,

wherein the injected data agent is configured to perform, at least, an application-specific backup job for a corresponding application that is executed in a specific virtual computing environment;

instructing each application-specific data agent injected into the virtual machine to perform an application-specific backup job,

wherein the application-specific backup job comprises creating a snapshot copy of the corresponding application;

creating a backup copy of the virtual machine by associating each snapshot copy of each of the one or more applications with the backup copy of the virtual machine;

generating an index that comprises data imaged by snapshot copies of the one or more applications; and

mapping the generated index to an index of the backup copy of the virtual machine.

8. The method of claim 7 , wherein creating the backup copy of the virtual machine comprises performing a snapshot operation of the virtual machine to create a snapshot copy of the virtual machine, and wherein the snapshot copy of the virtual machine is a point-in-time copy that reflects locations of blocks of data stored in a data storage device.

9. The method of claim 7 , wherein creating the backup copy of the virtual machine comprises performing a streaming backup operation of the virtual machine to store a secondary copy of the virtual machine to magnetic tape storage media.

10. The method of claim 7 , further comprising: accessing a registry of the virtual machine to identify the one or more applications.

11. The method of claim 7 , wherein an application-specific data quiesces corresponding application into an application-consistent state prior to creating a snapshot copy of the corresponding application.

12. The method of claim 7 , further comprising discovering a SQL application, an Exchange application, an Oracle application, or a Sharepoint application.

13. A non-transitory, computer-readable medium having computer-executable instructions stored thereon that, when executed by one or more processors, cause a system to perform a plurality of operations for performing a data storage operation on a virtual machine, the plurality of operations comprising:

for one or more applications hosted by a virtual machine, injecting an application-specific data agent into the virtual machine,

wherein the injected data agent is configured to perform, at least, an application-specific backup job for the one or more applications that is executed in a specific virtual computing environment;

instructing each application-specific data agent injected into the virtual machine to perform an application-specific backup job,

wherein the application-specific backup job comprises creating a snapshot copy of the one or more applications;

creating a backup copy of the virtual machine by associating each snapshot copy of each discovered application with the backup copy of the virtual machine;

generating an index that comprises data imaged by snapshot copies of the one or more applications; and

mapping the generated index to an index of the backup copy of the virtual machine.

14. The non-transitory, computer-readable medium system of claim 13 , wherein creating the backup copy of the virtual machine comprises performing a snapshot operation of the virtual machine to create a snapshot copy of the virtual machine, and wherein the snapshot copy of the virtual machine is a point-in-time copy that reflects locations of blocks of data stored in a data storage device.

15. The non-transitory, computer-readable medium system of claim 13 , wherein creating the backup copy of the virtual machine comprises performing a streaming backup operation of the virtual machine to store a secondary copy of the virtual machine to magnetic tape storage media.

16. The non-transitory, computer-readable medium system of claim 13 , wherein the plurality of operations further comprises: accessing a registry of the virtual machine to identify the one or more applications.

17. The non-transitory, computer-readable medium system of claim 13 , wherein an application-specific data agent quiesces corresponding application into an application-consistent state prior to creating a snapshot copy of the corresponding application.

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 Feb 11, 2021
From: IYER, SUDHA KRISHNAN; PAWAR, RAHUL S.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 055238/0631 →
Continuity (3)
Continuation 15922210 · Mar 15, 2018
Provisional Application 62471629 · Mar 15, 2017
Related Publication 20210208972A1 · Jul 8, 2021