Dynamic Virtual Machine Allocation via Shared Request Queue
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


