Order Book Pre-Matching to Cut Matching Engine Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems in financial exchanges face processing bottlenecks due to high volumes of electronic data transaction requests, leading to increased latency and computational overhead, particularly in matching engines.

Innovation Solution

Implementing a pre-processor that filters incoming data transaction requests to identify non-transactable orders, thereby reducing the load on matching engines and optimizing processing efficiency by minimizing unnecessary computational resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all incoming data transaction requests are processed by the matching engine, then transaction completeness is maintained, but processing latency and computational overhead increase significantly

Engineering Contradiction:
Improvetransaction completenessVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The pre-processor performs preliminary filtering of incoming data transaction requests before they reach the matching engine. By pre-identifying and removing non-transactable orders (such as those with invalid syntax, insufficient funds, or already fulfilled conditions), the system maintains complete processing of all valid transactions while reducing the time and computational resources spent on obviously invalid requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transaction processing system is segmented into two distinct components: a pre-processor layer that handles initial filtering and validation, and a matching engine layer that processes only transactable orders. This segmentation allows each component to specialize in its function, with the pre-processor eliminating low-value processing tasks and the matching engine focusing on complex matching operations, thereby reducing overall latency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the matching engine processes all incoming requests, then all transactions are handled, but system throughput decreases under high volume

Engineering Contradiction:
Improvesystem throughputVSAvoidrequest volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The pre-processor extracts and removes non-transactable orders from the incoming request stream before these requests reach the matching engine. By taking out invalid, already-fulfilled, or obviously non-matching requests early in the processing pipeline, the matching engine receives a filtered subset of requests, allowing it to maintain high throughput even when the overall system receives very high volumes of incoming requests.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If computational resources are allocated to process all requests, then processing accuracy is maintained, but resource efficiency decreases

Engineering Contradiction:
Improveprocessing accuracyVSAvoidcomputational resource efficiency
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The pre-processor performs a partial processing action by applying only lightweight validation rules to incoming requests before they reach the matching engine. This partial action (checking for basic validity without full matching logic) is sufficient to eliminate obviously invalid requests, thereby improving computational resource efficiency while maintaining processing accuracy for the subset of requests that actually require full matching operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12536590B2Pre-matching orders at wire rate in a central limit order book
Publication Date: 2026.01.27 CHICAGO MERCANTILE EXCHANGE INC
  • US12536590B2 patent drawing
  • US12536590B2 patent drawing
  • US12536590B2 patent drawing

AI summary

Systems and methods are provided to increase the rate at which a system can accept and process data transaction request messages. The system includes a pre-processor that filters incoming data transaction request messages prior to transmitting the messages for further processing, for example, by a matching engine. The pre-processor quickly identifies whether a new arriving data transaction request is transactable. If the new arriving data transaction request is not transactable, then the data transaction request will be transmitted and stored in a main data structure and not transmitted to the matching engine.