Feed processing
First Claim
1. A network interface device comprising:
- circuitry configured to support a virtual interface for each of a plurality of receive queues associated with a plurality of application layer consumers comprised within a processing subsystem;
a hardware accelerator configured to parse one or more streams of data packets received from a network so as to;
identify application layer messages within the received data packets and extract application layer messages having one or more of a respective set of characteristics requested by a respective application layer consumer;
duplicate application layer messages that have one or more of the respective set of characteristics associated with more than one application layer consumer so as to provide those application layer messages to each of those application layer consumers; and
frame the identified application layer messages in a new stream of data packets for each application layer consumer, by encapsulating the identified application layer messages with headers identifying each respective application layer consumer into data packets, such that the data packets are addressed to a network endpoint associated with the virtual interface of the respective application layer consumer so as to cause said new stream of data packets to be delivered into the receive queue of the respective application layer consumer.
5 Assignments
0 Petitions
Accused Products
Abstract
A data processing system comprising: a processing subsystem supporting a plurality of consumers, each consumer being arranged to process messages received into a corresponding receive queue; a network interface device supporting a virtual interface for each of the receive queues; and a hardware accelerator coupled to the processing subsystem by the network interface device and configured to parse one or more streams of data packets received from a network so as to, for each consumer: identify in the data packets messages having one or more of a set of characteristics associated with the consumer; and frame the identified messages in a new stream of data packets addressed to a network endpoint associated with the virtual interface of the consumer so as to cause said new stream of data packets to be delivered into the receive queue of the consumer.
264 Citations
30 Claims
-
1. A network interface device comprising:
-
circuitry configured to support a virtual interface for each of a plurality of receive queues associated with a plurality of application layer consumers comprised within a processing subsystem; a hardware accelerator configured to parse one or more streams of data packets received from a network so as to; identify application layer messages within the received data packets and extract application layer messages having one or more of a respective set of characteristics requested by a respective application layer consumer; duplicate application layer messages that have one or more of the respective set of characteristics associated with more than one application layer consumer so as to provide those application layer messages to each of those application layer consumers; and frame the identified application layer messages in a new stream of data packets for each application layer consumer, by encapsulating the identified application layer messages with headers identifying each respective application layer consumer into data packets, such that the data packets are addressed to a network endpoint associated with the virtual interface of the respective application layer consumer so as to cause said new stream of data packets to be delivered into the receive queue of the respective application layer consumer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for distributing application layer messages to application layer consumers, the method comprising:
-
receiving a request, from a plurality of application layer consumers, for application layer messages from one or more streams of data packets received at the hardware accelerator by indicating to the hardware accelerator a respective set of characteristics identifying those application layer messages; and on receiving the one or more streams of data packets from a network, the hardware accelerator parsing the streams of data packets and; identifying application layer messages within the received data packets and extracting those application layer messages having one or more of the respective set of characteristics requested by a respective application layer consumer; duplicating the application layer messages that have one or more of the respective set of characteristics associated with more than one application layer consumer so as to provide those application layer messages to each of those application layer consumers; and framing the identified application layer messages in a new stream of data packets for each application layer consumer, by encapsulating the identified application layer messages with headers identifying each respective application layer consumer into data packets, such that the data packets are addressed to a network endpoint associated with a virtual interface of the respective application layer consumer provided at the network interface device so as to cause said new stream of data packets to be delivered into the receive queue of the respective application layer consumer.
-
-
29. A data processing system comprising:
-
a processing subsystem supporting a plurality of application layer consumers, each application layer consumer being arranged to process application layer messages matching a respective set of characteristics requested by that application layer consumer received into a respective receive queue associated with that application layer consumer; a network interface device supporting a virtual interface for each of the receive queues and comprising a hardware accelerator, said hardware accelerator configured to parse one or more streams of data packets received from a network so as to; identify application layer financial data messages within the data packets and extract those application layer messages having one or more of the respective set of financial characteristics requested by a respective application layer consumer; duplicate the application layer financial messages that have one or more of the respective set of financial characteristics associated with more than one application layer consumer so as to provide those application layer messages to each of those application layer consumers; and frame the identified application layer messages in a new stream of data packets for each application layer consumer, by encapsulating the identified application layer messages with headers identifying each respective application layer consumer into data packets, such that the data packets are addressed to a network endpoint associated with the virtual interface of the respective application layer consumer so as to cause said new stream of data packets to be delivered into the receive queue of the respective application layer consumer.
-
-
30. A network interface device comprising:
-
circuitry configured to support a virtual interface for each of a plurality of receive queues, each receive queue being associated with a respective application layer consumer supported by a processing subsystem; a hardware accelerator configured to parse one or more streams of data packets received from a network so as to; identify application layer financial data messages within the data packets and extract those application layer messages having one or more of a respective set of financial characteristics requested by a respective application layer consumer; duplicate the application layer financial messages that have one or more of the respective set of financial characteristics associated with more than one application layer consumer so as to provide those application layer messages to each of those application layer consumers; and frame the identified application layer messages in a new stream of data packets for each application layer consumers, by encapsulating the identified application layer messages with headers identifying each respective application layer consumer into data packets, such that the data packets are addressed to a network endpoint associated with the virtual interface of the respective application layer consumer so as to cause said new stream of data packets to be delivered into the receive queue of the respective application layer consumer.
-
Specification