Dynamic Throttling Management in Distributed Server Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In service-oriented provider networks, distributed computing nodes face limitations in handling service requests, leading to throttling issues where excessive requests result in errors and dropped connections due to service and node throttling limits, which are not effectively managed by existing systems.

Innovation Solution

Implementing a system that calculates and manages service and node throttling limits dynamically, allowing requests to be accepted or rejected based on current load conditions, and directing excess requests to other nodes to prevent overload, using a load balancer and throttling manager to track and enforce these limits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If service requests are distributed to computing nodes without managing throttling limits, then the system can handle more requests, but computing nodes will exceed their capacity and cause throttling errors

Engineering Contradiction:
Improverequest handling capacityVSAvoidthrottling error rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by calculating and determining throttling limits for computing nodes before distributing service requests. The load balancer proactively assesses node capacity and request rates, and pre-determines appropriate throttling limits to prevent overload conditions before they occur, thereby maintaining both high productivity and reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the load balancer continuously monitors service request distribution and node performance. Based on this feedback, the system dynamically adjusts throttling limits and redistributes requests to maintain optimal operating conditions, preventing throttling errors while maximizing request handling capacity

Inventive Principle:
Principle #23Feedback

2Reliability

If throttling limits are strictly enforced at computing nodes, then node overload is prevented, but service requests are dropped when limits are reached

Engineering Contradiction:
Improvenode stabilityVSAvoidrequest processing volume
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The load balancer serves as an intermediary between service requests and computing nodes. It calculates throttling limits and manages request distribution, acting as a mediator that prevents direct overload of nodes while maintaining high request processing volumes through intelligent routing and rate limiting

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements dynamic throttling limit management where limits are not fixed but adjusted based on current system conditions. The load balancer continuously recalculates appropriate throttling limits based on node capacity, request patterns, and system state, enabling flexible adaptation that maintains node stability while maximizing request processing capability

Inventive Principle:
Principle #15Dynamics

3Productivity

If the load balancer distributes requests evenly across all nodes, then resource utilization is optimized, but individual nodes may still exceed their specific throttling limits

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidthrottling compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system applies local quality by determining specific throttling limits for each computing node based on its individual capacity and characteristics. Rather than applying a uniform distribution strategy, the load balancer tailors request rates and throttling limits to each node's local conditions, ensuring both optimal resource utilization and compliance with individual node capabilities

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10659371B1Managing throttling limits in a distributed system
Publication Date: 2020.05.19 AMAZON TECH INC
  • US10659371B1 patent drawing
  • US10659371B1 patent drawing
  • US10659371B1 patent drawing

AI summary

Systems and methods for manage throttling limits in a distributed system are disclosed herein, according to some embodiments. A system includes a plurality of server nodes to perform a service. The system includes one or more processors a memory. The memory stores instructions that, when executed by the one or more processors, cause the one or more processors to perform operations. The operations include receiving a request for the service. The operations also include calculating whether accepting the request would exceed a service throttling limit for the plurality of server nodes for the service and whether accepting the request would exceed a node throttling limit for a server node of the plurality of server nodes. The operations also include accepting the request for processing at the server node responsive to calculating that the service throttling limit and the node throttling limit would not be exceeded.