You are on page 1of 10

2015 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery

k -Maximally Disjoint Path Routing Algorithms for


SDN
John Olorunfemi Abe Haci Ali Mantar Aysegul Gencata Yayimli
Istanbul Technical University Gebze Technical University Istanbul Technical University
Department of Computer Engineering Department of Computer Engineering Department of Computer Engineering
Maslak, Istanbul, Turkey Gebze, Kocaeli, Turkey Maslak, Istanbul, Turkey
joabe@itu.edu.tr hamantar@gyte.edu.tr gencata@itu.edu.tr

Abstract—The problem of path optimization and k disjoint e-business applications and mobile application have the need
pairs are important in survivable, QoS-aware communication of high Quality of Service (QoS) systems of operation [13],
network and SDN controlled networks. While the problem of [14], [29]. For traffic-aware networks and system, there exists
optimally solving for maximally link-disjoint path pairs have
always received a good level of attention, more work is needed more work that needs to be made for link-disjoint paths so
with respect to k-maximally disjoint, multi-constrained, multi- as to achieve high reduction in admission control time and
ple QoS link weights route provisioning, and efficient hybrid multipath failures or errors, not just at the node or core routers
algorithms for the problem. We propose a model algorithm to or core equipment but, also along the computed paths [3], [6],
find k-maximally link-disjoint paths with Cost (kMDPC) for QoS [11].
routing with respect to source and destination pairs that ensures
reliability, flexibility, and survivability. The computational com- One of the missing links in existing multipath routing
plexity of our algorithm is efficient with the use of a modified algorithms is the lack of consideration of k number of paths
Dijkstra’s algorithm. The maximum k numbers of paths are
maximally disjoint paths for survivability, robustness and also
that has specific levels of disjointness. The level of disjointness
at the long run to satisfy a multiple set of defined QoS weight and stretch are considered in this work so as to use it for
value constraints. The multiple QoS constraints addressed by the load balancing advantage. Load equalization or balancing in
heuristic algorithm are of the delay, delay-jitter, bandwidth, link a densely populated network may be achieved by distribut-
length and link cost parameter. In polynomial time, kMDPC ing the traffic between a given source node and destination
finds very high number of average maximally disjoint paths.
The path diversity through the paths disjointness capabilities for
across multiple disjoint ways. This load equalization reduces
the SDN data-plane, provided by kMDPC will also help in the congestion within the network and additionally reduces the
switch load-balancing, Controller load-balancing and multiple likelihood of packet loss which effectively reduces the energy
flow tables management by the SDN since the provisioned paths consumption of the network system [13], [15]. With the advent
are with the required QoS. of programmable control planes through the SDN-Controller
Index Terms—QoS Routing, link Disjoint Paths, Reliable
Routing, SDN, Constraint-Based Routing (SDNC) enabled with the bandwidth brokering service we
can now have user-aware programmable paths.These paths
I. I NTRODUCTION can be used for user-centric application or flows and be pre-
established multipath paths (PMP) used by the SDNC to
In the past two decades we now have high increase in
perform admission control of flows as well as routing [32].
mobility-enabled devices, the Internet-of-Things (IoT) enabled
Hybrid routing is envisioned in SDN and this constitutes a
systems, communication and telecommunication networks.
combination of static and dynamic routing [23]. KMDP with
This increase has brought out the need for high-level manage-
QoS costs (KMDPC) like delay, bandwidth that are ordered
ment of backbone and core nodes with respect to user-centric
with respect to disjointness and stretch will help with the
and programmable paths [26]. The management is needed
load balancing system of the core network. The KMDPC
not just in the control hardware oriented fashion, but now in
will enable multiple paths provisioning for flows that could
the software oriented mode. The need, also include multipath
be split and thereby used existing paths that are of low
routing that provides application-aware system, load balancing
utilization [26]. The highly needed QoS is not only in the
and better traffic engineering [26], [23]. The Software-Defined
hardware controlled system, but, also in the SDN controlled
Networking (SDN) paradigm is enabling a software-oriented
systems and management as in [30] where the SDNC has a
control of core networks and can centralize path routing. As
topology abstraction of the WAN. These scenarios show the
traffic pattern changes dynamic provisioning of paths could
advantages of SDN with respect to high QoS, but there is
be done with cached path in the brokering system for SDN.
a high need of path and flow management. This is achieved
The high volume of Internet users, increase in traffic oriented
through the provision of k-maximally disjoint paths for flows
system and users with high mobility has enabled bandwidth
so as to effectively optimize network resources utilization to
hungry applications that give rise to the need of software
the advantages of admission control, traffic classification and
defined networking (SDN). For a new technology system like
load balancing [26], [29], [37]
SDN, there is also the new mode of SDN-OpenFlow Traffic
management and control, especially in the system of routing Basically, maximum k-number of maximally disjoint paths
of flows from the SDN controller or controllers. Also, it is to of link will increase reliable delivery of data; offer resilience
be noted that a good number of IoT applications, emerging to failure; scale back congestion within the network; provides

978-1-4673-9200-6/15 $31.00 © 2015 IEEE 499


DOI 10.1109/CyberC.2015.45
scalability of packet arrival and helps in load equalization as a constraint to also obtain k ≥ 1 using the Lagrange-
in emerging networks that provide traffic for high data rate. relaxation approximate solution. This is done by converting
Reliable delivery of data network packets or flows or streams the two constraints to one using weighted function. Our work
of packets may be achieved by sending the concerned data consider maximally disjoints paths and the heuristics can be
between a given source node and destination node on the used for more than two constraints of a Network.
multiple disjoint paths of links. As concerned with our work [34] present an approximate algorithm to minimize the
and in general, Constraint Based Routing (CBR) paths are number of paths so as to distribute flows in a network such
selected based on the QoS weight value (or also known as as MPLS or Open-Flow. The minimization of the number of
link weight) of the needed flow for the respective SDN. Pre- paths used to effectively feed a source-destination pair also
computed or cached path routing based systems are very much maintains low delay and endeavour to avoid bottleneck in the
favourable since it possesses a high response time [13], [16]. network. Our work differs in that we seek an effective load
The high processing and storage overhead that occurs are to balancing algorithm that is also scalable in the Open-Flow
be processed by the SDNC. system. We are also considering MPLS based or Open-Flow
Concisely, we make the following contributions: or SDNC network in our work. Our work produces paths in
• This work is to find a multipath solution to achieve the order of disjointness and Stretch so that a minimal amount
improvement of QoS with k-maximally disjoint paths could be selected by the SDNC. The algorithm by Bhandari
(KMDPC) of source to destination in SDN controlled et al. in [4]–[6] present an approach on how to compute the
communication networks (CN) as proposed needed in shortest link-disjoint route between pairs. The algorithm finds
[37]. Our work could give pre-computed, proactive rout- out a shortest combination of two disjoint paths. The algorithm
ing that is also called PMP or path caching approaches involves a set of two runs of a shortest path algorithm like
to centrally controlled network or SDNC routing. modified Dijkstra or the BFS algorithm. Then, the algorithm
K
• The algorithms proposed is of the scale of O(2 (mi )) ∗ uses a graph transformation on the primary shortest path
(Elog((n) + nm)) + O(log(2K (mi ))) + O(2K (mi ))) to form disjointness. In the model, Dijkstra’s algorithm is
order. applied solely to non-negative graphs with no cycles. The
• We have a set of kMDPC that are ordered in their level graph transformation need to be done so that the resultant
of disjointness and stretch for the choice of SDNC for graph becomes a graph with negative weights, however, with
several or specific user-centric routing of flows. no cycles.
Generally, in link or node disjoint research works, graph
The main disadvantage of this method with respect to transformation that is done varies with respect to whether
dynamic, real time traffic or route change is mitigated by or not link disjoint or node disjoint methods are required
providing a high number of k-maximally disjoint paths for [26], [27], [31]. Mostly, the transformation is to attain link
a respective source destination pair of nodes to SDNC which disjointness in the graph which includes replacement of every
can be used for dynamic provisioning as required. arc of the shortest path by one arc directed towards the source
The structure of this paper is as follows. An overview of node vertex and by creating the length of every arcs higher
related work is given in Section II. Our formal model and than other negative arcs. Also, to attain node disjoint methods,
methodology are defined in Section III. In Section IV we the graph transformation includes splitting of vertices on the
develop a heuristic approach for multi-constrained problem primary shortest path.
of the work and provide proposed algorithms for detecting k- In [4], Suurballe’s algorithm does construction of k = 2 so-
maximally disjoint paths with the use of partial order sets and lutions of minimum cost link-disjoint paths using the shortest
dominance characteristics. Furthermore, we discuss network path approach with an augmentation of path on the second run
augmentation to make the network more resilient against of the algorithm. The major difference between [4] and [7] is
load balancing and survivability issues. Also, we discuss the the presentation of a new algorithm based on [4] in [7] that
complexity of the proposed algorithms in the worst case did an implicit implementation of finding the two link-disjoint
scenario. We also give the simulation test and result in Section paths for a given graph. It has an improvement in that a single
V and the Concluding remarks are given in Section VI. run of Dijkstra’s algorithm will produce the two pair of link-
disjoint paths. The basic distinction between the Suurballe’s
II. R ELATED WORKS
algorithm and Bhandari’s algorithms is with respect to the
The work in [31] proposed a multipath routing using frac- transformation of the graph. Suurballe work performs a graph
tional Brownian motion (fBm) to model the traffic so as to transformation that ensures that any graph has a resultant graph
get a reduced average delay in the network. The work only that is with non-negative edges so that Dijkstra algorithm
considered self-similar traffic which are not necessarily what is applied over the resultant graph to compute the shortest
is experienced in the core network especially with SDN. Path pairs of paths. Bhandari’s graph transformation results in a
and routers are selected based on a N-selection game in the negative graph, however, with no cycles. As a result of this
work. The work in [25] provides proactive failure recovery Bhandari uses a modified Dijkstra algorithm over the resultant
scheme to provide maximally disjoint paths but without using transformed graph to produce computation for the shortest
the primary path for a source- destination pair. The scheme pairs of paths. Also, reference [22], describes the Maximally
is based upon the work on fast recovery with respect to Disjoint Shortest and Widest Paths (MADSWIP) algorithm.
disjoint pairs using Multiple Routing Configurations(MRC). They present a complete description, along with a proof of
The work did not consider maximally disjoint paths also. In correctness and the theory behind MADSWIP. The MADSWIP
a method proposed in [35], we have reliability and delay algorithm efficiently computes pairs of maximally disjoint

500
paths from a source node to all destination nodes, such that the
pair to each destination has either minimum cost or maximum
bandwidth.
With the level of work done on link-disjoint paths for QoS
routing or management there exists a number of solutions that
address a part of the problem that exists in the formation
for different types of network. In reference [1], Guo et al.
present the extension of the link-disjoint version of Bhandari’s
Algorithm (BMDA) by applying some multiple constraint
shortest paths routing algorithm based on the concept of non- Fig. 1: Reversed path with negative magnitude of QoS scaled
linear path length, k-shortest path routing and non-dominance. parameter on the Path P1 = ADF EZ and forward edge on
The work improved on MLBA by proposing a heuristic each path with added β (in the figures a = β ) as a penalty
algorithm DIMCRA for the multiple constraint link-disjoint parameter
path pair. But DIMCRA’s solution could not give optimal
solutions, especially with respect to maximally disjointness.
The references [4], [7] shows the construction of link-disjoint as in line with most of the research work. But it should be
paths for k = 2 using augmentation of graph G since we could noted that when two commodities or constraints is added to
view the problem as a minimum cost flow in a network. the network the solutions becomes NP-Complete and we will
In [9] the algorithm finds the maximum number of k-link- tend to use heuristic algorithms and methods. The bandwidths
disjoint path with minimum total length between two nodes to be considered at the two levels of constraints will be
in a multi-graph. The maximal number of these paths was that of a residual bandwidths. The residual bandwidth is the
determined through the use of the Max-flow Min-cut or Ford- bandwidth that is available on the link for the proposed piece
Fulkerson theorem. The edges used in the algorithm are of of maximally link-disjoint path for a source destination pair
unit arc length and unit arc capacity. A graph transformation at the time of request. Also link delay-jitter could be used for
is done with respect to the directed multi-graph and then, the QoS weight value considerations.
Suurballe’s algorithm is run on the new transformed simple
graph. Reference [11] works on the process of mapping A. Assumptions
and creation of Shared Protection of the Largest Individual Some of the basic assumptions in our work is that the
Traversed link (SPLIT) for the survivability in mesh networks network is of a graph G that is of non-negative QoS constraints
by the differential-delay constraint (DDC) and multi-path or link weights. We also assume a multi-digraph network with
provisioning algorithm; the algorithm was also compared with respect to some of our scenarios and unidirectional graph
k-shortest link-disjoint paths (KDP). networks that do not change very dynamically over a span
of time. We assume that the change in QoS weight value for
III. T HE MODEL AND M ETHODOLOGY
each link of a path is stable for an instance of time that a
We start with the presentations of critical assumptions and flow request will be serviced by the SDN system. Although
then the problem and models involves in solving for k- we have constraints that have characteristics of multiplicative,
maximally disjoint paths. One of the main issues in SDN additive and concave functions; we assume at an instance of
controlled system is that paths formation or pre-establishment time that our calculations of QoS characteristic metrics are
is to have a condition whereby computed maximally disjoint additive as the case may be, otherwise it will be strictly stated
pairs of paths from source to destinations does not have a set and considered as in [1], [12]. The network model assumes
of links with low resource availability. It could be in a very that traffic with an average of inter-arrival time with Poisson
low probability of occurrence, but it is desired to be low and characteristic is flowing into the network. Statistically from
manageable to a good extent. For example, a pair of disjoint the past, we also assume that the SDNC, knows the average
paths between a given source node and destination node offer size of its traffic (both real-time and non-real-time traffic).
resilience to failure by considering the first available path as
primary path and therefore the second path as restoration path B. Network Model
and other k2 paths for load balancing. In the event of a failure, The model that is used is that of a modified Dijkstra
multipath routing algorithms could offer not just method for algorithm, but with opportunity for negative edge [6], [15].
survivability, but also for energy savings. Also, the negative reversed link or QoS weight that is used in
Disjoint paths could either be link-disjoint or node-disjoint. graph transformation after a first run of the Algorithm 1 is to
In some basic sense, a path of links is link-disjoint if there exist help in energy or load balancing in the other direction of the
no common links in between them and also a pairs of paths concerned link. The new "forward edge" of the transformed
of links is node-disjoint if there exists no common nodes in graph also is to discourage the use of that link in the used
the pairs. In the research works on a set of node-disjoint paths direction or provisioned link. As in Fig. 2, the "forward
there seems to be a lag on the works for link-disjoint paths to edge" here is the edge AD towards the "destination" while
a good level of analysis hence part of the need for this work of the reversed edge is DA towards the "source" after finding
k-maximally disjoint paths for energy management reduction path ADFEZ.
or traffic-aware network [8]. As we run the algorithm on unidirectional links of the same
Our first set of analysis is based on a one-commodity or graph as an example, there will be changes with respect to
constraint-based graph network, which is basically link cost forward edges becoming an infinity QoS weight value. The

501
Parameters
Pn Number of paths available for the SDNC at an
instance
Sr All resources(bandwidth,network state, etc.) for
path formation for a Request or Demand
Ri Flow or demand request for paths
BM DA Bhandari Modified Dijkstra Algorithm [6]
Cf QoS Cost function value that is the minimum
needed for the request or demand
γ multiplicative factor serving as a penalty so that
request for path formation along the applied link
is discouraged. [6] suggest γ = 4. This value
Fig. 2: An unidirectional example graph. No forward edge or is assumed to be for additive QoS parameters
reversed edge on this case (a = β ) and when otherwise (multiplicative or concave) we
convert the QoS to additive function as in [36]
Qi QoS value or parameter
G an weighted graph denoting the network.

infinity value is to discourages the algorithms not to use β additive parameter where β = γ Qi
that edge for subsequent flow since a flow has been served G weighted auxiliary transformed graph from G with
path Pi reversed and negative QoS parameters.
on it. For bidirectional links, we will also use a multiplier New forward path QoS as Qi + β
constant value of γ = 1, 2, 3, 4 for the calculation of β the −Qi a reversed path with negative QoS value
QoS additive-discouraged cost parameter for forward edges. mi QoS cost or link weight value of path in the set i.
With two QoS path, we pick the first set as i = 1
We could also use the values of QoS weight values of Qi at and second set as i = 2
each run of KMDPC Algorithm 1. Basically, the QoS additive Pi a general set of paths containing shortest edge-
discouraged-cost or penalty is to enforce the usage of other disjoint paths from s to d using BMDA .
Pir Request-set containing k-shortest edge-disjoint
paths so as to create a load balancing scenario and if well paths from s to d using BMDA to find shortest
modelled for traffic-aware management. Since the problem of path with needed QoS .
finding the k-maximum disjoint paths for a source destination F Vs (d) Set containing the k-MDPC from s to d using
Algorithm 2 for each si -di pairs
is NP-hard [1], [5], [8], and with just one level of constraint PiD (mi1 , mi2 ) Sets of Two-QoS arranged paths in the order of
characteristic is not solvable in polynomial time; we relax Dominance.
the solution first by not putting constraints like the minimum QSR Two-QoS(m1 , m2 ) path focal point to use to find
the level of dominance with respect to other paths
multiple weight of QoS values. Our algorithm could be used Lc The centre point to use as reference to do path dom-
with graphs that have negative weights with respect to QoS inance ordering or upper bounding with respect to
cost. other paths. In Fig. 4 example, Lc = (0, 3)
τ Stretch of path i with respect to another path j
equals. It is used to find least hop counts paths.
C. Modified Dijkstra algorithm(MDA) |P −P |
φ Disjointness ( = (1 − i |P i−k )) of path i with
i|
The main characteristic of Dijkstra algorithm that made it respect to another path k . It is used to choose
better paths for load balancing etc.
suitable for QoS routing and used in our work is that it is CfR (m1 , m2 ) upper bound QoS with respect to the demand or
used by the hop by hop protocols of Internet routing and request .
the optimal scalability advantage of the algorithm. Since large CTSDN C
otal (PT otal ) QoS cost function from history by the SDNC at
network and SDN controlled network are scalability problem- the instance with respect to all paths.
prone, then using a Modified Dijkstra algorithm helps reduce
worst case computational time of source to destination routing.
This is done on graphs of the same characteristic with routing D. MDA for k-Link disjoint path on a unidirectional network
using most times a full tree optimal paths. Generally, it takes a Considering the link disjoint modifications after the first
greedy approach computation for Dijkstra’s algorithm to find run and we have negative edges from the modified graph
the shortest path between a source destination pair or from a G, rescanning the vertex or node can update the label or
source to any other destination. QoS weight value of this vertex node of Modified Dijkstra
The main difference between the traditional Dijkstra algorithm [4], [15]. This is a slight modification of the original
algorithm and the modified Dijkstra algorithm is that in Dijkstra algorithm. This algorithm differs from the normal
the original Dijkstra, when we have a vertex with the least Dijkstra’s algorithm since it enables negative paths to be
length and it is selected, then it is said to be permanently evaluated and scan all the neighbourhood nodes of a selected
labeled. This means that the shortest length of the concerned node at a point of the run. For Fig. 2, let us run the Algorithm
node from the source node has been found and cannot 1 so as to get the k-number of maximally disjoint paths from
change. It also means that no further scanning from any source node A to destination node Z. On the unidirectional
other vertex can update the label of this vertex with respect graph, using the Algorithm 1, we have P1 = ADF EZ with
to the distance from Source node. In the Bhandari Modified QoS cost value of 5. A second run with the modified graph and
Algorithm, we have to keep already labeled node from the an additional QoS weight value of β = 180 added to first path,
source to be evaluated again if there is a negative arc in the but with no reverse of the link yields the new Path P2 = AF Z
path. This means that any set of node that has been labeled with cost value of 12. Also, Path P3 = ABDECZ with cost
permanent are also included in the updated set S. This case is value of 7 + 1 + 3 + 1 + 10 = 22.
particularly useful when there are negative arcs in the disjoint The relax characteristic of the MDA will make it to choose
path construction problem. the better QoS value since it will always do a neighbourhood
or adjacent search and not a complete greedy approach as the

502
Algorithm 1: k-maximally Disjoint Path with Cost function Algorithm 2: k-maximally Disjoint Paths (F Vs (d)) with 2 QoS
(kMDPC) Algorithm weight Cost functions (kMDPC) Algorithm
Function:KMDPC Function:kMDPC(mi );
Input: (Graph G(V, E), Request R (s,d,Cf )) Input: G(V,E), Request: R (s, d, Cf (m1 , m2 )), Algorithm 1
Output: k-MDPC Output: k-MDPC with Cf (m1 , m2 )
1 For Ri = ∅) ∧ CTSDN C
otal (PT otal ) > Cf (Pi ) then
2 Run (BMDA_Path_Pi ); 1 For Ri (mij ) = ∅) ∧ CTSDN C R
otal (PT otal ) > Cf (m1 , m2 ) then
3 Pir ← Select_Set_BMDA_Path Pi ; 2 1
Run (Algorithm 1 Pi ((2 ))); K
4 K ← 1, 2, . . . , k; 3 Pir (m1 ) ← Select_Set_Algorithm 1 Pi1 ((2K ));
5 Update (Pir ) 4 Update (Pir (m1 ))
6 while (negative_BMDA_Path_(Pi ) = true) do
5 Run (Algorithm 1 Pi2 (2K ));
7 G ← G ;
8 Run (BMDA_Path_Pi ); 6 Pir (m2 ) ← Select_Set_Algorithm 1 Pi2 (2K );
9 Update (Pir ) then 7 Update (Pir (m2 ))
10 if (Pir < k) do 8 do plot((Pir (m1 )), (Pir (m2 ))) on_Cartesian then
11 go to Step 7 9 Find PiD (mi1 , mi2 );
12 else 10 ∀ (Pir (m1 )), (Pir (m2 )) do
13 if (number_of _Pi ) < k then 11 QSR_Cf (m1 , m2 ) ← (mi1 − Lc(mi ))2
14 go to Step 23 +(mi2 − Lc(m2 ))2
15 else 12 if((mi1 ) − Lc(mi ))2 + (mi2 − Lc(m2 ))2
16 if (Pir ≥ k) then < QSR_(CfR (m1 , m2 ) ← true then
17 Accommodate (Ri );
18 Update (Sr ); 13 Update PiD (mi1 , mi2 );
19 Return k-MDPC; 14 while (PiD (mi1 , mi2 ) = ∅) then
20 end if 15 ∀PiD (mi1 , mi2 ) do
21 end if 16 Update Pir (mi1 , mi2 );
22 end if 17 if ∃ Same_Dominance_Path then
23 end if 18 Run φ disjointness_of_paths
24 end for 19 else
20 if Same_φP = ∅ ∧ F vs (d) = k then
|Pi−k |
21 Call τ = ( |P )
i|
22 else   r
Dijkstra’s Algorithm. Also the next path P4 = ADCZ with 23 if ( Pir (mi1 , mi2 ) ⊆ ∨ ∈ Pi ) then
i
Accommodate( Ri (mj ));
QoS weight cost value of 376 etc. It is of a note that the 24
25 Update Sr ;
increase in the value of the QoS weight value that is imposed 26 Output kMDPC(mi )
on the link of a discovered path could be additive even for 27 else
QoS value like probability of loss values of a link, which can 28 go to Step 2
29 else
be converted to logarithm scale, which makes it a form of an 30 end if
additive QoS value. 31 end if
Since there are no negative cycles, a suitable shortest path 32 end if
33 end while
algorithm like the modified Dijkstra algorithm or the BFS 32 end if
algorithm could be used for the construction of the disjoint 33 end for
paths. For the forward arcs, we put a near infinity cost or
length to that path. This construction of the forward path will
help to make the traversal to be impossible when disjoint paths
exists. It also helps in the determination of the maximally Qi + β but also noting the former values Qi + β with respect
disjoint paths with either least cost or length or other metrics to that particular link. Consequently, for example, the path D
of concerned when such path do not exist. now has forward Qi link cost of β − 1 . Another run of the
algorithm also gives path P3 = ABDEF Z with QoS weight
E. MDA for k-Link disjoint path on a bidirectional network cost value of 16.
graph with Example The modified graph in Fig. 1 has a forward and reversed
For the graph, in Fig. 1, let us run the Algorithm 1 so as to edge on the shortest path P1 = ADF EZ. The new forward
get the k-number of maximally disjoint path from source node edge will have Qi + β. In our example graph we use the
A to destination node Z. Since there is no negative edge for β = 4 ∗ 45 = 180 value using γ = 4.
now, it strictly behaves like the normal Dijkstra’s algorithm
IV. K-M AXIMALLY D ISJOINT PATH WITH M ULTIPLE Q O S
and gives the result of path P1 = ADF EZ as shown in line
2 to 6 of Algorithm 1. After this step we change the direction For SDN controlled networks, we need k > 2 value not just
(reverse) of Path P1 ADFEZ and change the magnitude of cost for survivability but also for load balancing. As earlier stated,
to negative as shown in Fig. 1 and in line 6 to 11 in Algorithm with the multi-constrained characteristic there is a resultant
1. We then add a forward edge now as Qi + β. NP-Complete set of problem [1], [7], [10]. The more the
If we run the BMDA again as in line 8 of Algorithm 1; number of constraints the more unsolvable in polynomial time
that is, a second run for path P2 of the Modified Dijkstra’s the algorithms becomes. The number of constraints are with
Algorithm with path P1 = ADF EZ we follow the required respect to QoS metrics weight value of more than 1-vector
steps. Therefore, we have the new Path P2 = AF DBCZ like bandwidth and link delay, where the former is a min/max
with QoS weight cost value of 14 and it is noted that the new QoS metrics and latter an additive metrics.
path has a high number of hop counts. We also reverse the This is a Multiple Constraints Maximally Link-disjoint
path P2 = AF DBCZ and add a forward edge with cost of Paths Pairs problem (MCMLPP). Reference [1] shows DIM-

503
CRA (link-disjoint multiple constraints routing algorithms)
the heuristics with additive QoS weight value so as to
form a generalized method. Using a modified version, we
propose a maximally k-link-disjoint Multi-constraints Multi-
path (MCMP) as defined in [4]. Consider a network that is
represented by a graph, G = (V, E). Each link (u, v) in E is
specified by a link weight vector with m additive QoS weights
components.

wi (u, v) ≥ 0, i = 1, . . . , m. (1) Fig. 3: An example graph with 2 QoS weight parameters, the
first sensitive QoS metric( path delay, path loss ratio) and the
Given m constraints, with upper boundary of Li ; for i =
other insensitive QoS metrics(no of hops, power dissipated per
1...m, the problem is to find a set of path P from the
source unit data/SDN flow) [19]
node s to a destination node d such that wi (P ) = (u, v)
in Pi path.
wi (u, v) ≤ Li f or i = 1, . . . , m. (2)
A path that satisfies all m constraints is referred to as a
feasible path. But in our case we have another constraint
of a strict k maximally link-disjoint path. With QoS routing
comes the responsibility to use multiple paths to fulfill not
just load balancing in the network but also management of
path formation as in SDN. Also, since path QoS weight and
analysis can follow a lexicographic orderings using the set of
partial order sets (POSET) of non-negative QoS weight value
then, we could model the precedence and dominance of link of
a path or complete paths so as to determine the characteristics
[18], [27]. Fig. 4: Dominant path characteristics, the paths nearer to the
For example, a path or link of a path Pi with QoS weights (0, 3) are dominant on others, that is, those paths could be the
characteristic ordering of (3, 4) is dominated by one of (4, 3) first set that could be used to provision SDN flow request.
[38]. This is from the theorem of the "Principle Of Well-
Ordered Induction" which says suppose that S is a well-
ordered set of paths with specific QoS weights of pairs. Then, radius formula to pick paths under a QoS region or dominance.
P (x) is true for all x ∈ S, if using Inductive Step we have : The upper boundary radius is chosen with respect to the level
For every y ∈ S, if P (x) is true for all x ∈ S with x < y, of QoS needed for a particular SDN system or network as
then P (y) is true [27], [28]. shown in line 10 to 13 of Algorithm 2. For example, [1]
A good example is for a 4-tuple QoS weight constraints, we presents an upper boundary of (10, 10); 2-tuple QoS cost for
could have a scenario like (1, 2, 3, 5) < (1, 2, 4, 3), because the their illustrations. The disjointness and stretch parameters of
entries in the first two QoS weight metrics positions of these paths with respect to the first path or pre-assigned paths are
4-tuple agree, but in the third position the entry in the first also used to choose paths that are fit in the KMDPC especially
4-tuple, 3, is less than that in the second 4 − tuple, 4. (Here when paths are of the same dominance characteristic as shown
the ordering on 4 − tuple is the lexicographic ordering that in line 17 to 20 in Algorithm 2.
comes from the usual "less than or equals" relation on the set If we have dominant set of paths that have a better perfor-
of integers.) Based on the fact that QoS enabled path are of mance level than all other paths then, we choose these sets of
Partially Ordered Sets (POSET), we use this property to set the paths called F Vs (d) = k in Algorithm 2 (kMDPC) as shown
precedence of paths or links with respect to the order of use in line 20 to 26 of Algorithm 2. From Fig. 3 , we have the
for path’s request provisioning. In multi-constrained multi-path first set of paths with respect to QoS weight metrics m1 as
routing, we could map them out in multidimensional space for P1 = ACDZ = (1, 4) + (1, 3) + (2, 3) = (4, 10) and adding
analysis as in Fig. 4 example [38]. This is used in Algorithm the "discouraging constraint" we have AC = (94, 4); CD =
2, which is the full implementation of KMDP with multi- (94, 3); DZ = (95, 3). Also,P2 = ADCZ = (8, 17); P3 =
constrained QoS cost characteristic that has an output of k AEZ = (9, 9) and P4 = ABZ = (11, 13). The "discouraging
number Link-disjoint paths to provide minimum of 2 (or mi constrained parameter β = 3 ∗ 31 = 93 where γ = 3 for m1
) QoS parameter (link Delay, latency, bandwidth, etc.). It is with respect to QoS parameter cost 1. This value is added to
a combination of BMDA and Algorithm 1 with the addition each path after each run of the algorithm to force the algorithm
of capabilities for ordering path (route) QoS with respect to to seek other path so as to achieve load-balancing.
disjointness and stretch. And now running Algorithm 2(kMDPC) with just QoS
Using the path dominance characteristic we ordered path weight metric m2 , we have P1 = AEZ = (9, 9) and we
as shown in Fig. 4 as an example. The paths that are nearer could generate other paths with just QoS metric m2 and do
to the origin (0, 3) are dominant paths. Paths cost function a plot of on the coordinates as shown in Fig.4 . From Fig.4,
or QoS weight are plotted and then we use upper boundary P1 = P2 and P4 are the 2 dominant paths from this example

504
if we need k = 2 . If we need more paths then we could use 0.8
path−No16
path−No15

P2 = ACDZ and P1 = AEZ . 0.7 path−No14


path−No13

Disjointness of path with respect to others


path−No12
0.6 path−No11
path−No10

A. Worst case complexity of Algorithm 2 (KMDPC) 0.5


path−No9

The Algorithm 2(kMDPC) which also have the Algorithm 0.4

1 embedded in it is the k-maximally Disjoint Paths F Vs (d) 0.3

with minimum of two QoS weight Cost functions (kMDPC) 0.2

Algorithm as shown in line 2 to 6 of Algorithm 2. The 0.1

algorithm uses a Fibonacci heap as the data structure for 0

the queue to store the 2K paths that need to be generated


0 2 4 6 8 10 12 14 16
Path Index

for each QoS constraints mi . In the Fibonacci heap structure Fig. 6: Disjointness of path with respect to previously found
for the usage of a priority queue, Dijkstra’s Algorithm can paths for 16 set of paths in COST239 real topology
be implemented on a graph with n nodes and E edges to
run in O(Elog(n)) time, plus the time for n ExtractMin and
m ChangeKey operations. Considering N or V and E are
4
path−No 20

stretch of path with respect to others


path−No 19

the number of nodes and of links respectively in the graph 3.5 path−No 18
path−No 17

G = (V, E) , the queue can never contain more than 2K mi


path−No 16
3
path−No 15
path−No 14

paths. 2.5

When using a Fibonacci heap to structure the queues, 2

selecting the minimum path length among 2K mi different 1.5

path lengths takes at most a calculation time of the order of 1

O(2K mi )log(n) [21]. The outermost for-loop is invoked at 0.5

most 2K mi times from each side of each link in the graph to 0


0 2 4 6 8 10 12 14 16 18 20
Path Index
create set of paths for a QoS constraint. Therefore, calculating
the required optimal paths take O(2K mi ) when there are mi Fig. 7: Stretch of paths 14,15,16,17,18,19,20 with respect to
metrics in the graph while verifying path dominance takes other paths that has been previously found for Randomly-
O(2K m) at the worst scenario. Adding or replacing a path generated topologies-140 Node Complete graph (Provisioning
length in the queue takes O(1). For graph transformation as for 20 paths)
in line 6 to 7 in Algorithm 1, the construction of auxiliary paths
or augmentation for paths in the discourage mode is with the
worst case complexity of O(nE). The total complexity of the graph to hold sets of newly discovered, temporary labelled
Algorithms 2 now becomes: routes for that node i. The first heap contains the paths that
O((2K mi ) ∗ (Elog((n) + nm))) are discovered by running the Algorithm 1 to generate 2K mi
paths.
KMDPC adds the dominance sorting with Heap operation of A second heap operation could be used to perform a
O(log(2K mi )) and the disjointness formula check with the O(log(2K mi ) Heap-down-Dominance operation using our
worst case running time of O(2K mi ) , this gives a total of: dominance calculation formula as shown in line 17 to 22 of
Algorithm 2. This will help to pick the set that is needed out
O(2K mi ) ∗ (Elog(n + nm)) + O(log(2K mi ) + O(2K mi )
of the 2K mi paths as required by the demand or request. A
queue, is maintained for each node which contains the set of
3
permanently labelled routes discovered by the algorithm, in the
path−No16
path−No15 order in which they are discovered (which will be in increasing
path−No14
2.5
QoS vector weight mi ). The general flow of the Algorithm 2
Stretch of path with respect to others

path−No13
path−No12

2
path−No11 (KMDPC) is to take the minimum vector dominant path or
path−No10
path−No9 route entry from the heap, find dominance paths or routes, if
1.5 it is incomparable with existing routes in queue and required
dominance characteristic exists, it is pushed onto the queue.
1
The "relaxed" routes from the MDA for respective neighbours
0.5 are also added to the appropriate level of the balanced tree.
If one used a single constraint (mi = 1 and k = 1), the
0
0 2 4 6 8
Path Index
10 12 14 16 complexity reduces to that of the Dijkstra algorithm. If the
boundary limit for the dominant characteristic to determine
Fig. 5: Stretch of path with respect to previously found paths the needed boundary path Li for i = 1, ..., m can be bounded
for 16 set of paths in COST239 real topology by a constant or polynomial in log(Li ), the solution remains
as a polynomial function as proved by [20].
The first heap operation is to keep the temporary routes
or paths so that we can check for maximally disjointness or V. S IMULATIONS AND E XPERIMENTAL R ESULTS
correlations of the radius of the path. This heap operation This section presents simulation results of the KMDPC
is with respect to each source node. In our proposed data Algorithm for routing solutions that produce a load balancing
structure, a balanced tree is maintained for each node in the or solution for network congestion and QoS routing. The

505
simulations are done on a computer of AMD Athlon (tm) 1

Disjointness of path with respect to others


II Dual-Core M320 x 2, 1.7 GB RAM, 32bit, with Ubuntu
0.9

0.8

14.04 − LT S. Experiments are done on random-generated 0.7

complete graphs of different nodes and with the high number 0.6

of paths for each needed path or for a request. Also we used 0.5

COST239 and NSFNET as real topology to test the algorithm 0.4

0.3

functionality and performance. As an example, for a request to 0.2


path−No 13

the SDNC for 20 paths, the test is runs for a two-QoS cost with 0.1
path−No 12
path−No 11
path−No 10

mi = 1 for 40 times and also for the QoS cost mi = 21 for 0


0
path−No 9
2 4 6 8 10 12

40 times. With a 140 -Node Complete graph that is generated Path Index

randomly, we have sets of path that dominates other paths and Fig. 9: Disjointness of path with respect to previously found
have maximal disjointness as produced by Algorithm 2. paths for 20 set of paths in 140-Node randomly generated
TABLE I: Sample 16 best paths found with respective 2-QoS Complete graph
costs, source 1-destination 13 on NSFNET topology
cost 1 cost 2 path graph networks show a level of scalability. The scalability is
1.31 8.54 [1, 0, 2, 13]
1.31 8.54 [1, 0, 2, 13] also shown in the NSFNET and COST239 real topologies. For
0.82 17.61 [1, 7, 8, 12, 13] the randomly-generated topologies, we used complete graph
1.47 20.98 [1, 7, 8, 12, 10, 11, 13] types of 200 − node, 180 − node etc. with n − nodes, we
0.65 23.68 [1, 3, 5, 10, 12, 13]
1.30 27.05 [1, 3, 5, 10, 11, 13]
have n(n − 1) edges. As we have the highest number of
261.23 2445.38 [1, 0, 2, 13] paths to be pre-established, we have a linear increase in the
261.62 2466.55 [1, 3, 5, 9, 8, 11, 10, 12, 13] computational time to pre-establish or cache that path. It is
2237.86 20955.63 [1, 7, 6, 9, 8, 11, 10, 12, 13] also the computational time with respect to the formation of
5421.47 50732.42 [1, 0, 2, 13]
47046.18 440252.93 [1, 7, 6, 9, 5, 10, 11, 13] paths. The time axis is in milliseconds. For the randomly
59195.23 554327.06 [1, 3, 5, 9, 6, 7, 8, 12, 10, 11, 13] generated complete graphs, the paths are formed in the scale
1196365.43 11202674.78 [1, 0, 2, 13] of n(n − 1) ∗ (thenumberof pathsneeded) ∗ 2. So a large
1807015.70 16909869.53 [1, 3, 5, 9, 6, 7, 8, 12, 13] pool of paths is first found and then ordered to give respective
10385380.41 97247899.28 [1, 7, 6, 9, 5, 10, 12, 13]
57512135.99 538191746.54 [1, 0, 2, 13] level of disjointness or stretch. The ordering with respect to
dominance is done in Algorithm 2, line 11 and 12 through
From Fig. 6, Fig. 12(b) the average disjointness is higher their path cost radius. For most of the graphs we found a 20
than 0.5. Also in Fig. 9 we have the disjointness of path-No-9 paths cached set which is selected out of over 40 paths that
to path-No-13 with respect to previously found paths in a 140- are ordered with respect to their dominance.
node complete graph topology. In comparison to that of Fig.
6, the average disjointness of paths found by Algorithm 2 is
200−Node
of the same characteristics. This gives a better load balancing. 6000
180−Node
160−Node
Average Computational Time (ms)

140−Node
Paths with high disjointness could also be used by the SDNC 5000

to provide resilience against failure as requested by a specific 4000

SDN flow. 3000

2000

4
path−No 13
stretch of path with respect to others

1000
path−No 12
3.5
path−No 11
path−No 10 0
0 2 4 6 8 10 12 14 16 18 20
3 path−No 9
Generated 20−paths−Path−Index for Randomly−Generated Complete Graphs
path−No 8
path−No 7
2.5
path−No 6

2
path−No 5
Fig. 10: Average Path computational Time for Randomly-
1.5
generated topologies-Complete graph (Provisioning for 20
1
paths)
0.5

0
0 2 4 6 8 10 12
The TABLE-II shows the sample paths generated by Al-
Path Index gorithm 2 for a typical type of network. This is a randomly
Fig. 8: Stretch of path with respect to previously found paths generated topology of 140 node complete graph. The source-
for 20 set of paths in 140-Node randomly generated Complete destination pair is 0-139. The result shows that paths are or-
graph dered partially in their dominance characteristics. In TABLE-
III and TABLE-I, the cost and path produced by Algorithm
2 is presented with COST239 and NSFNET real topologies
The scalability of the algorithms, especially for two QoS
respectively. The best path can be used by the SDNC to serve
cost constraints is also shown with the linearity of average
the flow requests of specific QoS constraints as proposed
computational time over the course of time when paths are to
in [37] . The Stretch characteristic of paths formed by the
be found as shown in Fig. 10, Fig. 12(a) and Fig. 11. In Fig.
Algorithm 2 in Fig. 8, Fig. 12(c) and Fig. 5 shows that at an
12(a),Fig. 11 ,Fig. 10; the trend of computational time of the
average disjointness of the path is more than 0.5. This gives a
graphs at the low node of 5 and that of 400 node complete

506
150 1 3

Stretch of path with respect to others


COST239−more−Path
path−No8
COST239 0.9
path−No7

Disjointness of path with respect to others


NSFNET
2.5 path−No6
0.8
Average Computational Time (ms)

path−No5
0.7 path−No4
100 2
path−No3
0.6
path−No2
0.5 1.5

0.4

50 1
0.3

0.2 path−No 20
path−No 19 0.5
path−No 18
0.1
path−No 17
path−No 16
0 0 0
0 5 10 15 20 25 30 0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16
Path Index for generated 32 paths Path Index
Path Index

(a) Average Path computational Time to generate 20 (b) Disjointness of path with respect to previously (c) Stretch of path with respect to previously found
path for real topologies COST239 and NSFNET found paths for 20 set of paths in 140-Node ran- paths for 16 set of paths in COST239 real topology
domly generated graph

Fig. 12: Characteristics of Algorithm 2 with respect to Average Computational time, Disjointness and Stretch

with high disjointness could be used for failure resilience while


paths with disjointness between 0.5 and 0.75 are important for
200
60−Node
40−Node
Average Computational Time (ms)

180 20−Node

160
6−Node
load balancing and multi-routing capabilities. Future works
140 will use real traffic to test the throughput and other network
120

100
parameters of popular core network graphs.
80

60 TABLE III: Sample paths found with respective 2 QoS costs,


40
source 1-destination 10 for COST239 topology
20

0
0 2 4 6 8 10 12 14 16 18 20 cost 1 cost 2 path
Generated 20−paths−Path−Index for Randomly−Generated Complete Graphs
0.69 4.49 [1, 9, 10]
0.69 4.49 [1, 9, 10]
Fig. 11: Average Path computational Time for Randomly- 1.75 7.53 [1, 0, 4, 10]
generated topologies-Complete graph (Provisioning for 20 2.13 13.28 [1, 5, 8, 10]
paths) 0.92 16.53 [1, 0, 5, 4, 10]
1.02 16.69 [1, 2, 6, 10]
1.72 17.70 [1, 2, 3, 7, 8, 10]
TABLE II: Sample paths found with respective 2 QoS costs, 0.93 24.41 [1, 3, 2, 6, 10]
source 0-destination 139, 140-Node complete graph 93.71 1046.96 [1, 5, 0, 9, 10]
93.68 1061.21 [1, 3, 0, 9, 10]
cost 1 cost 2 path 919.30 10278.46 [1, 9, 0, 3, 2, 5, 4, 10]
-0.62 0.97 [0,13,38,95,139] 919.96 10282.93 [1, 9, 4, 10]
1.22 0.31 [0,137,102,139] 11562.17 129287.14 [1, 0, 6, 2, 3, 7, 8, 10]
1.39 0.48 [0,123,80,139] 14871.91 166205.29 [1, 0, 5, 8, 6, 10]
1.41 0.47 [0,109,128,14,106,139] 150251.82 1680438.02 [1, 5, 2, 6, 10]
0.15 1.55 [0,90,11,101,1,66,37,96,43,98,19,58,54,107,139] 252783.49 2824757.96 [1, 3, 2, 7, 6, 8, 10]
-0.38 1.54 [0,45,10,88,134,74,70,124,139]
0.32 2.05 [0,86,37,123,35,62,139]
1.74 1.3 [0,100,98,139] The average computational time to get paths with respect
0.61 2.32 [0,12,56,82,11,139] to this experiments is shown in Fig. 10 and Fig. 11. This
2.31 1.46 [0,8,44,67,1,129,139] shows the level of complexity with respect to time averagely
2.21 1.7 [0,41,127,86,34,139]
2.29 1.79 [0,122,65,77,82,56,12,139] as more paths are needed or provisioned in the network. The
2.65 1.23 [0,71,133,51,80,123,37,86,127,61,139] SDN controller could use this characteristic to form a viable
0.22 2.94 [0,13,122,9,76,101,45,26,125,139] topology for the Internet ASes that is needed by research
2.76 1.16 [0,107,136,127,86,37,16,120,139] works.
2.42 1.82 [0,57,38,13,73,139]
3.16 1.65 [0,46,137,24,61,127,41,112,103,68,139]
3.23 1.67 [0,76,78,108,23,126,106,14,139] VI. C ONCLUSION
3.67 0.57 [0,70,74,134,88,10,139]
3.81 0.51 [0,35,123,48,89,117,95,38,13,139] With increase in SDN deployment with the scalability issues
especially in traffic-aware routing [37], this work proposed
the model to get pre-established or pre-computed k-maximally
load balance in a network like the SDNC-enabled Autonomous link-disjoint paths. The solution of the algorithm aims to in-
systems (ASes) with almost complete graph like this scenario crease survivability or resilience and load balancing in traffic-
a better view of management. The management is of load aware networks like SDN through the use of disjointness
balancing concerned and path like these pre-established is a and stretch parameters and their. The discouraged/penalty
good option and solution. The stretch parameters of paths parameter β or increase in cost weight value of QoS for the
could be used also as a QoS constraint with respect to the link could be done in the form of Qi , Q2i , Q4i , Q8i or in the
number of hops a path entails with respect to other paths. Paths series 2Qi , 4Qi , 8Qi etc. The unidirectional network model

507
could also be modelled to get the same set of reliable k- [15] Sheshadri, S. K., Multi-constrained node-disjoint multipath QoS routing
algorithms for status dissemination networks (Doctoral dissertation,
maximally disjoint paths. For SDN controlled networks that WASHINGTON STATE UNIVERSITY). 2004.
have a global view of the network wide scale,k-maximally [16] R. Bolla et al.,The potential impact of green technologies in next-
link disjoint paths with specific disjointness greater that 0.5 generation wireline networks: Is there room for energy saving optimiza-
tion?, IEEE Communications Magazine, vol. 49, no. 8, 2nd qtr. 2011,
could be provided by this algorithm and with specific value pp. 280-86.
of Stretch. [17] Sezer, S.; Scott-Hayward, S.; Chouhan, P.K.; Fraser, B.; Lake, D.;
Since computational cost of routing is also important to Finnegan, J.; Viljoen, N.; Miller, M.; Rao, N., Are we ready for SDN?
Implementation challenges for software-defined networks, Communi-
traffic-aware management, the algorithm is scalable enough to cations Magazine, IEEE , vol.51, no.7, pp.36,43, July 2013
address scalability prone problem network. The provisioning [18] Gelenbe, Erol. Sensible decisions based on QoS. Computational
of reliable communication k paths that are maximally disjoint management science 1.1, pp 1-14., (2003).
[19] Smith, B.R.; Thurlow, L., Practical multipath load balancing with QoS,
with scaled value of QoS constraints also proves to effectively Computing, Networking and Communications (ICNC), 2013 International
make the network to respond to both high admission control Conference on , vol., no., pp.937,943, 28-31 Jan. 2013
capabilities of core nodes like ingress and egress routers and [20] S. Chen, K. Nahrstedt, On finding multi-constrained paths, Proc.
ICC’98, Atlanta, Georgia, 1998.
survivability constraints. Future works will compare these [21] T.H. Cormen, C.E. Leiserson, R.L. Rivest, Algorithms, MIT Press,
set of examples graph and results with the energy cost and Boston, 1991.
incorporate the work in Inter-Autonomous system driven by [22] R. Ogier, B. Bellur, and N. TPaft-Plotkin. An Efficient Algorithm
for Computing Shortest and Widest Maximally Disjoint Paths. SRI
SDN. Also, a virtual plane for hybrid path provisioning could International Technical Report ITAD-161 6-TR-170, November 1998.
be considered for emerging networks. [23] Ian F. Akyildiz, Ahyoung Lee, Pu Wang, Min Luo, Wu Chou, A
roadmap for traffic engineering in SDN-OpenFlow networks, Computer
ACKNOWLEDGMENT Networks, Volume 71, 4 October 2014, Pages 1-30, ISSN 1389-1286,
http://dx.doi.org/10.1016/j.comnet.2014.06.002.
This work is funded by The Scientific and Technological [24] Y.O. Lee, A.L.N. Reddy, Disjoint multi-path routing and failure recov-
Research Council of Turkey (TUBITAK) under the "113E253" ery, in: Proc. ICC, Cape Town, South Africa, 2010.
[25] Yong Oh Lee and A.L. Narasimha Reddy. Constructing disjoint paths
project. The authors would like to thank Asst. Prof. Dr. Cicek for failure recovery and multipath routing. Computer Networks, 56(2):719
Cavdar of KTH, Sweden for some insight on disjoint path – 730, 2012.
algorithms. [26] M.E.M. Campista, M.G. Rubinstein, I.M. Moraes, L.H.M.K. Costa, and
O.C.M.B. Duarte. Challenges and research directions for the future
internetworking. Communications Surveys Tutorials, IEEE, 16(2):1050–
R EFERENCES 1079, Second 2014.
[27] Piet Van Mieghem and Fernando A. Kuipers. Concepts of exact qos
[1] Guo, Y., Kuipers, F., and Van Mieghem, P. (2003). Link-disjoint paths for routing algorithms. IEEE/ACM Trans. Netw., 12(5):851–864, October
reliable QoS routing. International Journal of Communication Systems, 2004.
16(9), 779-798. [28] Kenneth Rosen. Discrete Mathematics and Its Applications 7th edition.
[2] Pieda, Peter, and John Spicer, "Using OPNET to Evaluate Diverse McGraw-Hill, 2011.
Routing Algorithms." Tropic Networks 135. [29] N.M.M.K. Chowdhury and R. Boutaba. Network virtualization: state
[3] Li, Chung-Lun, S. Thomas McCormick, and David Simchi-Levi. "Finding of the art and research challenges. Communications Magazine, IEEE,
disjoint paths with different path-costs: Complexity and algorithms." 47(7):20–26, July 2009.
Networks 22.7 (1992): 653-667. [30] Sushant Jain, Alok Kumar, Subhasree Mandal, Joon Ong, Leon
[4] J. W. Suurballe. Disjoint paths in a network. Networks, 4(2):125–145, Poutievski, Arjun Singh, Subbaiah Venkata, Jim Wanderer, Junlan Zhou,
1974. Min Zhu, Jon Zolla, Urs Hölzle, Stephen Stuart, and Amin Vahdat.
[5] Whalen, J. S., & Kenney, J. (1990, December). Finding maximal link B4: Experience with a globally-deployed software defined wan. In
disjoint paths in a multigraph. In Global Telecommunications Con- Proceedings of the ACM SIGCOMM 2013 Conference on SIGCOMM,
ference, 1990, and Exhibition.’Communications: Connecting the Future’, SIGCOMM ’13, pages 3–14, New York, NY, USA, 2013. ACM.
GLOBECOM’90., IEEE (pp. 470-474). IEEE. [31] Donghyuk Han and Jong-Moon Chung. Self-similar traffic end-to-end
[6] Ramesh Bhandari. Survivable networks: algorithms for diverse routing. delay minimization multipath routing algorithm. Communications Letters,
Springer Science & Business Media, 1999. IEEE, 18(12):2121–2124, Dec 2014.
[7] J. W. Suurballe and R. E. Tarjan, A quick method for finding shortest [32] M.R. Celenlioglu, S.B. Goger, and H.A. Mantar. An sdn-based energy-
pairs of disjoint paths, Networks, vol. 14, pp. 325-336, 1984. aware routing model for intra-domain networks. In Software, Telecommu-
[8] Ou, C., Zang, H., Singhal, N. K., Zhu, K., Sahasrabuddhe, L. H., nications and Computer Networks (SoftCOM), 2014 22nd International
MacDonald, R. A., & Mukherjee, B. (2004). Subpath protection for Conference on, pages 61–66, Sept 2014.
scalability and fast recovery in optical WDM mesh networks. Selected [33] B.A.A. Nunes, M. Mendonca, Xuan-Nam Nguyen, K. Obraczka, and
Areas in Communications, IEEE Journal on, 22(9), 1859-1875. T. Turletti. A survey of software-defined networking: Past, present, and
[9] Whalen, J. S., & Kenney, J. (1990, December). Finding maximal link future of programmable networks. Communications Surveys Tutorials,
disjoint paths in a multigraph. In Global Telecommunications Confer- IEEE, 16(3):1617–1634, Third 2014.
ence, 1990, and Exhibition. ’Communications: Connecting the Future’, [34] T. Hartman, A. Hassidim, H. Kaplan, D. Raz, and M. Segalov. How
GLOBECOM’90., IEEE (pp. 470-474). IEEE. to split a flow? In INFOCOM, 2012 Proceedings IEEE, pages 828–836,
[10] Monti, P., Muhammad, A., Cerutti, I., Cavdar, C., Wosinska, L., Castoldi, March 2012.
P., & Tzanakaki, A. Energy-efficient lightpath provisioning in a static [35] R.C. Loh, S. Soh, and M. Lazarescu. Addressing the most reliable edge-
WDM network with dedicated path protection. In Proc. ICTON.(2011, disjoint paths with a delay constraint. Reliability, IEEE Transactions on,
June) 60(1):88–93, March 2011.
[11] Huang, Sheng, Charles U. Martel, and Biswanath Mukherjee. Survivable [36] Sheng Zhang, Zhuzhong Qian, Sanglu Lu, and Daoxu Chen. A binary
multipath provisioning with differential delay constraint in telecom mesh graph reduction algorithm for multi-constrained qos routing. In Proceed-
networks, Networking, IEEE/ACM Transactions on 19.3 (2011): 657- ings of the Second Asia-Pacific Symposium on Internetware, Internetware
669. ’10, pages 2:1–2:8, New York, NY, USA, 2010. ACM.
[12] Dahshan, Mostafa H. Maximum-Bandwidth Node-Disjoint Paths, arXiv [37] Min Luo, Yulong Zeng, Jianfei Li, and Wu Chou. An adaptive multi-
preprint arXiv:1305.0907 (2013). path computation framework for centrally controlled networks. Computer
[13] O. Younis et al, Constraint-Based Routing in the Internet: Basic Prin- Networks, 83(0):30 – 44, 2015.
ciples and Recent Research, IEEE Commun. Surveys & Tutorials, 3rd [38] J.L. Sobrinho. Algebra and algorithms for qos path computation and
qtr., 2003, pp. 2-13. hop-by-hop routing in the internet. In INFOCOM 2001. Twentieth Annual
[14] R. Bolla et al. , Energy Efficiency in the Future Internet: A Survey Joint Conference of the IEEE Computer and Communications Societies.
of Existing Approaches and Trends in Energy-Aware Fixed Network Proceedings. IEEE, volume 2, pages 727–735 vol.2, 2001.
Infrastructures, IEEE Commun. Surveys and Tutorials , vol. 13, no. 2,
2nd qtr. 2011, pp. 233-44

508

You might also like