Patent ID: 9197536
Filing Date: 2015-11-24
Classification: H04L

Abstract:
1. A method for a first switch to configure itself to forward packets to destinations specified by the packets, the method comprising the first switch performing operations of: (1) receiving, over a network, forwarding data from one or more other switches, the forwarding data comprising information on one or more paths to one or more destinations, each destination being a network node or a group of network nodes; (2) based on the forwarding data, determining one or more outgoing links for one or more minimal paths to at least a first destination which is one of the destinations, the one or more minimal paths comprising a first minimal path which passes through a second switch; (3) determining one or more outgoing links for one or more non-minimal paths to the second switch by a determining operation which requires each outgoing link for the one or more non-minimal paths to satisfy a restriction that, if such a link connects the first switch to a third switch, then any minimal path from the third switch to the second switch does not pass through the first switch, wherein the determining operation allows the third switch to be farther from the first destination than the first switch; and (4) the first switch configuring itself to alternately forward packets on the first minimal path or the one or more non-minimal paths if the packets' destinations specified by the packets comprise the first destination when the first minimal path and the one or more non-minimal paths are available for packet forwarding; after operation (4), the first switch performing operations of: receiving one or more packets each of which specifies one or more destinations comprising the first destination: and for at least one such packet, selecting an outgoing link for forwarding the packet when the first minimal path and the one or more non-minimal paths are available for forwarding the packet, wherein the outgoing link is selected either (i) from the one or more outgoing links determined for the first minimal path, or (ii) from the one or more non-minimal paths, wherein a choice between (i) and (ii) depends at least in part on an incoming link on which the packet was received by the first switch.