Dual Queueing for Distributed Service Throttling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large distributed computing systems, managing resource utilization and isolating issues becomes challenging as complexity increases, leading to difficulties in maintaining service quality and cost-effectiveness, particularly during periods of high demand when hardware resources become overloaded.

Innovation Solution

Implementing a queuing system with a main queue and a sideline queue, where customer events are delayed in the sideline queue when a service endpoint is overloaded, allowing the system to prevent degradation of service by throttling and managing resource allocation based on customer identification and state information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If hardware resources are shared to support multiple customers, then cost-effectiveness is improved, but service degradation occurs during high demand periods

Engineering Contradiction:
Improvecost-effectivenessVSAvoidservice quality
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system segments the single hardware resource into multiple virtual machines, allowing simultaneous service to multiple customers while maintaining isolation. Each virtual machine receives dedicated resource allocation through virtualization, preventing any single customer from monopolizing resources and causing service degradation for others.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtualization system dynamically allocates and adjusts resource distribution among virtual machines based on current demand and service-level agreements. This dynamic management allows the system to respond to high-demand periods by reallocating resources to maintain service quality while still achieving cost-effectiveness through shared hardware.

Inventive Principle:
Principle #15Dynamics

2Reliability

If resource allocation is increased to prevent service degradation, then service quality is improved, but cost-effectiveness deteriorates

Engineering Contradiction:
Improveservice qualityVSAvoidcost-effectiveness
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The virtualization platform creates a universal computing environment where a single physical infrastructure serves multiple customers and workloads simultaneously. This multi-functionality allows the system to maintain service quality for all customers without requiring separate dedicated hardware for each, thereby preserving cost-effectiveness while improving reliability.

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

3Reliability

If monitoring and control mechanisms are added to manage resource utilization, then service quality is improved, but system complexity increases

Engineering Contradiction:
Improveservice qualityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The virtualization system incorporates self-service capabilities where the virtual machine monitor automatically monitors resource utilization, detects service-level agreement violations, and adjusts resource allocation without external intervention. This automated self-management improves service quality through consistent monitoring and control while minimizing the complexity burden on operators.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where resource usage data is continuously collected and used to adjust virtual machine resource allocation. This closed-loop control ensures service quality is maintained by automatically responding to resource utilization changes, reducing the need for complex manual monitoring and control systems.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10523532B1Multiple queueing for distributed environments
Publication Date: 2019.12.31 AMAZON TECH INC
  • US10523532B1 patent drawing
  • US10523532B1 patent drawing
  • US10523532B1 patent drawing

AI summary

Computing resource service providers provide computing resources to a plurality of customers. To avoid customers experiencing a degradation in service associated with the computing resources provided to customers, a main queue and a sideline queue may be used to manage and distribute customer events to service endpoints. Customer events may be placed in a main queue and transmitted, by a delivery host, to a service endpoint. If the delivery host receives a throttle response from the service endpoint, the delivery host may enqueue the customer event in a sideline queue and generate and/or store state information associated with the customer event. The state information may include an interval of time at the expiration of which the customer event may be retransmitted to the service endpoint.