Load balancing among multiple transmission paths is a common technique to spread load and achieve higher overall throughput and network utilization.
When multiple transmission links are available, there is an incentive to use them all. This results in higher throughput for the particular traffic flow, since two or more pieces of capacity are utilized instead of one.
However, it is often not known how to spread the load among multiple transmission paths in order to fully utilize the opportunities of load balancing.
Basic load balancing can improve a total throughput over a network. In transport networks, for instance, there are various ways to achieve multiple transmission paths towards the same destination. The most simple and common way is to use multiple parallel links between two switching nodes. Multiple parallel links increase the overall capacity and also provide protection against the loss of any one of the links. One example is a link aggregation group (LAG).
A more sophisticated way is an equal-cost multipath (ECMP) strategy, where alternative paths can have a length of multiple hops. Another way is to explicitly set-up alternative paths.
Current deployments of load balancing are very simple. Even if ECMP is enabled, the control plane of current deployments provides no hints on how to distribute data traffic. Today's LAG examples are also typically statically configured, if they do load balancing at all.
There are, however, schemes which distribute load in an adaptive way. These rely on either binary congestion feedback or a feedback related to link utilization along the various paths. In the case of congested links, the quality of experience (QoE) will differ from one link to another, if the number of users differs from one link to another. Also, user differentiation would not be possible.
There is hence a need to provide an alternative load balancing among multiple paths with an improved performance when the multiple paths are congested.