Technologies for moderating packet ingress interrupt generation

US9455922B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9455922-B2
Application numberUS-201414280988-A
CountryUS
Kind codeB2
Filing dateMay 19, 2014
Priority dateMay 19, 2014
Publication dateSep 27, 2016
Grant dateSep 27, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • H04L47/193Primary

    at the transport layer, e.g. TCP related · CPC title

  • Hybrid transport · CPC title

  • using combination of interrupt and burst mode transfer · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9455922B2 cover?
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 computin…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L47/193. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 27 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).