Offload Processing of Data Packets
AssigneeIP Reservoir, LLC
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.
Claims65
A method for processing data, the method comprising:
- receiving, in an offload processor, a plurality of data packets, each data packet of the plurality of received data packets comprising at least one message, wherein the messages are included in the received data packets according to a first criterion, the messages comprising at least one message data field;
- the offload processor processing the received data packets to select a plurality of the messages according to a second criterion, the second criterion being different than the first criterion;
- and
- grouping the selected messages into a plurality of outgoing data packets to thereby generate outgoing data packets where each outgoing data packet comprises messages that were commonly selected 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, each data packet of the plurality of received data packets comprising at least one message, wherein the messages are included in the received data packets according to a first criterion, the messages comprising at least one message data field, (2) process the received data packets to select a plurality of the messages according to a second criterion, the second criterion being different than the first criterion, and (3) group the selected messages into a plurality of outgoing data packets to thereby generate outgoing data packets where each outgoing data packet comprises messages that were commonly selected 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 data feeds, each of a plurality of the received data packets comprising a plurality of feed-specific messages, the messages comprising message data;
- the offload processor processing the received data packets to depacketize the messages;
- the offload processor analyzing the message data;
- the offload processor selecting a plurality of the messages according to a criterion in response to the analyzing step;
- and
- the offload processor packetizing the selected messages to generate a plurality of outgoing data packets for delivery to the data consumers, the outgoing data packets comprising criterion-specific messages such that at least a plurality of the outgoing data packets comprise message data from received data packets corresponding to different data feeds that are grouped into the same outgoing data packets.
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 data feeds, each of a plurality of the received data packets comprising a plurality of feed-specific messages, the messages comprising message data, (2) process the received data packets to depacketize the messages, (3) analyze the message data, (4) select a plurality of the messages according to a criterion in response to the analyzing step, and (5) packetize the selected messages to generate a plurality of outgoing data packets for delivery to the data consumers, the outgoing data packets comprising criterion-specific messages such that at least a plurality of the outgoing data packets comprise message data from received data packets corresponding to different data feeds that are grouped into the same outgoing data packets.
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, each data packet of the plurality of received data packets comprising at least one message, wherein the messages are included in the received data packets according to a first criterion, the messages comprising at least one message data field, (2) process the received data packets to select a plurality of the messages according to a second criterion, the second criterion being different than the first criterion, and (3) group the selected messages into a plurality of outgoing data packets to thereby generate outgoing data packets where each outgoing data packet comprises messages that were commonly selected 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 data feeds, each of a plurality of the received data packets comprising a plurality of feed-specific messages, the messages comprising message data, (2) process the received data packets to depacketize the messages, (3) analyze the message data, (4) select a plurality of the messages according to a criterion in response to the analyzing step, and (5) packetize the selected messages to generate a plurality of outgoing data packets for delivery to the data consumers, the outgoing data packets comprising criterion-specific messages such that at least a plurality of the outgoing data packets comprise message data from received data packets corresponding to different data feeds that are grouped into the same outgoing data packets.
Dependencies are inferred from the claim text.