# US 10,120,726 B2 · Hybrid virtual machine configuration management

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

- Number: US 10,120,726 B2
- Document ID: US10120726B2
- Status: Granted
- Kind: B2
- Application number: 14/948,525
- Filed: 2015-11-23
- Published: 2016-03-24
- Granted: 2018-11-06
- Earliest claimed: 2012-12-17
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Vaijayanthimala K. Anand; Wen-Tzer T. Chen; William A. Maron; Mysore S. Srinivas; Basu Vaidyanathan
- Web page: https://patentgrep.com/patent/US10120726B2

## CPC

- G06F 9/5033: {considering data affinity}
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- 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 2009/45583: {Memory management, e.g. access or allocation}
- G06F 2209/5021: Priority
- G06F 2209/504: Resource capping
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

According to one aspect of the present disclosure, a method and technique for hybrid virtual machine configuration management is disclosed. The method includes: assigning to a first set of virtual resources associated with entitled resources of a virtual machine a first priority; assigning to a second set of virtual resources associated with the virtual machine a second priority lower than the first priority, wherein the first and seconds sets when combined exceed the entitled resources for the virtual machine; mapping the first set of virtual resources to a first physical resource of a pool of shared physical resources allocatable to the first and second sets of virtual resources, wherein the first physical resource comprises a desired affinity level to a second physical resource allocated to the virtual machine; and preferentially allocating the first physical resource to the first set of virtual resources.

## Claims

### Claim 1

A method, comprising:
assigning to a first set of virtual resources of a first virtual machine a first priority, wherein the first set of virtual resources are entitled resources for the first virtual machine;
assigning to a second set of virtual resources of a second virtual machine a second priority lower than the first priority, wherein the second set of virtual resources are uncapped virtual resources for the second virtual machine;
mapping the first set of virtual resources to a first physical resource of a pool of shared physical resources, the pool of shared physical resources allocatable to the first and second sets of virtual resources, wherein the first physical resource comprises a desired affinity level to a second physical resource allocated to the first set of virtual resources; and
preferentially allocating the first physical resource to the first set of virtual resources over the second set of virtual resources.

### Claim 2 (depends on 1)

The method of claim 1, further comprising including virtual resources of the first virtual machine up to the entitled resources of the first virtual machine in the first set of virtual resources.

### Claim 3 (depends on 1)

The method of claim 1, further comprising providing to an operating system running on the first virtual machine priority information for the virtual resources of the first and second sets of virtual resources.

### Claim 4 (depends on 3)

The method of claim 3, further comprising dispatching, by the operating system, virtual resources from the first set of virtual resources before dispatching virtual resources from the second set of virtual resources.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
responsive to receiving a request to allocate the first physical resource to a virtual resource of the first set of virtual resources, determining if the first physical resource has been allocated to a virtual resource of the second set of virtual resources; and
responsive to determining that the first physical resource has been allocated to the virtual resource of the second set of virtual resources, preempting the virtual resource of the second set of virtual resources from the first physical resource to enable utilization of the first physical resource by the virtual resource of the first set of virtual resources.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
responsive to receiving a request to allocate the first physical resource to a virtual resource of the first set of virtual resources, determining if the first physical resource has been allocated to a virtual resource of the second set of virtual resources;
responsive to determining that the first physical resource has been allocated to the virtual resource of the second set of virtual resources, determining a priority level of the virtual resource of the second set of virtual resources; and
responsive to determining that the priority level of the virtual resource of the second set of virtual resources is lower than the first priority, preempting the virtual resource of the second set of virtual resources from the first physical resource to enable utilization of the first physical resource by the virtual resource of the first set of virtual resources.

### Claim 7

A system, comprising:
a processor; and
logic executable by the processor to:
assign to a first set of virtual resources of a first virtual machine a first priority, wherein the first set of virtual resources are entitled resources for the first virtual machine;
assign to a second set of virtual resources of a second virtual machine a second priority lower than the first priority, wherein the second set of virtual resources are uncapped virtual resources for the second virtual machine;
map the first set of virtual resources to a first physical resource of a pool of shared physical resources, the pool of shared physical resources allocatable to the first and second sets of virtual resources, wherein the first physical resource comprises a desired affinity level to a second physical resource allocated to the first set of virtual resources; and
preferentially allocate the first physical resource to the first set of virtual resources over the second set of virtual resources.

### Claim 8 (depends on 7)

The system of claim 7, wherein the logic is executable to include virtual resources of the first virtual machine up to the entitled resources of the first virtual machine in the first set of virtual resources.

### Claim 9 (depends on 7)

The system of claim 7, wherein the logic is executable to provide to an operating system running on the first virtual machine priority information for the virtual resources of the first and second sets of virtual resources.

### Claim 10 (depends on 9)

The system of claim 9, wherein the operating system is configured to dispatch virtual resources from the first set of virtual resources before dispatching virtual resources from the second set of virtual resources.

### Claim 11 (depends on 7)

The system of claim 7, wherein the logic is executable to:
responsive to receiving a request to allocate the first physical resource to a virtual resource of the first set of virtual resources, determine if the first physical resource has been allocated to a virtual resource of the second set of virtual resources; and
responsive to determining that the first physical resource has been allocated to the virtual resource of the second set of virtual resources, preempt the virtual resource of the second set of virtual resources from the first physical resource to enable utilization of the first physical resource by the virtual resource of the first set of virtual resources.

### Claim 12 (depends on 7)

The system of claim 7, wherein the logic is executable to:
responsive to receiving a request to allocate the first physical resource to a virtual resource of the first set of virtual resources, determine if the first physical resource has been allocated to a virtual resource of the second set of virtual resources;
responsive to determining that the first physical resource has been allocated to the virtual resource of the second set of virtual resources, determine a priority level of the virtual resource of the second set of virtual resources; and
responsive to determining that the priority level of the virtual resource of the second set of virtual resources is lower than the first priority, preempt the virtual resource of the second set of virtual resources from the first physical resource to enable utilization of the first physical resource by the virtual resource of the first set of virtual resources.

### Claim 13

A computer program product for hybrid virtual machine configuration management, the computer program product comprising:
a non-transitory computer readable medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to:
assign to a first set of virtual resources of a first virtual machine a first priority, wherein the first set of virtual resources are entitled virtual resources for the first virtual machine;
assign to a second set of virtual resources of a second the virtual machine a second priority lower than the first priority, wherein the second set of virtual resources are uncapped virtual resources for the second virtual machine;
map the first set of virtual resources to a first physical resource of a pool of shared physical resources, the pool of shared physical resources allocatable to the first and second sets of virtual resources, wherein the first physical resource comprises a desired affinity level to a second physical resource allocated to the first set of virtual resources; and
preferentially allocate the first physical resource to the first set of virtual resources over the second set of virtual resources.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code is configured to include virtual resources of the first virtual machine up to the entitled resources of the first virtual machine in the first set of virtual resources.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code is configured to provide to an operating system running on the first virtual machine priority information for the virtual resources of the first and second sets of virtual resources.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code is configured to dispatch virtual resources from the first set of virtual resources before dispatching virtual resources from the second set of virtual resources.

### Claim 17 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code is configured to:
responsive to receiving a request to allocate the first physical resource to a virtual resource of the first set of virtual resources, determine if the first physical resource has been allocated to a virtual resource of the second set of virtual resources; and
responsive to determining that the first physical resource has been allocated to the virtual resource of the second set of virtual resources, preempt the virtual resource of the second set of virtual resources from the first physical resource to enable utilization of the first physical resource by the virtual resource of the first set of virtual resources.

### Claim 18 (depends on 13)

The computer program product of claim 13, wherein the computer readable program code is configured to:
responsive to receiving a request to allocate the first physical resource to a virtual resource of the first set of virtual resources, determine if the first physical resource has been allocated to a virtual resource of the second set of virtual resources;
responsive to determining that the first physical resource has been allocated to the virtual resource of the second set of virtual resources, determine a priority level of the virtual resource of the second set of virtual resources; and
responsive to determining that the priority level of the virtual resource of the second set of virtual resources is lower than the first priority, preempt the virtual resource of the second set of virtual resources from the first physical resource to enable utilization of the first physical resource by the virtual resource of the first set of virtual resources.
