Virtual Machine Placement With Dual-Stage Allocation Constraints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for allocating virtual machines (VMs) to physical hosts are cumbersome, time-consuming, and inefficient, failing to achieve optimal packing and future resource management, especially in multitenant compute platforms with varying VM configurations and geographic constraints.

Innovation Solution

A dual-stage approach involving an asynchronous process for optimization and a synchronous process for real-time decision-making, using mixed-integer linear programming to generate allocation data that guides the synchronous process, allowing for flexible VM placement while considering current and future resource demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual configuration of VM type mixture is used, then operators can control allocation percentages, but the process is cumbersome and time-consuming

Engineering Contradiction:
Improvemanual configuration processVSAvoidallocation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system automatically performs VM allocation optimization without requiring manual operator intervention. The asynchronous optimization process autonomously analyzes current allocations, predicts future demands, and generates optimized allocation plans, replacing the cumbersome manual configuration process while improving allocation efficiency

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs optimization in advance by executing asynchronous optimization processes that analyze future VM demands and generate allocation plans before actual allocation is needed. This preliminary action allows the system to prepare optimized allocation strategies ahead of time, improving both ease of operation and productivity

Inventive Principle:
Principle #10Preliminary action

2Speed

If synchronous allocation decisions are made as requests arrive, then immediate placement is achieved, but optimal packing efficiency is not achieved

Engineering Contradiction:
Improveallocation speedVSAvoidpacking efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs asynchronous optimization in advance to generate optimal allocation plans before synchronous allocation decisions are made. This preliminary optimization analyzes future demands and computes optimal packing strategies, which then guide the fast synchronous allocation process, achieving both speed and efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The allocation process is divided into two independent stages: an asynchronous optimization stage that computes optimal strategies, and a synchronous execution stage that makes rapid decisions. This segmentation allows each stage to optimize for its specific goal (efficiency vs. speed) while working together to achieve both objectives

Inventive Principle:
Principle #1Segmentation

3Productivity

If VMs are allocated without considering future demands, then current requests are fulfilled quickly, but future resource management becomes inefficient

Engineering Contradiction:
Improvecurrent allocation efficiencyVSAvoidfuture resource management
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The asynchronous optimization process performs preliminary analysis of future VM demands and generates allocation plans that account for upcoming requirements. This advance planning ensures that current allocations are optimized with future needs in mind, improving both current efficiency and future adaptability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses predicted future demands as feedback to adjust current allocation decisions. The optimization process incorporates forecasts of upcoming VM requests and uses this information to make smarter allocation choices now, ensuring better resource management across different time periods

Inventive Principle:
Principle #23Feedback

4Productivity

If strict allocation plans are enforced, then optimal packing is achieved, but flexibility to handle unexpected requests is reduced

Engineering Contradiction:
Improveallocation optimizationVSAvoidflexibility in placement
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system enforces allocation plans partially rather than strictly. The synchronous allocation process attempts to follow the optimized allocation plan but allows deviations when necessary to accommodate unexpected requests or changing conditions, achieving a balance between optimization and flexibility

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The allocation system is made dynamic by allowing the synchronous process to adapt the pre-computed allocation plan in real-time based on actual conditions. The system transitions from static, rigid allocation rules to dynamic, flexible decision-making that can respond to unexpected situations while still pursuing optimization goals

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20260023585A1Systems and methods for virtual machine placement with asynchronous and synchronous stages
Publication Date: 2026.01.22 AKAMAI TECHNOLOGIES INC
  • US20260023585A1 patent drawing
  • US20260023585A1 patent drawing
  • US20260023585A1 patent drawing

AI summary

Improvements in allocating virtual machines (VMs) to hosts can be accomplished using an approach that includes dual stages: both an asynchronous process and a synchronous process. The asynchronous process can be executed periodically based on current VM to host allocations, current hosts, and an expected set of VM requests in the future. The asynchronous process executes optimization algorithms to create allocation data for the synchronous process. The synchronous process actually fields requests for VMs and in response makes VM placement decisions. The allocation data is a constraint on the choices available to the synchronous process. But the synchronous process can override the allocation data and place the VM on a host that is “out of plan”, so even if the plan cannot be strictly followed for a given request, it will nevertheless succeed.