Token Bucket Throttle Handler for Enterprise Search Rate Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in effectively throttling transaction rates for low transaction per second (TPS) activities, particularly in enterprise search services that rely on keyword-based document analysis, which limits their ability to understand content at a granular level and results in inconsistent adherence to set throttling rates.

Innovation Solution

Implementing a token bucket-based throttling approach within an enterprise search service that uses machine learning models for query understanding and throttling, allowing for intuitive search of unstructured data using natural language, and managing resources to ensure efficient query handling while maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a token bucket-based throttling approach is implemented, then adherence to throttling rates is improved, but device complexity increases

Engineering Contradiction:
Improveadherence to throttling ratesVSAvoidthrottling mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a throttle handler as an intermediary component that sits between the request receiver and the service processing logic. This handler maintains token bucket records in a data store and mediates request processing by checking token availability before allowing requests to proceed. The intermediary structure isolates the complexity of the throttling mechanism from the core service logic while ensuring reliable rate limiting enforcement.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If resource allocation is managed to maintain performance during bursts, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvequery handling efficiencyVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation through the token bucket mechanism, where the available capacity for request processing fluctuates based on the replenishment rate and current token count. During burst periods, the system dynamically adjusts by consuming accumulated tokens, allowing temporary exceedance of average rate limits while maintaining overall productivity. This dynamic approach enables the system to adapt to varying load conditions without requiring complex manual resource management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11580126B1Systems, apparatuses, and methods for request throttling
Publication Date: 2023.02.14 AMAZON TECH INC
  • US11580126B1 patent drawing
  • US11580126B1 patent drawing
  • US11580126B1 patent drawing

AI summary

Techniques for request throttling in a provider network environment are described. A throttle handler controls whether requests will be processed through maintaining a token-based record, per type of request, having a token value indicative of a number of requests that can be processed over a time period. For a request, the token value of the token-based record corresponding to the request type is updated based on calculating an elapsed time between a last update time of the token-based record and the current time, calculating an intermediate token value as the existing token value plus a value of the elapsed time multiplied by a rate, and updating the token value to be the minimum between the intermediate token value and a burst value. The request is serviced when the updated token value is determined to be greater than or equal to a number of tokens needed to perform the request.