Chapter 3. Bandwidth Management in Next Generation Networks
3.4 Distributed Bandwidth Self-Management
3.4.2 The algorithm
The proposed algorithm updates bandwidth constraints in each node at time instants kΔ, with k = 0,1,2,…, where Δ is the update interval. To explain how the proposed algorithm works, we refer to the network scenario in Fig. 3.4 and consider the router R0. It collects information from its downstreams R1 and R2 on the unreserved bandwidth values for each i-th CT and each j-th link among their directly connected downstream links. Then, R0 computes for each of its downstream links and for each CT an optimal unreserved bandwidth value : this is defined as the best value to be adopted for reaching load balancing and it corresponds to the sum of the unreserved bandwidth values received from all downstream nodes, each considered with a different weight. With reference to the example of Fig. 3.4, when computing the optimal UB for the link between R0 and R1, information from both R1 and R2 are considered but with different weights, so that the average UB received from R2 has less influence. To allow the network to quickly react to possible congestion events, the algorithm also ponders the received information according to the status of the links and queues, decreasing the weights of nodes which are experimenting either link failures or high delays. Each optimal value is then compared with the corresponding current value and with the optimal value of the previous update action to evaluate if the evolution of the network is following
Figure 3.4. The self-management network scenario
the desired trend. Based on the results of these comparisons, the new update action is defined. In particular, the algorithm takes into account the worst case, that is the that more differs from the corresponding current and previous optimal values. If the link load is evolving according to the previous update action, just the has to be modified. If the trend is opposite to the previous update action, it is necessary to change the UB of all R0 downstream links. This ensures a faster rate of convergence that is the number of update actions needed to adjust the load balancing.
Each update is driven according to the steps which are shown in Fig. 3.5 and described in the following. We refer to the nomenclature defined in Table III.
Table III . List of variables used by the algorithm
Name Description
i CT index
j Link index
N Total number of downstream links per node w Weight of optimum UBi,j in the j-th link
Bandwidth of the j-th link
Reserved bandwidth for the i-th CT in the j-th link Guard bandwidth for the j-th link
UB for the i-th CT in the j-th link
Fractionary value of UB for the i-th CT in the j-th link Mean of the UB value for the i-th CT
Optimum UB value for the i-th CT in the j-th link
Optimal approaching value for the i-th CT in the j-th link
Bj
The algorithm is composed by six steps. In the first step, each node sends requests to its downstream routers and collects the values, computed by each downstream according to the (3.1).
(3.1)
Figure 3.5. Flow chart of the proposed algorithm Start
In the second step, the optimum values are computed (see (3.3)): these values are the best values to be adopted for reaching the load balancing in the network.
(33.)
In the third step, the algorithm compares the values obtained in the previous step with the current set in each node: the biggest difference permits to individuate the CT-link pair (I,J) whose
setting has to be modified for reducing the difference from its optimal value. So, in the following steps some correction actions are performed. In particular, in the step 4, , : is compared with the results) by the quantity that is defined as in the following.
(3.4) Finally (step 6), it has to been taken into account the guard bandwidth value: every turn a is being modified, the sum of the reserved and the unreserved bandwidths on a link can go over into the guard bandwidth; in this case, all values on the link have to be reduced through normalization.
The proposed algorithm has been designed to work with all standard BC models. Specific extensions can be introduced to apply the algorithm also when non-standard models are used in the network. When using the MAM model, we verified that the proposed algorithm converges to a better solution if we impose the independence between BCs defining a maximum BC value for each CT on each link and allowing for having a portion of unreservable bandwidth for one or more CTs. Indeed, simulations of different configurations demonstrated that, if we link the variations of a BC to the others, the traffic tends to converge toward a situation when a BC dominates all the others. As to the RDM model, since this model provides for bandwidth sharing between CTs and interdependence between BCs, we defined the constraint to run the algorithm independently for each BC, starting from the BC corresponding to higher priority
)
traffic. Differently from MAM, RDM then requires M-1 update actions at each iteration, where M is the number of active CTs.