Dynamic Resource Allocation Manager for Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualized computing environments face inefficiencies in resource allocation, as current methods often rely on static decisions based on expected workloads, leading to under-resourced or over-resourced virtual machines, which can hinder performance and lead to resource misallocation due to inaccurate or outdated information.
Innovation Solution
A resource allocation manager dynamically allocates physical computing resources among virtual machines based on the importance of activities occurring on them, using a tracker to monitor and adjust resources by associating activities with importance levels and reallocating CPU, memory, and network resources accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If static resource allocation is used when virtual machines are created, then resource assignment is simple and straightforward, but resources cannot be adjusted during the virtual machine's active lifetime, leading to resource underutilization or insufficient resources for time-sensitive activities
Solution Approach 1:
The patent implements dynamic resource allocation by allowing resource parameters (CPU, memory, network bandwidth) to be adjusted during the virtual machine's active lifetime based on actual workload demands and activity priorities, transforming the static allocation model into a flexible dynamic system that adapts to changing conditions
2Ease of manufacture
If uniform resource allocation is provided to all virtual machines, then the allocation process is simple and fair, but it does not consider the actual computing needs of different users or activities, resulting in some virtual machines having insufficient resources while others have excess resources
Solution Approach 1:
The patent applies local quality by differentiating resource allocation based on the specific needs, activity types, and priority levels of individual virtual machines and their workloads, rather than applying a uniform allocation policy across all virtual machines, thereby optimizing resource distribution according to local conditions
Solution Approach 2:
The system dynamically changes resource allocation parameters (CPU shares, memory allocation, network bandwidth) based on monitored workload characteristics and activity priority levels, allowing the resource distribution to adapt to varying computational demands of different virtual machines
3Reliability
If substantial excess computing capacity is provided to every virtual machine, then user frustration is minimized for high-need users, but virtual machines executing low priority activities consume critical resources during periods of high demand, causing performance degradation for other important users
Solution Approach 1:
The patent implements feedback mechanisms by continuously monitoring workload demands, activity types, and resource utilization patterns, then using this information to dynamically adjust resource allocation, ensuring that resources are allocated to high-priority activities while preventing low-priority virtual machines from consuming excessive resources during high-demand periods
Data Source
AI summary
Techniques for resource allocation are described. Some embodiments provide a resource allocation manager configured to dynamically allocate physical computing resources amongst multiple virtual machines hosted on a physical computing system. The resource allocation manager receives information about the importance of activities that can occur on the multiple virtual machines. Activities may include or be based on virtual machine states, virtual desktop states, business activities or processes performed by users, or the like. Then, the resource allocation manager determines that an activity is occurring on one of the virtual machines. In response, the resource allocation manager reallocates physical computing resources of the physical computing system that are assigned or available to the one virtual machine, based on the occurring activity and its corresponding importance. The resource allocation manager continually and dynamically reallocates physical computing resources assigned to corresponding virtual machines, in order to match resource allocation to activity importance.


