Periodic flow detection device, delay estimation device, periodic flow detection method and program
US-2024244004-A1 · Jul 18, 2024 · US
US9871734B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9871734-B2 |
| Application number | US-201213481890-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 28, 2012 |
| Priority date | May 28, 2012 |
| Publication date | Jan 16, 2018 |
| Grant date | Jan 16, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A network interface controller includes a host interface, which is configured to be coupled to a host processor having a host memory. A network interface is configured to receive data packets from a network, each data packet including a header, which includes header fields, and a payload including data. Packet processing circuitry is configured to process one or more of the header fields and at least a part of the data and to select, responsively at least to the one or more of the header fields, a location in the host memory. The circuitry writes the data to the selected location and upon determining that the processed data satisfies a predefined criterion, asserts an interrupt on the host processor so as to cause the host processor to read the data from the selected location in the host memory.
Opening claim text (preview).
The invention claimed is: 1. A network interface controller, comprising: a host interface, which is configured to be coupled to a host computer having a host memory and a central processing unit which runs user level or client applications; a network interface, which is configured to receive data packets from a network, each data packet having a header comprising header fields and a payload comprising data; and packet processing circuitry, which is configured in dedicated hardware logic to write data packets received by the network interface to respective locations in the host memory selected responsively to one or more header fields of the data packets received by the network interface, to select a priority for a data packet which is one of the received data packets, responsively to at least a part of the application layer data in the payload of the data packet, and to report to the host computer that the data packet was written to the host memory, wherein the reporting is performed in a manner selected responsively to the selected priority. 2. The network interface controller according to claim 1 , wherein the packet processing circuitry is configured to select the priority for the data packet, responsively to whether at least a part of the data in the payload of the packet satisfies a predefined criterion. 3. The network interface controller according to claim 2 , wherein the packet processing circuitry is configured to accept a definition of the predefined criterion from a process running on the host computer in an unprotected user mode. 4. The network interface controller according to claim 3 , wherein the definition of the predefined criterion is stored in a transport context that is read and used by the packet processing circuitry in processing the received data packets that are associated with a specified transport service instance. 5. The network interface controller according to claim 2 , wherein the predefined criterion specifies a pattern of symbols, and the processing circuitry is configured to select the priority for the data packet, responsively to whether the data in the payload contains a match to the pattern. 6. The network interface controller according to claim 1 , wherein the packet processing circuitry is configured to select for a packet of a specific traffic identifier, a handling option for the packet from a plurality of different handling options defined for packets of the specific traffic identifier, responsively to at least a part of the data in the payload of the packet. 7. The network interface controller according to claim 1 , wherein the packet processing circuitry is configured to initiate an interrupt for packets having a high priority and not initiate an interrupt for packets having a low priority. 8. The network interface controller according to claim 1 , wherein the packet processing circuitry is configured to initiate different interrupts for packets of different priorities. 9. The network interface controller according to claim 1 , wherein the payload data used by the packet processing circuitry in selecting the manner to report to the host computer that the packet was written to the host memory comprises an application-layer header. 10. The network interface controller according to claim 1 , wherein the packet processing circuitry is configured to select a queue for the packet responsively to both the priority of the packet and one or more fields of the header of the packet. 11. The network interface controller according to claim 1 , wherein the payload data that are used in selecting the priority comprise unstructured data. 12. A network interface controller, comprising: a host interface, which is configured to be coupled to a host computer having a host memory, which stores multiple queues containing queue elements for controlling interactions between the host computer and the network interface controller, and a central processing unit which runs user level or client applications, wherein the host computer accesses elements in completion queues in the host memory and accordingly handles packets written by the network interface controller to the host memory; a network interface, which is configured to receive data packets from a network, each data packet having a header comprising header fields and a payload comprising data; and packet processing circuitry, which is configured to identify for a data packet received by the network interface, a destination queue pair (QP) of the packet, responsively to one or more fields of the header of the packet, to write the packet to a location in the host memory through the host interface, and to select a completion queue, different from the destination QP, for the data packet from a plurality of completion queues available for the destination QP identified for the packet, responsively to at least a part of the data in the payload of the packet. 13. The network interface controller according to claim 12 , wherein the payload data that are used in selecting the completion queue comprise unstructured data. 14. The network interface controller according to claim 12 , wherein the packet processing circuitry is configured, when the payload data satisfy a predefined criterion, to write an event to an event queue in the host memory and to assert an interrupt, which causes the host computer to read and service the event by reading the data from the selected location. 15. The network interface controller according to claim 12 , wherein the packet processing circuitry is configured to write completion information of a single QP to a plurality of completion queues in the host memory, and is configured, when the payload data satisfy a predefined criterion, to write the completion information to a different completion queue than written to when the predefined criterion is not satisfied. 16. The network interface controller according to claim 15 , wherein the data packets that are received from the network are associated with respective transport service instances, and wherein the packet processing circuitry is configured to assign the received data packets to respective receive queues in the host memory responsively to the associated transport service instances, and to assign the data packet to a receive queue that is associated with the selected completion queue when the payload data satisfy the predefined criterion. 17. The network interface controller according to claim 12 , wherein the data packets that are received from the network are associated with respective transport service instances, and wherein the processing circuitry is configured to assign the received data packets that are associated with a given transport service instance to a first receive queue when the payload data satisfy a predefined criterion, and to a different, second receive queue when the payload data do not satisfy the predefined criterion. 18. The network interface controller according to claim 12 , wherein the packet processing circuitry is configured to accept a definition of a criterion for selecting the completion queue from a client process running on the host computer in an unprotected user mode. 19. The network interface controller according to claim 18 , wherein the multiple queues in the host memory have respective contexts that are read and used by the packet processing circuitry in processing the received data packets, wherein the contexts contain protection information that is written by a trusted process running on the host computer in a privileged mode, and wherein the packet processing circui
with priority control · CPC title
for supporting different services, e.g. a differentiated services [DiffServ] type of service · CPC title
Electricity · mapped topic
relying on flow classification, e.g. using integrated services [IntServ] · CPC title
Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass (networks security protocols H04L9/40; wireless communication networks H04W) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.