Auto-Scaling Compute Resources Using Buffer Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional container orchestration systems, such as Kubernetes, are inefficient in scaling compute resources for short-running applications with sudden demand spikes or drops, leading to delayed resource allocation and prolonged usage of idle resources, which affects user experience and increases costs.

Innovation Solution

An auto-scaling method and system that calculates buffer capacity thresholds to proactively scale up or down compute resources based on real-time demand, marking unused resources for standby and releasing them gradually or quickly depending on demand fluctuations, to optimize resource utilization and minimize costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional auto-scaling capabilities are used to gradually and linearly increase or decrease compute resources, then resource allocation is stable and predictable, but responsiveness to sudden demand spikes is poor and user experience deteriorates

Engineering Contradiction:
Improveresponsiveness to demand changesVSAvoidwait time for resource allocation
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system proactively scales up compute resources before demand actually occurs by analyzing historical patterns and predicting future needs. This preliminary action ensures resources are ready in advance, eliminating wait times during sudden demand spikes while maintaining stable scaling behavior during normal operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If compute resources are maintained at high levels to handle sudden demand spikes, then user experience is improved, but resource costs increase due to prolonged usage of idle resources

Engineering Contradiction:
Improveavailability during demand spikesVSAvoidcost of idle compute resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts compute resource levels based on real-time demand conditions and predicted trends. Resources are scaled up proactively when demand is anticipated, maintained at optimal levels during sustained periods, and scaled down efficiently when demand decreases, ensuring both availability and cost-effectiveness through continuous adaptation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of compute resources by transitioning between different scaling states (scale-up, hold, scale-down) based on demand analysis. This parameter adjustment allows the system to maintain high availability when needed while minimizing idle resource costs during low-demand periods.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If compute resources are released quickly when demand decreases, then cost efficiency is improved, but resource availability during subsequent demand spikes may be compromised

Engineering Contradiction:
Improvecost of compute resourcesVSAvoidresource availability for future spikes
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system performs preliminary scaling-up actions based on predicted demand patterns before actual demand occurs. By anticipating future demand spikes through historical analysis and trend detection, the system proactively maintains or increases resource levels in advance, ensuring availability without requiring rapid scaling that would compromise reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11734073B2Systems and methods for automatically scaling compute resources based on demand
Publication Date: 2023.08.22 ATLASSIAN US INC
  • US11734073B2 patent drawing
  • US11734073B2 patent drawing
  • US11734073B2 patent drawing

AI summary

System and methods for automatically scaling compute resources in a compute group. The method includes determining compute capacity required to complete job requests and determining allocable compute capacity available on the compute resources in the compute group. The method further includes calculating a utilization of the compute group based on the required compute capacity and allocable compute capacity and determining whether the calculated utilization is above a first threshold value or below a second threshold value; upon determining that the calculated utilization is above the first threshold value the method calculates a number of compute resources required to bring the utilization below the first threshold value and causes an increase in the number of compute resources in the compute group based on the calculated number. Upon determining that the calculated utilization falls below the second threshold value the method causes a reduction in the number of active compute resources.