# US 8,542,583 B2 · Manageability tools for lossless networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,542,583 B2
- Document ID: US8542583B2
- Status: Granted
- Kind: B2
- Application number: 12/881,962
- Filed: 2010-09-14
- Published: 2012-03-15
- Granted: 2013-09-24
- Earliest claimed: 2010-09-14
- Assignees: Brocade Communications Systems, Inc.
- Applicants: Sathish Kumar Gnanasekaran; Dennis Hideo Makishima; Abhijit Seal
- Inventors: Sathish Kumar Gnanasekaran; Dennis Hideo Makishima; Abhijit Seal
- Web page: https://patentgrep.com/patent/US8542583B2

## CPC

- H04L 47/286: {Time to live}
- H04L 43/16: Threshold monitoring
- H04L 49/505: Corrective measures
- H04L 41/0213: Standardised network management protocols, e.g. simple network management protocol [SNMP]
- H04L 43/0852: Delays
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Manageability tools are provided for allowing an administrator to have better control over switches in a lossless network of switches. These tools provide the ability to detect slow drain and congestion bottlenecks, detect stuck virtual channels and loss of credits, while hold times on edge ASICs to be different from hold times encore ASICs, and mitigate severe latency bottlenecks.

## Claims

### Claim 1

A network switch, comprising:
an application specific integrated circuit (ASIC), comprising:
a first port, configured for transmitting frames of data; and
a maximum time value that a frame may wait on the network switch before being dropped, having a default value;
a processor coupled to the ASIC; and
software executed by the processor, comprising:
logic to mitigate a slow-drain bottleneck on the first port by timing out frames waiting for the first port;
logic to adjust the maximum time value to a first value, less than the default value, if the network switch is an edge switch; and
logic to adjust the maximum time value to a second value, greater than the default value, if the network switch is not an edge switch; and
wherein the maximum time value is adjusted in response to detecting a slow drain bottleneck.

### Claim 2 (depends on 1)

The network switch of claim 1,
wherein the ASIC further comprises:
a first maximum time value that a frame may wait for transmission on the first port, wherein the ASIC drops frames that wait for transmission by the first port longer than the first maximum time value;
a second port, configured for transmitting frames of data; and
a second maximum time value that a frame may wait for transmission on the second port, wherein the ASIC drops frames that wait for transmission by the second port longer than the second maximum time value, and
wherein the logic to mitigate a slow-drain bottleneck on the first port comprises:
logic to adjust the first maximum time value independently of the second maximum time value.

### Claim 3 (depends on 1)

The network switch of claim 1,
wherein the ASIC further comprises:
a first maximum time value that a frame may wait for transmission on a first virtual channel of the first port, wherein the ASIC drops frames that wait for transmission on the first virtual channel longer than the first maximum time value; and
a second maximum time value that a frame may wait for transmission on a second virtual channel of the first port, wherein the ASIC drops frames that wait for transmission on the second virtual channel longer than the second maximum time value, and
wherein the logic to mitigate a slow-drain bottleneck on the first port comprises:
logic to adjust the first maximum time value without changing the second maximum time value.

### Claim 4

A method comprising:
mitigating a slow-drain bottleneck in a network switch by timing out frames waiting on the network switch, comprising:
configuring a timeout value for the network switch to a default timeout value, wherein the network switch drops frames that wait for transmission on the network switch longer than the timeout value;
adjusting the timeout value to a first adjusted value, less than the default timeout value, if the network switch is an edge switch; and
adjusting the timeout value to a second adjusted value, greater than the default timeout value, if the network switch is not an edge switch; and
wherein the timeout value is adjusted in response to detecting a slow drain bottleneck.

### Claim 5 (depends on 4)

The method of claim 4, where mitigating a slow drain bottleneck comprises:
defining a first maximum time value that a frame may wait for transmission on the first port, wherein the network switch drops frames that wait for transmission by the first port longer than the first maximum time value;
defining a second maximum time value that a frame may wait for transmission on a second port of the network switch, wherein the network switch drops frames that wait for transmission by the second port longer than the second maximum time value, wherein the second maximum time value is independent of the first maximum time value; and
adjusting the first maximum time value.

### Claim 6 (depends on 4)

The method of claim 4, where mitigating a slow drain bottleneck comprises:
defining a first maximum time value that a frame may wait for transmission on a first virtual channel of the first port, wherein the network switch drops frames that wait for transmission on the first virtual channel longer than the first maximum time value;
defining a second maximum time value that a frame may wait for transmission on a second virtual channel of the first port, wherein the network switch drops frames that wait for transmission on the second virtual channel of the first port longer than the second maximum time value, wherein the second maximum time value is independent of the first maximum time value; and
adjusting the first maximum time value.

### Claim 7

A non-transitory computer readable medium, on which instructions for execution by a processor of a network switch are stored, the instructions comprising instructions that when executed cause the processor to;
mitigate a slow drain bottleneck by timing out frames waiting on the network switch;
configure a timeout value for the network switch to a default timeout value, wherein the network switch drops frames that wait for transmission on the network switch longer than the timeout value;
adjust the timeout value to a first adjusted value, less than the default timeout value, if the network switch is an edge switch; and
adjust the timeout value to a second adjusted value, greater than the default timeout value, if the network switch is not an edge switch; and
wherein the timeout value is adjusted in response to detecting a slow drain bottleneck.

### Claim 8 (depends on 7)

The computer readable medium of claim 7, wherein the instructions further comprise instruction that when executed cause the processor to:
adjust a maximum time that a frame may wait for transmission on a virtual channel of a port of the network switch.

### Claim 9 (depends on 7)

The computer readable medium of claim 7, wherein the instructions further comprise instruction that when executed cause the processor to:
adjust a maximum time that a frame may wait for transmission on a port of the network switch.

### Claim 10 (depends on 7)

The computer readable medium of claim 7, wherein the instructions further comprise instruction that when executed cause the processor to:
logic to report adjustment of the timeout value.
