• No results found

Minimum interference routing algorithm

CHAPTER 2 - Routing literature review

2.1 Centralized routing algorithms

2.1.4 Minimum interference routing algorithm

Minimum Interference Routing Algorithm (MIRA) is an example of advanced routing algorithms [36]. The idea of MIRA is avoiding the routing over links that may interfere with another path requests in the future. This algorithm is proposed to define dynamic Label Switched Paths (LSPs) in Multi-Protocol Label Switched (MPLS) networks. In MPLS networks [37], the packets are assigned with labels at the ingress router of the network. These labels are used to forward the packets according to specific LSPs. Service providers can use LSPs to implement Virtual Private Networks (VPNs) or to satisfy other QoS agreements [38].

Signaling protocols like Resource Reservation Protocol (RSVP-TE) [39] and Label Distribution Protocol (LDP) [40] are used to setup the paths. In other words, the route of LSPs is explicitly defined between the ingress and egress routers with the help of these signaling protocols. With the explicit LSPs routing in MPLS networks, the service providers have an important feature to engineer how their traffic will be routed, and have the ability to improve the network utilization, by minimizing the rejection ratio of requests.

The key idea of MIRA algorithm is selecting the paths that have a little chance to interfere with future paths which are among other source and destination pairs.

The definition of interference in MIRA depends on computing the maximum flow (max-flow) value between a given ingress and egress pair. The max-flow MV (s1,

v1) value is defined as “An upper bound on the total amount of BW that can be routed between a given ingress and egress pair (s1, v1)” [41]. When the routing algorithm routes LSP with D units of BW between s1 and v1, the MV (s1, v1) value will be decreased by D value. However, the value of MV (s1, v1) may be also decreased when other LSPs are routed between other ingress and egress pairs.

So, the amount of interference for a given (s1, v1) pair is defined as the decrease of MV (s1,v1) value because of routing LSPs between some other ingress and egress pairs .The links positions in the network topology have the great effect on reducing the max-flow values between different ingress and egress pairs. The algorithm defines the links that have a high priority to decrease the max-flow values of one or more ingress and egress pairs as critical links.

Therefore, the MIRA algorithm aims to pick up the minimum interference path for a given LSP that maximizes the minimum max-flow between all other source and destination pairs. It targets to reduce the routing over critical links. Thus, the algorithm represents the criticality properties by giving the critical links small weight values. The explicit route is commuted using a modified version of Dijkstra's shortest path algorithm.

The problem of maximizing the minimum max-flow (MAX-MIN-MAX) between all source and destination pairs can be formalized as: For a given a path between a and b nodes, the objective function of MAX-MIN-MAX is

Since (sv) parameter is the weight of the ingress and egress pair which represents the relative importance of the ingress and egress pair to the network administrator.

To compute the link weight w (u, v) for every link l (u, v) E, the set of critical links Csv for the ingress and egress pair (s, v) is determined in the first, so

If all ingress and egress pairs have the same priorities, w (u, v) represents the number of ingress and egress pairs for which link is critical.

The flow residual graph theory [42] is used to determine the critical links set.

After computing the max-flow between the node s and node v, let R be the set of nodes that are reachable from the source node s and T be the set of nodes that are reachable from the destination node v. A link l (i, j) Csv if:

 Link l (i, j) is filled to capacity.

 j R and i  T.

 There no path between i and j in the flow residual graph

MIRA algorithm in the first step computes the max-flow for all possible source and destination pairs excluding the (a, b) pair. Then it computes the set of critical links Csv. Depending on the previous step, the algorithm computes the weights that will be associated to every network link. In the fourth step, all the links that do not have sufficient BW to route D units are pruned. The rest of MIRA algorithm is using Dijkstra's shortest to find the shortest path between a, b nodes.

Algorithm 2.5 MIRA algorithm.

Input:

A graph G = (V, E) and a set B of all residual link capacities.

An ingress node a and an egress node b between which a flow of D units have to be routed.

Output: A route between a and b having a capacity of D units of BW.

Algorithm:

1) Compute the maximum flow values for all(s, v)  V \ (a, b).

2) Compute the set of critical links Csv for all(s, v)  V \ (a, b).

3) Compute the weights

4) Eliminate all links which have residual BW less than D and form a reduced network.

5) Using Dijkstra’s algorithm, compute the shortest path in reduced network using w (u, v) as the weight on link l (u, v).

6) Route the demand of D units from a to b along this shortest path and update the residual capacities.

In general, MIRA is proposed for routing of BW guaranteed LSPs in MPLS networks. Also, it has the capability to include the hop-count constraints by using the Bellman-Ford algorithm instead of using Dijkstra’s algorithm. MIRA algorithm outperforms the WSP algorithm and (Minimum Hop Algorithm) MHA with respect to many performance metrics such as the rejection ratio of path requests and the successful re-routing of demands upon link failure scenario.

On the other hand, MIRA algorithm has a higher computational complexity than the shortest path algorithm. In the worst case, every node can be a source node for all other nodes. Therefore, there are |V|2max-flow calculations are required. Since

each maximum flow calculation takes O (|V||E| log (|V|2/|E|)) [42], so the worst case runtime of MIRA is O (|V|3|E| log (|V|2/|E|)).