Virtual Machine Resource Optimization via Application Clustering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data center management systems lack efficient methods for optimizing resource allocation across virtual machine instances, leading to suboptimal performance and resource utilization, especially for generic or unknown instance types.

Innovation Solution

A resource optimization manager monitors and analyzes resource metrics to cluster applications based on similarities, generating and applying resource optimizations to target applications by associating them with similar clusters, thereby optimizing resource allocation and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If resource allocation is manually configured for each virtual machine instance type, then configuration precision can be maintained, but resource utilization efficiency deteriorates due to suboptimal allocation

Engineering Contradiction:
Improveconfiguration precisionVSAvoidresource utilization efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system enables virtual machine instances to automatically optimize their own resource allocation by monitoring performance metrics and dynamically adjusting resource configuration without manual intervention, thereby achieving both high configuration precision and improved resource utilization efficiency

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous monitoring of performance metrics from virtual machine instances and uses this feedback to dynamically adjust resource allocation, creating a closed-loop control system that simultaneously maintains configuration precision and enhances resource utilization efficiency

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If generic virtual machine instances are used to accommodate varying application demands, then adaptability is improved, but resource allocation optimization deteriorates due to lack of instance-specific tuning

Engineering Contradiction:
Improveadaptability to application demandsVSAvoidresource allocation optimization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system applies different resource allocation strategies and optimization parameters to different virtual machine instance types based on their specific characteristics and workloads, enabling each instance to receive customized optimization while maintaining overall system adaptability to varying application demands

Inventive Principle:
Principle #3Local quality

3Productivity

If dynamic resource optimization is implemented for virtual machine instances, then resource utilization efficiency is improved, but system complexity increases due to monitoring and management overhead

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system reduces management overhead by enabling virtual machine instances to autonomously monitor their own performance metrics and self-adjust resource allocation, thereby improving resource utilization efficiency while minimizing the complexity of external monitoring and management systems

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10055239B2Resource optimization recommendations
Publication Date: 2018.08.21 AMAZON TECH INC
  • US10055239B2 patent drawing
  • US10055239B2 patent drawing
  • US10055239B2 patent drawing

AI summary

A resource optimization manager monitors resource metrics of a set of virtual machine instance types and determines a set of applications associated with the virtual machine instance types and associates the resource metrics to the set of applications. Thereafter, the resource optimization manager can generate clusters of applications that share one or more similar attributes and store resource optimizations for the clustered applications. The resource optimization manager can obtain a designation of a target application run on a virtual machine instance or otherwise obtain a definition of an application. The resource optimization manager can then associate the target application with one or more of the clustered applications based on a comparison of similarities between the clustered applications and the target applications.