US 7,463,588 B1
Mechanism for enabling load balancing to be achieved in a loop-free switching path, reverse path learning network
Bert H. Tanaka, Saratoga, Calif. (US); Daniel J. Maltbie, Santa Cruz, Calif. (US); and Joseph R. Mihelich, Fremont, Calif. (US)
Assigned to Woven Systems, Inc., Sunnyvale, Calif. (US)
Filed on Feb. 10, 2005, as Appl. No. 11/56,436.
Claims priority of provisional application 60/545788, filed on Feb. 18, 2004.
Int. Cl. H04L 12/28 (2006.01); H04L 12/66 (2006.01)
U.S. Cl. 370—238  [370/351; 370/352; 370/356] 47 Claims
OG exemplary drawing
 
1. In a system comprising a network, a destination node coupled to the network, a source node, and a network interface for interfacing the source node with the network, wherein the network is a loop-free, reverse-path-learning network, and wherein the network is divided into a plurality of virtual networks, a method performed by the network interface, comprising:
acquiring from the source node a set of information that is destined for the destination node, wherein the set of information specifies an address for the destination node or comprises information from which the address can be derived;
determining a set of virtual networks that can be used to transport the set of information from the source node to the destination node, wherein the set of virtual networks comprises multiple virtual networks and is at least a subset of the plurality of virtual networks, and wherein each virtual network in the set of virtual networks provides a different path through the network from the source node to the destination node such that there are multiple selectable paths from the source node to the destination node;
selecting, after the address of the destination node is specified or derived, a particular virtual network from the set of virtual networks, thereby, effectively selecting a particular path from the source node to the destination node;
updating the set of information to include information indicating the particular virtual network that has been selected to derive an updated set of information; and
sending the updated set of information into the network to allow the network to transport the updated set of information to the destination node along the particular path;
wherein the source node executes an operating system, wherein the network interface selects the particular virtual network without any participation from the operating system, and wherein the operating system is unaware of the set of virtual networks.