IP Library Granted Patent US 9,565,113
Granted Patent B2
US 9,565,113 · App. 14/156,374 · Granted Feb 7, 2017

Adaptive link aggregation and virtual link aggregation

Inventors: Vardarajan Venkatesh (Santa Clara, CA); Ganesh D. Venkata (San Jose, CA)
Assignee: BROCADE COMMUNICATIONS SYSTEMS, INC.
H04L47/125H04L45/30H04L45/245
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,565,113
App. No.
14/156,374
Granted
Feb 7, 2017
Kind
B2
Abstract

One embodiment of the present invention provides a switch. The switch comprises a plurality of ports, a link management module, a forwarding module, and a link adaptation module. The link management module operates at least two ports of the plurality of ports of the switch to form a link aggregation. This link aggregation operates as a single logical channel. The forwarding module determines an egress port for a packet among the ports participating in the link aggregation based on a distribution policy. The link adaptation module detects an imbalance of the respective link utilizations among links of the link aggregation based on one or more imbalance criteria, and applies one or more corrective actions to the distribution policy.

Claims (89)

1. A switch, comprising:

a plurality of ports;

link management circuitry configured to operate at least two ports of the plurality of ports of the switch to form a link aggregation, wherein the link aggregation operates as a single logical channel;

forwarding circuitry configured to determine an egress port among the ports participating in the link aggregation for a packet of a data flow based on a calculation function associated with a distribution policy, wherein a first value obtained from computing the calculation function for the packet indicates the egress port; and

link adaptation circuitry configured to:

in response to detecting an imbalance of respective link utilizations among links of the link aggregation, modify the calculation function associated with the distribution policy, wherein a second value obtained from computing the modified calculation function for a packet of the data flow indicates a different port among the ports participating in the link aggregation.

2. The switch of claim 1 , wherein the link adaptation circuitry is further configured to monitor the link utilizations of the links of the link aggregation after modifying the calculation function.

3. The switch of claim 2 , wherein the link adaptation circuitry is further configured to stop modifying the calculation function based on the monitored link utilizations' compliance with one or more of:

reaching an upper bound of the number of modifications; and

meeting convergence criteria; wherein the convergence criteria include one or more of:

achieving a better balance of link utilizations among links of the link aggregation compared to the detected imbalance; and

achieving compliance with the one or more imbalance criteria.

4. The switch of claim 3 , wherein the link adaptation circuitry is further configured to apply one of:

a set of fallback settings to the distribution policy in response to reaching the upper bound; and

a set of corrective settings to the distribution policy in response to meeting the convergence criteria.

5. The switch of claim l, wherein the imbalance criteria include one or more of:

a number of links in the link aggregation having higher utilization than a high threshold; and

a number of links in the link aggregation having lower utilization than a low threshold.

6. The switch of claim 1 , wherein the calculation function associated with the distribution policy includes one or more of:

a hash function, wherein input of the hash function includes one or more fields of a packet; and

a modulo function generating an index for a hash distribution table, wherein input of the modulo function includes output of the hash function, and wherein a respective slot in the hash distribution table is associated with a link of the link aggregation.

7. The switch of claim 1 , wherein the modification to the calculation function includes one or more of:

swapping adjacent bits of an input of the calculation function;

changing flavor of the calculation function by selecting one or more different fields of a packet as an input of the calculation function; and

changing flavor of the calculation function by using a different calculation function.

8. The switch of claim 1 , wherein the link utilization of a link in the link aggregation is based on a weighted average of a measured link utilization and historical link utilization of the link.

9. The switch of claim 1 , wherein the link management circuitry is further configured to operate a first port of the plurality of ports of the switch in conjunction with a second port of a remote switch to form a virtual link aggregation, wherein the virtual link aggregation operates as a single logical channel, and wherein the virtual link aggregation couples the switch and the remote switch to an end device; and

wherein the link adaptation circuitry is further configured to detect an imbalance of respective overall utilizations of links of the virtual link aggregation between the switch and the remote switch based on one or more imbalance criteria.

10. The switch of claim 9 , further comprising designated switch management circuitry configured to identify the switch as a designated switch for the virtual link aggregation; and

wherein the link adaptation circuitry is further configured to generate, in response to identifying the switch as the designated switch, an instruction for an ingress switch of the packet to apply one or more corrective actions to a path selection policy for the virtual link aggregation, wherein the path selection policy indicates an egress switch for the packet between the switch and the remote switch.

11. The switch of claim 10 , wherein the link adaptation circuitry is further configured to:

obtain link utilizations of the links of the virtual link aggregation monitored by the remote switch from a query response message from the remote switch; and

determine whether to stop applying the corrective actions to the path selection policy based on local-monitored link utilizations and link utilizations monitored by the remote switch.

12. The switch of claim 1 , wherein the switch is a member of a network of interconnected switches, wherein the network of interconnected switches is controlled as a single logical switch.

13. A method, comprising:

operating at least two ports of a plurality of ports of a switch to form a link aggregation, wherein the link aggregation operates as a single logical channel;

determining an egress port among the ports participating in the link aggregation for a packet of a data flow based on a calculation function associated with a distribution policy, wherein a first value obtained from computing the calculation function for the packet indicates the egress port; and

in response to detecting an imbalance of respective link utilizations among links of the link aggregation, modifying the calculation function associated with the distribution policy, wherein a second value obtained from computing the modified calculation function for a packet of the data flow indicates a different port among the ports participating in the link aggregation.

14. The method of claim 13 , further comprising monitoring the link utilizations of the links of the link aggregation after modifying the calculation function.

15. The method of claim 14 , further comprising stopping modifying the calculation function based on the monitored link utilizations' compliance with one or more of:

reaching an upper bound of the number of modifications; and

meeting convergence criteria; wherein the convergence criteria include one or more of:

achieving a better balance of link utilizations among links of the link aggregation compared to the detected imbalance; and

achieving compliance with the one or more imbalance criteria.

16. The method of claim 15 , further comprising applying one of:

a set of fallback settings to the distribution policy in response to reaching the upper bound; and

a set of corrective settings to the distribution policy in response to meeting the convergence criteria.

17. The method of claim 13 , wherein the imbalance criteria include one or more of:

a number of links in the link aggregation having higher utilization than a high threshold; and

a number of links in the link aggregation having lower utilization than a low threshold.

18. The method of claim 13 , wherein the calculation function associated with the distribution policy includes one or more of:

a hash function, wherein input of the hash function includes one or more fields of a packet; and

a modulo function generating an index for a hash distribution table, wherein input of the modulo function includes output of the hash function, and wherein a respective slot in the hash distribution table is associated with a link of the link aggregation.

19. The method of claim 13 , wherein the modification to the calculation function includes one or more of:

swapping adjacent bits of an input of the calculation function;

changing flavor of the calculation function by selecting one or more different fields of a packet as an input of the calculation function; and

changing flavor of the calculation function by using a different calculation function.

20. The method of claim 13 , wherein the link utilization of a link in the link aggregation is based on a weighted average of a measured link utilization and historical link utilization of the link.

21. The method of claim 13 , further comprising:

operating a first port of the plurality of ports of the switch in conjunction with a second port of a remote switch to form a virtual link aggregation, wherein the virtual link aggregation operates as a single logical channel, and wherein the virtual link aggregation couples the switch and the remote switch to an end device; and

detecting an imbalance of respective overall utilizations of links of the virtual link aggregation between the switch and the remote switch based on one or more imbalance criteria.

22. The method of claim 21 , further comprising:

identifying the switch as a designated switch for the virtual link aggregation; and

in response to identifying the switch as the designated switch, generating an instruction for an ingress switch of the packet to apply one or more corrective actions to a path selection policy for the virtual link aggregation, wherein the path selection policy indicates an egress switch for the packet between the switch and the remote switch.

23. The method of claim 22 , further comprising:

obtaining link utilizations of the links of the virtual link aggregation monitored by the remote switch from a query response message from the remote switch, wherein the corrective actions have been applied to the path selection policy; and

determining whether to stop applying the corrective actions to the path selection policy based on local monitored link utilizations and link utilizations monitored by the remote switch.

24. The method of claim 13 , wherein the switch is a member of a network of interconnected switches, wherein the network of interconnected switches is controlled as a single logical switch.

25. A system, comprising:

one or more ports;

a processor;

a memory storing instructions that when executed by the processor cause the system to perform a method, the method comprising:

operating at least two ports of ports of the system to form a link aggregation, wherein the link aggregation operates as a single logical channel;

determining an egress port among the ports

participating in the link aggregation for a packet of a data flow based on a calculation function associated with a distribution policy, wherein a first value obtained from computing the calculation function for the packet indicates the egress port;

in response to detecting an imbalance of respective link utilizations among links of the link aggregation, modifying the calculation function associated with the distribution policy, wherein a second value obtained from computing the modified calculation function for a packet of the data flow indicates a different port among the ports participating in the link aggregation.

26. The system of claim 25 , wherein the method further comprises monitoring the link utilizations of the links of the link aggregation after modifying the calculation function.

27. The system of claim 25 , wherein the method further comprises:

operating a first port of the plurality of ports of the system in conjunction with a second port of a remote system to form a virtual link aggregation, wherein the virtual link aggregation operates as a single logical channel, and wherein the virtual link aggregation couples the switch and the remote switch to an end device; and

detecting an imbalance of respective overall utilizations of links of the virtual link aggregation between the system and the remote system based on one or more imbalance criteria.

28. The system of claim 27 , further comprising:

identifying the system as a designated system for the virtual link aggregation; and

in response to identifying the system as a designated system, generating an instruction for an ingress switch of the packet to apply one or more corrective actions to a path selection policy for the virtual link aggregation, wherein the path selection policy indicates an egress system for the packet between the system and the remote system.

29. A switch means, comprising:

a plurality of port means;

a link management means for operating at least two port means of the plurality of port means of the switch means to form a link aggregation, wherein the link aggregation operates as a single logical channel;

a forwarding means for determining an egress port means among the port means participating in the link aggregation for a packet of a data flow based on a calculation function associated with a distribution policy, wherein a first value obtained from computing the calculation function for the packet indicates the egress port means; and

a link adaptation means for:

in response to detecting an imbalance of respective link utilizations among links of the link aggregation, modifying the calculation function associated with the distribution policy, wherein a second value obtained from computing the modified calculation function for a packet of the data flow indicates a different port means among the port means participating in the link aggregation.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2014
From: VENKATESH, VARDARAJAN; VENKATA, GANESH D.
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 032462/0869 →
Continuity (2)
Provisional Application 61752856 · Jan 15, 2013
Related Publication 20140198656A1 · Jul 17, 2014