Distributed Message Sequencer with Timer-Based Pending List
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Productivity
If all electronic data messages are placed in the order book immediately, then message availability for matching is improved, but system complexity increases
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.
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.
4Reliability
If messages are held in a pending list with timers, then time-based matching requirements are satisfied, but processing throughput decreases
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.
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.
Data Source
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.


