Offload Processing of Data Packets Containing Financial Market Data
OwnerScott Parsons, David E. Taylor +1inventors
InventorsScott Parsons, David E. Taylor, Ronald S. Indeck
Life of this patent
Estimating the term…
Abstract
Various techniques are disclosed for offloading the processing of data packets. For example, incoming data packets can be processed through an offload processor to generate a new stream of outgoing data packets that organize data from the data packets in a manner different than the incoming data packets. Furthermore, in an exemplary embodiment, the offloaded processing can be resident in an intelligent switch, such as an intelligent switch upstream or downstream from an electronic trading platform.
Claims58
A method for processing data, the method comprising:
- receiving, in an offload processor, a plurality of data packets corresponding to a plurality of financial market data feeds, a plurality of the received data packets comprising transmission control protocol (TCP) data packets, each of a plurality of the received TCP data packets comprising a plurality of financial market data messages that are grouped into the received TCP data packets according to the a criterion, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments;
- the offload processor processing the received TCP data packets, wherein the processing includes performing a TCP termination on the received TCP data packets and sorting the financial market data messages according to a second criterion, the second criterion being different than the first criterion;
- and
- grouping the sorted financial market data messages into a plurality of outgoing data packets to thereby generate outgoing data packets where each outgoing data packet comprises financial market data messages that were commonly sorted according to the second criterion.
An apparatus for processing data, the apparatus comprising:
- an offload processor configured to (1) receive a plurality of data packets corresponding to a plurality of financial market data feeds, a plurality of the received data packets comprising transmission control protocol (TCP) data packets, each of a plurality of the received TCP data packets comprising a plurality of financial market data messages that are grouped into the received TCP data packets according to the a criterion, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments, (2) process the received TCP data packets, wherein as part of the process operation, the offload processor is configured to (i) perform a TCP termination on the received TCP data packets and (ii) sort the financial market data messages according to a second criterion, the second criterion being different than the first criterion, and (3) group the sorted financial market data messages into a plurality of outgoing data packets to thereby generate outgoing data packets where each outgoing data packet comprises financial market data messages that were commonly sorted according to the second criterion.
A method of providing data to a plurality of data consumers, the method comprising:
- receiving, in an offload processor, a plurality of data packets corresponding to a plurality of financial market data feeds, each of a plurality of the received data packets comprising a plurality of feed-specific financial market data messages, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments;
- the offload processor processing the received data packets to depacketize the financial market data messages;
- the offload processor analyzing the financial market data;
- the offload processor selecting a plurality of the financial market data messages according to a criterion in response to the analyzing step;
- and
- the offload processor packetizing the selected financial market data messages to generate a plurality of outgoing data packets for delivery to the data consumers, the outgoing data packets comprising criterion-specific financial market data messages such that at least a plurality of the outgoing data packets comprise financial market data from received data packets corresponding to different financial market data feeds that are grouped into the same outgoing data packets.
The method of any 35 further comprising:
- the offload processor normalizing at least a portion of the selected financial market data messages.
An apparatus for providing data to a plurality of data consumers, the apparatus comprising:
- an offload processor configured to (1) receive a plurality of data packets corresponding to a plurality of financial market data feeds, each of a plurality of the received data packets comprising a plurality of feed-specific financial market data messages, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments, (2) process the received data packets to depacketize the financial market data messages, (3) analyze the financial market data, (4) select a plurality of the financial market data messages according to a criterion in response to the analysis, and (5) packetize the selected financial market data messages to generate a plurality of outgoing data packets for delivery to the data consumers, the outgoing data packets comprising criterion-specific financial market data messages such that at least a plurality of the outgoing data packets comprise financial market data from received data packets corresponding to different financial market data feeds that are grouped into the same outgoing data packets.
A method comprising:
- receiving, in an offload processor, a plurality of data packets corresponding to a plurality of financial market data feeds, the received data packets comprising a plurality of financial market data messages, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments, and wherein at least a plurality of the received data packets comprise transmission control protocol (TCP) data packets;
- the offload processor performing a TCP termination on the received TCP data packets;
- the offload processor determining a financial market data feed associated with a received data packet;
- the offload processor accessing metadata associated with the determined financial market data feed, the metadata comprising data for enabling a parsing of that received data packet;
- and
- the offload processor associating the accessed metadata with that received data packet.
An apparatus comprising:
- an offload processor configured to (1) receive a plurality of data packets corresponding to a plurality of financial market data feeds, the received data packets comprising a plurality of financial market data messages, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments, and wherein at least a plurality of the received data packets comprise transmission control protocol (TCP) data packets, (2) perform a TCP termination on the received TCP data packets, (3) determine a financial market data feed associated with a received data packet. (4) access metadata associated with the determined financial market data feed, the metadata comprising data for enabling a parsing of that received data packet, and (5) associate the accessed metadata with that received data packet.
An apparatus for processing data, the apparatus comprising:
- at least one member of the group consisting of a reconfigurable logic device, a graphics processor unit (GPU), and a chip multi-processor (CMP), wherein the at least one member is configured to (1) receive a plurality of data packets corresponding to a plurality of financial market data feeds, a plurality of the received data packets comprising transmission control protocol (TCP) data packets, each of a plurality of the received TCP data packets comprising a plurality of financial market data messages that are grouped into the received TCP data packets according to the a criterion, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments, (2) process the received TCP data packets, wherein as part of the process operation, the offload processor is configured to (i) perform a TCP termination on the received TCP data packets and (ii) sort the financial market data messages according to a second criterion, the second criterion being different than the first criterion, and (3) group the sorted financial market data messages into a plurality of outgoing data packets to thereby generate outgoing data packets where each outgoing data packet comprises financial market data messages that were commonly sorted according to the second criterion.
An apparatus for providing data to a plurality of data consumers, the apparatus comprising:
- at least one member of the group consisting of a reconfigurable logic device, a graphics processor unit (GPU), and a chip multi-processor (CMP), wherein the at least one member is configured to (1) receive a plurality of data packets corresponding to a plurality of financial market data feeds, each of a plurality of the received data packets comprising a plurality of feed-specific financial market data messages, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments, (2) process the received data packets to depacketize the financial market data messages, (3) analyze the financial market data, (4) select a plurality of the financial market data messages according to a criterion in response to the analysis, and (5) packetize the selected financial market data messages to generate a plurality of outgoing data packets for delivery to the data consumers, the outgoing data packets comprising criterion-specific financial market data messages such that at least a plurality of the outgoing data packets comprise financial market data from received data packets corresponding to different financial market data feeds that are grouped into the same outgoing data packets.
An apparatus comprising:
- at least one member of the group consisting of a reconfigurable logic device, a graphics processor unit (GPU), and a chip multi-processor (CMP), wherein the at least one member is configured to (1) receive a plurality of data packets corresponding to a plurality of financial market data feeds, the received data packets comprising a plurality of financial market data messages, the financial market data messages comprising a plurality of data fields describing financial market data for a plurality of financial instruments, and wherein at least a plurality of the received data packets comprise transmission control protocol (TCP) data packets, (2) perform a TCP termination on the received TCP data packets, (3) determine a financial market data feed associated with a received data packet. (4) access metadata associated with the determined financial market data feed, the metadata comprising data for enabling a parsing of that received data packet, and (5) associate the accessed metadata with that received data packet.
Dependencies are inferred from the claim text.