IP Library Granted Patent US 9,253,096
Granted Patent B2
US 9,253,096 · App. 13/834,455 · Granted Feb 2, 2016

Bypassing congestion points in a converged enhanced ethernet fabric

Inventors: Nikolaos Chrysos (Thalwil, CH); Daniel Crisan (Adliswil, CH); Casimer M. DeCusatis (Poughkeepsie, NY); Mircea Gusat (Langnau, CH); Cyriel J. Minkenberg (Gutenswil, CH)
Assignee: International Business Machines Corporation
H04L47/122H04L47/115H04L47/17H04L47/2483H04L47/30H04L47/6255H04L49/501H04L49/506H04L47/11H04L47/18H04L47/193
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 9,253,096
App. No.
13/834,455
Granted
Feb 2, 2016
Kind
B2
Abstract

Embodiments relate to bypassing congestion points in a network. An aspect includes sampling queues of a plurality of switches in a network. When packet congestion is detected at a congestion point of a first switch, the packet flow contributing to the packet congestion is identified. A congestion notification message indicating the identified packet flow is then propagated to upstream switches, which are upstream from the first switch in the network. The congestion notification message is then snooped by the upstream switches. Virtual queues within the upstream switches are associated with the identified packet flow to hold packets associated with the identified packet flow. The packets associated with the identified packet flow are then re-routed to bypass the packet congestion in the first switch.

Claims (34)

1. A computer system for bypassing congestion points in a network, the system comprising:

a memory having computer readable instructions; and

a processor for executing the computer readable instructions, the instructions including:

sampling queues of a plurality of switches in a network;

detecting packet congestion in a congestion point of a first switch;

identifying a packet flow contributing to the packet congestion, the identifying based on random sampling or occupancy sampling;

propagating a congestion notification message indicating the identified packet flow to upstream switches, the upstream switches including switches that are upstream from the first switch in the network;

snooping the congestion notification message at the upstream switches;

dynamically associating virtual queues within the upstream switches to hold packets associated with the identified packet flow; and

re-routing packets associated with the identified packet flow, thereby bypassing the packet congestion in the first switch.

2. The computer system of claim 1 , further comprising a routing table in each switch that maps a destination media access control (MAC) address of each packet to a list of available ports, the routing table enabling subsequent packets to be routed to a least congested port of a network based on received congestion information.

3. The computer system of claim 1 , further comprising a congestion table in each switch for tracking points of congestion, the congestion table mapping a congestion key, which includes a destination MAC address and a local port number, to a congestion entry data structure.

4. The computer system of claim 1 , wherein the subset of virtual queues are dynamically allocated to flow packets according to a mapping rule.

5. The computer system of claim 1 , wherein

the plurality of switches in the network is enabled with a Quantized Congestion Notification (QCN) protocol and a Priority Flow Control (PFC) protocol;

the congestion notification message generated by the first switch is a QCN message, the QCN congestion notification message being transmitted to upstream switches; and

the re-routing of selected packets is based on a downstream congestion status.

6. A computer system, comprising:

a memory having computer readable instructions; and

a central control processor external to switches in a network, the central control processor configured to execute computer readable instructions that provide centralized control of network packet flows without requiring physical access to the hardware devices in the network, the computer readable instructions comprising:

sampling, by the central control processor, queues of a plurality of switches in a network;

detecting packet congestion in a congestion point of a first switch;

identifying a packet flow contributing to the packet congestion, the identifying based on random sampling or occupancy sampling;

propagating a congestion notification message upstream from the first switch;

snooping the congestion notification message at each upstream switch;

dynamically enabling a subset of virtual queues within each of the upstream switches to hold packet traffic intended for the packet congestion;

re-routing selected packets, based on a specific level of the congestion status downstream, from a source through at least one enabled virtual queue bypassing the packet congestion in the first switch.

7. The computer system of claim 6 , further comprising a routing table in each switch that maps a destination media access control (MAC) address of each packet to a list of available ports, the routing table enabling subsequent packets to be routed to a least congested port of a network based on received congestion information.

8. The computer system of claim 6 , further comprising a congestion table in each switch for tracking points of congestion, the congestion table mapping a congestion key, which includes a destination MAC address and a local port number, to a congestion entry data structure.

9. The computer system of claim 6 , wherein the subset of virtual queues are dynamically allocated to flow packets according to a mapping rule.

10. The computer system of claim 6 , wherein

the plurality of switches in the network is enabled with a Quantized Congestion Notification (QCN) protocol and a Priority Flow Control (PFC) protocol; and

the congestion notification message generated by the first switch is a QCN message, the QCN congestion notification message being transmitted to upstream switches; and

the re-routing of selected packets is based on a downstream congestion status.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2013
From: CHRYSOS, NIKOLAOS; CRISAN, DANIEL; DECUSATIS, CASIMER M.; GUSAT, MIRCEA; MINKENBERG, CYRIEL J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030015/0410 →
Continuity (1)
Related Publication 20140269325A1 · Sep 18, 2014