Dynamic Token Throttling for Distributed Consensus Node Overload
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If consensus protocols are implemented to maintain data consistency across replicas, then data consistency is improved, but communication overhead and latency increase
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.
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.
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
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.
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
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.
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.
Data Source
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.


