Deterministic and efficient message packet management
Abstract
Methods, devices, and systems for facilitation of efficient processing of a plurality of electronic message packets communicated to an application via a network from a plurality of message sources. The facilitation involves receiving each of the plurality of electronic message packets from the network, and storing, upon receipt thereof, each of the received electronic message packets in a single buffer irrespective of which message source of the plurality of message sources each of the received electronic message packets originated from, the single buffer being accessible by the application.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer implemented method comprising:
receiving, by a processor coupled with a network, a plurality of electronic message packets, a portion of which are communicated thereto from a first message source via the network and another portion of which are communicated thereto from a second message source, different from the first message source, via the network, wherein each of the plurality of electronic message packet comprises message data; and storing, by the processor upon receipt of each of the received electronic message packets, at least the message data of the received electronic message packet in a buffer, in which the message data of all received electronic message packets are stored together in an order of receipt by the processor with respect to others of the received electronic message packets irrespective of which message source each of the received electronic message packets was received from; and communicating the stored message data to an application from the buffer in the order in which they are stored such that the application receives each of the stored message data in the order of receipt by the processor.
2 . The computer implemented method of claim 1 , wherein each of the plurality of electronic message packets comprise a format for transmission using Transmission Control Protocol (“TCP”) which organizes received electronic message packets based on origin.
3 . The computer implemented method of claim 1 , wherein the processor is comprised by a network interface through which each of the plurality of electronic message packets must pass for the message data thereof to reach the application.
4 . The computer implemented method of claim 1 , wherein the order of receipt, in which the message data of all received electronic message packets are stored together, is indicated by a location in the buffer in which each of the message data is stored.
5 . The computer implemented method of claim 1 , wherein the order of receipt, in which the message data of all received electronic message packets are stored together, is indicated by data, indicative of when each of the received electronic message packets was received by the processor, stored in the buffer.
6 . The computer implemented method of claim 1 , wherein the message data of two or more of the plurality of electronic messages packets comprise a message.
7 . The computer implemented method of claim 6 , wherein the storing further comprises storing, by the processor, upon receipt of all of the two or more of the plurality of electronic messages packets comprising the message, the message data of each thereof together in the buffer in the order of receipt by the processor, with respect to the others of the plurality of electronic message packets, of the last of the two or more of the plurality of electronic message packets to be received.
8 . The computer implemented method of claim 6 , wherein the storing further comprises storing, by the processor, upon receipt of all of the two or more of the plurality of electronic messages packets comprising a message, the message data of each thereof together in the buffer in the order of receipt by the processor of the first of the two or more of the plurality of electronic message packets.
9 . The computer implemented method of claim 6 , wherein the storing further comprises storing, by the processor, upon receipt of all of the two or more of the plurality of electronic messages packets comprising a message, the message data of each thereof together in the buffer in the order of receipt by the processor of the last of a threshold percentage of the two or more of the plurality of electronic message packets.
10 . The computer implemented method of claim 1 , wherein the message data of the plurality of electronic message packets comprises a financial message the first and second message sources comprise market participants, and the application comprises an order entry gateway application for use with an exchange operational to match trades using the financial messages.
11 . The computer implemented method of claim 1 , wherein source information of each of the plurality of electronic message packets is maintained and provided with the message data communicated to the application.
12 . The computer implemented method of claim 1 , wherein the first and second message sources are each indicated on a list of sources, and wherein receiving further comprises determining whether each electronic message packet of the plurality of electronic message packets originated from a source included on the list of sources.
13 . The computer implemented method of claim 12 , wherein storing further comprises only storing in the buffer the message data of electronic message packets determined to have a source indicated on the list of sources.
14 . The computer implemented method of claim 1 , wherein the receiving and the storing are handled by a network layer, and the application accesses the buffer via a transport layer coupled with the network layer.
15 . A system comprising:
a first logic stored in a memory and configured to be executed by a processor coupled with a network to cause the processor to receive a plurality of electronic message packets, a portion of which are communicated thereto from a first message source via the network and another portion of which are communicated thereto from a second message source, different from the first message source, via the network, wherein each of the plurality of electronic message packet comprises message data; and a second logic stored in a memory and configured to be executed by the processor to cause the processor to store, upon receipt of each of the received electronic message packets, at least the message data of the received electronic message packet in a buffer, in which the message data of all received electronic message packets are stored together in an order of receipt by the processor with respect to others of the received electronic message packets irrespective of which message source each of the received electronic message packets was received from, wherein the stored message data is communicated to an application from the buffer in the order in which they are stored such that the application receives each of the stored message data in the order of receipt by the processor.
16 . The system of claim 15 , wherein each of the plurality of electronic message packets comprise a format for transmission using Transmission Control Protocol (“TCP”) which organizes received electronic message packets based on origin.
17 . The system of claim 15 , wherein the processor is comprised by a network interface through which each of the plurality of electronic message packets must pass for the message data thereof to reach the application.
18 . The system of claim 15 , wherein the order of receipt, in which the message data of all received electronic message packets are stored together, is indicated by a location in the buffer in which each of the message data is stored.
19 . The system of claim 15 , wherein the order of receipt, in which the message data of all received electronic message packets are stored together, is indicated by data, indicative of when each of the received electronic message packets was received by the processor, stored in the buffer.
20 . The system of claim 15 , wherein the message data of two or more of the plurality of electronic messages packets comprise a message.
21 . The system of claim 20 , wherein the second logic is further executable by the process to further cause the processor to store, upon receipt of all of the two or more of the plurality of electronic messages packets comprising the message, the message data of each thereof together in the buffer in the order of receipt by the processor, with respect to the others of the plurality of electronic message packets, of the last of the two or more of the plurality of electronic message packets to be received.
22 . The system of claim 20 , wherein the second logic is further executable by the process to further cause the processor to store, upon receipt of all of the two or more of the plurality of electronic messages packets comprising a message, the message data of each thereof together in the buffer in the order of receipt by the processor of the first of the two or more of the plurality of electronic message packets.
23 . The system of claim 20 , wherein the second logic is further executable by the process to further cause the processor to store, upon receipt of all of the two or more of the plurality of electronic messages packets comprising a message, the message data of each thereof together in the buffer in the order of receipt by the processor of the last of a threshold percentage of the two or more of the plurality of electronic message packets.
24 . The system of claim 8 , wherein the plurality of electronic message packets comprise financial messages, the first and second message sources comprise market participants, and the application comprises an order entry gateway application for use with an exchange operational to match trades using the financial messages.
25 . The system of claim 8 , wherein source information of each of the plurality of electronic message packets is maintained and provided with the message data communicated to the application.
26 . The system of claim 8 , wherein the first and second message sources are each indicated on a list of sources, and wherein the first logic is further configured to determine whether each electronic message packet of the plurality of electronic message packets originated from a source included on the list of sources.
27 . The system of claim 26 , wherein second logic is further configured to only store in the buffer the message data of electronic message packets determined to have a source indicated on the list of sources.
28 . The system of claim 8 , wherein the first logic and the second logic are handled by a network layer, and the application accesses the buffer via a transport layer coupled with the network layer.
29 . A system comprising:
at least one memory operable to store the plurality of electronic message packets; and at least one processor configured to:
receive a plurality of electronic message packets, a portion of which are communicated thereto from a first message source via the network and another portion of which are communicated thereto from a second message source, different from the first message source, via the network, wherein each of the plurality of electronic message packet comprises message data; and
store, upon receipt of each of the received electronic message packets, at least the message data of the received electronic message packet in a buffer, in which the message data of all received electronic message packets are stored together in an order of receipt by the processor with respect to others of the received electronic message packets irrespective of which message source each of the received electronic message packets was received from, wherein the stored message data is communicated to an application from the buffer in the order in which they are stored such that the application receives each of the stored message data in the order of receipt by the processor.
30 . The system of claim 29 , wherein each of the plurality of electronic message packets comprise a format for transmission using Transmission Control Protocol (“TCP”) which organizes received electronic message packets based on origin.
31 . The system of claim 29 , wherein the processor is comprised by a network interface through which each of the plurality of electronic message packets must pass for the message data thereof to reach the application.
32 . The system of claim 29 , wherein the order of receipt, in which the message data of all received electronic message packets are stored together, is indicated by a location in the buffer in which each of the message data is stored.
33 . The system of claim 29 , wherein the order of receipt, in which the message data of all received electronic message packets are stored together, is indicated by data, indicative of when each of the received electronic message packets was received by the processor, stored in the buffer.
34 . The system of claim 29 , wherein the message data of two or more of the plurality of electronic messages packets comprise a message.
35 . The system of claim 34 , wherein the processor is further operative to store, upon receipt of all of the two or more of the plurality of electronic messages packets comprising the message, the message data of each thereof together in the buffer in the order of receipt by the processor, with respect to the others of the plurality of electronic message packets, of the last of the two or more of the plurality of electronic message packets to be received.
36 . The system of claim 34 , wherein the processor is further operative to store, upon receipt of all of the two or more of the plurality of electronic messages packets comprising a message, the message data of each thereof together in the buffer in the order of receipt by the processor of the first of the two or more of the plurality of electronic message packets.
37 . The system of claim 34 , wherein the processor is further operative to store, upon receipt of all of the two or more of the plurality of electronic messages packets comprising a message, the message data of each thereof together in the buffer in the order of receipt by the processor of the last of a threshold percentage of the two or more of the plurality of electronic message packets.
38 . The system of claim 29 , wherein the plurality of electronic message packets comprise financial messages, the first and second message sources comprise market participants, and the application comprises an order entry gateway application for use with an exchange operational to match trades using the financial messages.
39 . The system of claim 29 , wherein source information of each of the plurality of electronic message packets is maintained and provided with the message data communicated to the application.
40 . The system of claim 29 , wherein the first and second message sources are each indicated on a list of sources, and wherein the processor is further configured to cause the system to determine whether each electronic message packet of the plurality of electronic message packets originated from a source included on the list of sources.
41 . The system of claim 40 , wherein the processor is further configured to cause the system to only store in the buffer the message data of electronic message packets determined to have a source indicated on the list of sources.
42 . The system of claim 29 , wherein processor is further configured to cause the system to receive and store each of the plurality of electronic message packets using a network layer of the system, and the application accesses the buffer via a transport layer coupled with the network layer.Join the waitlist — get patent alerts
Track US2021090171A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.