Dynamic Throttling via Centralized Service for Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed electronic environments, managing access to resources becomes challenging due to the difficulty in dynamically controlling the number of requests from users, especially when multiple hosts are involved, as existing throttling methods are either too limiting or lack real-time adjustment capabilities, leading to potential system overload and abuse detection delays.

Innovation Solution

A dynamic throttling mechanism is introduced, utilizing a lightweight throttling component or service that intercepts requests, analyzes usage data globally, and applies throttling rules on a per-request basis, allowing for real-time adjustments without maintaining state information at each server, using a throttling Web service layer with a persistence service and job queue to manage and enforce throttling rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed throttling rule (e.g., one request per second) is applied to control requests from each requestor, then the system can prevent overload in single-host environments, but it becomes too limiting and inflexible in multi-host distributed environments where requestors can bypass limits by distributing requests across multiple hosts

Engineering Contradiction:
Improvesystem stabilityVSAvoidthrottling flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent merges the throttling logic across multiple hosts by implementing a centralized service that aggregates request counts from all hosts. Each host reports its request counts to the centralized service, which then calculates the total requests from each requestor across the entire distributed system, enabling coordinated throttling that works effectively in multi-host environments.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a centralized throttling service as an intermediary between individual hosts and requestors. This mediator collects request information from multiple hosts, determines global throttling decisions, and enforces consistent rate limiting across the distributed system, resolving the limitation of individual host-based throttling.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If manual monitoring and configuration updates are used to detect and respond to requestor abuse, then simple systems can be managed, but distributed systems experience delayed detection and response to abuse patterns

Engineering Contradiction:
Improvemanagement simplicityVSAvoidabuse detection time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements continuous feedback loops where the centralized throttling service constantly monitors request patterns from all hosts, automatically detects abuse patterns in real-time, and dynamically adjusts throttling rules without manual intervention. This automated feedback mechanism enables rapid detection and response to abuse while maintaining operational simplicity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system enables self-service throttling management where the centralized service automatically monitors, detects, and responds to abuse patterns without requiring manual administrator intervention. The service autonomously adjusts throttling rules based on observed request patterns, reducing both operational complexity and response time.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If configuration-based throttling control is used, then throttling rules can be set in advance, but updating and monitoring each requestor in real-time becomes difficult and time-consuming

Engineering Contradiction:
Improvethrottling rule setupVSAvoidreal-time monitoring efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The centralized throttling service acts as an intermediary that automatically handles the complex task of real-time monitoring and dynamic rule updates. Administrators can set high-level policies, and the service automatically translates these into real-time throttling decisions across all hosts, maintaining ease of configuration while enabling efficient real-time monitoring.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses continuous feedback from request patterns to automatically adjust throttling rules in real-time. The centralized service monitors request flows, detects patterns that require adjustment, and dynamically updates throttling configurations without manual intervention, combining easy initial setup with automated real-time optimization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9729557B1Dynamic throttling systems and services
Publication Date: 2017.08.08 AMAZON TECH INC
  • US9729557B1 patent drawing
  • US9729557B1 patent drawing
  • US9729557B1 patent drawing

AI summary

A lightweight throttling mechanism allows for dynamic control of access to resources in a distributed environment. Each request received by a server of a server group is parsed to determine tokens in the request, which are compared with designated rules to determine whether to process or reject the request based on usage data associated with an aspect of the request, the token values, and the rule(s) specified for the request. The receiving of each request can be broadcast to throttling components for each server such that the global state of the system is known to each server. The system then can monitor usage and dynamically throttle requests based on real time data in a distributed environment.