Patent attributes
A mechanism is disclosed for enabling load balancing to be achieved in a network. In one implementation, load balancing is implemented on a “per flow” basis. At the time that a new flow starts, a path is selected. Packets associated with the flow are thereafter sent along that particular path. As the packets associated with the flow are forwarded along the particular path, a congestion metric is determined for the particular path as well as for a set of one or more other paths. Based at least partially upon the congestion metrics, a determination is made as to whether the flow should be moved. If so, then the flow is moved to an alternate path. By determining the congestion metrics for the multiple paths, and by moving the flow in response, it is possible to adapt to changing traffic conditions to keep the loads on the paths relatively balanced.