Sequencer-Ordered Message Streams for ACID Transaction Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing ACID compliant transactions in distributed computing systems, particularly distributed databases, is challenging due to the complexity and inefficiencies of existing techniques like the Saga design pattern and Two-Phase Commit protocol.

Innovation Solution

A system with a sequencer that communicates an atomic message sequence to multiple service instances, each processing messages through a local queue and executing a state machine to manage distributed transactions, ensuring ACID compliance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the Saga design pattern or Two-Phase Commit protocol is used to implement ACID transactions in distributed databases, then transaction atomicity and consistency can be achieved, but system complexity and processing overhead increase significantly

Engineering Contradiction:
ImproveACID transaction complianceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the complex coordination logic from distributed transaction participants and relocates it to a dedicated sequencer component. The sequencer handles all sequencing and coordination operations, while participants simply execute local operations based on received sequences. This extraction reduces participant complexity and centralizes the computational burden of ACID compliance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The sequencer acts as an intermediary between transaction participants and the coordination protocol. Instead of participants directly implementing complex two-phase commit logic or saga orchestration, they receive simplified sequential instructions from the sequencer and execute accordingly. This intermediary layer abstracts the complexity while maintaining ACID properties.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional distributed transaction protocols are implemented, then transaction consistency is ensured, but processing time and efficiency deteriorate

Engineering Contradiction:
Improvetransaction consistencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The sequencer pre-establishes a total ordering of all transaction operations before they are executed by participants. By determining the execution sequence in advance and communicating it to all participants, the system eliminates runtime coordination overhead and waiting periods inherent in traditional two-phase commit protocols, thereby reducing processing time while maintaining consistency.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If distributed databases are implemented to provide redundancy and fault tolerance, then system reliability improves, but transaction coordination complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidcoordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the distributed system into a sequencer component that handles coordination logic and participant components that handle data operations. This segmentation allows multiple participants to operate independently with simple local logic, while the sequencer manages the complexity of coordinating across redundant nodes. Each participant processes messages independently based on its segment of the total order, reducing overall coordination complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250355861A1Distributed stream-based acid transactions
Publication Date: 2025.11.20 NASDAQ INC
  • US20250355861A1 patent drawing
  • US20250355861A1 patent drawing
  • US20250355861A1 patent drawing

AI summary

A system for processing distributed transactions is provided. The system includes a sequencer that communicates an atomic message stream to multiple different service instances. The service instances each process the messages from the message stream into a local queue. Each service instance also executes a state machine by reading messages from a queue and transitioning between states in the state machine while also performing one or more operations in connection with performing a distributed transaction.