Overwriting Decided Slots in Sequencer Consensus Logs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional sequencer protocols fail to provide reliable in-order messaging and flow control for replicated services, leading to message loss, duplication, and reordering in consensus logs due to immutable decided slots and leadership changes.

Innovation Solution

The proposed solution enhances existing consensus log protocols like Paxos, Raft, and Kafka by allowing modification of decided slots during epoch changes, enabling a new leader to re-propose lost messages in their original order without gaps or reordering, and maintaining message order as intended by clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If decided slots are made immutable to ensure consistency, then reliability is improved, but flexibility to handle leadership changes and message recovery is worsened

Engineering Contradiction:
Improveconsistency of consensus logVSAvoidflexibility to handle leadership changes
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by transitioning from static immutability to dynamic mutability of decided slots. The system allows decided slots to be overwritten during epoch changes, enabling the consensus log to adapt to leadership changes while maintaining consistency through controlled reconfiguration mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of slot immutability from fixed to variable. By allowing decided slots to be modified during epoch transitions, the system achieves flexibility in handling leadership changes while maintaining reliability through proper consensus protocols that ensure consistent state transitions.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If conventional sequencer protocols are used to ensure fault tolerance, then reliability is improved, but in-order messaging and flow control are worsened

Engineering Contradiction:
Improvefault toleranceVSAvoidin-order messaging guarantee
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the consensus log into epochs, where each epoch manages a specific range of slots. This segmentation allows the system to maintain fault tolerance at the epoch level while ensuring in-order messaging within each epoch, resolving the contradiction between reliability and operational simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces epoch transitions as an intermediary mechanism between fault tolerance requirements and in-order messaging guarantees. The epoch structure acts as a mediator that enables both fault tolerance through consensus and in-order messaging through controlled slot management during epoch changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If decided slots cannot be modified, then consistency is maintained, but message loss and duplication occur during leadership changes

Engineering Contradiction:
Improveconsistency of log entriesVSAvoidmessage delivery reliability
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The patent applies preliminary action by preparing for potential message loss before it occurs. During epoch changes, the system proactively manages slot overwrites to prevent message loss and duplication, ensuring that messages are properly transitioned between epochs rather than being lost or duplicated during leadership changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent converts the potential harm of mutable decided slots into a benefit by using controlled slot overwrites during epoch changes. This mechanism, which could potentially cause inconsistency, is instead used to prevent message loss and handle leadership transitions, turning a possible harm into a reliability enhancement.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS11909528B2Safely overwriting decided slots
Publication Date: 2024.02.20 CISCO TECHNOLOGY INC
  • US11909528B2 patent drawing
  • US11909528B2 patent drawing
  • US11909528B2 patent drawing

AI summary

Techniques are described for safely overwriting decided slots and in-order fault tolerant consensus logs for replicated services. Using techniques described herein, a broad class of already-existing consensus log protocols may be enhanced/extended to safely overwrite decided slots and provide in-order fault tolerant consensus logs. When changing to a different epoch of a consensus log, slots determined to be unreachable may be changed/deleted even if slots after the gap were decided. A sequencer protocol establishes distributed consensus among a group of services. The sequencer protocol provides in-order execution of messages from multiple clients, and flow control from within the sequencer protocol, without offloading de-duplicate and reorder (DDRO) logic to the application layer. Fault tolerance is provided by egress cursors and ingress cursors, which provide awareness of which specific messages from each client sender should be executed next, even if those messages are not presently in the consensus log.