Apparatus and method for controlling transmission between relay devices
US-2015009999-A1 · Jan 8, 2015 · US
US9985886B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9985886-B2 |
| Application number | US-201514671776-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 27, 2015 |
| Priority date | Mar 27, 2015 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 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.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.