Distributed Sequencer Service for Causal State Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Asynchronous distributed computing systems face challenges in maintaining causal ordering of events across multiple computing nodes without a central clock, leading to increased complexity and resource intensity as the system scales.

Innovation Solution

A distributed computing system with multiple computing nodes, each equipped with a sequencer and monitor service, uses a global logical clock to annotate and maintain a totally ordered state, ensuring reliable causal delivery through shared memory and internal communication, allowing for efficient multi-core processing and failover protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If asynchronous distributed computing systems use logical clocks to maintain causal ordering across multiple computing nodes, then causal delivery of events is achieved, but system complexity and resource intensity increase as the system scales

Engineering Contradiction:
Improvecausal deliveryVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides the distributed computing network into multiple computing nodes, each independently maintaining its own logical clock and local event queue. This segmentation allows each node to handle causal ordering independently rather than requiring centralized coordination, reducing overall system complexity while maintaining causal delivery guarantees across the distributed system

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where computing nodes exchange timestamped events through a standardized protocol. This intermediary layer abstracts the complexity of causal ordering, allowing nodes to maintain reliability through logical clocks without directly managing the full complexity of inter-node coordination

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If computing nodes maintain complete causal ordering of all events in the distributed system, then total system state visibility is achieved, but resource intensity increases with system scale

Engineering Contradiction:
Improvesystem state visibilityVSAvoidresource intensity
Core Design Contradiction:
Loss of informationVSUse of energy by moving object

Solution Approach 1:

Each computing node maintains complete causal ordering information locally for its own events and receives selective updates from other nodes. Instead of every node storing and processing all system-wide events, each node focuses on maintaining accurate local state while receiving only relevant updates, reducing memory and processing resource intensity while preserving necessary system state visibility

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial causal ordering where nodes maintain complete ordering for their local events but receive selective updates from other nodes based on causal dependencies. This partial action approach avoids the excessive resource cost of maintaining complete global state at every node while ensuring sufficient visibility for correct event processing

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If multiple computing nodes process events simultaneously without centralized coordination, then processing throughput increases, but contentions on shared resources increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidresource contention
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Each computing node independently manages its own event processing queue and logical clock without requiring centralized coordination. Nodes autonomously determine which events to process next based on their local state and received updates, eliminating bottlenecks and reducing resource contention while maintaining high processing throughput across the distributed system

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Computing nodes pre-process and queue events locally as they occur, maintaining their own logical clocks and event histories in advance. This preliminary local processing allows nodes to handle events immediately upon arrival without waiting for centralized coordination, increasing throughput while minimizing contention on shared resources

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11757981B2Efficient and reliable host distribution of totally ordered global state
Publication Date: 2023.09.12 NASDAQ TECHNOLOGY AB
  • US11757981B2 patent drawing
  • US11757981B2 patent drawing
  • US11757981B2 patent drawing

AI summary

An asynchronous distributed computing system with a plurality of computing nodes is provided. One of the computing nodes includes a sequencer service that receives updates from the plurality of computing nodes. The sequencer service maintains or annotates messages added to the global state of the system. Updates to the global state are published to the plurality of computing nodes. Monitoring services on the other computing nodes write the updates into a locally maintained copy of the global state that exists in shared memory on each one of the nodes. Client computer processes on the nodes may then subscribe to have updates “delivered” to the respective client computer processes.