VM Resource Allocation via Pseudo-Random Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional server resource allocation methods, such as first-in, first-out protocols, lead to uneven usage of physical resources and fail to account for resource degradation over time, resulting in inefficient allocation of CPU, RAM, and disk storage to virtual machines.

Innovation Solution

Implementing a pseudo-random selection method for allocating physical resources to virtual machines, where resources near the end of their reliable lifetime are excluded from the pool, and utilizing metadata to track utilization information and total uptime for optimized resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If first-in, first-out protocol is used for resource allocation, then allocation simplicity is maintained, but resource usage becomes uneven and degradation is not accounted for

Engineering Contradiction:
Improveallocation simplicityVSAvoidresource usage efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

Instead of allocating resources in first-in, first-out order, the patent inverts the approach by using pseudo-random selection to allocate resources. This inversion prevents any single resource from being consistently overused or underused, thereby achieving more even resource utilization while maintaining allocation simplicity through the use of a standardized pseudo-random algorithm.

Inventive Principle:
Principle #13The other way round (Inversion)

2Speed

If conventional resource allocation is used, then allocation speed is maintained, but resource degradation over time is not accounted for

Engineering Contradiction:
Improveallocation speedVSAvoidresource reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by tracking resource utilization metrics and calculating wear levels before resources are allocated. The hypervisor monitors resource usage over time and uses this information to predict when resources may degrade. By performing this analysis in advance, the system can exclude worn resources from the allocation pool before they fail, thereby maintaining high allocation speed while improving resource reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If resources are continuously allocated without considering wear, then allocation efficiency is maintained, but resource lifetime is reduced

Engineering Contradiction:
Improveallocation efficiencyVSAvoidresource lifetime
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent implements feedback by continuously monitoring resource utilization metrics such as the number of computations performed, read/write operations, and operational time. This feedback information is used to calculate a wear level for each resource. The hypervisor uses this wear information to dynamically adjust resource allocation, excluding heavily worn resources from the available pool. This feedback mechanism maintains allocation efficiency by keeping resources in use while extending their lifetime by preventing excessive wear through intelligent allocation decisions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP4127927B1Resource allocation for virtual machines
Publication Date: 2025.03.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4127927B1 patent drawingFigure 1~2
  • EP4127927B1 patent drawingFigure 3
  • EP4127927B1 patent drawingFigure 4~5

AI summary

A system and method include reception of a request to create a virtual machine associated with a requested number of resource units of each of a plurality of resource types, determination, for each of the plurality of resource types, of a pool of available resource units, random selection, for each of the plurality of resource types, of the requested number of resource units from the pool of available resource units of the resource type, and allocation of the selected resource units of each of the plurality of resource types to the virtual machine.