RPC Fragmentation for Wide-Area State Machine Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large proposals in state machine replication protocols face challenges in wide-area implementations due to slow transmission over low-bandwidth links, leading to potential timeouts and leaderlessness, especially in cases of congestion or failures.

Innovation Solution

Splitting large proposals into multiple fragments for individual transmission, with acknowledgments and message references to ensure correctness and liveness, allowing for out-of-order and out-of-band transmission while verifying quality of service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If large proposals are transmitted as indivisible units, then correctness of state machine replication is maintained, but transmission time increases and timeouts occur more frequently

Engineering Contradiction:
Improvecorrectness of replicationVSAvoidproposal transmission time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides large proposals into smaller fragments that can be transmitted individually. Each fragment is sent as a separate message, allowing parallel transmission and reducing the time for any single fragment to be transmitted. The receiver reassembles the fragments in the correct order to reconstruct the original proposal, maintaining correctness while reducing transmission time and timeout frequency.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If proposals are transmitted over wide-area low-bandwidth links, then system scalability is improved, but transmission speed decreases and congestion impact increases

Engineering Contradiction:
Improvewide-area deployment capabilityVSAvoidproposal transmission speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

By segmenting large proposals into smaller fragments, the system can efficiently transmit data over wide-area low-bandwidth links. The smaller fragment size reduces transmission time for each message, minimizes the impact of network congestion, and allows for better utilization of available bandwidth across distributed replicas.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic acknowledgments between sender and receiver for each fragment transmitted. This periodic feedback mechanism allows the system to detect transmission issues early, manage retransmissions efficiently, and maintain liveness even over slow wide-area links by providing regular status updates.

Inventive Principle:
Principle #19Periodic action

3Reliability

If timeout thresholds are set for proposal transmission, then liveness is maintained, but large proposals may timeout prematurely during congestion

Engineering Contradiction:
Improveliveness of replicationVSAvoidproposal completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Segmenting proposals into fragments with individual timeout thresholds allows the system to maintain liveness by timing out only stalled fragments rather than the entire proposal. This granular approach prevents premature timeout of large proposals during temporary congestion, as the timeout applies to small fragments rather than the complete large proposal.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The periodic acknowledgment mechanism provides continuous feedback on fragment transmission progress. This allows the system to distinguish between temporary delays and actual transmission failures, maintaining liveness by enabling targeted retransmission of only the problematic fragments while keeping the overall proposal alive.

Inventive Principle:
Principle #19Periodic action

4Productivity

If fragments are transmitted individually, then transmission efficiency improves, but complexity of ensuring correct reassembly increases

Engineering Contradiction:
Improveproposal transmission efficiencyVSAvoidfragment management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The segmentation approach transmits proposals as numbered fragments with sequence information, enabling parallel transmission and improving efficiency. The receiver uses the fragment numbers and sequence information to automatically reassemble fragments in the correct order, managing complexity through structured data formats rather than complex coordination protocols.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11831711B2System and method for sending and receiving remote procedure calls
Publication Date: 2023.11.28 GOOGLE LLC
  • US11831711B2 patent drawing
  • US11831711B2 patent drawing
  • US11831711B2 patent drawing

AI summary

Systems and methods are provided for sending and receiving remote procedure calls (RPCs). Based on a message in a first RPC, a second set of RPCs are created by one or more computing devices, where each of the second set of RPCs includes a portion of the message in the first RPC. The message in the first RPC is replaced with a reference to each RPC of the second set of RPCs. The one or more computing devices send the first RPC with the references, and also send the second set of RPCs.