Dynamic Application Scaling via Queue Depth Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing dynamic application scaling systems fail to accurately assess workload processing requirements, leading to inefficient scaling of application instances based on CPU load, memory usage, and front-end requests, which can result in suboptimal performance.

Innovation Solution

A method for dynamically scaling application instances based on queue depth, where the number of instances is adjusted according to observed queue depth values and scaling configuration parameters, including thresholds, scale-up and scale-down intervals, and minimum/maximum instance limits, to ensure optimal processing capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dynamic application scaling is performed based on CPU load, memory usage, and front-end requests, then the system can respond to workload changes, but the scaling accuracy is insufficient leading to suboptimal performance

Engineering Contradiction:
Improvescaling responsivenessVSAvoidworkload assessment accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent changes the scaling parameter from composite metrics (CPU load, memory usage, front-end requests) to a direct queue depth metric. This parameter change enables more accurate workload assessment because queue depth directly reflects the actual processing backlog that applications must handle, providing a precise measure of scaling needs without the noise and indirectness of other metrics.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the number of application instances is increased to handle higher workload, then processing capacity improves, but resource waste occurs when scaling is not accurately matched to actual needs

Engineering Contradiction:
Improveprocessing capacityVSAvoidresource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the scaling system continuously monitors queue depth values and uses this information to dynamically adjust the number of application instances. This closed-loop feedback ensures that scaling decisions are based on actual processing needs reflected in the queue, preventing both over-provisioning (resource waste) and under-provisioning (insufficient capacity) by constantly adapting to the current workload state.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If scaling decisions are made frequently to respond to workload changes, then adaptability improves, but system instability occurs due to oscillating scaling actions

Engineering Contradiction:
Improvescaling frequencyVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent applies preliminary action by requiring the queue depth to exceed the scaling threshold for a predetermined time period before triggering a scale-up event. This advance condition prevents premature or reactive scaling decisions that could lead to oscillations. By requiring the threshold to be sustained for a specific duration, the system ensures that scaling actions are taken only when the workload increase is persistent, thereby maintaining stability while still responding to genuine workload changes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10469411B1Dynamic application scaling
Publication Date: 2019.11.05 EMC IP HLDG CO LLC
  • US10469411B1 patent drawing
  • US10469411B1 patent drawing
  • US10469411B1 patent drawing

AI summary

Techniques for performing application scaling may include: receiving a plurality of observed queue depth values for a queue, wherein the queue includes data packets to be processed by a first set of one or more applications of a first application type; determining, in accordance with the observed queue depth values and scaling configuration parameters for the first application type, whether to modify the number of applications currently in the first set, wherein the scaling configuration parameters includes a scaling threshold; and responsive to determining to modify the number of application currently in the first set, performing first processing that modifies the number of applications currently in the first set. Modifying the number of applications in the first set may include scaling up or scaling down the number of instances in the first set.