Non-blocking messaging in electronic trading venues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Blocking messaging in electronic communication networks leads to latency and increased computational loads due to the serial nature of message transmission and response processing, particularly in systems like electronic trading venues where credit checking is required.
Innovation Solution
Implementing non-blocking messaging by allowing message transmitters to generate and transmit messages without waiting for responses, with message receivers processing and caching messages to facilitate real-time transmission and credit checking, using a hashmap cache to maintain message states and perform lookups based on logic from both transmitter and receiver.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If blocking messaging is used to ensure complete resolution of requests, then message reliability is improved, but latency increases and computational load increases
Solution Approach 1:
The patent segments the message processing into two independent parts: the matching engine continues processing new orders independently, while the credit engine processes credit checks in parallel. This segmentation allows both reliability (through complete credit verification) and reduced latency (through parallel processing) to be achieved simultaneously.
Solution Approach 2:
The patent introduces a new dimension by implementing a hashmap cache that stores credit check results and order states. This cache mechanism enables the system to maintain reliable credit verification while reducing latency through rapid lookup of previously processed information, eliminating the need to wait for sequential responses.
2Measurement precision
If blocking messaging is used to process messages serially, then processing accuracy is maintained, but throughput decreases
Solution Approach 1:
The patent divides the processing workload between the matching engine and credit engine, allowing both to operate in parallel. The matching engine handles order matching while the credit engine handles credit verification, achieving high throughput without sacrificing accuracy through independent processing streams.
Solution Approach 2:
The patent implements preliminary action by pre-processing credit information and storing it in a hashmap cache. This allows the system to maintain processing accuracy through comprehensive credit checks while dramatically improving throughput by avoiding sequential processing delays.
3Reliability
If blocking messaging is used for credit checking, then credit verification reliability is improved, but system computational load increases
Solution Approach 1:
The patent segments the computational tasks into separate engines: the matching engine focuses on order matching logic while the credit engine dedicated to credit verification. This segmentation maintains verification reliability while reducing overall computational complexity through specialized processing.
Solution Approach 2:
The patent creates a hashmap cache that stores copies of credit verification results and order states. This copying mechanism allows the system to maintain reliable credit verification by referencing stored data rather than reprocessing everything sequentially, thereby reducing computational load.
Data Source
AI summary
The disclosure relates to non-blocking messaging in an electronic trading venue (ETV) in which a matching engine sends groups of price-compatible contra-orders to a credit engine. Doing so may improve the ETV's efficacy and performance by eliminating the need for multiple roundtrips of messages in the case of a failed credit check, and/or by allowing the ETV to more faithfully implement its matching rules. Upon sending an order to the credit engine the matching engine marks it as ‘uncertain’ to indicate that additional requests received on it (e.g., cancels) must also be forwarded to the credit engine. When all pending requests on an order have been acknowledged by the credit engine the matching engine unmarks it as such. In addition to credit checking the credit engine may also perform computations related to advanced order types (e.g., icebergs) indicating the output of such in its acknowledgements to the matching engine.


