Dynamic Token Throttling for Distributed Consensus Node Overload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face issues with node overload due to excessive communication traffic, leading to latency and potential data loss, especially during leader election and burst scenarios, which can cause consensus groups to fail and impact customer data availability.

Innovation Solution

Implementing a dynamic token-based throttling mechanism that determines token bucket sizes based on node cell composition to prioritize leader election and customer traffic, ensuring transactions do not exceed transaction limits, thereby preventing node overload and maintaining system stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is replicated across multiple computer systems to protect against failures, then data integrity and reliability are improved, but system complexity and resource requirements increase

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments data replication into consensus groups where a subset of nodes (quorum) must agree on data changes. This divides the complexity of full system-wide replication into manageable group-based units, allowing reliable data protection while reducing overall system complexity through modular organization of replication responsibilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary consensus protocol that mediates between data writers and replicated nodes. This intermediary layer coordinates data changes across the distributed system, ensuring data integrity through consensus while abstracting the complexity of direct node-to-node replication communications from the system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If consensus protocols are implemented to maintain data consistency across replicas, then data consistency is improved, but communication overhead and latency increase

Engineering Contradiction:
Improvedata consistencyVSAvoidcommunication latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies local quality by allowing different consensus groups to operate independently with their own quorum requirements and communication patterns. This enables optimized consensus protocols for specific data types or access patterns, reducing communication latency for frequently accessed data while maintaining consistency for critical data through stricter local consensus rules.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial consensus action by requiring only a quorum (majority) of nodes to agree on data changes rather than requiring all nodes to reach consensus. This partial action approach achieves data consistency with fewer communication rounds and reduced latency, accepting that some nodes may temporarily have inconsistent views until the next consensus round.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If elastic computing resources are scaled up to meet peak bandwidth requirements, then system capacity is improved, but resource utilization efficiency deteriorates during low-usage periods

Engineering Contradiction:
Improvesystem capacityVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system implements dynamic resource allocation where consensus group membership and quorum requirements can be adjusted based on current system load and data access patterns. During peak periods, additional nodes can be dynamically added to consensus groups to increase throughput capacity, while during low-usage periods, resources can be scaled back, maintaining system capacity flexibility without permanent over-provisioning that would waste resources.

Inventive Principle:
Principle #15Dynamics

4Productivity

If more nodes are added to consensus groups to increase throughput capacity, then system productivity is improved, but node overload and communication complexity worsen

Engineering Contradiction:
Improvethroughput capacityVSAvoidnode overload
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the distributed system into multiple independent consensus groups, each handling specific data or access patterns. This segmentation allows throughput capacity to be increased by adding nodes to specific groups without overloading individual nodes, as the workload is distributed across multiple specialized groups rather than concentrated in a single large consensus group.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes operational parameters such as quorum size and consensus group membership based on current system conditions. When nodes show signs of overload, the system can adjust quorum requirements or redistribute data across different consensus groups, maintaining throughput capacity while preventing node overload through adaptive parameter modification rather than static node addition.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10944812B1Dynamic throttling for data consensus groups
Publication Date: 2021.03.09 AMAZON TECH INC
  • US10944812B1 patent drawing
  • US10944812B1 patent drawing
  • US10944812B1 patent drawing

AI summary

Generally described, one or more aspects of the present application correspond to techniques for dynamically determining token bucket sizes for different types of transactions occurring at a node in a distributed consensus-based transaction system. For example, each node can store a number of cells, with such cells being replicated across a number of nodes. Each cell can assume various roles in consensus transactions, for example being a leader or simple juror, or being unsure of its leader's identity and requesting leadership. Each node can determine the overall number of transaction tokens that it will assign during a given time period based on the cell composition, and can allocate those tokens to a leader election token bucket and a customer traffic token bucket based on the cell composition.