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.
Claims31
An apparatus for processing and re-organization of data within data packets at low latency and high throughput, the apparatus comprising:
- an offload processor, wherein the offload processor comprises at least one member of the group consisting of a reconfigurable logic device, a graphics processor unit (GPU), and a chip multi-processor (CMP), the at least one member having a processing pipeline deployed thereon, the processing pipeline comprising a plurality of pipelined processing engines, the pipelined processing engines comprising a first pipelined processing engine and a second pipelined processing engine;
- wherein the at least one member is configured to receive a plurality of data packets, each data packet of the plurality of received data packets comprising a header and a payload, the payload 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;
- wherein the first pipelined processing engine is configured to search a plurality of the message data fields of the received data packet payloads for data that matches at least one search term to identify matching data within the messages with respect to the at least one search term;
- wherein the second pipelined processing engine is configured to sort the messages having the matching data according to a second criterion, the second criterion being different than the first criterion;
- and
- wherein the at least one member is further configured to group commonly sorted messages into a plurality of outgoing data packets to thereby generate outgoing data packets where each outgoing data packet comprises messages that were commonly sorted according to the second criterion;
- and
- wherein the first and second pipelined processing engines are configured to perform the search and sort operations in a pipelined fashion as data packet data streams through the at least one member.
An apparatus for processing and re-organization of data within data packets to provide data to a plurality of data consumers at low latency and high throughput, the apparatus comprising:
- an offload processor, wherein the offload processor comprises at least one member of the group consisting of a reconfigurable logic device, a graphics processor unit (GPU), and a chip multi-processor (CMP), the at least one member having a processing pipeline deployed thereon, the processing pipeline comprising a plurality of pipelined processing engines, the pipelined processing engines comprising a first pipelined processing engine, a second pipelined processing engine, and a third pipelined processing engine;
- 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 header and a payload, the payloads comprising a plurality of feed-specific messages, the messages comprising message data, and (2) process the received data packets to depacketize the messages;
- wherein the first pipelined processing engine is configured to search the message data of the received data packet payloads for data that matches at least one search term to identify matching data within the messages with respect to the at least one search term;
- wherein the second pipelined processing engine is configured to sort a plurality of the messages having the matching data according to a criterion in response to the search operation;
- and
- wherein the third pipelined processing engine is configured to packetize the sorted 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;
- and
- wherein the first, second, and third pipelined processing engines are configured to perform the search, sort, and packetization operations in a pipelined fashion as data packet data streams through the at least one member.
Dependencies are inferred from the claim text.