Load balancing in a network comprising communication paths having different bandwidths
AssigneeBrocade Communications Systems, Inc.
InventorsEzio Valdevit, Vineet Abraham
Life of this patent
Estimating the term…
Abstract
A network comprises a plurality of interconnected switches. At least one pair of switches is interconnected by a trunk formed from a plurality of individual links. A cost value is assigned to the trunk that is equal to the cost of one of the trunk's individual links. As such, a trunk is considered the same as an individual link when shortest path calculations are made. When multiple paths are computed as having the same lowest cost, the system balances load traffic between such lowest cost paths in a way that takes advantage of the higher bandwidth capabilities of trunks.
Claims18
A method of load balancing in a network comprising a plurality of switches coupled together by individual links and trunks comprising individual links, the method including:
- (a) assigning a cost value to each link in the network based on a system criteria;
- (b) assigning to each trunk a cost value that is equal to the cost value of the links comprising the trunk;
- (c) computing the total cost of each path through the network between a pair of switches;
- (d) from a plurality of paths, determining multiple paths having a total cost that is lower than the total cost of all other paths;
- and
- (e) balancing traffic load among said multiple lowest cost paths.
A load balancing method implemented in a network switch having a plurality of source ports and destination ports, comprising:
- (a) forming a trunk from a plurality of destination ports, said trunk having a cost equal to the cost of the destination ports forming the trunk;
- (b) determining the bandwidth allocation of the destination ports and the trunk included in lowest cost paths for said source ports;
- and
- (c) balancing the source ports among the destination ports and trunks comprising the lowest cost paths for said source ports based on the relative bandwidth allocations of the destination ports and trunks.
A network, comprising:
- a plurality of switches each including a CPU and coupled together via communication links forming paths, each link having a bandwidth;
- at least one pair of switches in said network interconnected by a trunk formed from a plurality of links, said trunk having a bandwidth that is greater than the bandwidth of the links forming the trunk;
- wherein each of said links in said network is assigned a cost value based on its bandwidth;
- wherein the trunk is also assigned a cost value that is equal to the cost value associated with one of the links forming the trunk;
- and
- wherein the CPU in each switch computes the total cost of each path between a pair of switches, the total cost of a path being the sum of the costs of the path's links and trunk, if the trunk exists in the path;
- and
- wherein the CPU in each switch also identifies the lowest cost paths and balances traffic among said lowest cost paths and assigning more traffic to a path that contains a trunk relative to other paths that do not contain a trunk.
A switch usable in a network, comprising:
- a CPU;
- memory coupled to said CPU, said memory containing firmware executable by said CPU;
- a plurality of source ports;
- a plurality of destination ports wherein each destination port is for connection to a communication link and at least two destination ports can be logically combined together to form a trunk;
- wherein each communication link has a bandwidth and a cost based on said bandwidth and wherein the trunk has a cost equal to the cost associated with one of the links forming the trunk;
- and
- wherein said CPU assigns source ports to destination ports based on (1) the bandwidth associated with the links connected to the destination ports, (2) the bandwidth of the trunk and (3) bandwidth allocation of the destination ports.
A method of load balancing in a network comprising a plurality of switches coupled together by inter-switch links (ISLs) some ISLs having a higher bandwidth than other ISLs, the method including:
- (a) between a pair of switches having a first and a second ISL interconnecting said pair, the first ISL having a higher bandwidth than the second ISL, assigning the same cost value to said first and second ISLs interconnecting said pair of switches;
- (b) computing the total cost of various paths through the network;
- (c) from a plurality of paths, determining multiple paths having a total cost that is lower than the total cost of other paths;
- and
- (d) balancing traffic load among said multiple lowest cost paths using the bandwidth.
A switch usable in a network, comprising:
- a CPU;
- memory coupled to said CPU, said memory containing firmware executable by said CPU;
- a plurality of source ports;
- and
- a plurality of destination ports wherein each destination port is for connection to a communication link and some destination ports have a higher bandwidth than other destination ports and all destination ports are assigned a cost;
- wherein the same cost is assigned to at least two destination ports having different bandwidths;
- and
- wherein said CPU assigns source ports to destination ports based on (1) the bandwidth associated with the links connected to the destination ports and (2) the bandwidth allocation of the destination ports.
Dependencies are inferred from the claim text.