IP Library Granted Patent US 8,755,396
Granted Patent B2
US 8,755,396 · App. 12/495,361 · Granted Jun 17, 2014

Methods and apparatus related to flow control within a data center switch fabric

Inventors: Pradeep Sindhu (Los Altos Hills, CA); Gunes Aybay (Los Altos, CA); Jean-Marc Frailong (Los Altos, CA); Anjan Venkatramani (Los Altos, CA); Quaizar Vohra (Santa Clara, CA)
Assignee: Juniper Networks, Inc.
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 8,755,396
App. No.
12/495,361
Filed
Jun 30, 2009
Granted
Jun 17, 2014
Kind
B2
Art Unit
2411
USPC
370/412
Abstract

In one embodiment, an apparatus includes a switch core that has a multi-stage switch fabric physically distributed among a set of chassis. The multi-stage switch fabric has a set of input buffers and a set of output ports. The switch core can be configured to be coupled to a set of edge devices. The apparatus can also include a controller implemented in hardware without software during operation and with software during configuration and monitoring. The controller can be coupled to the set of input buffers and the set of output ports. The controller can be configured to send a flow control signal to an input buffer from the set of input buffers when congestion at an output port from the set of output ports is predicted and before congestion in the switch core occurs.

Claims (44)

1. An apparatus, comprising;

a switch core having a multi-stage switch fabric physically distributed among a plurality of chassis, a switch module associated with a first stage of the multi-stage switch fabric and not associated with a second stage of the multi-stage switch fabric and being physically located in a first chassis from the plurality of chassis, a switch module associated with the second stage and not associated with the first stage and being physically located in a second chassis from the plurality of chassis mutually exclusive from the first chassis, the multi-stage switch fabric having a plurality of input buffers and a plurality of output ports, the switch core configured to be coupled to a plurality of edge devices; and

a controller implemented in hardware without software during operation and with software during configuration and monitoring, the controller coupled to the plurality of input buffers and the plurality of output ports, the controller configured to send a flow control signal to an input buffer from the plurality of input buffers when congestion at an output port from the plurality of output ports is predicted and before congestion in the switch core occurs.

2. The apparatus of claim 1 , wherein the controller is configured to perform end-to-end flow control for the input buffer and the output port independent of intrafabric flow control for the multi-stage switch fabric of the switch core.

3. The apparatus of claim 1 , wherein the controller is configured to perform end-to-end flow control for the input buffer and the output port independent of flow control for the plurality of edge devices.

4. The apparatus of claim 1 , further comprising:

a plurality of peripheral processing devices configured to be coupled to the plurality of edge devices,

the controller is configured to perform end-to-end flow control for the input buffer and the output port independent of flow control for the plurality of edge devices.

5. The apparatus of claim 1 , wherein the controller is configured to perform end-to-end flow control on cells buffered at the input buffer for a time before being sent to the output port through the multi-stage switch fabric, the time being associated with the end-to-end flow control.

6. The apparatus of claim 1 , wherein the controller is configured to perform end-to-end flow control on for cells buffered at the input buffer independent of cell segments buffered at a stage of the multi-stage switch fabric and independent of packets buffered at an edge device from the plurality of edge devices.

7. The apparatus of claim 1 , wherein the controller is configured to perform end-to-end flow control on for cells buffered at the input buffer independent of flow control mechanisms associated with Ethernet.

8. An apparatus, comprising;

a switch core having a multi-stage switch fabric physically distributed among a plurality of chassis, a switch module associated with a first stage of the multi-stage switch fabric being physically located in a first chassis from the plurality of chassis, a switch module associated with a second stage of the multi-stage switch fabric being physically located in a second chassis from the plurality of chassis physically distinct from the first chassis, the multi-stage switch configured to receive a plurality of cells associated with a packet and configured to switch a plurality of cell segments based on the plurality of cells; and

a controller coupled to the switch core, the controller configured to perform flow control signal for the plurality of cells independent of flow control for the plurality of cell segments.

9. The apparatus of claim 8 , wherein:

the controller is implemented in hardware without software during operation and with software during configuration and monitoring.

10. The apparatus of claim 8 , wherein:

the multi-stage switch fabric has a plurality of input buffers and a plurality of output ports,

the controller is configured to send a flow control signal to an input buffer from the plurality of input buffers when congestion at an output port from the plurality of output ports is predicted and before congestion in the switch core occurs.

11. The apparatus of claim 8 , wherein:

the multi-stage switch fabric has a plurality of input buffers and a plurality of output ports,

the controller is configured to perform end-to-end flow control for an input buffer from the plurality of input buffers and an output port from the plurality of output buffers independent of intrafabric flow control for the multi-stage switch fabric of the switch core.

12. The apparatus of claim 8 , wherein:

the multi-stage switch fabric has a plurality of input buffers and a plurality of output ports,

the controller is configured to perform end-to-end flow control for an input buffer from the plurality of input buffers and an output port from the plurality of output buffers independent of flow control for the plurality of edge devices.

13. The apparatus of claim 8 , further comprising:

a plurality of peripheral processing devices configured to be coupled to the plurality of edge devices,

the multi-stage switch fabric has a plurality of input buffers and a plurality of output ports,

the controller is configured to perform end-to-end flow control for an input buffer from the plurality of input buffers and an output port from the plurality of output buffers independent of flow control for the plurality of edge devices.

14. The apparatus of claim 8 , wherein:

the multi-stage switch fabric has a plurality of input buffers and a plurality of output ports,

the controller is configured to perform end-to-end flow control on for cells buffered at an input buffer from the plurality of input buffers independent of flow control mechanisms associated with Ethernet.

15. An apparatus, comprising;

a switch core having a multi-stage switch fabric physically distributed among a plurality of chassis, a switch module associated with a first stage of the multi-stage switch fabric and not associated with a second stage of the multi-stage switch fabric and being physically located in a first chassis from the plurality of chassis, a switch module associated with the second stage and not associated with the first stage and being physically located in a second chassis from the plurality of chassis physically separate from the first chassis, the multi-stage switch fabric configured to receive a plurality of cells associated with a packet and configured to switch a plurality of cell segments based on the plurality of cells;

a plurality of edge device coupled to the switch core, an edge device from the plurality of edge devices configured to receive the packet, the edge device configured to send the plurality of cells to the multi-stage switch fabric; and

a controller coupled to the multi-stage switch fabric, the controller configured to perform flow control for the plurality of cells independent of flow control for the plurality of edge devices and intrafabric flow control for the multi-stage switch fabric.

16. The apparatus of claim 15 , wherein:

the controller is implemented in hardware without software during operation and with software during configuration and monitoring.

17. The apparatus of claim 15 , wherein:

the multi-stage switch fabric has a plurality of input buffers and a plurality of output ports,

the controller is configured to send a flow control signal to an input buffer from the plurality of input buffers when congestion at an output port from the plurality of output ports is predicted and before congestion in the switch core occurs.

18. The apparatus of claim 15 , wherein:

the multi-stage switch fabric has a plurality of input buffers and a plurality of output ports,

the controller is configured to perform end-to-end flow control on for cells from the plurality of cells buffered at an input buffer from the plurality of input buffers independent of flow control mechanisms associated with Ethernet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2009
From: SINDHU, PRADEEP; AYBAY, GUNES; FRAILONG, JEAN-MARC; VENKATRAMANI, ANJAN; VOHRA, QUAIZAR
To: JUNIPER NETWORKS, INC.
Reel/Frame 023025/0793 →
Continuity (8)
Continuation In Part 12343728 · Dec 24, 2008
Continuation In Part 12345500 · Dec 29, 2008
Continuation In Part 12345502 · Dec 29, 2008
Continuation In Part 12242224 · Sep 30, 2008
Continuation In Part 12242230 · Sep 30, 2008
Provisional Application 61098516 · Sep 19, 2008
Provisional Application 61096209 · Sep 11, 2008
Related Publication 20100061241A1 · Mar 11, 2010