Multi-Tier Application Autoscaling via Cost-Performance Utility Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual data center scaling technologies are inadequate for multi-tier applications, as they rely on static resource thresholds and fail to efficiently allocate resources based on complex dependencies between tiers, leading to suboptimal performance and cost management.
Innovation Solution
A system and method for autoscaling multi-tier applications in virtual data centers that dynamically allocates resources across tiers based on cost and performance, using a virtual manager to determine a scaling factor for each tier, optimizing utility by balancing execution cost, application reservation, and performance limits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If static resource thresholds are used for scaling, then the system is simple to operate, but the resource allocation efficiency deteriorates for multi-tier applications
Solution Approach 1:
The patent transforms static resource thresholds into dynamic thresholds that automatically adjust based on observed resource usage patterns and performance metrics. The system learns from historical data and adapts threshold values over time, enabling the scaling mechanism to respond effectively to multi-tier application characteristics without requiring complex manual configuration.
Solution Approach 2:
The system implements feedback loops that continuously monitor resource usage across multiple tiers and adjust scaling decisions based on this information. Performance metrics and resource consumption data are fed back into the scaling algorithm, which uses this feedback to refine threshold values and improve allocation efficiency for multi-tier workloads.
2Device complexity
If scaling is based on virtual machine resource usage only, then the scaling decision process is simple, but the performance optimization deteriorates for multi-tier applications
Solution Approach 1:
The patent segments the scaling decision process into multiple independent components, each responsible for analyzing specific aspects of multi-tier application behavior. Instead of treating the entire application as a single unit, the system divides it into tiers and components, analyzing resource usage and performance metrics at each segment level to make more accurate scaling decisions.
Solution Approach 2:
The system adds temporal and hierarchical dimensions to the scaling analysis. It examines resource usage not just at a single point in time but across multiple time periods, and not just at the virtual machine level but across the entire multi-tier application hierarchy. This multi-dimensional approach enables more reliable performance optimization while managing complexity through structured analysis.
3Ease of manufacture
If static thresholds are set at initialization, then the configuration is simple to establish, but the adaptability deteriorates when workload conditions change
Solution Approach 1:
The system performs preliminary actions by establishing initial scaling thresholds during configuration setup, which are then used as starting points for automatic adaptation. These preliminary thresholds provide a baseline for operation while the system simultaneously begins learning from actual workload patterns, gradually refining the thresholds to match specific workload characteristics without requiring reconfiguration.
Solution Approach 2:
The scaling system implements self-service capabilities by automatically adjusting its own thresholds based on observed workload patterns and performance metrics. The system monitors its own operation, learns from the data, and autonomously optimizes threshold values to adapt to changing workload conditions, eliminating the need for manual reconfiguration while maintaining simplicity in the initial setup process.
Data Source
AI summary
A system and method for autoscaling a multi-tier application, that has components executing on a plurality of tiers of a virtual data center, allocates resources to each of the plurality of tiers based on cost and performance. An application performance is determined, and a new application performance is estimated based at least partially on an application reservation and an application limit. An optimized utility of the application is calculated based on the cost to execute the application, the application reservation, and the application limit. A scaling factor for each tier is then determined to scale up or down a number of virtual machines operating in each of the tiers.


