Brokerage Transaction Server Using Encapsulated Messages
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing brokerage transaction servers face challenges in efficiently processing exchange transaction information across different protocol dialects, leading to latency and inefficiencies in algorithmic trading due to the need for frequent protocol conversions and lack of comprehensive message tracking.
Innovation Solution
A brokerage transaction server and method that convert messages from a first protocol dialect to a canonical protocol, apply business terms, and then convert back to a second protocol dialect for transmission, while storing changes and metadata to create an encapsulated message version, enabling efficient message processing and record-keeping.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If messages are converted between different protocol dialects through multiple processing stages, then protocol compatibility and business logic application are improved, but translation overhead and processing latency increase
Solution Approach 1:
The message processing system is segmented into distinct functional components: a receiver process for protocol conversion to canonical form, a trade process for business logic application, and a transmit process for conversion to destination protocol. This segmentation allows each component to operate independently and efficiently, reducing overall processing latency while maintaining protocol compatibility.
Solution Approach 2:
A canonical protocol serves as an intermediary representation between different protocol dialects. Messages are converted to this standardized intermediate form during reception, processed uniformly, then converted to the destination protocol. This intermediary approach eliminates the need for direct complex translations between multiple protocol variants, reducing translation overhead.
2Reliability
If comprehensive message tracking and metadata storage are implemented, then message processing reliability and audit capability are improved, but system complexity and memory usage increase
Solution Approach 1:
Metadata and processing state information are captured and stored in memory during each stage of message processing, before the message completes its journey through the system. This preliminary recording ensures that complete audit trails are available without requiring complex post-processing analysis, thereby improving reliability while managing system complexity through structured, incremental data collection.
3Adaptability or versatility
If protocol conversion is performed at multiple processing stages, then business logic independence from protocol dialects is improved, but translation overhead increases
Solution Approach 1:
The canonical protocol acts as a mediator that enables business logic to operate independently of protocol dialects. By converting all incoming messages to this standardized intermediate representation before business logic application, the system achieves protocol independence. The dual conversion process (to canonical and from canonical) is optimized to minimize translation overhead through efficient implementation in the receiver and transmit processes.
Data Source
AI summary
Brokerage transactions servers and related methods are provided having low latency. In a first embodiment of the invention there is provided a method of processing exchange transaction information for exchange brokerage purposes in an inbound digital message stream in a first protocol dialect. One embodiment utilizes canonical FIX messages for processing purposes. A related embodiment includes, for each message in the stream, storing in memory each successive change made to the message and any metadata created by the foregoing processes; and in an encapsulation process, accessing memory and creating an encapsulated version of the message that includes: (i) the message in original form prior to the receiver process, (ii) the metadata, and (iii) each successive change made to the message by any of the foregoing processes.


