Technologies for network packet pacing during segmentation operations

US9985886B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9985886-B2
Application numberUS-201514671776-A
CountryUS
Kind codeB2
Filing dateMar 27, 2015
Priority dateMar 27, 2015
Publication dateMay 29, 2018
Grant dateMay 29, 2018

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 pacing transmission of network packets by a computing device to a remote computing device include performing a segmentation offload operation to segment a payload of a network packet into a plurality of network packet segments in response to a determination that a size of the payload is greater than a maximum allowable payload size. The computing device additionally determines a packet pacing interval and transmits the plurality of network packet segments to the remote computing device at a transmission rate based on the packet pacing interval.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computing device to pace transmission of offloaded network packet segments, the computing device comprising: a data preparation module to prepare the payload of the network packet for transmission to a remote computing device and determine whether a size of the payload of the network packet is greater than a maximum allowable payload size; a packet pacing interval determination module to determine a packet pacing interval in response to a determination that the size of the payload is greater than the maximum allowable payload size; a transmission segmentation offload module to segment a payload of a network packet into a plurality of network packet segments in response to the determination that the size of the payload is greater than the maximum allowable payload size; and a network communication module to determine whether the packet pacing interval has been received at the network communication module and to transmit the plurality of network packet segments to the remote computing device at a transmission rate based on the packet pacing interval in response to a determination that the packet pacing interval was received at the network communication module. 2. The computing device of claim 1 , wherein the packet pacing interval determination module determines the packet pacing interval, at least in part, based on a destination of the payload. 3. The computing device of claim 1 , wherein the packet pacing interval determination module determines the packet pacing interval, at least in part, based on a round-trip-time of the payload. 4. The computing device of claim 1 , wherein the packet pacing interval determination module determines the packet pacing interval, at least in part, based on a network flow of the payload. 5. The computing device of claim 1 , wherein the packet pacing interval determination module is further to provide the packet pacing interval to the network communication module as a descriptor. 6. The computing device of claim 1 , wherein the packet pacing interval determination module is further to place the packet pacing interval in a header of the network packet. 7. The computing device of claim 1 , wherein the packet pacing interval determination module is further to place the packet pacing interval in an out-of-band region of the network packet. 8. The computing device of claim 1 , wherein the network communication module is to transmit the plurality of network packet segments to the remote computing device at a transmission rate based on a maximum transmission rate in response to a determination that the packet pacing interval was not received. 9. The computing device of claim 1 , wherein the data preparation module is further to provide network packet segment size information to the transmission segmentation offload module, and wherein the transmission segmentation offload module segments the payload into the plurality of network packet segments based on the network packet segment size information. 10. The computing device of claim 1 , wherein the network communication module transmits the plurality of network packet segments to the remote computing device from a queue. 11. One or more non-transitory, machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed cause a computing device to: prepare a payload of a network packet for transmission to the remote computing device; determine whether a size of the payload of the network packet is greater than a maximum allowable payload size; determine a packet pacing interval in response to a determination that the size of the payload is greater than the maximum allowable payload size; segment, at a network controller of the computing device, the payload into a plurality of network packet segments in response to the determination that the size of the payload is greater than the maximum allowable payload size; determine whether the packet pacing interval has been received at the network controller; and transmit, at the network controller of the computing device, the plurality of network packet segments to the remote computing device at a transmission rate based on the packet pacing interval in response to a determination that the packet pacing interval was received. 12. The one or more non-transitory, machine-readable storage media of claim 11 , wherein to determine the packet pacing interval comprises to determine the packet interval based at least in part on at least one of a destination of the payload, a round-trip-time of the payload, or a network flow of the payload. 13. The one or more non-transitory, machine-readable storage media of claim 11 , wherein the plurality of instructions further cause the mobile computing device to: receive the packet pacing interval at the network controller as a descriptor. 14. The one or more non-transitory, machine-readable storage media of claim 11 , wherein the plurality of instructions further cause the mobile computing device to: place the packet pacing interval in at least one of a header of the network packet or an out-of-band region of the network packet. 15. The one or more non-transitory, machine-readable storage media of claim 11 , wherein the plurality of instructions further cause the mobile computing device to: transmit the plurality of network packet segments to the remote computing device at a transmission rate based on a maximum transmission rate in response to a determination that the packet pacing interval was not received. 16. The one or more non-transitory, machine-readable storage media of claim 11 , wherein to segment the payload into the plurality of network packet segments comprises to segment the payload into the plurality of network packet segments based on network packet segment size information. 17. The one or more non-transitory, machine-readable storage media of claim 11 , wherein to transmit the plurality of network packet segments to the remote computing device comprises to transmit the plurality of network packet segments to the remote computing device from a queue. 18. A method for pacing transmission of network packets to a remote computing device, the method comprising: preparing, at a computing device, a payload of a network packet for transmission to the remote computing device; determining, at the computing device, whether a size of the payload of the network packet is greater than a maximum allowable payload size; determining, at the computing device, a packet pacing interval in response to a determination that the size of the payload is greater than the maximum allowable payload size; segmenting, at a network controller of the computing device, the payload into a plurality of network packet segments in response to the determination that the size of the payload is greater than the maximum allowable payload size; determining, at the computing device, whether the packet pacing interval has been received at the network controller; and transmitting, at the network controller of the computing device, the plurality of network packet segments to the remote computing device at a transmission rate based on the packet pacing interval in response to a determination that the packet pacing interval was received. 19. The method of claim 18 , wherein determining the packet pacing interval comprises determining the packet pacing interval based at least in part on at least one of a destination of the payload, a round-trip-time of the payload, or a network flow of the payload. 20. The m

Assignees

Inventors

Classifications

  • H04L47/12Primary

    Avoiding congestion; Recovering from congestion · CPC title

  • Round trip delays · CPC title

  • by determining packet size, e.g. maximum transfer unit [MTU] · CPC title

  • Traffic shaping · 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 US9985886B2 cover?
Technologies for pacing transmission of network packets by a computing device to a remote computing device include performing a segmentation offload operation to segment a payload of a network packet into a plurality of network packet segments in response to a determination that a size of the payload is greater than a maximum allowable payload size. The computing device additionally determines …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L47/12. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 29 2018 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).