Throttling Queue for Multi-Tenant Request Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional request scheduling and processing systems in distributed computing environments face challenges in ensuring fair resource allocation across multiple tenants, particularly when handling surges in requests, leading to resource overload and unfair consumption, which can result in dropped requests and poor system availability.

Innovation Solution

Implementing a throttling queue system that redirects requests exceeding defined thresholds to a prioritized queue, while using dominant resource scheduling and hard limits on resource utilization to manage resource allocation and prevent overconsumption by any single tenant account, thereby ensuring fair and efficient processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If requests are processed from account queues on a FIFO basis, then processing order is simple and predictable, but resource overload occurs when request surges exceed system capacity

Engineering Contradiction:
Improverequest processing simplicityVSAvoidsystem availability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments the request queue into two distinct queues: account queues for normal FIFO processing and a throttling queue for overflow requests. This segmentation allows the system to maintain simple FIFO processing for normal operations while isolating surge requests to prevent resource overload and maintain system availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The throttling queue acts as an intermediary buffer between incoming request surges and the account queues. When account queues approach capacity, requests are redirected to the throttling queue, which processes them separately with higher priority, preventing resource overload while maintaining overall system availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If all incoming requests are accepted and queued, then no requests are dropped, but system resources are consumed and fairness among tenants deteriorates

Engineering Contradiction:
Improverequest processing throughputVSAvoidresource allocation fairness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system extracts requests that would cause resource overload from the normal account queues and places them in a separate throttling queue. This extraction mechanism prevents unfair resource consumption by isolating surge requests while maintaining fair resource allocation for normal requests across multiple tenants.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the processing parameters for different queue types: account queues use standard FIFO processing with fair resource allocation, while the throttling queue uses priority processing with exclusive resource access. This parameter differentiation allows high throughput for normal requests while ensuring fairness among tenants.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If requests exceeding thresholds are dropped to a throttling queue, then resource overload is prevented, but processing complexity increases

Engineering Contradiction:
Improveresource utilization controlVSAvoidqueue management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments request management into two distinct queue structures with different processing rules. Account queues handle normal requests with simple FIFO ordering, while the throttling queue handles overflow requests with priority processing. This segmentation manages resource utilization effectively while keeping each queue's management logic relatively simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically routes requests to appropriate queues based on current resource utilization thresholds. When account queues approach capacity, the routing logic dynamically redirects requests to the throttling queue. This dynamic adaptation prevents resource overload while maintaining manageable queue structures through context-aware routing decisions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12107769B2Throttling queue for a request scheduling and processing system
Publication Date: 2024.10.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12107769B2 patent drawing
  • US12107769B2 patent drawing
  • US12107769B2 patent drawing

AI summary

Various methods and systems for implementing request scheduling and processing in a multi-tenant distributed computing environment are provided. Requests to utilize system resources in the distributed computing environment are stored in account queues corresponding to tenant accounts. If storing a request in an account queue would exceed a throttling threshold such as a limit on the number of requests stored per account, the request is dropped to a throttling queue. A scheduler prioritizes processing requests stored in the processing queue before processing requests stored in the account queues. The account queues can be drained using dominant resource scheduling. In some embodiments, a request is not picked up from an account queue if processing the request would exceed a predefined hard limit on system resource utilization for the corresponding tenant account. In some embodiments, the hard limit is defined as a percentage of threads the system has to process requests.