# US 2021/0240571 A1 · Data recovery operations, such as recovery from modified network data management protocol data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240571 A1
- Document ID: US20210240571A1
- Status: Published application
- Kind: A1
- Application number: 17/198,060
- Filed: 2021-03-10
- Published: 2021-08-05
- Earliest claimed: 2010-09-30
- Assignees: Commvault Systems, Inc.
- Applicants: Commvault Systems, Inc.
- Inventors: Duncan Alden LITTLEFIELD; Vimal Kumar NALLATHAMBI; Girish CHANCHLANI
- Web page: https://patentgrep.com/patent/US20210240571A1

## CPC

- G06F 11/1453: {using de-duplication of the data}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0641: {De-duplication techniques}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/1448: {Management of the data involved in backup or backup restore}
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The systems and methods herein permit storage systems to correctly perform data recovery, such as direct access recovery, of Network Data Management Protocol (“NDMP”) backup data that was modified prior to being stored in secondary storage media, such as tape. The systems and methods permit NDMP backup data to be encrypted, compressed, deduplicated, and/or otherwise modified prior to storage. The systems and methods herein also permit a user to perform a precautionary snapshot of the current state of data (e.g., primary data) prior to reverting data to a previous state using point-in-time data.

## Claims

### Claim 1

(canceled)

### Claim 2

A system for
one or more non-transitory, computer-readable media having computer-executable instructions stored thereon; and,
one or more processors that, having executed the computer-executable instructions, configure a system to perform a plurality of operations comprising:
automatically discovering a plurality of applications executable within a virtual machine;
for each discovered application, injecting a data agent into the virtual machine that corresponds to the discovered application, wherein the injected data agent is configured to perform an application-specific backup job for the corresponding application;
instructing each 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,
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.

### Claim 3 (depends on 2)

The system of claim 2, 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.

### Claim 4 (depends on 2)

The system of claim 2, 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.

### Claim 5 (depends on 2)

The system of claim 2, wherein the plurality of operations further comprises:
generating an index that includes data imaged by the snapshot copies of the discovered applications; and
mapping the generated index to an index of the backup copy of the virtual machine.

### Claim 6 (depends on 2)

The system of claim 2, automatically discovering the plurality of applications executable within the virtual machine comprises accessing a registry of the virtual machine to identify the plurality of applications.

### Claim 7 (depends on 2)

The system of claim 2, wherein an injected data agent of a discovered application quiesces the discovered application into an application-consistent state prior to creating a snapshot copy of the discovered application.

### Claim 8 (depends on 2)

The system of claim 2, wherein automatically discovering the plurality of applications executable by the virtual machine include automatically discovering a SQL application, an Exchange application, an Oracle application, or a Sharepoint application.

### Claim 9

A method for performing a data storage operation on a virtual machine, the method comprising:
automatically discovering a plurality of applications executable within a virtual machine;
for each discovered application, injecting a data agent into the virtual machine that corresponds to the discovered application, wherein the injected data agent is configured to perform an application-specific backup job for the corresponding application;
instructing each 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,
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.

### Claim 10 (depends on 9)

The method of claim 9, 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.

### Claim 11 (depends on 9)

The method of claim 9, 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.

### Claim 12 (depends on 9)

The method of claim 9, wherein the method further comprises:
generating an index that includes data imaged by the snapshot copies of the discovered applications; and
mapping the generated index to an index of the backup copy of the virtual machine.

### Claim 13 (depends on 9)

The method of claim 9, automatically discovering the plurality of applications executable within the virtual machine comprises accessing a registry of the virtual machine to identify the plurality of applications.

### Claim 14 (depends on 9)

The method of claim 9, wherein an injected data agent of a discovered application quiesces the discovered application into an application-consistent state prior to creating a snapshot copy of the discovered application.

### Claim 15 (depends on 9)

The method of claim 9, wherein automatically discovering the plurality of applications executable by the virtual machine include automatically discovering a SQL application, an Exchange application, an Oracle application, or a Sharepoint application.

### Claim 16

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:
automatically discovering a plurality of applications executable within a virtual machine;
for each discovered application, injecting a data agent into the virtual machine that corresponds to the discovered application, wherein the injected data agent is configured to perform an application-specific backup job for the corresponding application;
instructing each 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,
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.

### Claim 17 (depends on 16)

The non-transitory, computer-readable medium system of claim 16, 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.

### Claim 18 (depends on 16)

The non-transitory, computer-readable medium system of claim 16, 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.

### Claim 19 (depends on 16)

The non-transitory, computer-readable medium system of claim 16, wherein the plurality of operations further comprises:
generating an index that includes data imaged by the snapshot copies of the discovered applications; and
mapping the generated index to an index of the backup copy of the virtual machine.

### Claim 20 (depends on 16)

The non-transitory, computer-readable medium system of claim 16, automatically discovering the plurality of applications executable within the virtual machine comprises accessing a registry of the virtual machine to identify the plurality of applications.

### Claim 21 (depends on 16)

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