an algorithm for enumerating srlg diverse path pairs...the necessity of calculating srlg diverse...

56
An algorithm for enumerating SRLG diverse path pairs Motivation Notation Problem Algorithm Results Conclusion An algorithm for enumerating SRLG diverse path pairs T. Gomes 12 , J. Craveirinha 12 and M. Silva 1 1 Dept. of Electrical and Computers Engineering, University of Coimbra, Potugal 2 INESC Coimbra Work partially suported by POSI cooponsored by FEDER and National Funds DSTIS 2009 1 / 25

Upload: others

Post on 29-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

An algorithm for enumerating SRLG diversepath pairs

T. Gomes12, J. Craveirinha12 and M. Silva1

1Dept. of Electrical and Computers Engineering,University of Coimbra, Potugal

2INESC CoimbraWork partially suported by POSI cooponsored by FEDER and National Funds

DSTIS 2009

1 / 25

Page 2: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Plan

1 Motivation

2 Notation

3 Problem

4 Algorithm

5 Results

6 Conclusion

2 / 25

Page 3: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 1/2

Many network providers consider sufficient toimplement protection schemes which ensure theirnetwork is 100% reliable in single failure scenarios.Telecommunication networks are intrinsicallymulti-layered: a single failure at a lower level usuallycorresponds to multi-failures at an upper layer.The concept of shared risk link group (SRLG) allows anupper layer to select, for a given active path (AP), abackup path (BP) (or BPs), which avoids every SRLGthat may affect the selected AP.A SRLG diverse path set maybe defined as a set ofpaths, between an origin and a destination such that nopair of paths can be simultaneously affected by anygiven failure (or risk) in a single failure scenario.

3 / 25

Page 4: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 1/2

Many network providers consider sufficient toimplement protection schemes which ensure theirnetwork is 100% reliable in single failure scenarios.Telecommunication networks are intrinsicallymulti-layered: a single failure at a lower level usuallycorresponds to multi-failures at an upper layer.The concept of shared risk link group (SRLG) allows anupper layer to select, for a given active path (AP), abackup path (BP) (or BPs), which avoids every SRLGthat may affect the selected AP.A SRLG diverse path set maybe defined as a set ofpaths, between an origin and a destination such that nopair of paths can be simultaneously affected by anygiven failure (or risk) in a single failure scenario.

3 / 25

Page 5: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 1/2

Many network providers consider sufficient toimplement protection schemes which ensure theirnetwork is 100% reliable in single failure scenarios.Telecommunication networks are intrinsicallymulti-layered: a single failure at a lower level usuallycorresponds to multi-failures at an upper layer.The concept of shared risk link group (SRLG) allows anupper layer to select, for a given active path (AP), abackup path (BP) (or BPs), which avoids every SRLGthat may affect the selected AP.A SRLG diverse path set maybe defined as a set ofpaths, between an origin and a destination such that nopair of paths can be simultaneously affected by anygiven failure (or risk) in a single failure scenario.

3 / 25

Page 6: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 1/2

Many network providers consider sufficient toimplement protection schemes which ensure theirnetwork is 100% reliable in single failure scenarios.Telecommunication networks are intrinsicallymulti-layered: a single failure at a lower level usuallycorresponds to multi-failures at an upper layer.The concept of shared risk link group (SRLG) allows anupper layer to select, for a given active path (AP), abackup path (BP) (or BPs), which avoids every SRLGthat may affect the selected AP.A SRLG diverse path set maybe defined as a set ofpaths, between an origin and a destination such that nopair of paths can be simultaneously affected by anygiven failure (or risk) in a single failure scenario.

3 / 25

Page 7: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 2/2

To ensure global path protection against a single failureaffecting a single SRLG, a SRLG diverse path pairmust be calculated.The problem of finding a SRLG diverse path pair isNP-Complete (Hu 2003).The necessity of calculating SRLG diverse path pairsarises in optical and MPLS networks in order to satisfyService Level Agreements (SLA) regarding reliability.The possibility of enumerating, by non-decreasing cost,SRLG diverse path pairs, may allow more elaborate,and possibly more efficient, forms of SRLG diverserouting.For example, will make possible a multi-objectiverouting approach, with survivability requirements,similar to Clímaco & Pascoal (2009).

4 / 25

Page 8: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 2/2

To ensure global path protection against a single failureaffecting a single SRLG, a SRLG diverse path pairmust be calculated.The problem of finding a SRLG diverse path pair isNP-Complete (Hu 2003).The necessity of calculating SRLG diverse path pairsarises in optical and MPLS networks in order to satisfyService Level Agreements (SLA) regarding reliability.The possibility of enumerating, by non-decreasing cost,SRLG diverse path pairs, may allow more elaborate,and possibly more efficient, forms of SRLG diverserouting.For example, will make possible a multi-objectiverouting approach, with survivability requirements,similar to Clímaco & Pascoal (2009).

4 / 25

Page 9: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 2/2

To ensure global path protection against a single failureaffecting a single SRLG, a SRLG diverse path pairmust be calculated.The problem of finding a SRLG diverse path pair isNP-Complete (Hu 2003).The necessity of calculating SRLG diverse path pairsarises in optical and MPLS networks in order to satisfyService Level Agreements (SLA) regarding reliability.The possibility of enumerating, by non-decreasing cost,SRLG diverse path pairs, may allow more elaborate,and possibly more efficient, forms of SRLG diverserouting.For example, will make possible a multi-objectiverouting approach, with survivability requirements,similar to Clímaco & Pascoal (2009).

4 / 25

Page 10: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 2/2

To ensure global path protection against a single failureaffecting a single SRLG, a SRLG diverse path pairmust be calculated.The problem of finding a SRLG diverse path pair isNP-Complete (Hu 2003).The necessity of calculating SRLG diverse path pairsarises in optical and MPLS networks in order to satisfyService Level Agreements (SLA) regarding reliability.The possibility of enumerating, by non-decreasing cost,SRLG diverse path pairs, may allow more elaborate,and possibly more efficient, forms of SRLG diverserouting.For example, will make possible a multi-objectiverouting approach, with survivability requirements,similar to Clímaco & Pascoal (2009).

4 / 25

Page 11: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Motivation 2/2

To ensure global path protection against a single failureaffecting a single SRLG, a SRLG diverse path pairmust be calculated.The problem of finding a SRLG diverse path pair isNP-Complete (Hu 2003).The necessity of calculating SRLG diverse path pairsarises in optical and MPLS networks in order to satisfyService Level Agreements (SLA) regarding reliability.The possibility of enumerating, by non-decreasing cost,SRLG diverse path pairs, may allow more elaborate,and possibly more efficient, forms of SRLG diverserouting.For example, will make possible a multi-objectiverouting approach, with survivability requirements,similar to Clímaco & Pascoal (2009).

4 / 25

Page 12: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 1/3

Let G = (N,A) be a directed graph with node setN = {v1, v2, . . . , vn} and arc set A = {a1,a2, . . . ,am}(where n and m designate the number of nodes andarcs in G respectively).Let a non-negative cost function (or metric) in the arcs,be defined:

cvavb ≥ 0, (va, vb) ∈ A

The cost c(p) of a path p in G with respect to metric cis:

c(p) =∑

(va,vb)∈p

cvavb

A path p is said to be simple (or loopless) if all its nodesare different.

5 / 25

Page 13: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 1/3

Let G = (N,A) be a directed graph with node setN = {v1, v2, . . . , vn} and arc set A = {a1,a2, . . . ,am}(where n and m designate the number of nodes andarcs in G respectively).Let a non-negative cost function (or metric) in the arcs,be defined:

cvavb ≥ 0, (va, vb) ∈ A

The cost c(p) of a path p in G with respect to metric cis:

c(p) =∑

(va,vb)∈p

cvavb

A path p is said to be simple (or loopless) if all its nodesare different.

5 / 25

Page 14: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 1/3

Let G = (N,A) be a directed graph with node setN = {v1, v2, . . . , vn} and arc set A = {a1,a2, . . . ,am}(where n and m designate the number of nodes andarcs in G respectively).Let a non-negative cost function (or metric) in the arcs,be defined:

cvavb ≥ 0, (va, vb) ∈ A

The cost c(p) of a path p in G with respect to metric cis:

c(p) =∑

(va,vb)∈p

cvavb

A path p is said to be simple (or loopless) if all its nodesare different.

5 / 25

Page 15: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 1/3

Let G = (N,A) be a directed graph with node setN = {v1, v2, . . . , vn} and arc set A = {a1,a2, . . . ,am}(where n and m designate the number of nodes andarcs in G respectively).Let a non-negative cost function (or metric) in the arcs,be defined:

cvavb ≥ 0, (va, vb) ∈ A

The cost c(p) of a path p in G with respect to metric cis:

c(p) =∑

(va,vb)∈p

cvavb

A path p is said to be simple (or loopless) if all its nodesare different.

5 / 25

Page 16: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 2/3

Let path p = 〈v1,a1, v2, . . . , vi−1,ai−1, vi〉, be given asan alternate sequence of nodes and arcs from G.Let the set of nodes in p be V ∗(p) and the set of arcs inp be A∗(p). Two paths p = 〈v1,a1, v2, . . . , vi−1,ai−1, vi〉and q are arc disjoint if A∗(p) ∩ A∗(q) = ∅.Two paths p and q are disjoint if V ∗(p)∩V ∗(q) = ∅, andare internally disjoint if {v2, . . . , vi−1} ∩ V ∗(q) = ∅. Wewill say that two paths are node disjoint if they areinternally disjoint.If a directed graph is used to represent an undirectednetwork, two paths p and q are arc disjoint ifA∗(p) ∩ A∗(q) = ∅, where A∗(p) and A∗(q) is the set ofundirected arcs corresponding to the directed arcs inA∗(p) and A∗(q).

6 / 25

Page 17: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 2/3

Let path p = 〈v1,a1, v2, . . . , vi−1,ai−1, vi〉, be given asan alternate sequence of nodes and arcs from G.Let the set of nodes in p be V ∗(p) and the set of arcs inp be A∗(p). Two paths p = 〈v1,a1, v2, . . . , vi−1,ai−1, vi〉and q are arc disjoint if A∗(p) ∩ A∗(q) = ∅.Two paths p and q are disjoint if V ∗(p)∩V ∗(q) = ∅, andare internally disjoint if {v2, . . . , vi−1} ∩ V ∗(q) = ∅. Wewill say that two paths are node disjoint if they areinternally disjoint.If a directed graph is used to represent an undirectednetwork, two paths p and q are arc disjoint ifA∗(p) ∩ A∗(q) = ∅, where A∗(p) and A∗(q) is the set ofundirected arcs corresponding to the directed arcs inA∗(p) and A∗(q).

6 / 25

Page 18: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 2/3

Let path p = 〈v1,a1, v2, . . . , vi−1,ai−1, vi〉, be given asan alternate sequence of nodes and arcs from G.Let the set of nodes in p be V ∗(p) and the set of arcs inp be A∗(p). Two paths p = 〈v1,a1, v2, . . . , vi−1,ai−1, vi〉and q are arc disjoint if A∗(p) ∩ A∗(q) = ∅.Two paths p and q are disjoint if V ∗(p)∩V ∗(q) = ∅, andare internally disjoint if {v2, . . . , vi−1} ∩ V ∗(q) = ∅. Wewill say that two paths are node disjoint if they areinternally disjoint.If a directed graph is used to represent an undirectednetwork, two paths p and q are arc disjoint ifA∗(p) ∩ A∗(q) = ∅, where A∗(p) and A∗(q) is the set ofundirected arcs corresponding to the directed arcs inA∗(p) and A∗(q).

6 / 25

Page 19: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 2/3

Let path p = 〈v1,a1, v2, . . . , vi−1,ai−1, vi〉, be given asan alternate sequence of nodes and arcs from G.Let the set of nodes in p be V ∗(p) and the set of arcs inp be A∗(p). Two paths p = 〈v1,a1, v2, . . . , vi−1,ai−1, vi〉and q are arc disjoint if A∗(p) ∩ A∗(q) = ∅.Two paths p and q are disjoint if V ∗(p)∩V ∗(q) = ∅, andare internally disjoint if {v2, . . . , vi−1} ∩ V ∗(q) = ∅. Wewill say that two paths are node disjoint if they areinternally disjoint.If a directed graph is used to represent an undirectednetwork, two paths p and q are arc disjoint ifA∗(p) ∩ A∗(q) = ∅, where A∗(p) and A∗(q) is the set ofundirected arcs corresponding to the directed arcs inA∗(p) and A∗(q).

6 / 25

Page 20: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 3/3

Let R be a set representing the risks (failures) in thephysical network.Let Ar represent the sub-set of network arcs (or links) inthe network logical representation that can be affectedby risk r ∈ R (Ar is a SRLG associated with r ), and

rp = {r ∈ R : path p contains elements of Ar}

The SRLG problem can be defined as follows:Find two paths p and q, between a pair of nodes, suchthat rp ∩ rq = ∅.Let Ra be the set of risks that can affect arc a ∈ A:

Ra = {r : a ∈ Ar}, ∀a ∈ A

and rp = ∪a∈pRa (which will be useful in the proposedalgorithm).

7 / 25

Page 21: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 3/3

Let R be a set representing the risks (failures) in thephysical network.Let Ar represent the sub-set of network arcs (or links) inthe network logical representation that can be affectedby risk r ∈ R (Ar is a SRLG associated with r ), and

rp = {r ∈ R : path p contains elements of Ar}

The SRLG problem can be defined as follows:Find two paths p and q, between a pair of nodes, suchthat rp ∩ rq = ∅.Let Ra be the set of risks that can affect arc a ∈ A:

Ra = {r : a ∈ Ar}, ∀a ∈ A

and rp = ∪a∈pRa (which will be useful in the proposedalgorithm).

7 / 25

Page 22: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 3/3

Let R be a set representing the risks (failures) in thephysical network.Let Ar represent the sub-set of network arcs (or links) inthe network logical representation that can be affectedby risk r ∈ R (Ar is a SRLG associated with r ), and

rp = {r ∈ R : path p contains elements of Ar}

The SRLG problem can be defined as follows:Find two paths p and q, between a pair of nodes, suchthat rp ∩ rq = ∅.Let Ra be the set of risks that can affect arc a ∈ A:

Ra = {r : a ∈ Ar}, ∀a ∈ A

and rp = ∪a∈pRa (which will be useful in the proposedalgorithm).

7 / 25

Page 23: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Notation 3/3

Let R be a set representing the risks (failures) in thephysical network.Let Ar represent the sub-set of network arcs (or links) inthe network logical representation that can be affectedby risk r ∈ R (Ar is a SRLG associated with r ), and

rp = {r ∈ R : path p contains elements of Ar}

The SRLG problem can be defined as follows:Find two paths p and q, between a pair of nodes, suchthat rp ∩ rq = ∅.Let Ra be the set of risks that can affect arc a ∈ A:

Ra = {r : a ∈ Ar}, ∀a ∈ A

and rp = ∪a∈pRa (which will be useful in the proposedalgorithm).

7 / 25

Page 24: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Problem definition

Let Pst be the set of all (simple) paths between s and t .Let QA

st be the set of all path pairs (p,q) between s andt , such that:

QAst = {(p,q) : p,q ∈ Pst ∧ rp ∩ rq = ∅∧ A(p)∩ A(q) = ∅}

similarly, let QNst , QN

st = {(p,q) : p,q ∈ Pst ∧ rp ∩ rq =∅ ∧ V ∗(p)\{s, t} ∩ V ∗(q) = ∅}The problem of enumerating K arc (node)disjoint andSRLG diverse path pairs can be stated as the problemof obtaining the setQKd

st = {(p1,q1), (p2,q2), . . . , (pK ,qK )}, whered ∈ {A,N}, (pk ,qk ) ∈ Qd

st(pk ,qk ) is calculated before (pk+1,qk+1),k ∈ {1,2, . . . ,K − 1}.c(pk ) + c(qk ) ≤ c(pk+1) + c(qk+1), k ∈ {1,2, . . . ,K −1}.c(pK ) + c(qK ) ≤ c(pk ) + c(qk )∀(pk ,qk ) ∈ Qst\{(p1,q1), . . . , (pK ,qK )}

8 / 25

Page 25: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Problem definition

Let Pst be the set of all (simple) paths between s and t .Let QA

st be the set of all path pairs (p,q) between s andt , such that:

QAst = {(p,q) : p,q ∈ Pst ∧ rp ∩ rq = ∅∧ A(p)∩ A(q) = ∅}

similarly, let QNst , QN

st = {(p,q) : p,q ∈ Pst ∧ rp ∩ rq =∅ ∧ V ∗(p)\{s, t} ∩ V ∗(q) = ∅}The problem of enumerating K arc (node)disjoint andSRLG diverse path pairs can be stated as the problemof obtaining the setQKd

st = {(p1,q1), (p2,q2), . . . , (pK ,qK )}, whered ∈ {A,N}, (pk ,qk ) ∈ Qd

st(pk ,qk ) is calculated before (pk+1,qk+1),k ∈ {1,2, . . . ,K − 1}.c(pk ) + c(qk ) ≤ c(pk+1) + c(qk+1), k ∈ {1,2, . . . ,K −1}.c(pK ) + c(qK ) ≤ c(pk ) + c(qk )∀(pk ,qk ) ∈ Qst\{(p1,q1), . . . , (pK ,qK )}

8 / 25

Page 26: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm – network modification

The SRLG diverse path pair enumeration algorithm is basedin algorithm 1, in Clímaco & Pascoal (2009), whichenumerates pairs of node disjoint paths.

Algorithm 1 uses the MPS algorithm in Martins et al.(1999) after a certain network topology modification:The nodes are duplicated: N ′ = N ∪ {v ′i : vi ∈ N}The arcs are duplicated and arc (t , s′) is added:A′ = A∪{a′ = (v ′a, v ′b) : a = (va, vb) ∈ A}∪ {(t , s′)} and

c(v ′a, v ′

b) = c(va, vb), ∀(va, vb) ∈ A; c(t , s′) = 0Ra′ = Ra, ∀a ∈ A,a′ ∈ A′\A; R(t,s′) = ∅

9 / 25

Page 27: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm – network modification

The SRLG diverse path pair enumeration algorithm is basedin algorithm 1, in Clímaco & Pascoal (2009), whichenumerates pairs of node disjoint paths.

Algorithm 1 uses the MPS algorithm in Martins et al.(1999) after a certain network topology modification:

1

4

2 5

3

6

000

0

21 2

21

11

(Martins et al. 1999, Figure 3)The nodes are duplicated: N ′ = N ∪ {v ′i : vi ∈ N}The arcs are duplicated and arc (t , s′) is added:A′ = A∪{a′ = (v ′a, v ′b) : a = (va, vb) ∈ A}∪ {(t , s′)} and

c(v ′a, v ′

b) = c(va, vb), ∀(va, vb) ∈ A; c(t , s′) = 0Ra′ = Ra, ∀a ∈ A,a′ ∈ A′\A; R(t,s′) = ∅

9 / 25

Page 28: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm – network modification

The SRLG diverse path pair enumeration algorithm is basedin algorithm 1, in Clímaco & Pascoal (2009), whichenumerates pairs of node disjoint paths.

Algorithm 1 uses the MPS algorithm in Martins et al.(1999) after a certain network topology modification:

1

4

2 5

3

6

000

0

21 2

21

1 1

1'

4'

2' 5'

3'

6'

000

0

21 2

21

1 1

0ts s' t'

The nodes are duplicated: N ′ = N ∪ {v ′i : vi ∈ N}The arcs are duplicated and arc (t , s′) is added:A′ = A∪{a′ = (v ′a, v ′b) : a = (va, vb) ∈ A}∪ {(t , s′)} and

c(v ′a, v ′

b) = c(va, vb), ∀(va, vb) ∈ A; c(t , s′) = 0Ra′ = Ra, ∀a ∈ A,a′ ∈ A′\A; R(t,s′) = ∅

9 / 25

Page 29: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm – Basic Idea

Each path from s to t ′ in G′ is such that:

p = q � (t , s′) � q′

where � represents the concatenation of paths q ∈ Pst ,〈t , (t , s′), s′〉 and q′ ∈ Ps′t ′ .If q and q′ have no cycles and do not sharecorresponding nodes in N and N ′ (except s, s′ and t , t ′)then they are node disjoint (simple) paths.If additionally Rq ∩ Rq′ = ∅, then q and q′ are SRLGdiverse.The proposed algorithm for obtaining QKN

st is based inalgorithm 1 with the inclusion of the restriction that thepaths must be SRLG diverse.For obtaining QKA

st we must replace the condition ofnode disjointness by arc disjointness and include therestriction that the paths must be SRLG diverse.

10 / 25

Page 30: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm – Basic Idea

Each path from s to t ′ in G′ is such that:

p = q � (t , s′) � q′

where � represents the concatenation of paths q ∈ Pst ,〈t , (t , s′), s′〉 and q′ ∈ Ps′t ′ .If q and q′ have no cycles and do not sharecorresponding nodes in N and N ′ (except s, s′ and t , t ′)then they are node disjoint (simple) paths.If additionally Rq ∩ Rq′ = ∅, then q and q′ are SRLGdiverse.The proposed algorithm for obtaining QKN

st is based inalgorithm 1 with the inclusion of the restriction that thepaths must be SRLG diverse.For obtaining QKA

st we must replace the condition ofnode disjointness by arc disjointness and include therestriction that the paths must be SRLG diverse.

10 / 25

Page 31: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm – Basic Idea

Each path from s to t ′ in G′ is such that:

p = q � (t , s′) � q′

where � represents the concatenation of paths q ∈ Pst ,〈t , (t , s′), s′〉 and q′ ∈ Ps′t ′ .If q and q′ have no cycles and do not sharecorresponding nodes in N and N ′ (except s, s′ and t , t ′)then they are node disjoint (simple) paths.If additionally Rq ∩ Rq′ = ∅, then q and q′ are SRLGdiverse.The proposed algorithm for obtaining QKN

st is based inalgorithm 1 with the inclusion of the restriction that thepaths must be SRLG diverse.For obtaining QKA

st we must replace the condition ofnode disjointness by arc disjointness and include therestriction that the paths must be SRLG diverse.

10 / 25

Page 32: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - More notation

Tt is the tree of the shortest paths from any node vi to t .pvjTt

is the shortest path from vj to t in Tt .πvi is the cost of the path from vi to t , in Tt .The reduced cost cvi vj of arc (vi , vj) ∈ A associated withTt is cvi vj = πvj − πvi + cvi vj .So all arcs in Tt have a null reduced cost.If Tt is calculated in G then Tt ′ can easily be obtained inG′.In the transformed network, πv ′i

= c(Tt (vi)), ∀v ′i ∈ N ′\Nand πvi = πv ′i

+ πs′ , for any vi ∈ N.subp(vk , vj) is the sub-path from vk to vj in p.Although the set of arcs is A′ of G′ = (N ′,A′) onlyA ∩ {(t , s′)} is (strictly) required in the algorithm.

11 / 25

Page 33: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Implementation

In MPS each time a path p is chosen from a set ofcandidate paths, X , new paths may be added to X .The node vk of path p, from which a new candidatepath is generated, is the deviation node of that newpath (which coincides with p up to vk ).In a path the arc the tail of which is the deviation node,is called the deviation arc of that path.By definition s is the deviation node of p1.No path p = q � (t , s′) � q′ will be added to X unless upto and including its deviation arc (a = (v ,u)):

v ∈ N and subp(s,u) has no cyclesv ∈ N ′\N, subp(s′,u) has no cycles, the path pair(q, subp(s′,u)) is node disjoint (arc disjoint) and SRLGdiverse.

12 / 25

Page 34: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Implementation

In MPS each time a path p is chosen from a set ofcandidate paths, X , new paths may be added to X .The node vk of path p, from which a new candidatepath is generated, is the deviation node of that newpath (which coincides with p up to vk ).In a path the arc the tail of which is the deviation node,is called the deviation arc of that path.By definition s is the deviation node of p1.No path p = q � (t , s′) � q′ will be added to X unless upto and including its deviation arc (a = (v ,u)):

v ∈ N and subp(s,u) has no cyclesv ∈ N ′\N, subp(s′,u) has no cycles, the path pair(q, subp(s′,u)) is node disjoint (arc disjoint) and SRLGdiverse.

12 / 25

Page 35: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Implementation

In MPS each time a path p is chosen from a set ofcandidate paths, X , new paths may be added to X .The node vk of path p, from which a new candidatepath is generated, is the deviation node of that newpath (which coincides with p up to vk ).In a path the arc the tail of which is the deviation node,is called the deviation arc of that path.By definition s is the deviation node of p1.No path p = q � (t , s′) � q′ will be added to X unless upto and including its deviation arc (a = (v ,u)):

v ∈ N and subp(s,u) has no cyclesv ∈ N ′\N, subp(s′,u) has no cycles, the path pair(q, subp(s′,u)) is node disjoint (arc disjoint) and SRLGdiverse.

12 / 25

Page 36: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Implementation

In MPS each time a path p is chosen from a set ofcandidate paths, X , new paths may be added to X .The node vk of path p, from which a new candidatepath is generated, is the deviation node of that newpath (which coincides with p up to vk ).In a path the arc the tail of which is the deviation node,is called the deviation arc of that path.By definition s is the deviation node of p1.No path p = q � (t , s′) � q′ will be added to X unless upto and including its deviation arc (a = (v ,u)):

v ∈ N and subp(s,u) has no cyclesv ∈ N ′\N, subp(s′,u) has no cycles, the path pair(q, subp(s′,u)) is node disjoint (arc disjoint) and SRLGdiverse.

12 / 25

Page 37: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Auxiliary functions

Let p = q � (t , s′) � q′.Infeasible(G, s, t) returns true if none of the arcsemergent from s or none of the arc incident in t can notbe SRLG protected.Simple(p): true if q and q′ have no cycles.Disjoint(p): true if ∀vi ∈ q : v ′i 6∈ q′

ArcDisjoint(p): true if∀ai = (va, vb) ∈ q : a′i 6∈ q′ ∧ (v ′b, v

′a) 6∈ q′

EquivalentPair(p): true if c(q) < c(q′)SRLGDiverse(p): true if Rq ∩ Rq′ = ∅tail(a): tail node of ahead(a): head node of a

13 / 25

Page 38: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Auxiliary functions

Let p = q � (t , s′) � q′.Infeasible(G, s, t) returns true if none of the arcsemergent from s or none of the arc incident in t can notbe SRLG protected.Simple(p): true if q and q′ have no cycles.Disjoint(p): true if ∀vi ∈ q : v ′i 6∈ q′

ArcDisjoint(p): true if∀ai = (va, vb) ∈ q : a′i 6∈ q′ ∧ (v ′b, v

′a) 6∈ q′

EquivalentPair(p): true if c(q) < c(q′)SRLGDiverse(p): true if Rq ∩ Rq′ = ∅tail(a): tail node of ahead(a): head node of a

13 / 25

Page 39: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Auxiliary functions

Let p = q � (t , s′) � q′.Infeasible(G, s, t) returns true if none of the arcsemergent from s or none of the arc incident in t can notbe SRLG protected.Simple(p): true if q and q′ have no cycles.Disjoint(p): true if ∀vi ∈ q : v ′i 6∈ q′

ArcDisjoint(p): true if∀ai = (va, vb) ∈ q : a′i 6∈ q′ ∧ (v ′b, v

′a) 6∈ q′

EquivalentPair(p): true if c(q) < c(q′)SRLGDiverse(p): true if Rq ∩ Rq′ = ∅tail(a): tail node of ahead(a): head node of a

13 / 25

Page 40: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Auxiliary functions

Let p = q � (t , s′) � q′.Infeasible(G, s, t) returns true if none of the arcsemergent from s or none of the arc incident in t can notbe SRLG protected.Simple(p): true if q and q′ have no cycles.Disjoint(p): true if ∀vi ∈ q : v ′i 6∈ q′

ArcDisjoint(p): true if∀ai = (va, vb) ∈ q : a′i 6∈ q′ ∧ (v ′b, v

′a) 6∈ q′

EquivalentPair(p): true if c(q) < c(q′)SRLGDiverse(p): true if Rq ∩ Rq′ = ∅tail(a): tail node of ahead(a): head node of a

13 / 25

Page 41: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Auxiliary functions

Let p = q � (t , s′) � q′.Infeasible(G, s, t) returns true if none of the arcsemergent from s or none of the arc incident in t can notbe SRLG protected.Simple(p): true if q and q′ have no cycles.Disjoint(p): true if ∀vi ∈ q : v ′i 6∈ q′

ArcDisjoint(p): true if∀ai = (va, vb) ∈ q : a′i 6∈ q′ ∧ (v ′b, v

′a) 6∈ q′

EquivalentPair(p): true if c(q) < c(q′)SRLGDiverse(p): true if Rq ∩ Rq′ = ∅tail(a): tail node of ahead(a): head node of a

13 / 25

Page 42: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Auxiliary functions

Let p = q � (t , s′) � q′.Infeasible(G, s, t) returns true if none of the arcsemergent from s or none of the arc incident in t can notbe SRLG protected.Simple(p): true if q and q′ have no cycles.Disjoint(p): true if ∀vi ∈ q : v ′i 6∈ q′

ArcDisjoint(p): true if∀ai = (va, vb) ∈ q : a′i 6∈ q′ ∧ (v ′b, v

′a) 6∈ q′

EquivalentPair(p): true if c(q) < c(q′)SRLGDiverse(p): true if Rq ∩ Rq′ = ∅tail(a): tail node of ahead(a): head node of a

13 / 25

Page 43: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Description 1/2

1 Input: Network graph G = (N,A), (s, t), K2 Output: QKN

st3 if (Infeasible(G, s, t)) then Stop end;4 Removes from A arcs emerging from s or incident in t ,

which can not be SRLG protected.5 Obtains Tt , G′ = (N ′,A′) and Tt ′ .6 p ← Tt ′(s)

7 if p is not defined then Stop end;8 cvi vj ← πvj − πvi + cvi vj , ∀(vi , vj) ∈ A′

9 Represents A′ in the sorted forward star form using c10 X ← {p}11 QKN

st = ∅

14 / 25

Page 44: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Description 2/2

12 while (X 6= ∅ ∧ |QKNst | < K )

1 p ← path in X such that c(p) is minimum2 if(Simple(p) ∧ Disjoint(p) ∧ SRLGDiverse(p))

then QKNst ← QKN

st ∪ {p} end3 X ← X\{p}; vi ← deviation node of p; break← false4 repeat

1 ah ← arc of p with tail vi

2 repeat• h← h + 1• vj ← head(ah)• if (vi = tail(ah) ∧ EquivalentPair(subp(s, vi) � ah � p

vjTt′

))then break← true end

until (break ∨ (vi 6= tail(ah)∨ [(Simple(subp(s, vi) � ah) ∧SRLGDiverse(subp(s, vi) � ah) ∧ Disjoint(subp(s, vi) � ah)]

3 if[(¬ break) ∧(vi = tail(ah))]

then q ← subp(s, vi) � ah � pvjTt′

; X ← X ∪ {q} end4 vi ← next node of p5 if(vi = t) then vi ← next node of p end

15 / 25

Page 45: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Algorithm - Description 2/2

12 while (X 6= ∅ ∧ |QKNst | < K )

1 p ← path in X such that c(p) is minimum2 if(Simple(p) ∧ Disjoint(p) ∧ SRLGDiverse(p))

then QKNst ← QKN

st ∪ {p} end3 X ← X\{p}; vi ← deviation node of p; break← false4 repeat

1 ah ← arc of p with tail vi

2 repeat(...)until (break ∨ (vi 6= tail(ah)∨ [(Simple(subp(s, vi) � ah) ∧SRLGDiverse(subp(s, vi) � ah) ∧ Disjoint(subp(s, vi) � ah)]

3 if[(¬ break) ∧(vi = tail(ah))]

then q ← subp(s, vi) � ah � pvjTt′

; X ← X ∪ {q} end4 vi ← next node of p5 if(vi = t) then vi ← next node of p end

Until (vi = t ′) ∨ ¬Simple(subp(s, vi )) ∨¬Disjoint(subp(s, vi )) ∨ ¬SRLGDiverse(subp(s, vi ))

end 15 / 25

Page 46: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

ResultsFirst set of experiments

Randomly generated undirected networks withn = 25,50,100,200,400 and m = 3n,4n (where n isthe number of nodes and m is the number of undirectedarcs).The cost of each link was randomly generated in[1..65535]Each undirected arc was associated with a singleSRLG.For each value of n and m ten randomly generatednetworks were considered.For each network 50 end-to-end node pairs whereselected and k = 1000 diverse path pairs were sought.

16 / 25

Page 47: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

ResultsSecond set of experiments

Randomly generated undirected networks withn = 100,1000 and m = 3n,4n (where n is the numberof nodes and m is the number of undirected arcs).The cost of each link was randomly generated in[1..65535].Each undirected arc was associated with a singleSRLG.For each value of n and m ten randomly generatednetworks were considered.For each network 50 end-to-end node pairs whereselected and k = 5000 diverse path pairs were sought.

PC: Intel(R) Core(TM) 2 Duo Processor, 1.82 GHz, RAM1GB, under Kubuntu.Maximum number of allowed paths 1E07.

17 / 25

Page 48: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

ResultsAverage CPU time per node pair with K = 1000

Arc Disjoint

Node Disjoint 18 / 25

Page 49: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

ResultsTotal number of node pairs with K < 1000

Arc dj m = 3n m = 4nn 25 50 100 200 400 25 50 100 200 400

K <1000 ? – – – 2 10 – – – 1 10CPU(s) – – – 215 230 – – – 213 245

0 1 2 – – – – – – – –CPU(s) 0 0 – – – – – – – –

Node dj m = 3n m = 4nn 25 50 100 200 400 25 50 100 200 400

K <1000 ? – – – 3 10 – – – 1 10CPU(s) – – – 125 132 – – – 122 142

0 1 2 – – – 7 – – 2 –CPU(s) 0 0 – – – 0 – – 0 –

In each cell the total number of possible node pairs is 10× 50.K < 1000? – 1E7 candidate path pairs were generated.

19 / 25

Page 50: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

ResultsAverage CPU time per node pair with K = 5000

Arc Disjoint

Node Disjoint 20 / 25

Page 51: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

ResultsTotal number of node pairs with K < 5000

Arc dj m = 3n m = 4nn 100 1000 100 1000

K <5000 ? 3 34 2 31CPU(s) 212 244 222 232

0? – 1 – –CPU(s) – 277 – –

Node dj m = 3n m = 4nn 100 1000 100 1000

K <5000 ? 4 36 1 29CPU(s) 125 139 125 132

0? – 1 – –CPU(s) – 155 – –

In each cell the total number of possible node pairs is 10× 50.K < 5000?, 0? – 1E7 candidate path pairs were generated.

21 / 25

Page 52: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Conclusion

The results show the algorithm solves exactly theproblem of obtaining K path pairs, node disjoint (arcdisjoint) and SRLG diverse in most cases.When the algorithm generates, k , 0 ≤ k < K paths(due to the allowed maximum number of generatedpaths), this can be CPU time consuming.Therefore in order to avoid the high CPU time,sometimes required by the algorithm, a CPU time limitshould be imposed for obtaining the desired number ofsolutions (K ), so that in can be used as a sub-routine toin a multicriteria approach to reliable routing taking intoaccount SRLGs.

22 / 25

Page 53: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

Motivation

Notation

Problem

Algorithm

Results

Conclusion

Thank you!

Any questions?

23 / 25

Page 54: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

References

References

João C.N. Clímaco and Marta M.B. Pascoal. Findingnon-dominated bicriteria shortest pairs of disjointsimple paths. Computers & Operations Research,36(11):2892–2898, 2009.J. Q. Hu. Diverse routing in optical mesh networks.IEEE Transactions on Communications, 51(3):489–494,March 2003.Martins:99 E. Martins, M. Pascoal, and J. Santos.Deviation algorithms for ranking shortest paths.International Journal of Foundations of ComputerScience, 10(3):247–263, 1999.

24 / 25

Page 55: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

References

Algorithm - Tt and Tt ′

1

4

2 5

3

6

000

0

21 2

21

11

Martins et al (1999)1

4

2

53

6

1 3

102

0 Martins et al (1999)

25 / 25

Page 56: An algorithm for enumerating SRLG diverse path pairs...The necessity of calculating SRLG diverse path pairs arises in optical and MPLS networks in order to satisfy Service Level Agreements

An algorithmfor

enumeratingSRLG diverse

path pairs

References

Algorithm - Tt and Tt ′

1

4

2 5

3

6

000

0

21 2

21

1 1

1'

4'

2' 5'

3'

6'

000

0

21 2

21

1 1

0ts s' t'

1

4

2

53

6

2 4

213

1

1'

4'

2'

5'3'

6'

1 3

102

0 25 / 25