# US 2014/0196039 A1 · Virtual machine categorization system and method

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

- Number: US 2014/0196039 A1
- Document ID: US20140196039A1
- Status: Published application
- Kind: A1
- Application number: 14/148,549
- Filed: 2014-01-06
- Published: 2014-07-10
- Earliest claimed: 2013-01-08
- Assignees: Commvault Systems, Inc.
- Applicants: CommVault Systems, Inc.
- Inventors: Rajiv Kottomtharayil; Rahul S. Pawar; Ashwin Gautamchand Sancheti; Sumer Dilip Deshpande; Sri Karthik Bhagi; Henry Wallace Dornemann; Ananda Venkatesha
- Web page: https://patentgrep.com/patent/US20140196039A1

## CPC

- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 9/505: {considering the load}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 2209/5022: Workload threshold
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Virtual machine (VM) proliferation may be reduced through the use of Virtual Server Agents (VSAs) assigned to a group of VM hosts that may determine the availability of a VM to perform a task. Tasks may be assigned to existing VMs instead of creating a new VM to perform the task. Furthermore, a VSA coordinator may determine a grouping of VMs or VM hosts based on one or more factors associated with the VMs or the VM hosts, such as VM type or geographical location of the VM hosts. The VSA coordinator may also assign one or more VSAs to facilitate managing the group of VM hosts. In some embodiments, the VSA coordinators may facilitate load balancing of VSAs during operation, such as during a backup operation, a restore operation, or any other operation between a primary storage system and a secondary storage system.

## Claims

### Claim 1

A method of grouping virtual machines, the method comprising:
by a virtual server agent coordinator comprising computer hardware:
identifying a set of virtual machine provider systems in a primary storage system, each of the virtual machine provider systems including a virtual machine monitor and configured to host a set of virtual machines;
accessing metadata for each of the virtual machine provider systems from the set of virtual machine provider systems;
grouping the virtual machine provider systems into one or more groups based at least partially on the metadata for each of the virtual machine provider systems; and
assigning a set of virtual server agents to each group of virtual machine provider systems, wherein each virtual server agent is configured to backup data from at least one virtual machine in the primary storage system to a secondary storage system.

### Claim 2 (depends on 1)

The method of claim 1, wherein the metadata comprises at least an identity of features available from the virtual machine provider system.

### Claim 3 (depends on 2)

The method of claim 2, wherein grouping the virtual machine provider systems further comprises grouping the virtual machine provider systems based at least partially on the features for each of the virtual machine provider systems.

### Claim 4 (depends on 1)

The method of claim 1, wherein the metadata comprises one or more of the following: a geographic location of the virtual machine provider system; a network location of the virtual machine provider system; an age of the virtual machine provider system; a capacity of the virtual machine provider system, and a security level associated with the virtual machine provider system.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving an identity of an additional virtual machine provider system;
accessing metadata for the additional virtual machine provider system;
identifying a group from the one or more groups based on the metadata; and
assigning the additional virtual machine provider system to the identified group.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
detecting a change to metadata associated with a virtual machine provider system from the set of virtual machine provider systems;
reassigning the virtual machine provider system to another group from the one or more groups based on the changed metadata; and
updating assignment information for a set of virtual server agents assigned to said another group to include the virtual machine provider system.

### Claim 7 (depends on 1)

The method of claim 1, wherein a virtual machine provider system from the set of virtual machine provider systems is included in a plurality of groups.

### Claim 8 (depends on 7)

The method of claim 7, wherein the virtual machine provider system hosts a plurality of virtual machines, and wherein at least a first virtual machine from the plurality of virtual machines is included in a first group from the plurality of groups and at least a second virtual machine from the plurality of virtual machines is included in a second group from the plurality of groups.

### Claim 9 (depends on 1)

The method of claim 1, wherein each virtual server agent is configured to backup the data from the at least one virtual machine using one or more streams between the virtual server agent and one or more media agents in the secondary storage system.

### Claim 10 (depends on 1)

The method of claim 1, wherein at least one virtual server agent is assigned to multiple groups of virtual machine provider systems.

### Claim 11

A system for grouping virtual machines, the system comprising:
a virtual server agent coordinator comprising computer hardware, the virtual server agent coordinator configured to:
identify a set of virtual machine provider systems in a primary storage system, each of the virtual machine provider systems including a virtual machine monitor and configured to host a set of virtual machines;
access metadata for each of the virtual machine provider systems from the set of virtual machine provider systems;
group the virtual machine provider systems into one or more groups based at least partially on the metadata for each of the virtual machine provider systems; and
assign a set of virtual server agents to each group of virtual machine provider systems, wherein each virtual server agent is configured to backup data from at least one virtual machine in the primary storage system to a secondary storage system.

### Claim 12 (depends on 11)

The system of claim 11, wherein the metadata comprises at least an identity of features available from the virtual machine provider system.

### Claim 13 (depends on 11)

The system of claim 11, wherein the virtual server agent coordinator is further configured to access a set of grouping rules for grouping the virtual machine provider systems.

### Claim 14 (depends on 13)

The system of claim 13, wherein the virtual server agent coordinator or further configured to group the virtual machine provider systems into the one or more groups based at least partially on the grouping rules.

### Claim 15 (depends on 11)

The system of claim 11, wherein the virtual server agent coordinator is further configured to:
receive an identity of an additional virtual machine provider system;
access metadata for the additional virtual machine provider system;
identify a group from the one or more groups based on the metadata; and
assign the additional virtual machine provider system to the identified group.

### Claim 16 (depends on 11)

The system of claim 11, wherein the virtual server agent coordinator is further configured to:
detect a change to metadata associated with a virtual machine provider system from the set of virtual machine provider systems;
reassign the virtual machine provider system to another group from the one or more groups based on the changed metadata; and
update assignment information for a set of virtual server agents assigned to said another group to include the virtual machine provider system.

### Claim 17 (depends on 11)

The system of claim 11, wherein the virtual server agent coordinator is further configured to include a virtual machine provider system from the set of virtual machine provider systems in a plurality of groups.

### Claim 18 (depends on 17)

The system of claim 17, wherein the virtual machine provider system hosts a plurality of virtual machines, and wherein at least a first virtual machine from the plurality of virtual machines is included in a first group from the plurality of groups and at least a second virtual machine from the plurality of virtual machines is included in a second group from the plurality of groups.

### Claim 19 (depends on 11)

The system of claim 11, wherein each virtual server agent is configured to backup the data from the at least one virtual machine using one or more streams between the virtual server agent and one or more media agents in the secondary storage system.

### Claim 20 (depends on 11)

The system of claim 11, wherein at least one virtual server agent is assigned to multiple groups of virtual machine provider systems.
