Dynamic thresholds for congestion control

US9762491B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9762491-B2
Application numberUS-201514672357-A
CountryUS
Kind codeB2
Filing dateMar 30, 2015
Priority dateMar 30, 2015
Publication dateSep 12, 2017
Grant dateSep 12, 2017

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.

Communication apparatus includes multiple interfaces configured for connection to a packet data network. A memory, coupled to the interfaces, is configured as a shared buffer to contain packets in multiple sets of queues for transmission to the network. Each set of queues receives in the shared buffer a respective allocation having an allocation size that varies over time in response to an amount of space in the shared buffer that is unused at any given time. A controller is configured to apply congestion control to a respective fraction of the packets that are queued for transmission from each set of queues in the shared buffer to the network, such that the respective fraction is set for each set of queues at any given time in response to a relation between a length of the queues in the set and the allocation size of the respective allocation at the given time.

First claim

Opening claim text (preview).

The invention claimed is: 1. Communication apparatus, comprising: multiple interfaces configured for connection to a packet data network; a memory coupled to the interfaces and configured as a shared buffer to contain packets in multiple sets of queues for transmission to the network, each set of queues receiving in the shared buffer a respective allocation having an allocation size that varies over time in response to an amount of space in the shared buffer that is unused at any given time; and a controller, which is configured to periodically: determine, for each set of queues, a current length of the queues, compute a size of an unused portion of the memory, compute for each set of queues a threshold responsive to the computed size of unused memory, set a probability of marking packets with a congestion marking, for each set of queues, in response to the determined current length of the queue, a current allocation size of the set of queues and the computed threshold, and mark a respective fraction of the packets that are queued for transmission from each set of queues in the shared buffer to the network, according to the currently set probability. 2. The apparatus according to claim 1 , wherein the allocation size for each set of queues at any given time is determined by a threshold, which is equal to a product of the amount of the unused space in the buffer multiplied by a respective constant of proportionality. 3. The apparatus according to claim 2 , wherein the respective constant of proportionality is set to different, respective values for different ones of the sets of queues. 4. The apparatus according to claim 1 , wherein the respective fraction of the packets in each set of queues increases as the current length of the set of queues approaches the allocation size of the respective allocation. 5. The apparatus according to claim 1 , wherein the respective fraction of the packets in each set of queues increases as the allocation size of the set of queues decreases in response to increasing buffer occupancy by other queues. 6. The apparatus according to claim 1 , wherein the controller is configured to compute the respective fraction of the packets in each set of queues as a function of a ratio between the length of the queues in the set and the allocation size of the set of queues. 7. A method for communication, comprising: in a network element having multiple interfaces connected to a packet data network and a memory coupled to the interfaces and configured as a shared buffer to contain packets in multiple sets of queues for transmission to the network, allocating to each set of queues in the shared buffer a respective allocation having an allocation size that varies over time in response to an amount of space in the shared buffer that is unused at any given time; and periodically performing: determining, for each set of queues, a current length of the queues, computing a size of an unused portion of the memory, computing, for each set of queues, a threshold responsive to the computed size of unused memory, setting a probability of marking packets with a congestion marking, for each set of queues, in response to the determined current length of the queue, a current allocation size of the set of queues and the computed threshold, and marking a respective fraction of the packets that are queued for transmission from each set of queues in the shared buffer to the network, according to the currently set probability. 8. The method according to claim 7 , wherein allocating the respective allocation comprises setting for each set of queues a respective threshold, which is equal to a product of the amount of the unused space in the buffer multiplied by a respective constant of proportionality. 9. The method according to claim 8 , wherein the respective constant of proportionality is set to different, respective values for different ones of the sets of queues. 10. The method according to claim 7 , wherein the respective fraction of the packets in each set of queues to which the congestion control is applied increases as the current length of the queues in the set approaches the allocation size of the respective allocation. 11. The method according to claim 7 , wherein the respective fraction of the packets in each set of queues increases as the allocation size of the set of queues decreases in response to increasing buffer occupancy by other queues. 12. The method according to claim 7 , wherein applying congestion control comprises computing the respective fraction of the packets in each set of queues as a function of a ratio between the length of the queues in the set and the allocation size of the set of queues.

Assignees

Inventors

Classifications

  • H04L47/10Primary

    Flow control; Congestion control · CPC title

  • ATM peripheral units, e.g. policing, insertion or extraction · CPC title

  • Shared queuing · CPC title

  • Peripheral units, e.g. input or output ports · CPC title

  • Dynamic queue service slot or variable bandwidth allocation · 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 US9762491B2 cover?
Communication apparatus includes multiple interfaces configured for connection to a packet data network. A memory, coupled to the interfaces, is configured as a shared buffer to contain packets in multiple sets of queues for transmission to the network. Each set of queues receives in the shared buffer a respective allocation having an allocation size that varies over time in response to an amou…
Who is the assignee on this patent?
Mellanox Tech Tlv Ltd
What technology area does this patent fall under?
Primary CPC classification H04L47/10. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 12 2017 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).