Delivery time windows for low latency communications
US-12156157-B2 · Nov 26, 2024 · US
US2016269305A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016269305-A1 |
| Application number | US-201514645091-A |
| Country | US |
| Kind code | A1 |
| Filing date | Mar 11, 2015 |
| Priority date | Mar 11, 2015 |
| Publication date | Sep 15, 2016 |
| Grant date | — |
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.
Some embodiments provide a method for reducing congestion in a network stack that includes a series of components that send data packets through the network stack to a network. At a first component of the network stack, the method receives a data packet from a second component of the network stack. The method identifies a usage indicator value for a flow to which the data packet belongs. The usage indicator value is based on a comparison of a size of the flow to a size of a queue for a third component of the network stack. The method determines whether to send the data packet based on a comparison of the usage indicator value to a threshold usage value. The method sends the data packet to a next component of the network stack only when the usage indicator value is less than the threshold usage value.
Opening claim text (preview).
What is claimed is: 1 . A method for reducing congestion in a network stack comprising a series of components that send data packets through the network stack to a network, the method comprising: at a first component of the network stack, receiving a data packet from a second component of the network stack; identifying a usage indicator value for a flow to which the data packet belongs, the usage indicator value based on a comparison of a size of the flow to a size of a queue for a third component of the network stack; determining whether to send the data packet based on a comparison of the usage indicator value to a threshold usage value; and sending the data packet to a next component of the network stack only when the usage indicator value is less than the threshold usage value. 2 . The method of claim 1 , wherein the threshold usage level is generated randomly for each packet. 3 . The method of claim 1 , wherein the usage indicator value is based on a ratio of unacknowledged data for the flow to which the data packet belongs to the queue size of a physical network interface card (PNIC). 4 . The method of claim 3 , wherein the unacknowledged data for the flow comprises packets sent from the network stack for the flow that have not (i) received acknowledgment receipts or (ii) timed out. 5 . The method of claim 1 , wherein when the usage indicator value is greater than the threshold usage value, the first component drops the data packet. 6 . The method of claim 1 , wherein the first component only performs the determination when the queue of the third component of the network stack is full past a threshold level. 7 . The method of claim 6 , wherein the first component is a virtual network interface card (VNIC), the second component is a TCP/IP stack, and the third component is a physical network interface card (PNIC). 8 . The method of claim 1 , wherein the data packet is a first data packet, the flow is a first flow, the usage indicator value is a first usage indicator value, and the threshold usage value is a first threshold value, the method further comprising: receiving from the second component of the network stack a second data packet; identifying a second usage indicator value for a second flow to which the second data packet belongs, the second usage indicator based on a comparison of a size of the second flow the size of the queue for the third component of the network stack; determining whether to send the second data packet based on a comparison of the second usage indicator value to a second threshold usage value; and sending the second data packet to the next component of the network stack only when the second usage indicator value is less than the second threshold usage value. 9 . The method of claim 8 , wherein the first threshold usage value and the second threshold usage value are different values. 10 . The method of claim 9 , wherein the first and second flows are the same. 11 . A non-transitory machine readable medium storing a program which when executed by at least one processing unit reduces congestion in a network stack comprising a series of components that send data packets through the network stack to a network, the program comprising sets of instructions for: at a first component of the network stack, receiving a data packet from a second component of the network stack; identifying a usage indicator value for a flow to which the data packet belongs, the usage indicator based on a comparison of a size of the flow to a size of a queue for a third component of the network stack; determining whether to send the data packet based on a comparison of the usage indicator value to a threshold usage value; and sending the data packet to a next component of the network stack only when the usage indicator value is less than the threshold usage value. 12 . The machine readable medium of claim 11 , wherein the threshold usage level is generated randomly for each packet. 13 . The machine readable medium of claim 11 , wherein the usage indicator value is based on a ratio of unacknowledged data for the flow to which the data packet belongs to the queue size of a physical network interface card (PNIC). 14 . The machine readable medium of claim 13 , wherein the unacknowledged data for the flow comprises packets sent from the network stack for the flow that have not (i) received acknowledgment receipts or (ii) timed out. 15 . The machine readable medium of claim 11 , wherein the program comprises a set of instructions for dropping the packet when the usage indicator value is greater than the threshold usage value. 16 . The machine readable medium of claim 11 , wherein the first component only performs the determination when the queue of the third component of the network stack is full past a threshold level. 17 . The machine readable medium of claim 6 , wherein the first component is a virtual network interface card (VNIC), the second component is a TCP/IP stack, and the third component is a physical network interface card (PNIC). 18 . The machine readable medium of claim 1 , wherein the data packet is a first data packet, the flow is a first flow, the usage indicator value is a first usage indicator value, and the threshold usage value is a first threshold value, the program further comprising sets of instructions for: receiving from the second component of the network stack a second data packet; identifying a second usage indicator value for a second flow to which the second data packet belongs, the second usage indicator based on a comparison of a size of the second flow the size of the queue for the third component of the network stack; determining whether to send the second data packet based on a comparison of the second usage indicator value to a second threshold usage value; and sending the second data packet to the next component of the network stack only when the second usage indicator value is less than the second threshold usage value. 19 . The machine readable medium of claim 18 , wherein the first threshold usage value and the second threshold usage value are different values. 20 . The machine readable medium of claim 19 , wherein the first and second flows are the same.
Avoiding congestion; Recovering from congestion · CPC title
by discarding or delaying data units, e.g. packets or frames · CPC title
Identifying congestion · CPC title
in combination with information about buffer occupancy at either end or at transit nodes · CPC title
involving identification of individual flows · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.