IP Library Granted Patent US 11,470,010
Granted Patent B2
US 11,470,010 · App. 16/783,184 · Granted Oct 11, 2022

Head-of-queue blocking for multiple lossless queues

Inventors: Liron Mula (Ramat Gan, IL); Lion Levi (Yavne, IL); Yuval Shpigelman (Netanya, IL)
Assignee: MELLANOX TECHNOLOGIES, LTD.
H04L47/26H04L47/2433H04L47/30H04L47/39H04L47/6205
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,470,010
App. No.
16/783,184
Granted
Oct 11, 2022
Kind
B2
Abstract

A network element includes at least one headroom buffer, and flow-control circuitry. The headroom buffer is configured for receiving and storing packets from a peer network element having at least two data sources, each headroom buffer serving multiple packets. The flow-control circuitry is configured to quantify a congestion severity measure, and, in response to detecting a congestion in the headroom buffer, to send to the peer network element pause-request signaling that instructs the peer network element to stop transmitting packets that (i) are associated with the congested headroom buffer and (ii) have priorities that are selected based on the congestion severity measure.

Claims (31)

1. A network element, comprising:

a plurality of headroom buffers for receiving and storing packets from a peer network element having at least two data sources, each headroom buffer serving multiple packets; and

flow-control circuitry, configured to:

quantify a congestion severity measure for the plurality of headroom buffers; and

in response to detecting a congestion in a specific one of the headroom buffers, send to the peer network element pause-request signaling that includes an indication of the specific congested headroom buffer and a priority indicator selected based on the congestion severity measure, and which instructs the peer network element to stop transmitting packets that (i) are associated with the specific congested headroom buffer and (ii) have priorities that are lower than the priority indicator, while continuing to transmit packets of the specific congested headroom buffer with priorities higher than the priority indicator.

2. The network element according to claim 1 , wherein the headroom buffer is configured to receive packets from at least two queues in the peer network element, at least one of the queues having at least two data sources, to store packets from the queues in different locations, and to quantify congestion severity measures separately for each of the queues.

3. The network element according to claim 2 , wherein the headroom buffer comprises a plurality of buffers, each buffer configured to store packets from a corresponding queue in the peer network element.

4. The network element according to claim 1 , wherein the congestion severity measure comprises an occupancy of the headroom buffer.

5. The network element according to claim 4 , wherein the flow-control circuitry is configured to select the priority indicator by comparing the occupancy of the headroom buffer to a plurality of thresholds.

6. A network element, comprising:

at least one transmit-queue for transmitting packets from at least two sources, each source having a predefined priority level, to a headroom buffer of a peer network element; and

flow-control circuitry configured to:

receive from the peer network element pause-request signaling that specifies a congestion severity measure and a specific transmit-queue; and

responsive to the pause-request signaling, select a threshold priority based on the congestion severity measure, and stop transmitting packets that (i) are associated with the data sources of the specific transmit-queue and (ii) have priorities that are lower than the threshold priority, while continuing to transmit packets of the specific transmit-queue with priorities higher than the threshold priority.

7. The network element according to claim 6 , comprising at least two transmit queues, at least one of the transmit queues having at least two sources.

8. The network element according to claim 6 , wherein the congestion severity measure comprises an occupancy of the headroom buffer.

9. The network element according to claim 8 , wherein the flow-control circuitry is configured to select the threshold priority by comparing the occupancy of the headroom buffer to a plurality of thresholds.

10. The network element according to claim 9 , wherein the flow-control circuitry is configured to select the threshold priority based on both the occupancy of the headroom buffer and occupancies of sub-queues of the specific transmit-queue, corresponding to different priorities.

11. A method for communication, comprising:

in a network element, receiving and storing in a plurality of headroom buffers packets from a peer network element having at least two data sources, each headroom buffer serving multiple packets;

quantifying a congestion severity measure; and

in response to detecting a congestion in a specific one of the headroom buffers, sending to the peer network element pause-request signaling that includes an indication of the specific congested headroom buffer and a priority indicator selected based on the congestion severity measure, and which instructs the peer network element to stop transmitting packets that (i) are associated with the specific congested headroom buffer and (ii) have priorities that are lower than the priority indicator, while continuing to transmit packets of the specific congested headroom buffer with priorities higher than the priority indicator.

12. The method according to claim 11 , wherein receiving the packets comprises receiving in the headroom buffer packets from at least two queues in the peer network element, at least one of the queues having at least two data sources, wherein storing the packets comprises storing the packets from the queues in different locations, and wherein quantifying the congestion severity measure comprises quantifying congestion severity measures separately for each of the queues.

13. The method according to claim 12 , wherein the headroom buffer comprises a plurality of buffers, and wherein storing the packets comprises storing in each buffer packets from a corresponding queue in the peer network element.

14. A method for communication, comprising:

using at least one transmit-queue in a network element, transmitting packets from at least two sources, each source having a predefined priority level, to a headroom buffer of a peer network element;

receiving from the peer network element pause-request signaling that specifies a congestion severity measure and a specific transmit-queue; and

responsive to the pause-request signaling, selecting a threshold priority based on the congestion severity measure, and stopping transmitting packets that (i) are associated with the data sources of the specific transmit-queue and (ii) have priorities that are lower than the threshold priority, while continuing to transmit packets of the specific transmit-queue with priorities higher than the threshold priority,

wherein the congestion severity measure comprises an occupancy of the headroom buffer, and

wherein the flow-control circuitry is configured to select the threshold priority by comparing the occupancy of the headroom buffer to a plurality of thresholds.

15. The network element according to claim 14 , wherein selecting the threshold priority comprises selecting based on both the occupancy of the headroom buffer and occupancies of sub-queues of the specific transmit-queue, corresponding to different priorities.

Assignments (2)
MERGER Recorded Dec 15, 2021
From: MELLANOX TECHNOLOGIES TLV LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 058517/0564 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2020
From: MULA, LIRON; LEVI, LION; SHPIGELMAN, YUVAL
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 051733/0142 →
Continuity (1)
Related Publication 20210250300A1 · Aug 12, 2021
Cited By (5)
US 12,192,122 US 12,231,343 US 12,301,480 US 12,375,404 US 12,474,833