# US 10,872,099 B1 · Automatic data protection for virtual machines using virtual machine attributes

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

- Number: US 10,872,099 B1
- Document ID: US10872099B1
- Status: Granted
- Kind: B1
- Application number: 15/877,072
- Filed: 2018-01-22
- Granted: 2020-12-22
- Earliest claimed: 2017-01-24
- Assignees: Tintri by DDN, Inc.
- Applicants: Tintri by DDN, Inc.
- Inventors: Geeta Gharpure; Alexandre Nichet; Deepika Dixit
- Web page: https://patentgrep.com/patent/US10872099B1

## CPC

- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An embodiment of a system for automatic data protection for virtual machines includes a processor configured to use storage attributes associated with a virtual machine to determine, for the virtual machine, a data protection priority. The processor is further configured to determine a recommendation of a data protection operation to be taken with respect to the virtual machine based at least in part on the determined data protection priority. The system further includes a memory coupled to the processor and configured to store the determined data protection priority.

## Claims

### Claim 1

A system comprising:
a processor; and
a memory coupled with the processor, wherein the memory is configured to store instructions and provide the processor with the instructions which when executed cause the processor to:
use storage attributes including a name cluster length associated with a virtual machine to determine, for the virtual machine, a data protection priority defining a priority of backing up a particular set of data associated with the virtual machine including by assigning a higher data protection priority for the virtual machine in response to a determination that the name cluster length of the virtual machine is greater than a name cluster length of at least one other virtual machine, wherein virtual machines are grouped into a same cluster based at least in part on a same prefix in a name of a virtual machine, the name cluster length of a virtual machine being determined by a ratio of (i) a number of virtual machines with a same prefix to (ii) a total number of virtual machines; and
determine a recommendation of a data protection operation to be taken with respect to the virtual machine based at least in part on the determined data protection priority, wherein the data protection operation includes taking a snapshot of the particular set of data at a specific time.

### Claim 2 (depends on 1)

The system of claim 1, wherein the processor is part of a storage system that collects attributes on a per-virtual machine basis.

### Claim 3 (depends on 1)

The system of claim 1, wherein the determined data protection priority is based at least in part on a recovery point objective (RPO).

### Claim 4 (depends on 3)

The system of claim 3, wherein the RPO is a length of time.

### Claim 5 (depends on 3)

The system of claim 3, wherein the processor is further configured to model the RPO as a function of the storage attributes.

### Claim 6 (depends on 3)

The system of claim 3, wherein the processor is further configured to model the RPO as a function of space consumption.

### Claim 7 (depends on 1)

The system of claim 1, wherein the processor is further configured to determine the storage attributes to be used from a larger set of storage attributes.

### Claim 8 (depends on 1)

The system of claim 1, wherein the snapshot captures a state of the particular set of data at the specific time.

### Claim 9 (depends on 1)

The system of claim 1, wherein the data protection operation includes replication of data.

### Claim 10 (depends on 1)

The system of claim 1, wherein the processor is further configured to collect the storage attributes.

### Claim 11 (depends on 1)

The system of claim 1, wherein the processor is further configured to derive at least some of the storage attributes based on collected storage attributes.

### Claim 12 (depends on 1)

The system of claim 1, wherein the storage attributes include block size and the processor is further configured to:
assign a higher data protection priority in response to the operation type associated with the particular set of data being transactional data; and
assign a lower data protection priority in response to the operation type associated with the particular set of data being analytical data.

### Claim 13 (depends on 1)

The system of claim 1, wherein the storage attributes includes an anonymization of attributes across a plurality of VM owners.

### Claim 14 (depends on 1)

The system of claim 1, further comprising updating the recommendation based on user feedback.

### Claim 15 (depends on 1)

The system of claim 1, further comprising updating the recommendation in response to an indication to remove at least one of the storage attributes from being considered.

### Claim 16 (depends on 1)

The system of claim 1, further comprising outputting the recommendation on a graphical user interface.

### Claim 17 (depends on 1)

The system of claim 1, further comprising automatically performing the recommended data protection operation.

### Claim 18 (depends on 1)

The system of claim 1, wherein the recommendation of a data protection operation to be taken includes a frequency of taking the snapshot of the particular set of data at specific times to back up the particular set of data.

### Claim 19 (depends on 1)

The system of claim 1, wherein the memory is further configured to provide the processor with instructions which when executed cause the processor to: determine a subset of the storage attributes for determining a data protection priority and using only those storage attributes in the determined subset to determine the data protection priority.

### Claim 20 (depends on 1)

The system of claim 1, wherein the storage attributes are automatically associated with a specific virtual machine by a filesystem configured to associate stored data objects with a specific virtual machine in a storage system.

### Claim 21

A method comprising:
determining, by a processor, a data protection priority for a virtual machine using storage attributes including a name cluster length associated with the virtual machine, the data protection priority defining a priority of backing up a particular set of data associated with the virtual machine including by assigning a higher data protection priority for the virtual machine in response to a determination that the name cluster length of the virtual machine is greater than a name cluster length of at least one other virtual machine, wherein virtual machines are grouped into a same cluster based at least in part on a same prefix in a name of a virtual machine, the name cluster length of a virtual machine being determined by a ratio of (i) a number of virtual machines with a same prefix to (ii) a total number of virtual machines; and
determining, by the processor, a recommendation of a data protection operation to be taken with respect to the virtual machine based at least in part on the determined data protection priority, wherein the data protection operation includes taking a snapshot of the particular set of data at a specific time.

### Claim 22

A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for a processor to:
use storage attributes including a name cluster length associated with a virtual machine to determine, for the virtual machine, a data protection priority defining a priority of backing up a particular set of data associated with the virtual machine including by assigning a higher data protection priority for the virtual machine in response to a determination that the name cluster length of the virtual machine is greater than a name cluster length of at least one other virtual machine, wherein virtual machines are grouped into a same cluster based at least in part on a same prefix in a name of a virtual machine, the name cluster length of a virtual machine being determined by a ratio of (i) a number of virtual machines with a same prefix to (ii) a total number of virtual machines; and
determine a recommendation of a data protection operation to be taken with respect to the virtual machine based at least in part on the determined data protection priority, wherein the data protection operation includes taking a snapshot of the particular set of data at a specific time.
