Distributed Message Sequencer with Timer-Based Pending List

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, efficiently processing electronic data messages with time-based delays or other dependencies poses a challenge, as existing technologies struggle to effectively match messages once specific parameters are met.

Innovation Solution

A distributed computer system comprising at least one sequencer node and one matcher node, where electronic data messages are sequenced and sent to the matcher node. A reference value from an external source is used to determine when new messages are eligible for matching, with messages being placed in a pending list and moved to an order book upon timer expiration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If electronic data messages are processed immediately upon receipt in a distributed system, then processing speed is improved, but messages with time-based dependencies cannot be properly matched

Engineering Contradiction:
Improveprocessing speedVSAvoidmatching accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by placing messages in a pending list before they are ready for matching, and starts timers in advance to determine when messages become eligible for matching. This allows the system to prepare for future matching events without delaying the initial receipt and classification of messages.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The matching process is segmented into distinct phases: messages are first placed in a pending list, then timers are started, and only after timer expiration are messages moved to the order book for matching. This segmentation allows the system to handle different message types with different timing requirements separately, maintaining both speed and accuracy.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a timer-based delay mechanism is implemented for message matching, then matching accuracy for time-dependent messages is improved, but processing time increases

Engineering Contradiction:
Improvematching accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system uses self-service mechanisms where timers automatically track the delay periods for pending messages and trigger the matching process without requiring continuous external intervention. This minimizes the overhead of timer management while ensuring accurate timing for message matching.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system maintains continuity by processing messages that are ready for matching while simultaneously managing timers for messages that require delays. The matching process continues without interruption, with timers expiring and messages being moved to the order book as they become eligible, ensuring no useful processing time is lost.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If all electronic data messages are placed in the order book immediately, then message availability for matching is improved, but system complexity increases

Engineering Contradiction:
Improvemessage availabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically adjusts the state of messages based on their readiness for matching. Messages transition from the pending list to the order book when their timers expire, allowing the system to adapt to different timing requirements without requiring a static, complex structure for all message types.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The pending list serves as an intermediary structure between message receipt and the order book. This intermediary layer simplifies the overall system by providing a buffer zone where messages can be temporarily held with associated timers, reducing the complexity of directly managing all messages in the order book from the start.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If messages are held in a pending list with timers, then time-based matching requirements are satisfied, but processing throughput decreases

Engineering Contradiction:
Improvetime-based matchingVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary classification and timer setup for messages in the pending list without blocking the processing of other messages. This allows throughput to be maintained by continuously processing eligible messages while preparing time-dependent messages for future matching when their timers expire.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses a composite structure combining the pending list and order book, where each serves a specific function. The pending list handles time-dependent messages with timers, while the order book handles immediately eligible messages, allowing the system to maintain high throughput for ready messages while accurately managing time-based requirements for pending messages.

Inventive Principle:
Principle #40Composite materials

Data Source

PatentUS12288107B2Delayed processing for electronic data messages in a distributed computer system
Publication Date: 2025.04.29 NASDAQ INC
  • US12288107B2 patent drawing
  • US12288107B2 patent drawing
  • US12288107B2 patent drawing

AI summary

A distributed computer system is provided. The distributed computer system includes at least one sequencer computing node and at least one matcher computing node. Electronic data messages are sequenced by the sequencer and sent to at least matcher computing node. The matcher computing node receives the electronic data messages and a reference value from an external computing source. New electronic data messages are put into a pending list before they can be acted upon by the matcher. A timer is started based on a comparison of the reference value (or a calculation based thereon) to at least one attribute or value of a new electronic data message. When the timer expires, the electronic data message is moved from the pending list to another list—where it is eligible to be matched against other, contra-side electronic data messages.