Pattern-Based Scaling for Distributed Application Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current approaches to resource management in cloud computing often lead to inefficiencies due to inappropriate scaling of resources for distributed applications, resulting in either over-allocation or under-allocation of hardware resources.

Innovation Solution

A system and method that analyze usage metrics to determine whether a distributed application exhibits a cyclic, batch, or non-cyclic usage pattern, and automatically select and apply a suitable scaling technique to allocate computational resources effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If autoscaling is used to allocate resources based on instantaneous demand, then resource allocation responsiveness is improved, but resource allocation accuracy deteriorates leading to over-allocation or under-allocation

Engineering Contradiction:
Improveresource allocation responsivenessVSAvoidresource allocation accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system performs preliminary analysis of usage metrics to identify application usage patterns (cyclic, batch, or non-cyclic) before allocating resources. This preliminary classification enables the system to select appropriate scaling techniques in advance, avoiding the reactive and imprecise nature of instantaneous autoscaling. The pattern recognition and pre-planning of scaling strategies resolve the contradiction by maintaining both responsiveness and accuracy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If hardware resources are over-allocated to ensure sufficient capacity, then application performance reliability is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveapplication performance reliabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts resource allocation based on identified usage patterns. For cyclic patterns, resources are allocated in sync with the cycle; for batch patterns, resources are allocated ahead of batch execution; for non-cyclic patterns, resources are allocated based on predicted demand. This dynamic, pattern-based approach ensures sufficient resources are available when needed (maintaining reliability) while avoiding continuous over-allocation (improving efficiency).

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of resource allocation from fixed or instantaneous values to pattern-based predictive values. By analyzing usage metrics and identifying patterns, the system adjusts resource allocation parameters according to the specific pattern type, ensuring optimal resource levels that maintain reliability without wasting resources.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If hardware resources are under-allocated to improve resource utilization efficiency, then resource utilization efficiency is improved, but application performance reliability deteriorates causing slowdowns or errors

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidapplication performance reliability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system performs preliminary analysis of usage metrics to identify application usage patterns (cyclic, batch, or non-cyclic) before allocating resources. This preliminary classification enables the system to select appropriate scaling techniques in advance, avoiding the reactive and imprecise nature of instantaneous autoscaling. The pattern recognition and pre-planning of scaling strategies resolve the contradiction by maintaining both responsiveness and accuracy.

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If a single scaling technique is used for all applications, then system complexity is reduced, but adaptability to different application patterns deteriorates

Engineering Contradiction:
Improvesystem complexityVSAvoidadaptability to usage patterns
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The system implements a universal pattern recognition mechanism that can identify and handle multiple types of usage patterns (cyclic, batch, non-cyclic) through a single analytical framework. This multi-functional approach allows the system to adapt to different application patterns without requiring separate complex systems for each pattern type, thus maintaining low complexity while achieving high adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system changes the parameter of scaling technique selection from fixed to variable based on identified usage patterns. By analyzing usage metrics and identifying patterns, the system adjusts the scaling technique parameters according to the specific pattern type, ensuring optimal resource allocation for each application while maintaining a unified system architecture.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12236282B2Systems and methods for choosing an appropriate scaling technique for allocating computational resources to distributed applications
Publication Date: 2025.02.25 CAPITAL ONE SERVICES LLC
  • US12236282B2 patent drawing
  • US12236282B2 patent drawing
  • US12236282B2 patent drawing

AI summary

A system including: one or more processors; a memory storing computer program code that controls the one or more processors to: receive usage metrics associated with a first application; determine whether the first application comprises a cyclic usage pattern, a batch usage pattern, or a non-cyclic usage pattern; select a scaling technique based on the determination; and automatically scale the first application with the selected scaling technique. The system may determine that at least one virtual machine should be added to a first plurality of virtual machines in response to a resource usage of an application exceeding a maximum usage allocation and determine that at least one virtual machine should be removed to the first plurality of virtual machines in response to a minimum usage allocation exceeding the resource usage of the first plurality of virtual machine instances.