# US 2014/0196027 A1 · Low-risk server consolidation

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

- Number: US 2014/0196027 A1
- Document ID: US20140196027A1
- Status: Published application
- Kind: A1
- Application number: 13/736,639
- Filed: 2013-01-08
- Published: 2014-07-10
- Earliest claimed: 2013-01-08
- Assignees: International Business Machines Corporation
- Inventors: TAKAYUKI OSOGAMI; HIROKI YANAGISAWA
- Web page: https://patentgrep.com/patent/US20140196027A1

## CPC

- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for virtual machine (VM) consolidation includes providing a plurality of resource usage levels for a set of VMs to be consolidated including a first resource usage level and a last resource usage level. An optimization problem is formulated to minimize an objective function such that any of one or more VMs of a set of VMs to be allocated to a target server may be assigned to the first resource level and remaining VMs of the set may be assigned to the last resource level while not exceeding a resource capacity of the target server. The set of VMs are allocated to a number of servers is accordance with the formulating to consolidate the set of VMs.

## Claims

### Claim 1

A method for virtual machine (VM) consolidation, comprising:
providing a plurality of resource usage levels for a set of VMs to be consolidated including a first resource usage level and a last resource usage level;
formulating an optimization problem, using a processor, to minimize an objective function such that any of one or more VMs of a set of VMs to be allocated to a target server may be assigned to the first resource level and remaining VMs of the set may be assigned to the last resource level while not exceeding a resource capacity of the target server; and
allocating the set of VMs to a number of servers is accordance with the optimization problem to consolidate the set of VMs.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein the first resource usage level includes a maximum resource usage level for an assigned VM.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein the last resource usage level includes at least one of a 98th percentile of a maximum resource usage level for an assigned VM and a 95th percentile of the maximum resource usage level for the assigned VM.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein providing the plurality of resource usage levels includes providing the plurality of resource usage levels for at least one of processor usage, disk input/output bandwidth, and network bandwidth.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein formulating the optimization problems includes formulating a mixed integer programming problem.

### Claim 6 (depends on 1)

The method as recited in claim 1, wherein the optimization problem minimizes at least one of the number of servers and total energy usage.

### Claim 7 (depends on 1)

The method as recited in claim 1, wherein allocating includes solving the optimization problem to determine an allocation of the set of VMs onto the number of servers.

### Claim 8

A non-transitory computer readable storage medium comprising a computer readable program for virtual machine (VM) consolidation, wherein the computer readable program when executed on a computer causes the computer to perform the steps of:
providing a plurality of resource usage levels for a set of VMs to be consolidated including a first resource usage level and a last resource usage level;
formulating an optimization problem to minimize an objective function such that any of one or more VMs of a set of VMs to be allocated to a target server may be assigned to the first resource level and remaining VMs of the set may be assigned to the last resource level while not exceeding a resource capacity of the target server; and
allocating the set of VMs to a number of servers is accordance with the optimization problem to consolidate the set of VMs.

### Claim 9 (depends on 8)

The non-transitory computer readable storage medium as recited in claim 8, wherein the first resource usage level includes a maximum resource usage level for an assigned VM.

### Claim 10 (depends on 8)

The non-transitory computer readable storage medium as recited in claim 8, wherein the last resource usage level includes at least one of a 98th percentile of a maximum resource usage level for an assigned VM and a 95th percentile of the maximum resource usage level for the assigned VM.

### Claim 11 (depends on 8)

The non-transitory computer readable storage medium as recited in claim 8, wherein providing the plurality of resource usage levels includes providing the plurality of resource usage levels for at least one of processor usage, disk input/output bandwidth, and network bandwidth.

### Claim 12 (depends on 8)

The non-transitory computer readable storage medium as recited in claim 8, wherein formulating the optimization problems includes formulating a mixed integer programming problem.

### Claim 13 (depends on 8)

The non-transitory computer readable storage medium as recited in claim 8, wherein allocating includes solving the optimization problem to determine an allocation of the set of VMs onto the number of servers.

### Claim 14

A system for virtual machine (VM) consolidation, comprising:
a formulation module configured to formulate an optimization problem on a non-transitory computer readable storage medium to minimize an objective function based upon a plurality of resource usage levels including a first resource usage level and a last resource usage level,
wherein the optimization problem is formulated such that any of one or more VMs of a set of VMs to be allocated to a target server may be assigned to the first resource level and remaining VMs of the set may be assigned to the last resource level while not exceeding a resource capacity of the target server; and
an allocation module configured to allocate the set of VMs to a number of servers is accordance with the optimization problem to consolidate the set of VMs.

### Claim 15 (depends on 14)

The system as recited in claim 14, wherein the first resource usage level includes a maximum resource usage level for an assigned VM.

### Claim 16 (depends on 14)

The system as recited in claim 14, wherein the last resource usage level includes at least one of a 98th percentile of a maximum resource usage level for an assigned VM and a 95th percentile of the maximum resource usage level for the assigned VM.

### Claim 17 (depends on 14)

The system as recited in claim 14, wherein the plurality of resource usage levels includes the plurality of resource usage levels for at least one of processor usage, disk input/output bandwidth, and network bandwidth.

### Claim 18 (depends on 14)

The system as recited in claim 14, wherein the formulation module is further configured to formulate a mixed integer programming problem.

### Claim 19 (depends on 14)

The system as recited in claim 14, wherein the optimization problem minimizes at least one of the number of servers and total energy usage.

### Claim 20 (depends on 14)

The system as recited in claim 14, wherein the allocation module is further configured to solve the optimization problem to determine an allocation of the set of VMs onto the number of servers.
