Clearing message broker system messaging gateway
First Claim
Patent Images
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 Assignments
0 Petitions
Accused Products
Abstract
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.
36 Citations
12 Claims
-
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. - View Dependent Claims (2, 3, 4)
-
-
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. - View Dependent Claims (6, 7, 8)
-
-
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. - View Dependent Claims (10, 11, 12)
-
Specification