Elastic VM Allocation via Performance Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in dynamically allocating and managing computing resources for virtual machines (VMs) to match varying workloads, leading to inefficiencies in resource utilization and increased costs due to fixed resource allocations.
Innovation Solution
A system and method that monitor performance metrics of software applications executed by VMs, determining elasticity actions such as scale-up or scale-down based on predetermined rules, and transmit these actions to target hosts to dynamically adjust the number of active VMs, ensuring optimal resource allocation and load balancing across multiple hosts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a fixed quantity of hosts is configured to execute VMs, then the system structure is simple and easy to manage, but the resource utilization efficiency deteriorates when workload varies
Solution Approach 1:
The patent implements dynamic allocation of VMs across hosts based on real-time workload conditions. The system continuously monitors host performance metrics and automatically migrates or spawns VMs to optimize resource utilization, transforming the static fixed-quantity host configuration into a dynamic adaptive system that responds to changing workload demands
2Stability of the object's composition
If computing resources are allocated manually by administrators, then the allocation is stable and predictable, but the system cannot adapt quickly to changing workload demands
Solution Approach 1:
The patent implements a feedback mechanism where the system continuously monitors application performance metrics and host resource utilization, then automatically adjusts VM allocation decisions based on this feedback. This closed-loop control enables the system to adapt to changing workload demands while maintaining operational stability through rule-based decision-making
Solution Approach 2:
The system enables self-service automation where VMs are automatically provisioned, migrated, or terminated based on monitored performance metrics and predefined rules, eliminating the need for continuous manual administrator intervention while maintaining stable and predictable resource allocation patterns
3Productivity
If VMs are distributed across multiple hosts to balance load, then the system achieves better load distribution, but the complexity of managing and coordinating VMs across hosts increases
Solution Approach 1:
The patent implements a universal management architecture where a centralized controller performs multiple functions including VM provisioning, migration coordination, load balancing, and performance monitoring across all hosts. This multi-functional approach simplifies the overall system by consolidating management complexity into a single coordinated system rather than requiring independent management of each host
4Productivity
If the number of active VMs is increased to handle high workload, then the system can meet performance demands, but the power consumption and operational costs increase
Solution Approach 1:
The patent implements periodic monitoring and evaluation of application performance metrics, with elasticity actions triggered based on predefined thresholds and rules. This periodic assessment allows the system to dynamically adjust the number of active VMs, powering down excess VMs during low-demand periods to reduce energy consumption while ensuring sufficient performance capability during high-demand periods
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In a system of computing devices (305) which are capable of executing virtual machines (235), application performance metrics are monitored representing the performance of a software application (405) being executed by the one or more host computing devices (305). Based on the application of rules to the application performance metrics, an elasticity action, such as a power-on action, a power-off action, a deploy action, and/or a destroy action, is determined. The elasticity action is transmitted to one or more target hosts (305), which perform the elasticity action. The target host (305) may be selected based on host performance metrics. Further, a load balancing service (124) may accommodate the addition of a new software application instance (405) to a cluster and/or the removal of an existing software application instance from the cluster.