Capacity-Based Scaling for Queue Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cloud computing scaling systems oscillate wildly in scaling service processors, leading to inefficient resource utilization and higher costs due to their reliance on message queue size alone, causing unnecessary tie-up of resources to maintain quality of service.

Innovation Solution

A capacity-based scaling system that measures both the number of messages in a queue and the input rate, along with processing capacity, to determine when to scale up or down service processors, ensuring efficient resource allocation and minimizing unnecessary resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional scaling systems scale service processors based on queue size alone, then quality of service is maintained, but resource utilization becomes inefficient and costs increase

Engineering Contradiction:
Improvequality of serviceVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent changes the scaling parameters from queue size alone to a composite metric incorporating both queue size and input rate. This allows the system to maintain quality of service while avoiding unnecessary scaling actions, thereby improving resource utilization efficiency and reducing costs.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback mechanisms that continuously monitor both queue size and input rate, using this information to dynamically adjust the number of service processors. This feedback loop prevents wild oscillations and enables more stable, efficient resource allocation while maintaining service quality.

Inventive Principle:
Principle #23Feedback

2Reliability

If conventional scaling systems keep a minimum number of service processors instantiated, then quality of service is maintained during load spikes, but computing resources are unnecessarily tied up and costs increase

Engineering Contradiction:
Improvequality of service during load spikesVSAvoidcomputing resources tied up
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent makes the service processor instantiation dynamic by introducing the input rate as an additional factor. Instead of maintaining a static minimum number of processors, the system dynamically adjusts processor count based on real-time conditions (queue size and input rate), allowing resources to be released when not needed while still handling load spikes effectively.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If scaling systems use simple rules based on queue size, then implementation is straightforward, but the number of service processors oscillates wildly

Engineering Contradiction:
Improvescaling system implementationVSAvoidnumber of service processors
Core Design Contradiction:
Ease of manufactureVSStability of the object's composition

Solution Approach 1:

The patent adds the input rate parameter to the scaling decision process. This additional parameter provides more nuanced information about system state, allowing the scaling algorithm to make more informed decisions that reduce wild oscillations while maintaining reasonable implementation complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10862829B2Capacity-based scaling of queue-based services
Publication Date: 2020.12.08 ADOBE INC
  • US10862829B2 patent drawing
  • US10862829B2 patent drawing
  • US10862829B2 patent drawing

AI summary

Capacity-based scaling of queue-based resources is described. Initially, a scaling system measures capacity of service processors that are instantiated at a cloud computing service system to provide a service on behalf of a service provider, and also measures a load on these processors. In contrast to conventional scaling systems—which base scalings on a number of queued messages which the instantiated service processors process to provide the service—the scaling system measures the load in terms of not only the number of messages held in a queue but also an input rate of the messages to the queue. The described scaling system then determines whether and by how much to scale the instantiated processors based on this number of messages and input rate. Given this, the scaling system instructs the cloud computing service system how to scale the instantiated service processors to provide the service.