Technologies for managing exact match hash table growth
US-2019044859-A1 · Feb 7, 2019 · US
US11108697B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11108697-B2 |
| Application number | US-201815942023-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 30, 2018 |
| Priority date | Mar 30, 2018 |
| Publication date | Aug 31, 2021 |
| Grant date | Aug 31, 2021 |
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 controlling jitter at network packet egress at a source computing device include determining a switch time delta as a difference between a present switch time and a previously captured switch time upon receipt of a network packet scheduled for transmission to a target computing device and determining a host scheduler time delta as a difference between a host scheduler timestamp associated with the received network packet and a previously captured host scheduler timestamp. The source computing device is additionally configured to determine an amount of previously captured tokens present in a token bucket, determine whether there are a sufficient number of tokens available in the token bucket to transmit the received packet as a function of the switch time delta, the host scheduler time delta, and the amount of previously captured tokens present in the token bucket, and schedule the received network packet for transmission upon a determination that sufficient tokens in the token bucket.
Opening claim text (preview).
The invention claimed is: 1. A source computing device for controlling jitter at network packet egress, the source computing device comprising: a compute engine; and a network interface controller (NIC) to: receive a network packet that is to be scheduled for transmission to another computing device; determine a switch time delta as a difference between a present switch time and a previously captured switch time, wherein the previously captured switch time indicates a time at which a traffic class queue from which the received network packet has been received was last updated; determine a host scheduler time delta as a difference between a host scheduler timestamp associated with the received network packet and a previously captured host scheduler timestamp, wherein the previously captured switch time indicates a time at which a most recently transmitted network packet was transmitted; determine an amount of previously captured tokens present in a token bucket, wherein each token is indicative of a predefined amount of elapsed time; determine whether there are a sufficient number of tokens available in the token bucket to transmit the received network packet as a function of (i) the switch time delta, (ii) the host scheduler time delta, and (iii) the amount of previously captured tokens present in the token bucket; and schedule, in response to a determination that there are sufficient tokens in the token bucket, the received network packet for transmission to the another computing device. 2. The source computing device of claim 1 , wherein the switch time delta indicates an elapsed period of time usable to determine a number of tokens that have been added to the token bucket between the previously captured switch time and the present switch time. 3. The source computing device of claim 2 , wherein to determine whether there are the sufficient number of tokens available in the token bucket comprises to (i) calculate a difference between the switch time delta and the host scheduler time delta, (ii) calculate a sum of the calculated difference and the previously captured amount of tokens, (iii) and determine that there are the sufficient number of tokens available in the token bucket based on whether the sum is greater than or equal to zero. 4. The source computing device of claim 1 , wherein the NIC is further to identify a traffic class of the received network packet, and wherein the most recently transmitted network packet comprises the most recently transmitted network packet transmitted from the same traffic class as the received network packet. 5. The source computing device of claim 1 , wherein the NIC is further to update, subsequent to having scheduled the received network packet for transmission, the previously captured host scheduler timestamp to equal the host scheduler timestamp of the received network packet. 6. The source computing device of claim 1 , wherein the NIC is further to update, subsequent to having scheduled the received network packet for transmission, the number of tokens available in the token bucket as a function of the host scheduler time delta. 7. The source computing device of claim 1 , wherein the NIC is further to update, subsequent to having scheduled the received network packet for transmission, the previously captured switch time to equal the present switch time. 8. The source computing device of claim 1 , wherein the NIC is further to retrieve the host scheduler timestamp from a designated field in a header of the received network packet. 9. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a source computing device to: receive, by a network interface controller (NIC) of the source computing device, a network packet that is to be scheduled for transmission to another computing device; determine a switch time delta as a difference between a present switch time and a previously captured switch time, wherein the previously captured switch time indicates a time at which a traffic class queue from which the received network packet has been received was last updated; determine a host scheduler time delta as a difference between a host scheduler timestamp associated with the received network packet and a previously captured host scheduler timestamp, wherein the previously captured switch time indicates a time at which a most recently transmitted network packet was transmitted; determine an amount of previously captured tokens present in a token bucket, wherein each token is indicative of a predefined amount of elapsed time; determine whether there are a sufficient number of tokens available in the token bucket to transmit the received network packet as a function of (i) the switch time delta, (ii) the host scheduler time delta, and (iii) the amount of previously captured tokens present in the token bucket; and schedule, in response to a determination that there are sufficient tokens in the token bucket, the received network packet for transmission to the another computing device. 10. The one or more non-transitory machine-readable storage media of claim 9 , wherein the switch time delta indicates an elapsed period of time usable to determine a number of tokens that have been added to the token bucket between the previously captured switch time and the present switch time. 11. The one or more non-transitory machine-readable storage media of claim 10 , wherein to determine whether there are the sufficient number of tokens available in the token bucket comprises to (i) calculate a difference between the switch time delta and the host scheduler time delta, (ii) calculate a sum of the calculated difference and the previously captured amount of tokens, (iii) and determine that there are the sufficient number of tokens available in the token bucket based on whether the sum is greater than or equal to zero. 12. The one or more non-transitory machine-readable storage media of claim 9 , wherein the plurality of instructions further cause the source computing device to identify a traffic class of the received network packet, and wherein the most recently transmitted network packet comprises the most recently transmitted network packet transmitted from the same traffic class as the received network packet. 13. The one or more non-transitory machine-readable storage media of claim 9 , wherein the plurality of instructions further cause the source computing device to update, subsequent to having scheduled the received network packet for transmission, the previously captured host scheduler timestamp to equal the host scheduler timestamp of the received network packet. 14. The one or more non-transitory machine-readable storage media of claim 9 , wherein the plurality of instructions further cause the source computing device to update, subsequent to having scheduled the received network packet for transmission, the number of tokens available in the token bucket as a function of the host scheduler time delta. 15. The one or more non-transitory machine-readable storage media of claim 9 , wherein the plurality of instructions further cause the source computing device to update, subsequent to having scheduled the received network packet for transmission, the previously captured switch time to equal the present switch time. 16. The one or more non-transitory machine-readable storage media of claim 9 , wherein the plurality of instructions further cause the source computing device to retrieve the host scheduler timestamp from a designated field in a header of the received network packet
Jitter · CPC title
using token-bucket · CPC title
Flow based routing · CPC title
Traffic policing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.