Methods for distributing software-determined global load information
AssigneeHewlett Packard Enterprise Development LP
InventorsDuncan Roweth, Joseph G. Kopnick, Andrew S. Kopser, Edwin Froese
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for performing routing in a switch network or fabric. Switches can be configured in a hierarchical topology having a plurality of groups, where switches in a group are connected to one another, and groups are connected to other groups. Routing can be performed by maintaining per-group group load information. A packet can be routed between at least two groups using the per-group group load information to effect a set of routing decisions. The set of routing decisions can be biased towards or away one or more paths.
Claims21
1-20. (canceled)
A method comprising:
- receiving an indication of a network comprising a plurality of groups of switches, wherein each switch of the plurality of groups of switches comprises a plurality of ports;
- receiving an indication to route a packet from a source group of switches to a destination group of switches;
- identifying a plurality of candidate ports in one or more intermediate groups of switches;
- evaluating each of the plurality of candidate ports based upon determining a global non-minimal global port load for each of the plurality of candidate ports, wherein the global non-minimal global port load for a respective candidate port is based upon a local load on the respective candidate port and a group load associated with the respective candidate port;
- and
- routing the packet to a candidate port of the plurality of candidate ports based upon the global non-minimal global port load for each of the plurality of candidate ports.
A switch comprising:
- an output port;
- and
- logic or circuitry comprising a fabric routing function, wherein the fabric routing function is configured to:
- receive an indication to route a packet to a destination switch in a destination group of switches, wherein a network comprises the switch and the destination switch, and wherein the network comprises a plurality of groups of switches;
- identify a plurality of candidate ports in one or more intermediate groups of switches of the plurality of groups of switches;
- evaluate each of the plurality of candidate ports based upon determining a global non-minimal global port load for each of the plurality of candidate ports, wherein the global non-minimal global port load for a respective candidate port is based upon a local load on the respective candidate port and a group load associated with the respective candidate port;
- and
- transmit, via the output port, the packet to a candidate port of the plurality of candidate ports based upon the global non-minimal global port loads for each of the plurality of candidate ports.
A non-transitory, computer-readable medium, comprising computer-readable instructions that, when executed by one or more processors of one or more computers, cause the one or more computers to:
- receive an indication to route a packet from a source switch in a source group of switches to a destination switch in a destination group of switches, wherein a network comprises the source switch and the destination switch, and wherein the network comprises a plurality of groups of switches;
- identify a plurality of candidate ports in one or more intermediate groups of switches of the plurality of groups of switches;
- evaluate each of the plurality of candidate ports based upon determining a global non-minimal global port load for each of the plurality of candidate ports, wherein the global non-minimal global port load for a respective candidate port is based upon a local load on the respective candidate port and a group load associated with the respective candidate port;
- and
- transmit the packet to a candidate port of the plurality of candidate ports based upon the global non-minimal global port loads for each of the plurality of candidate ports.
Dependencies are inferred from the claim text.