Methods and apparatus for flow control associated with a switch fabric

US11711319B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11711319-B2
Application numberUS-202016801931-A
CountryUS
Kind codeB2
Filing dateFeb 26, 2020
Priority dateDec 1, 2010
Publication dateJul 25, 2023
Grant dateJul 25, 2023

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.

In some embodiments, an apparatus includes a flow control module configured to receive a first data packet from an output queue of a stage of a multi-stage switch at a first rate when an available capacity of the output queue crosses a first threshold. The flow control module is configured to receive a second data packet from the output queue of the stage of the multi-stage switch at a second rate when the available capacity of the output queue crosses a second threshold. The flow control module configured to send a flow control signal to an edge device of the multi-stage switch from which the first data packet or the second data packet entered the multi-stage switch.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: sending, by an edge device, a data packet to a switch module that is from a plurality of switch modules in a multi-stage switch and that receives a data packet request from a flow control module; in response to the data packet request being received at the switch module: receiving, at the edge device, a first flow control signal from the flow control module including a severity value when an available capacity of an output queue of the switch module is above a first threshold and a second threshold but not a third threshold, the severity value indicating a level of congestion at the output queue; determining, based on the first flow control signal by the edge device, an identifier of a source peripheral processing device that originated the data packet; and sending, from the edge device to the source peripheral processing device and based on the identifier, a second flow control signal such that the source peripheral processing device modifies data transmission to the edge device to reduce the level of congestion at the output queue. 2. The method of claim 1 , wherein the second flow control signal includes an instruction to cause the source peripheral processing device to modify data transmission to the edge device by suspending the data transmission. 3. The method of claim 1 , further comprising: receiving the first flow control signal in a first flow control protocol, and sending the second flow control signal in a second flow control protocol different from the first flow control protocol. 4. The method of claim 3 , wherein the first flow control protocol is Ethernet pause, priority pause, quantized congestion notification, or quantum flow control. 5. The method of claim 1 , further comprising: receiving the first flow control signal via an out-of-band control plane connection. 6. The method of claim 1 , further comprising: receiving the first flow control signal within a data plane, via which the data packet is sent to the switch module of the multi-stage switch. 7. The method of claim 1 , wherein each stage of the multi-stage switch includes at least two switch modules that each include a plurality of ports. 8. The method of claim 1 , wherein the first flow control signal is transmitted through the multi-stage switch to the edge device before the data packet is transmitted through the multi-stage switch from the edge device. 9. The method of claim 1 , wherein: when the available capacity of the output queue of the switch module decreases, a data packet sampling rate from the output queue increases to determine the level of congestion at the output queue. 10. An apparatus, comprising: a memory; and a processor operatively coupled to the memory, the processor is configured to: send a data packet from an edge device to a switch module that is from a plurality of switch modules in a multi-stage switch and that receives a data packet request from a flow control module; in response to the data packet request being received at the switch module: receive, at the edge device, a first flow control signal from the flow control module when an available capacity of an output queue of the switch module is above a first threshold but not a second threshold and a third threshold, determine, based on the first flow control signal and by the edge device, an identifier of a source peripheral processing device that originated the data packet; and send, from the edge device to the source peripheral processing device and based on the identifier, a second flow control signal such that the source peripheral processing device reduces data transmission to the edge device to reduce a level of congestion at the output queue. 11. The apparatus of claim 10 , wherein: the processor is configured to send the second flow control signal such that the source peripheral processing device reduces data transmission by suspending the data transmission for a period of time. 12. The apparatus of claim 10 , wherein: the processor is configured to receive the first flow control signal in a first flow control protocol, and the processor is configured to send the second flow control signal in a second flow control protocol different from the first flow control protocol. 13. The apparatus of claim 12 , wherein the first flow control protocol is Ethernet pause, priority pause, quantized congestion notification, or quantum flow control. 14. The apparatus of claim 10 , wherein: the processor is configured to receive the first flow control signal via an out-of-band control plane connection. 15. The apparatus of claim 10 , wherein: the processor is configured to receive the first flow control signal within a data plane, via which the data packet is sent to the switch module of the multi-stage switch. 16. The apparatus of claim 10 , wherein the multi-stage switch includes at least three stages of switch modules that are included in the plurality of switch modules, each stage of switch modules from the at least three stages of switch modules including at least two switch modules that each include a plurality of ports. 17. A method, comprising: receiving, at a first switch module included in a plurality of first switch modules of a first stage of a distributed switch fabric, a plurality of data packets from a plurality of second switch modules of a second stage of the distributed switch fabric, each switch module from the plurality of first switch modules and the plurality of second switch modules including a plurality of ports; storing the plurality of data packets in an output queue of the first switch module; and when an available capacity of the output queue (1) is above a first threshold but not a second threshold and a third threshold and (2) a data packet request is received at the first switch module from an flow control processor, sending a data packet from the plurality of data packets in the output queue (1) to the flow control processor; send, via the flow control processor, a first flow control signal to a source edge device associated with the data packet using a first flow control protocol; and send, via the source edge device, a second flow control signal to a source peripheral processing device associated with the data packet using a second flow control protocol. 18. The method of claim 17 , further comprising: randomly selecting the data packet from the plurality of data packets in the output queue prior to sending the data packet to the flow control processor. 19. The method of claim 17 , further comprising: selecting the data packet from the plurality of data packets in the output queue based on a time at which the first switch module receives the data packet request from the flow control processor. 20. The method of claim 17 , wherein the flow control processor sends the first flow control signal to the source edge device via an out-of-band control plane connection.

Assignees

Inventors

Classifications

  • using explicit feedback to the source, e.g. choke packets · CPC title

  • H04L49/506Primary

    Backpressure · CPC title

  • using a combination of thresholds · CPC title

  • Non-blocking multistage, e.g. Clos · CPC title

  • Centralised controller, i.e. arbitration or scheduling · 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 US11711319B2 cover?
In some embodiments, an apparatus includes a flow control module configured to receive a first data packet from an output queue of a stage of a multi-stage switch at a first rate when an available capacity of the output queue crosses a first threshold. The flow control module is configured to receive a second data packet from the output queue of the stage of the multi-stage switch at a second r…
Who is the assignee on this patent?
Juniper Networks Inc
What technology area does this patent fall under?
Primary CPC classification H04L49/506. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 25 2023 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).