Dynamic Virtual Machine Allocation via Shared Request Queue

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual server environments face inefficiencies in dynamic allocation of virtual machines (VMs) due to static allocation techniques, which often result in unbalanced workload distribution across servers, leading to suboptimal resource utilization and performance issues.

Innovation Solution

A dynamic VM allocation system that utilizes a shared VM request queue and processing threads on each server to allocate VMs based on the server's real-world performance capabilities, ensuring that faster servers host more VMs and balancing the workload accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If static allocation techniques are used to assign VMs to servers, then the allocation process is simple and easy to manage, but the workload distribution becomes unbalanced and resource utilization is suboptimal

Engineering Contradiction:
Improveease of VM allocation managementVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic VM allocation by replacing static allocation methods with a system that continuously monitors server performance metrics (CPU usage, memory availability, disk I/O) and automatically adjusts VM placement in real-time. The allocation decision is made dynamically based on current server states rather than fixed predetermined assignments, enabling optimal resource utilization while maintaining ease of management through automation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where server performance metrics are continuously collected and fed back into the allocation decision-making process. The VM manager monitors server health and performance, uses this feedback to identify underutilized or overloaded servers, and automatically redistributes VMs accordingly. This closed-loop feedback system ensures continuous optimization of resource utilization while simplifying management operations.

Inventive Principle:
Principle #23Feedback

2Device complexity

If manual VM allocation methods are used, then the system complexity is low, but the process is error-prone and time-consuming due to frequent changes

Engineering Contradiction:
Improvesystem complexityVSAvoidallocation accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements self-service automation where the VM manager automatically performs allocation decisions without manual intervention. The system autonomously monitors server performance, evaluates allocation options, and executes VM placement actions based on predefined policies and real-time conditions. This eliminates manual operations and their associated errors, while the automation logic remains manageable through modular design and policy-based control.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces manual mechanical allocation processes with automated software-based decision-making. Instead of human administrators manually assigning VMs, the patent uses computational algorithms that process server performance data and automatically generate allocation decisions. This substitution of manual mechanical operations with automated electronic processing significantly improves reliability and reduces errors while keeping the system complexity manageable through standardized automation protocols.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If VMs are allocated without considering real-world performance capabilities, then the allocation process is fast and simple, but faster servers host more VMs unintentionally leading to suboptimal workload balancing

Engineering Contradiction:
ImproveVM allocation speedVSAvoidworkload distribution balance
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary characterization of server performance capabilities during the allocation process. Before making allocation decisions, the VM manager collects and analyzes server metrics (CPU capacity, memory resources, storage performance, network bandwidth) to establish performance profiles. This preliminary assessment enables the system to allocate VMs proactively based on predicted performance outcomes, ensuring both speed and balance by pre-determining optimal placements rather than reacting after allocation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent dynamically adjusts allocation parameters based on real-world server performance characteristics. Instead of using fixed allocation rules, the system modifies allocation decisions based on monitored parameters such as CPU usage rates, memory availability, disk I/O performance, and network throughput. By continuously adapting allocation parameters to reflect actual server performance states, the system achieves both rapid allocation and balanced workload distribution, preventing faster servers from unintentionally accumulating excessive VMs.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8261268B1System and method for dynamic allocation of virtual machines in a virtual server environment
Publication Date: 2012.09.04 NETAPP INC
  • US8261268B1 patent drawing
  • US8261268B1 patent drawing
  • US8261268B1 patent drawing

AI summary

A system and method for dynamically producing virtual machines (VMs) across a plurality of servers in the virtual server environment is provided. A single VM request queue is produced comprising VM requests for producing the plurality of VMs. A processing thread is produced and assigned for each server and retrieves VM requests from the VM request queue and produces VMs only on the assigned server according to the retrieved VM requests. Each processing thread may be configured for retrieving VM requests and producing VMs without any programmed delays, whereby the rate at which a processing thread produces VMs on its assigned server is a function of the performance capabilities of the assigned server. This dynamic allocation of VMs based on such a “natural selection” technique may provide an appropriately balanced allocation of VMs based on the performance capabilities of each server in the virtual server environment.