VM Resource Allocation for Dynamic Server Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hosting architectures face inefficiencies in server utilization due to static server assignment and the time-consuming process of dynamically reassigned servers, leading to suboptimal resource usage.
Innovation Solution
A system utilizing virtual machines (VMs) across multiple servers with resource management logic to distribute resources based on predicted needs, allowing for dynamic adjustment of workload fractions and redistribution between servers to maintain optimal utilization, aided by a global resource allocator and load balancer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If servers are statically assigned to customers based on peak load, then reliability is improved, but server utilization deteriorates
Solution Approach 1:
The patent segments servers into multiple pools (web servers, application servers, database servers) that can be dynamically allocated to different customers based on demand. Instead of assigning entire servers statically, the system divides the server infrastructure into manageable segments that can be flexibly reassigned, allowing both reliability guarantees and improved utilization through dynamic pooling.
Solution Approach 2:
The system implements dynamic server assignment where servers are not permanently bound to single customers but can be reallocated based on current workload demands. The server pool manager continuously monitors utilization metrics and dynamically assigns or reassigns servers to customers, transforming the static assignment model into a dynamic one that adapts to changing conditions while maintaining service reliability.
2Productivity
If servers are dynamically reassigned based on offered load, then server utilization is improved, but resource waste increases due to reassignment time
Solution Approach 1:
The system performs preliminary actions by pre-configuring multiple server pools and establishing assignment rules beforehand. When load changes occur, the system can quickly activate pre-planned reassignment strategies rather than computing assignments from scratch, reducing the time and resources needed for dynamic reassignment while maintaining high utilization levels.
Solution Approach 2:
The server pool manager implements continuous feedback monitoring of server utilization metrics and customer demand. This feedback loop enables the system to detect utilization imbalances early and trigger reassignment operations only when necessary, avoiding unnecessary reassignment operations that would waste resources while still achieving optimal utilization through timely, data-driven decisions.
3Reliability
If more servers are assigned to handle peak load, then service reliability is improved, but resource efficiency deteriorates
Solution Approach 1:
The patent creates universal server pools where servers can serve multiple customers and multiple functions simultaneously. A single server in the pool can be assigned to different customers at different times and can handle various types of workloads (web, application, database), making the infrastructure multi-functional and eliminating the need for dedicated servers for each customer or function, thereby improving resource efficiency while maintaining reliability.
Solution Approach 2:
The system dynamically changes the allocation parameters of server resources, adjusting the number and type of servers assigned to each customer based on current demand. Rather than maintaining fixed allocations, the system modifies allocation parameters in real-time, allowing the same physical infrastructure to adapt to varying reliability requirements and efficiency goals through parameter adjustment rather than hardware changes.
Data Source
AI summary
A VM based hosting architecture system in which finer grain control in optimizing multiple workloads across multiple servers is provided. The system includes a plurality of servers to be utilized by multiple workloads. In addition, the system includes a plurality of virtual machines (VMs) at each of the plurality of servers, wherein the plurality of VMs at each of the plurality of servers each serve a different one of the multiple workloads. Moreover, the system includes resource management logic to distribute server resources to each of the plurality of VMs according to predicted resource needs of each of the multiple workloads. Each of the multiple workloads are distributed across the plurality of servers, wherein fractions of each of the multiple workloads are handled by the plurality of VMs. The distribution of multiple workloads over multiple servers has the effect of achieving a finer grain control in optimizing workloads across the plurality of servers.


