Apparatus, system, and method of elastically processing message information from multiple sources
AssigneeNasdaq Technology AB
InventorsTristan BLAKERS, Chuin Nee OOI, Max Roy PRAKOSO
Life of this patent
Estimating the term…
Abstract
Elastic message tracking apparatus and methods are provided that opportunistically improve on the latency of a message processing system and increase the accuracy of a consolidated message stream generated from message streams received from multiple message sources. The elastic message tracking apparatus and methods reduce that latency in situations where the actual latency of all the message streams is lower than a predetermined latency value.
Claims20
An electronic data message processing apparatus comprising:
- gateway interface circuitry having different data message feed ports and configured to receive different data messages from multiple different data message sources, each data message source having generated a respective chronological sequence of data messages, where data messages received at multiple ones of the different data message feed ports are received out of chronological sequence;
- and
- processing circuitry coupled to the gateway interface and configured to:
- buffer received data messages from all of the different data message feed ports;
- compare a next message time associated with one of the buffered data messages waiting to be processed to a current feed time of a latest processed data message from the feed ports;
- when the next message time exceeds the current feed time, (i) set the current feed time to the next message time and (ii) adapt a data message processing latency time, corresponding to a difference between the current feed time and a reference time that is later than the current feed time, to a difference between the next message time and the reference time, wherein the adapted data message processing latency time accounts for the data messages received at all of the different data message feed ports out of chronological sequence and provides a consolidated and chronological sequence for all of the data messages received from the multiple different data message feed ports;
- and
- generate within the adapted data message processing latency time a combined data message stream including all of the data messages received at all of the multiple different data message feed ports so that all of the data messages in the combined data message stream are transmitted in the consolidated and chronological sequence to one or more destination ports.
A method implemented in an electronic data message processing apparatus having processing circuitry operatively coupled to different data message feed ports, comprising:
- receiving at the different data message feed ports different data messages from multiple different data message sources, each data message source having generated a respective chronological sequence of data messages, where data messages received at multiple ones of the different data message feed ports are received out of chronological sequence;
- buffering received data messages from all of the different data message feed ports;
- comparing, by processing circuitry, a next message time associated with one of the buffered data messages waiting to be processed to a current feed time of a latest processed data message from the feed ports;
- when the next message time exceeds the current feed time, the processing circuitry:
- (i) setting the current feed time to the next message time and (ii) adapting a data message processing latency time, corresponding to a difference between the current feed time and a reference time that is later than the current feed time, to a difference between the next message time and the reference time, wherein the adapted data message processing latency time accounts for the data messages received at all of the multiple different data message feed ports out of chronological sequence and provides a consolidated and chronological sequence for all of the data messages received from the multiple different data message feed ports;
- and
- generating within the adapted data message processing latency time a combined data message stream including all of the data messages received at all of the multiple different data message feed ports so that all of the data messages in the combined data message stream are transmitted in the consolidated and chronological sequence to one or more destination ports.
An electronic data message processing apparatus, comprising:
- means for receiving different data messages from multiple different data message sources, each data message source having generated a respective chronological sequence of data messages, where data messages received at multiple ones of the different data message feed ports are received out of chronological sequence;
- means for buffering the different data messages received from the multiple different data message sources;
- means for comparing a next message time associated with one of the buffered data messages waiting to be processed to a current feed time of a latest processed data message from the means for receiving;
- means, when the next message time exceeds the current feed time, for setting the current feed time to the next message time;
- means, when the next message time exceeds the current feed time, for adapting a data message processing latency time, corresponding to a difference between the current feed time and a reference time that is later than the current feed time, to a difference between the next message time and the reference time, wherein the adapted data message processing latency time accounts for the data messages received at all of the multiple different data message feed ports out of chronological sequence and provides a consolidated and chronological sequence for all of the data messages received from the multiple different data message feed ports;
- and
- means for generating within the adapted data message processing latency time a combined data message stream including all of the data messages received at all of the multiple different data message feed ports so that all of the data messages in the combined data message stream are transmitted in the consolidated and chronological sequence to one or more destination ports.
Dependencies are inferred from the claim text.