Systems and methods are provided for efficiently permitting the transmission and receipt of trading messages between message sources configured to use a variety of different protocols. Messaging gateways may be configured to reformat messages for proper transmission across a transport mechanism. Messaging gateways may also insert sequence and group information into message headers to facilitate processing messages in the proper order. Messages may be processed with processing threads that are dynamically allocated by messaging gateways.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A messaging gateway comprising: a processor; and a computer-readable medium coupled to the processor and programmed with computer-executable instructions that, when executed by the processor, cause the messaging gateway at least to perform: (a) receiving a plurality of trade messages; (b) assigning sequence identification information to at least some of the plurality of trade messages upon receipt in accordance with a receipt order; (c) assigning group identification information to at least some of the plurality of trade messages; (d) dynamically allocating processing threads within the messaging gateway based on a volume of the plurality of trade messages to concurrently process the trade messages, wherein each processing thread pulls messages out of a messaging queue for formatting; and (e) in response to a change in an order of a subset of the trade messages identified during concurrent processing, controlling an order in which the trade messages leave the messaging gateway by reordering the trade messages into a sending order based on the sequence identification information and the group identification information.
2. The messaging gateway of claim 1 , wherein the computer-readable medium further includes computer-executable instructions to cause the messaging gateway to perform: (f) formatting trade messages into formats consistent with a plurality of transport mechanisms.
3. The messaging gateway of claim 1 , wherein (b) comprises inserting sequence values into message headers.
4. The messaging gateway of claim 1 , wherein (c) comprises inserting group values into message headers.
5. A distributed computing system for exchanging trading information comprising: a messaging gateway in operative communication with a plurality of message sources, the messaging gateway configured to receive a plurality of trade messages from the plurality of message sources, assign sequence information and group information to the trade messages upon receipt in accordance with a receipt order of the trade messages, concurrently place the trade messages into formats to be transferred through transport mechanisms via a plurality of processing threads, wherein the sequence information and group information preserves the receipt order during processing of the trade messages including concurrent formatting of the trade messages, and reorder the trade messages into a sending order based on the sequence information to preserve the sequence of the trade messages passing through the messaging gateway; and a plurality of routers, comprising at least one partitioning coordinator router, and each including a computer-readable medium having computer-executable instructions that when executed, cause dynamic partitioning of the plurality of message sources among the plurality of routers.
6. The distributed computing system of claim 5 , wherein the messaging gateway is configured to dynamically allocate processing threads to received messages.
7. The distributed computing system of claim 5 , wherein the messaging gateway is configured to assign sequences to at least some messages by inserting the sequence information into message headers.
8. The distributed computing system of claim 5 , wherein the messaging gateway is configured to assign group information to at least some messages by inserting group information into message headers.
9. A method comprising: receiving a plurality of trade messages at a messaging gateway; assigning, by the messaging gateway, sequence identification information to at least some of the plurality of trade messages upon receipt in accordance with a receipt order; dynamically allocating, by the messaging gateway, processing threads based on a volume of the plurality of trade messages to concurrently process the trade messages; and controlling, by the messaging gateway and in response to a change in an order of a subset of the trade messages during concurrent processing, an order in which the trade messages leave the messaging gateway by reordering the trade messages into a sending order based on the sequence identification information and based on whether the trade messages are associated with a group of messages.
10. The method of claim 9 , comprising formatting trade messages into formats consistent with a plurality of transport mechanisms.
11. The method of claim 9 , wherein the assigning comprises inserting sequence values into message headers.
12. The method of claim 9 , further comprising assigning group identification information to at least some of the plurality of trade messages.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
May 2, 2006
February 4, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.