Traffic-dependent adaptive interrupt moderation
US-2015286594-A1 · Oct 8, 2015 · US
US9455922B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9455922-B2 |
| Application number | US-201414280988-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 19, 2014 |
| Priority date | May 19, 2014 |
| Publication date | Sep 27, 2016 |
| Grant date | Sep 27, 2016 |
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.
Technologies for generating an interrupt for moderating generation of packet ingress interrupts includes a local computing device to receive a network packet from a remote computing device. The local computing device examines a header field of a transport layer protocol data unit of the received network packet to determine a size parameter. A network socket throughput between the local computing device and the remote computing device is determined based on communications between the local computing device and the remote computing device. The local computing device determines an interrupt rate based on the determined size parameter and the network socket throughput. An interrupt is generated based on the determined interrupt rate to allow processing of the received network packet.
Opening claim text (preview).
The invention claimed is: 1. A local computing device to generate an interrupt for processing of incoming network packets, the local computing device comprising: a communication module to receive a network packet from a remote computing device and transmit a separate network packet to the remote computing device; an interrupt rate determination module to (i) examine a transmission control protocol header of a transmission control protocol segment of the received network packet to determine a receive window size of the remote computing device, (ii) examine a transmission control protocol header of a transmission control protocol segment of the transmitted network packet to determine a receive window size of the local computing device, (iii) determine a lesser of the receive window size of the remote computing device and the receive window size of the local computing device, (iv) determine a network socket throughput between the local computing device and the remote computing device based on communications between the local computing device and the remote computing device, and (v) divide the determined lesser receive window size by the determined network socket throughput to determine an interrupt rate; and an interrupt generation module to generate an interrupt based on the determined interrupt rate to allow processing of the network packet. 2. The local computing device of claim 1 , wherein the interrupt rate determination module is further to (i) store a window scale factor for each of the local and remote computing devices and (ii) increase the receive window size of the remote computing device and the window size of the local computing device as a function of the window scale factor of each of the local and remote computing devices. 3. The local computing device of claim 2 , wherein the communication module is further to establish a transmission control protocol socket between the local computing device and the remote computing device; and wherein the network packet received from the remote computing device and the separate network packet transmitted to the remote computing device are transmitted to and received from the remote computing device as a function of the establishment of the transmission control protocol socket between the local computing device and the remote computing device. 4. The local computing device of claim 1 , wherein the interrupt rate determination module is further to examine a user datagram protocol segment header of a user datagram protocol segment to determine a datagram length of the user datagram protocol segment; and determine a separate interrupt rate based on the determined datagram length of the user datagram protocol segment and a separate network socket throughput. 5. The local computing device of claim 1 , wherein the interrupt rate determination module is further to (i) determine a maximum throughput of the network socket based on historical communications between the local computing device and the remote computing device and (ii) determine a current throughput of the network socket based on current communications between the local computing device and the remote computing device; and wherein to determine the network socket throughput comprises to determine the network socket throughput based on a determination of a greater of the maximum throughput and the current throughput of the network socket. 6. The local computing device of claim 1 , wherein to receive the network packet comprises to receive a first network packet from the remote computing device via a first network socket; wherein to determine the receive window size comprises to determine a first size parameter; wherein to determine the network socket throughput comprises to determine a first network socket throughput for the first network socket; wherein to determine the interrupt rate comprises to determine a first interrupt rate for the first network socket based on the determined first size parameter and the first network socket throughput; wherein the communication module is further to receive a second network packet from the remote computing device via a second network socket; wherein the interrupt rate determination module is further to (i) examine a header field of a transport layer protocol data unit of the received second network packet to determine a second size parameter, (ii) determine a second network socket throughput for the second network socket, (iii) determine a second interrupt rate for the second network socket based on the determined second size parameter and the second network socket throughput, and (iv) determine an aggregate interrupt rate for the first and second network sockets based on the determined first and second interrupt rates; and wherein to generate the interrupt comprises to generate the interrupt based on the determined aggregate interrupt rate for the first and second network sockets to allow processing of the first and second network packets. 7. The local computing device of claim 6 , wherein to determine the aggregate interrupt rate comprises to determine the aggregate interrupt rate based on a determination of a lesser of the first interrupt rate and the second interrupt rate. 8. The local computing device of claim 6 , wherein to determine the aggregate interrupt rate comprises to determine the aggregate interrupt based on an average of the determined first and second interrupt rates. 9. The local computing device of claim 6 , wherein the interrupt rate determination module is further to weight at least one of the first or second interrupt rates based on a socket type of the first or second network sockets. 10. One or more non-transitory machine-readable media comprising a plurality of instructions stored thereon that in response to being executed by a local computing device, cause the local computing device to: receive a network packet from a remote computing device; transmit a separate network packet to the remote computing device; examine a transmission control protocol header of a transmission control protocol segment of the received network packet to determine a receive window size of the remote computing device; examine a transmission control protocol header of a transmission control protocol segment of the transmitted network packet to determine a receive window size of the local computing device; determine a lesser of the receive window size of the remote computing device and the receive window size of the local computing device; determine a network socket throughput between the local computing device and the remote computing device based on communications between the local computing device and the remote computing device; divide the determined lesser receive window size by the determined network socket throughput to determine an interrupt rate; and generate an interrupt based on the determined interrupt rate to allow processing of the network packet. 11. The one or more non-transitory machine-readable media of claim 10 , wherein the plurality of instructions further cause the local computing device to: store a window scale factor for each of the local and remote computing devices; and increase the receive window size of the remote computing device and the window size of the local computing device as a function of the window scale factor of each of the local and remote computing devices. 12. The one or more non-transitory machine-readable media of claim 11 , wherein the plurality of instructions further cause the local computing device to establish a transmission control protocol socket between the local computing device and the remote computing device; and wherein the network packet received from the remote co
at the transport layer, e.g. TCP related · CPC title
Hybrid transport · CPC title
using combination of interrupt and burst mode transfer · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.