Algorithms and Heuristics for Wavelength allocation in Optical ...

Algorithms and Heuristics for Wavelength allocation in Optical ... Algorithms and Heuristics for Wavelength allocation in Optical ...

dcs.kcl.ac.uk
from dcs.kcl.ac.uk More from this publisher
30.10.2014 Views

Algorithms and Heuristics for Wavelength allocation in Optical Networks Godfrey Justo Department of Computer Science King’s College London, University of London A thesis submitted for the degree of Doctor of Philosophy

<strong>Algorithms</strong> <strong>and</strong> <strong>Heuristics</strong> <strong>for</strong><br />

<strong>Wavelength</strong> <strong>allocation</strong> <strong>in</strong> <strong>Optical</strong><br />

Networks<br />

Godfrey Justo<br />

Department of Computer Science<br />

K<strong>in</strong>g’s College London, University of London<br />

A thesis submitted <strong>for</strong> the degree of<br />

Doctor of Philosophy


Abstract<br />

<strong>Optical</strong> networks allow end-to-end high-speed connection <strong>for</strong> signal<br />

transmission through optical fibers us<strong>in</strong>g wavelength division multiplex<strong>in</strong>g<br />

(WDM). The WDM technology transmit many light signals<br />

concurrently on an optical fiber through wavelength rout<strong>in</strong>g, <strong>in</strong> which<br />

a network switch<strong>in</strong>g node routes signals based on their wavelengths.<br />

The technology has the potential to cater <strong>for</strong> the ever-grow<strong>in</strong>g high<br />

b<strong>and</strong>width need on several emerg<strong>in</strong>g b<strong>and</strong>width critical applications,<br />

<strong>in</strong>clud<strong>in</strong>g video conferenc<strong>in</strong>g <strong>and</strong> real time digital imag<strong>in</strong>g.<br />

In this thesis we present improved algorithms <strong>and</strong> heuristics <strong>for</strong> <strong>allocation</strong><br />

of network b<strong>and</strong>width (wavelength) <strong>for</strong> different network topologies.<br />

For r<strong>in</strong>g networks we propose different heuristics <strong>for</strong> wavelength<br />

<strong>allocation</strong> <strong>for</strong> networks with/no use of wavelength conversion. These<br />

heuristics are also extended to tree of r<strong>in</strong>gs networks without wavelength<br />

conversion. We experimentally evaluate the heuristics <strong>and</strong><br />

show a significant improvement <strong>for</strong> wavelength utilization compared<br />

to previously known algorithms. Moreover, we study r<strong>in</strong>g networks<br />

that allow use of more than one fiber per l<strong>in</strong>k (multi-fiber r<strong>in</strong>gs) <strong>and</strong><br />

wavelength conversion. We show that if a s<strong>in</strong>gle network node is<br />

equipped with limited wavelength conversion capabilities of degree<br />

two, or a pair of nodes is equipped with limited wavelength conversion<br />

of degree one (fixed conversion), then multi-fiber r<strong>in</strong>gs can optimally<br />

allocate the available b<strong>and</strong>width on any <strong>in</strong>stance.<br />

For tree networks that allow more than one optical fiber per l<strong>in</strong>k<br />

(multi-fiber trees) we propose approximation algorithms <strong>for</strong> m<strong>in</strong>imiz<strong>in</strong>g<br />

the number of total optical fibers sufficient to satisfy a given


<strong>in</strong>stance. Among other results we propose a 2-approximation algorithm<br />

<strong>for</strong> spider tree (a tree such that any path has at most one<br />

node of degree greater than 2), <strong>and</strong> a 4-approximation algorithm <strong>for</strong><br />

a tree such that any path has at most three nodes of degree greater<br />

than 2. We study the problem of comb<strong>in</strong><strong>in</strong>g low rate traffic to share<br />

a high b<strong>and</strong>width wavelength (traffic groom<strong>in</strong>g) <strong>for</strong> path <strong>and</strong> r<strong>in</strong>g<br />

networks. We propose different heuristics <strong>for</strong> groom<strong>in</strong>g arbitrary <strong>in</strong>stances<br />

with unit rate requests <strong>for</strong> path networks with groom<strong>in</strong>g ratio<br />

2 or more, extend<strong>in</strong>g the previous work <strong>for</strong> this problem on path networks<br />

with groom<strong>in</strong>g ratio 2 <strong>and</strong> all-to-all <strong>in</strong>stances. Moreover, we<br />

consider path networks with groom<strong>in</strong>g ratio 3 <strong>and</strong> all-to-all <strong>in</strong>stances<br />

on unit rate requests <strong>and</strong> present results that imply groom<strong>in</strong>g algorithm<br />

with asymptotic per<strong>for</strong>mance ratio 1.07. For r<strong>in</strong>g networks we<br />

propose a traffic groom<strong>in</strong>g heuristic that is experimentally compared<br />

to previously known heuristics. Our heuristic improve upon previously<br />

known algorithms <strong>for</strong> most groom<strong>in</strong>g <strong>in</strong>stances.<br />

3


Contents<br />

0.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

0.2 Mathematical notations . . . . . . . . . . . . . . . . . . . . . . . 16<br />

1 Introduction 17<br />

1.1 General thesis contribution . . . . . . . . . . . . . . . . . . . . . . 21<br />

1.2 Thesis Outl<strong>in</strong>e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

2 Term<strong>in</strong>ology, models <strong>and</strong> background work 23<br />

2.1 Graph-theoretic concepts . . . . . . . . . . . . . . . . . . . . . . . 23<br />

2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> . . . 24<br />

2.2.1 <strong>Optical</strong> networks . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.2.2 Rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> . . . . . . . . . . . . . 26<br />

2.2.2.1 RWA with wavelength cont<strong>in</strong>uity constra<strong>in</strong>t . . . 27<br />

2.2.2.2 RWA with wavelength conversion . . . . . . . . . 28<br />

2.2.2.3 RWA with multi-granularity wavelengths . . . . . 30<br />

2.3 Special Network topologies . . . . . . . . . . . . . . . . . . . . . . 31<br />

2.4 Experimental per<strong>for</strong>mance comparison . . . . . . . . . . . . . . . 33<br />

2.4.1 Request <strong>in</strong>stances . . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.4.2 Rout<strong>in</strong>g decisions . . . . . . . . . . . . . . . . . . . . . . . 34<br />

2.4.3 Implementation plat<strong>for</strong>m . . . . . . . . . . . . . . . . . . . 36<br />

2.5 Previous work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

2.6 Our contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

3 Undirected R<strong>in</strong>gs 49<br />

3.1 RAP model <strong>for</strong> structured programs . . . . . . . . . . . . . . . . . 50<br />

3.2 Fat cover algorithm <strong>for</strong> RAP . . . . . . . . . . . . . . . . . . . . 53<br />

4


CONTENTS<br />

3.3 <strong>Wavelength</strong> <strong>allocation</strong> by pivot based algorithms . . . . . . . . . . 54<br />

3.3.1 F<strong>in</strong>d<strong>in</strong>g pivot covers . . . . . . . . . . . . . . . . . . . . . 54<br />

3.3.2 Fixed pivot algorithm . . . . . . . . . . . . . . . . . . . . 56<br />

3.4 Dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slott<strong>in</strong>g . . . . . . . . . . . . . . . . . . . . . 57<br />

3.4.1 The m<strong>in</strong>-load two phase algorithm . . . . . . . . . . . . . 58<br />

3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation . . . . . . . . . . . 59<br />

4 Undirected Tree of R<strong>in</strong>gs 66<br />

4.1 Tree of r<strong>in</strong>gs model . . . . . . . . . . . . . . . . . . . . . . . . . . 67<br />

4.2 F<strong>in</strong>d<strong>in</strong>g pivot cover on r<strong>in</strong>g of tree of r<strong>in</strong>gs . . . . . . . . . . . . . 68<br />

4.3 Long pivot-DFS algorithm . . . . . . . . . . . . . . . . . . . . . . 70<br />

4.4 Approximation algorithm . . . . . . . . . . . . . . . . . . . . . . . 71<br />

4.5 Input generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74<br />

4.6 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation . . . . . . . . . . . 74<br />

5 Undirected R<strong>in</strong>gs with Cluster <strong>Wavelength</strong> Conversion 81<br />

5.1 Cluster wavelength conversion model . . . . . . . . . . . . . . . . 81<br />

5.1.1 <strong>Wavelength</strong> <strong>allocation</strong> with conversion framework . . . . . 82<br />

5.2 <strong>Wavelength</strong> <strong>allocation</strong> with pivot method <strong>and</strong> conversion framework 83<br />

5.2.1 Long pivot with wavelength conversion . . . . . . . . . . . 83<br />

5.2.2 Fixed pivot with wavelength conversion . . . . . . . . . . 83<br />

5.3 Related algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation . . . . . . . . . . . 85<br />

6 Undirected Multi-fiber Trees 92<br />

6.1 Tree network model . . . . . . . . . . . . . . . . . . . . . . . . . . 92<br />

6.2 PCM algorithm <strong>for</strong> spider tree . . . . . . . . . . . . . . . . . . . . 94<br />

6.2.1 Path orientation <strong>and</strong> group<strong>in</strong>g . . . . . . . . . . . . . . . . 94<br />

6.2.2 PCM reduction to ECBM . . . . . . . . . . . . . . . . . . 95<br />

6.2.3 Bound<strong>in</strong>g per<strong>for</strong>mance of APR1 algorithm . . . . . . . . . 96<br />

6.3 Extension to other tree networks . . . . . . . . . . . . . . . . . . 97<br />

6.3.1 PCM algorithm <strong>for</strong> tree with s(T ) = 3 . . . . . . . . . . . 98<br />

6.3.2 Bound<strong>in</strong>g per<strong>for</strong>mance of APR2 algorithm . . . . . . . . . 99<br />

5


CONTENTS<br />

7 Undirected Multi-fiber R<strong>in</strong>gs with Limited <strong>Wavelength</strong> Conversion<br />

103<br />

7.1 S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion . . . . . . . . . . . . 105<br />

7.2 Dual-fiber r<strong>in</strong>gs with limited wavelength conversion . . . . . . . . 111<br />

7.3 k-fiber r<strong>in</strong>gs with limited wavelength conversion <strong>for</strong> k > 2 . . . . . 114<br />

8 Traffic Groom<strong>in</strong>g on Path Networks - General Instances 120<br />

8.1 General lower bounds . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2 . . . . . . . . . . . . . . 122<br />

8.2.1 Interval partition algorithm . . . . . . . . . . . . . . . . . 122<br />

8.2.2 IPA variant algorithms . . . . . . . . . . . . . . . . . . . . 123<br />

8.2.3 Edge decomposition algorithm . . . . . . . . . . . . . . . . 124<br />

8.2.3.1 F<strong>in</strong>d<strong>in</strong>g valid circuit subgraphs . . . . . . . . . . 127<br />

8.2.3.2 Merg<strong>in</strong>g compatible valid subgraphs . . . . . . . 130<br />

8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation . . . . . . . . . . . 132<br />

8.4 Extension to path networks with arbitrary groom<strong>in</strong>g ratios . . . . 139<br />

8.4.1 Splitt<strong>in</strong>g valid subgraphs . . . . . . . . . . . . . . . . . . . 144<br />

9 Traffic Groom<strong>in</strong>g on Unidirectional Path Networks - All-to-all<br />

Instances 145<br />

9.1 Problem def<strong>in</strong>ition . . . . . . . . . . . . . . . . . . . . . . . . . . 145<br />

9.2 Lower bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146<br />

9.3 Upper bound <strong>for</strong> A(P n , 3) . . . . . . . . . . . . . . . . . . . . . . 150<br />

10 Traffic Groom<strong>in</strong>g on R<strong>in</strong>g Networks - General Instances 169<br />

10.1 General lower bounds . . . . . . . . . . . . . . . . . . . . . . . . . 170<br />

10.2 Groom<strong>in</strong>g <strong>Algorithms</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 171<br />

10.3 Fixed edge with edge decomposition algorithm . . . . . . . . . . . 171<br />

10.3.1 F<strong>in</strong>d<strong>in</strong>g closed circuits . . . . . . . . . . . . . . . . . . . . 172<br />

10.3.2 F<strong>in</strong>d<strong>in</strong>g open circuits . . . . . . . . . . . . . . . . . . . . . 173<br />

10.3.3 Merg<strong>in</strong>g circuit subgraphs <strong>in</strong>to valid subgraphs . . . . . . 174<br />

10.3.4 F<strong>in</strong>d<strong>in</strong>g valid subgraphs from blue arcs . . . . . . . . . . . 174<br />

10.3.5 ADMs <strong>and</strong> wavelengths requirement . . . . . . . . . . . . 174<br />

10.4 Related algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 175<br />

6


CONTENTS<br />

10.4.1 <strong>Algorithms</strong> IV <strong>and</strong> VI . . . . . . . . . . . . . . . . . . . . 175<br />

10.4.2 Preprocessed iterative match<strong>in</strong>g algorithm . . . . . . . . . 176<br />

10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation . . . . . . . . . . . 178<br />

11 Conclusion <strong>and</strong> Future work 186<br />

A Appendix 190<br />

A.1 Undirected r<strong>in</strong>gs . . . . . . . . . . . . . . . . . . . . . . . . . . . 191<br />

A.2 Undirected tree of r<strong>in</strong>gs . . . . . . . . . . . . . . . . . . . . . . . 196<br />

A.3 Undirected r<strong>in</strong>gs with cluster wavelength conversion capabilities . 199<br />

A.4 Traffic groom<strong>in</strong>g on path networks - General Instances . . . . . . 204<br />

A.5 Traffic Groom<strong>in</strong>g on r<strong>in</strong>g networks - General Instances . . . . . . 208<br />

Bibliography 213<br />

7


List of Figures<br />

2.1 Fixed, degree 2, <strong>and</strong> full converters each with four <strong>in</strong>puts <strong>and</strong><br />

outputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

2.2 Path, r<strong>in</strong>g, star <strong>and</strong> mesh networks. . . . . . . . . . . . . . . . . . 32<br />

2.3 A tree of r<strong>in</strong>gs with seven r<strong>in</strong>gs. . . . . . . . . . . . . . . . . . . . 32<br />

3.1 A loop program <strong>and</strong> correspond<strong>in</strong>g <strong>in</strong>terval graph. . . . . . . . . . 50<br />

3.2 A cyclic <strong>in</strong>terval graph <strong>and</strong> correspond<strong>in</strong>g circular arc graph <strong>and</strong><br />

<strong>in</strong>terference graph. . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

3.3 <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-SP distribution<br />

of requests on 64-nodes r<strong>in</strong>g network. . . . . . . . . . . . . . 64<br />

3.4 <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-LB distribution<br />

of requests on 64 nodes r<strong>in</strong>g network. . . . . . . . . . . . . . 65<br />

3.5 <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian-LB distribution<br />

of requests on 64 nodes r<strong>in</strong>g network. . . . . . . . . . . . . . 65<br />

4.1 A tree of r<strong>in</strong>gs with a number<strong>in</strong>g of nodes. The numbers <strong>in</strong> ’[ ]’<br />

are DFS numbers <strong>and</strong> the numbers <strong>in</strong> ’( )’ are surrogate numbers. 68<br />

4.2 Different types of requests belong<strong>in</strong>g to r<strong>in</strong>g c. R<strong>in</strong>gs c 1 , c 2 <strong>and</strong> c 3<br />

have higher DFS numbers than r<strong>in</strong>g c. . . . . . . . . . . . . . . . 69<br />

4.3 A tree of r<strong>in</strong>gs with three r<strong>in</strong>gs, r 0 , r 1 <strong>and</strong> r 2 , shar<strong>in</strong>g node u, show<strong>in</strong>g<br />

a long path {a, b}, short path {u, c}, two special l<strong>in</strong>ks (u − , u)<br />

<strong>and</strong> (w − , w), processed (dark) nodes <strong>and</strong> unprocessed (pla<strong>in</strong>) nodes. 72<br />

4.4 <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-SP distribution<br />

of requests on tree of r<strong>in</strong>gs with <strong>in</strong>terval 16 − 32. . . . . . . . 78<br />

8


LIST OF FIGURES<br />

4.5 <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-LB distribution<br />

of requests on tree of r<strong>in</strong>gs with <strong>in</strong>terval 16 − 32. . . . . . . . 78<br />

4.6 <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian-SP distribution<br />

of requests on tree of r<strong>in</strong>gs with <strong>in</strong>terval 16 − 32. . . . . . . . 79<br />

4.7 <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian-LB distribution<br />

of requests on tree of r<strong>in</strong>gs with <strong>in</strong>terval 16 − 32. . . . . . . . 79<br />

5.1 <strong>Wavelength</strong> <strong>and</strong> conversion per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-<br />

SP distribution of requests on 64 nodes r<strong>in</strong>g network. (a) Number<br />

of <strong>Wavelength</strong>s (b) Number of Conversions. . . . . . . . . . . . . 89<br />

5.2 <strong>Wavelength</strong> <strong>and</strong> conversion per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-<br />

LB distribution of requests on 64 nodes r<strong>in</strong>g network. (a) Number<br />

of <strong>Wavelength</strong>s (b) Number of Conversions. . . . . . . . . . . . . 90<br />

5.3 <strong>Wavelength</strong> <strong>and</strong> conversion per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian-<br />

LB distribution of requests on 64 nodes r<strong>in</strong>g network. (a) Number<br />

of <strong>Wavelength</strong>s (b) Number of Conversions. . . . . . . . . . . . . 91<br />

6.1 A spider tree with branch node v. . . . . . . . . . . . . . . . . . . 93<br />

6.2 A set of paths on the same partition us<strong>in</strong>g node v <strong>in</strong>cident with<br />

edges e <strong>and</strong> e ′ . There are m + n paths travers<strong>in</strong>g the edge e, with<br />

m paths end<strong>in</strong>g at node v <strong>and</strong> n paths bypass<strong>in</strong>g the node v to<br />

edge e ′ . By Step 4, the edges e <strong>and</strong> e ′ have p · W <strong>and</strong> q · W paths,<br />

<strong>for</strong> some <strong>in</strong>tegers p <strong>and</strong> q. Hence the number m of paths end<strong>in</strong>g<br />

at v is equal to (p − q) · W . . . . . . . . . . . . . . . . . . . . . . 96<br />

6.3 A tree T with s(T ) = 3. . . . . . . . . . . . . . . . . . . . . . . . 97<br />

7.1 A dual-fiber r<strong>in</strong>g with four nodes <strong>and</strong> total of six wavelengths.<br />

Each fiber has three wavelengths, where the first fiber has wavelengths<br />

labeled w 0 , w 2 <strong>and</strong> w 4 , <strong>and</strong> the second fiber has wavelengths<br />

labeled w 1 , w 3 <strong>and</strong> w 5 . The nodes 0 <strong>and</strong> 2 have fixed wavelength<br />

conversion capabilities. Dotted l<strong>in</strong>es are the wavelengths. At each<br />

node wavelength shifts may occur between pairs of same wavelengths<br />

from dist<strong>in</strong>ct fibers (dotted l<strong>in</strong>es) or pairs of dist<strong>in</strong>ct wavelengths<br />

attached by optical converters (solid l<strong>in</strong>es). . . . . . . . . 104<br />

9


LIST OF FIGURES<br />

7.2 A dual-fiber r<strong>in</strong>g with four nodes <strong>and</strong> total of six wavelengths.<br />

Each fiber has three wavelengths, where the first fiber has wavelengths<br />

labeled w 0 , w 2 <strong>and</strong> w 4 , <strong>and</strong> the second fiber has wavelengths<br />

labeled w 1 , w 3 <strong>and</strong> w 5 . The node 1 has degree two wavelength conversion<br />

capabilities. Dotted l<strong>in</strong>es are the wavelengths. At each<br />

node wavelength shifts may occur between pairs of same wavelengths<br />

from dist<strong>in</strong>ct fibers (dotted l<strong>in</strong>es) or pairs of dist<strong>in</strong>ct wavelengths<br />

attached by optical converters (solid l<strong>in</strong>es). . . . . . . . . 105<br />

7.3 An n-node s<strong>in</strong>gle-fiber r<strong>in</strong>g network with four wavelengths labeled<br />

w 0 , w 1 , . . . , w 3 , <strong>and</strong> degree two limited conversion capabilities at<br />

node 0. At each node wavelength channels at the same wavelength<br />

are attached, <strong>and</strong> <strong>in</strong> addition at the conversion node 0 the<br />

wavelength pairs (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), <strong>for</strong> 0 ≤ i ≤ 3, <strong>and</strong><br />

i ≡ 0(mod 2), are attached. . . . . . . . . . . . . . . . . . . . . . 108<br />

7.4 An n-node s<strong>in</strong>gle-fiber r<strong>in</strong>g network with four wavelengths labeled<br />

w 0 , w 1 , . . . , w 3 , <strong>and</strong> degree two limited conversion capabilities at<br />

node 0. At each node wavelength channels at the same wavelength<br />

are attached, <strong>and</strong> <strong>in</strong> addition at the conversion node 0 the wavelength<br />

pairs (w i , w i+1 ), 0 ≤ i ≤ 3, are attached. . . . . . . . . . . 108<br />

7.5 A 7-node r<strong>in</strong>g network with seven request paths, {{0, 3}, {3, 6},<br />

{6, 2}, {2, 5}, {5, 1}, {1, 4}, {4, 0}}, which <strong>for</strong>m a s<strong>in</strong>gle-MCR. . . 110<br />

7.6 A 5-node r<strong>in</strong>g network with four request paths, {{2, 4}, {1, 4}, {4, 1}, {4, 2}}.<br />

110<br />

7.7 An FDR adaptation to k-fiber r<strong>in</strong>g <strong>for</strong> k ≡ 1(mod 2), with nodes<br />

0, 1, 2, 3 <strong>and</strong> 4 as the co-primary, primary, co-secondary, secondary<br />

<strong>and</strong> tertiary node respectively. (a) A 3-fiber r<strong>in</strong>g, <strong>and</strong> (b) a 5-fiber<br />

r<strong>in</strong>g, with w = 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

7.8 An LDR adaptation to k-fiber r<strong>in</strong>g <strong>for</strong> k ≡ 1(mod 2), with nodes<br />

0, 1 <strong>and</strong> 2 as the primary, tertiary <strong>and</strong> secondary node respectively.<br />

(a) A 3-fiber r<strong>in</strong>g, <strong>and</strong> (b) a 5-fiber r<strong>in</strong>g, with w = 2. . . . . . . . 116<br />

8.1 An example of <strong>in</strong>valid closed circuit with nodes a < f < h < z. . . 127<br />

10


LIST OF FIGURES<br />

8.2 ADMs <strong>and</strong> <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with BL-Uni<strong>for</strong>m<br />

requests on 64-node path network (a) ADMs (b) <strong>Wavelength</strong>s. . . 140<br />

8.3 ADMs <strong>and</strong> <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with UL-Uni<strong>for</strong>m<br />

distribution of requests on 64-node path network (a) ADMs (b)<br />

<strong>Wavelength</strong>s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141<br />

8.4 ADMs per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian distribution of requests<br />

on 64-node path network. . . . . . . . . . . . . . . . . . . . 142<br />

9.1 A construction <strong>for</strong> the graph on p nodes that satisfies the groom<strong>in</strong>g<br />

ratio constra<strong>in</strong>t of 4 <strong>and</strong> achieves the upper bound γ(4, p) on<br />

number of edges. . . . . . . . . . . . . . . . . . . . . . . . . . . . 149<br />

9.2 Graphs isomorphic to K 4 − e where (a) a < b < d < c, (b) b < a <<br />

c < d, <strong>and</strong> (c) b < c < d < a. . . . . . . . . . . . . . . . . . . . . . 153<br />

9.3 Graphs isomorphic to K 2,3 where (a) {{b, d}{a, c, e}}, (b) {{a, e}{b, c, d}},<br />

<strong>and</strong> (c) {{a, d}{b, c, e}}, <strong>for</strong> a < b < c < d < e. . . . . . . . . . . . 153<br />

10.1 ADMs <strong>and</strong> <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with BL-Uni<strong>for</strong>m<br />

distribution of requests on 64-node r<strong>in</strong>g network (a) ADMs (b)<br />

<strong>Wavelength</strong>s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184<br />

10.2 ADMs <strong>and</strong> <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with UL-Uni<strong>for</strong>m<br />

distribution of requests on 64-node r<strong>in</strong>g network (a) ADMs (b)<br />

<strong>Wavelength</strong>s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185<br />

11


Dedication<br />

To<br />

lov<strong>in</strong>g mum Tufuwage <strong>and</strong> the late father Justo,<br />

beautiful wife Rose <strong>and</strong> daughter I most cherish Cather<strong>in</strong>e,<br />

godfather Kassian <strong>and</strong> godmother Otilia.<br />

12


Acknowledgements<br />

I would like to thank the department of computer science at K<strong>in</strong>g’s college London<br />

<strong>for</strong> her generosity to offer me a bursary grant <strong>for</strong> four years of this research study.<br />

I owe lots of gratitude to Tomasz Radzik <strong>for</strong> his <strong>in</strong>valuable contributions <strong>and</strong><br />

guidance throughout the course of this research.<br />

It is worthy thank<strong>in</strong>g many others who gave <strong>in</strong>spiration <strong>and</strong> encouragement<br />

through some contact or academic literature they had authored <strong>in</strong> l<strong>in</strong>e with my<br />

research. There are a host of them but a few that had personally contacted <strong>and</strong><br />

thus highly <strong>in</strong>debted to <strong>in</strong>clude Ralf Klas<strong>in</strong>g, Tomas Erlebach <strong>and</strong> Aris Pagourtzis<br />

<strong>for</strong> their many useful comments. My fellow PhD student at K<strong>in</strong>g’s were so <strong>in</strong>spir<strong>in</strong>g<br />

<strong>in</strong> many <strong>in</strong>stances <strong>and</strong> became close personal friends without whom would<br />

have made far difficult to resist the pressure of discouragement <strong>in</strong>evitable dur<strong>in</strong>g<br />

the course of the PhD study. A few that are worthy mention<strong>in</strong>g <strong>in</strong>clude<br />

Adam Wayner, Arjuna Sathiaseelan, Nadia Nicoulson, Sarah Ste<strong>in</strong> <strong>and</strong> Manal<br />

Mohamed.<br />

F<strong>in</strong>ally, many thanks to my wife Rose <strong>and</strong> daughter Cather<strong>in</strong>e <strong>for</strong> all their<br />

patience <strong>and</strong> love on all those hours that had to be away from them.<br />

13


Glossary <strong>and</strong> mathematical<br />

notations<br />

0.1 Glossary<br />

A1-g2 Groom<strong>in</strong>g algorithm us<strong>in</strong>g <strong>Algorithms</strong> IV <strong>and</strong> VI<br />

A2-g2 Groom<strong>in</strong>g algorithm us<strong>in</strong>g Algorithm IV <strong>and</strong> MWM<br />

ADM Add Drop Multiplexor<br />

ADM-LB ADMs lower bound<br />

APR1 Approximation algorithm <strong>for</strong> spider tree<br />

APR2 Approximation algorithm <strong>for</strong> the tree T with s(T ) = 3<br />

APX Approximation algorithm <strong>for</strong> Tree of r<strong>in</strong>gs<br />

BFS Breadth-First Search<br />

BL-Uni<strong>for</strong>m Request <strong>in</strong>stance type with bounded length uni<strong>for</strong>m distribution<br />

of requests<br />

CSP Compatible subgraphs partition algorithm<br />

DFS Depth-First Search<br />

DRSP Dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slott<strong>in</strong>g problem<br />

ECBM Edge color<strong>in</strong>g of bipartite multigraphs<br />

EDA Edge decomposition groom<strong>in</strong>g algorithm framework<br />

EDA-LF EDA with longest <strong>for</strong>ward arc first<br />

EDA-SF EDA with shortest <strong>for</strong>ward arc first<br />

FCV Fat cover algorithm<br />

FDR Fixed-conversion Dual-fiber R<strong>in</strong>g<br />

FE-EDA Fixed edge with EDA algorithm<br />

FPA Fixed pivot algorithm framework<br />

FP-WC FPA with wavelength conversion framework<br />

Gaussian-LB Rout<strong>in</strong>g <strong>in</strong>stance type with Gaussian distribution of requests<br />

routed us<strong>in</strong>g the load balanc<strong>in</strong>g rout<strong>in</strong>g decisions<br />

14


0.1 Glossary<br />

Gaussian-SP<br />

Gbps<br />

GHZ<br />

I2P<br />

IFPA<br />

IFP-WC<br />

ILP<br />

IPA<br />

IPA-LWM<br />

IPA-MWM<br />

IPA-SGM<br />

LDR<br />

LG<br />

LPA<br />

LP-DFS<br />

LP-WC<br />

LWM<br />

MCC<br />

MCR<br />

maxFPA<br />

m<strong>in</strong>2P<br />

m<strong>in</strong>FPA<br />

MWM<br />

MSS<br />

MVC<br />

PCM<br />

PIM<br />

PIM-g2<br />

PW<br />

RAP<br />

RG<br />

RWA<br />

Rout<strong>in</strong>g <strong>in</strong>stance type with Gaussian distribution of requests<br />

routed us<strong>in</strong>g the shortest path rout<strong>in</strong>g decisions<br />

Gigabit per second<br />

Gigahertz<br />

Iterative m<strong>in</strong>-load two phase algorithm<br />

Iterative FPA<br />

IFPA with wavelength conversion framework<br />

Integer l<strong>in</strong>ear programm<strong>in</strong>g<br />

Interval partition groom<strong>in</strong>g algorithm framework<br />

IPA with largest weight first match<strong>in</strong>g algorithm<br />

IPA with MWM algorithm<br />

IPA with Simple greedy match<strong>in</strong>g algorithm<br />

Limited-conversion Dual-fiber R<strong>in</strong>g<br />

First-fit color<strong>in</strong>g heuristic that considers requests <strong>in</strong> longest first<br />

order<br />

Long pivot algorithm<br />

LPA with Depth First Search<br />

LPA with wavelength conversion framework<br />

Largest weight first match<strong>in</strong>g algorithm<br />

Multi Cycles of Channels<br />

Multi Cycles of Routes<br />

FPA with maximum load l<strong>in</strong>k as pivot l<strong>in</strong>k<br />

m<strong>in</strong>-load two phase algorithm<br />

FPA with m<strong>in</strong>imum load l<strong>in</strong>k as pivot l<strong>in</strong>k<br />

Maximum weight match<strong>in</strong>g<br />

M<strong>in</strong>imum sufficient set<br />

M<strong>in</strong>imum vertex cover<br />

Path multi-colour<strong>in</strong>g<br />

Preprocessed iterative match<strong>in</strong>g algorithm<br />

PIM with MWM algorithm<br />

Paired <strong>Wavelength</strong><br />

Register <strong>allocation</strong> problem<br />

First-fit color<strong>in</strong>g heuristic that considers requests <strong>in</strong> arbitrary<br />

order<br />

Rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

15


0.2 Mathematical notations<br />

SONET<br />

SGM<br />

SPR<br />

TDM<br />

UL-Uni<strong>for</strong>m<br />

Uni<strong>for</strong>m-LB<br />

Uni<strong>for</strong>m-SP<br />

WA<br />

WDM<br />

W-LB<br />

Synchronous <strong>Optical</strong> Network<br />

Simple greedy match<strong>in</strong>g algorithm<br />

Spiral algorithm<br />

Time Division Multiplex<strong>in</strong>g<br />

Request <strong>in</strong>stance type with unbounded length uni<strong>for</strong>m distribution<br />

of requests<br />

Rout<strong>in</strong>g <strong>in</strong>stance type with uni<strong>for</strong>m distribution of requests<br />

routed us<strong>in</strong>g the load balanc<strong>in</strong>g rout<strong>in</strong>g decisions<br />

Rout<strong>in</strong>g <strong>in</strong>stance type with uni<strong>for</strong>m distribution of requests<br />

routed us<strong>in</strong>g the shortest path rout<strong>in</strong>g decisions<br />

<strong>Wavelength</strong> <strong>allocation</strong><br />

<strong>Wavelength</strong> Division Multiplex<strong>in</strong>g<br />

<strong>Wavelength</strong> lower bound<br />

0.2 Mathematical notations<br />

A(P n , g)<br />

D = (V, A)<br />

g<br />

G = (V, E)<br />

I<br />

K 4 − e<br />

K n<br />

K n1 ,n 2<br />

L<br />

n<br />

N<br />

P n<br />

R<br />

s(T )<br />

T R<br />

W<br />

Number of ADMs needed to satisfy the all-to-all <strong>in</strong>stance on P n<br />

with groom<strong>in</strong>g ratio g<br />

Digraph D with node set V <strong>and</strong> arc set A<br />

Groom<strong>in</strong>g ratio<br />

Graph G with node set V <strong>and</strong> edge set E<br />

Request <strong>in</strong>stance<br />

A graph obta<strong>in</strong>ed by remov<strong>in</strong>g one edge from complete graph<br />

with four nodes<br />

Complete graph with n nodes<br />

Complete bipartite graph with n 1 nodes <strong>in</strong> one node partition<br />

<strong>and</strong> n 2 nodes <strong>in</strong> the other<br />

Network load<br />

Number of nodes on a network<br />

Network<br />

Path network on n nodes<br />

Rout<strong>in</strong>g <strong>in</strong>stance<br />

Maximum number of nodes with degree 3 or more on any path<br />

of the tree T<br />

Tree of r<strong>in</strong>gs<br />

Total number of wavelengths<br />

16


Chapter 1<br />

Introduction<br />

In the past decade we have seen a dramatic improvement of efficiency <strong>for</strong> communication<br />

networks due to variants of fast electronic <strong>and</strong> optical transmission<br />

networks be<strong>in</strong>g deployed. Nevertheless, with the fast pace of growth <strong>in</strong> Internet<br />

<strong>and</strong> related applications a huge dem<strong>and</strong> of b<strong>and</strong>width has resulted from new<br />

multimedia applications amongst others, thus an important challenge to network<br />

practitioners is to seek solution <strong>for</strong> provision<strong>in</strong>g to such ever grow<strong>in</strong>g b<strong>and</strong>width<br />

dem<strong>and</strong>s. Fiber optics with WDM transmission technology, <strong>in</strong> which several signals<br />

may be transmitted concurrently on same l<strong>in</strong>k under different carrier frequencies/wavelengths,<br />

promise to cater <strong>for</strong> such huge b<strong>and</strong>width need, however, the<br />

technology still faces a challenge to exploit the potentially enormous b<strong>and</strong>width<br />

<strong>in</strong> efficient way. The WDM technology transmits many signals concurrently on an<br />

optical fiber us<strong>in</strong>g wavelength rout<strong>in</strong>g - a network switch<strong>in</strong>g node routes signals<br />

based on their wavelengths. In the near future we will likely see optical networks<br />

be<strong>in</strong>g widely deployed <strong>in</strong> bid to benefit from its several important advantages,<br />

<strong>in</strong>clud<strong>in</strong>g an <strong>in</strong>creased usable b<strong>and</strong>width on optical fiber, reduced electronic process<strong>in</strong>g<br />

cost, protocol transparency <strong>and</strong> efficient network component (node/l<strong>in</strong>k)<br />

failure h<strong>and</strong>l<strong>in</strong>g [Gurusamy <strong>and</strong> Siva Ram Murthy (2002)].<br />

A WDM <strong>Optical</strong> network consists of a set of nodes <strong>and</strong> optical fiber l<strong>in</strong>ks<br />

such that an optical fiber l<strong>in</strong>k connects a pair of nodes. A pair of network nodes<br />

communicate by exchang<strong>in</strong>g messages over a connection path (or simply path),<br />

through a set of optical fiber l<strong>in</strong>ks. An optical fiber supports a fixed number<br />

of wavelengths. <strong>Wavelength</strong> rout<strong>in</strong>g is used to establish a path, <strong>in</strong> turn the<br />

17


path is allocated a wavelength. A message to be sent from one node to another<br />

is referred to as a connection request (or simply a request). In WDM optical<br />

networks a request is satisfied by establish<strong>in</strong>g a path between communicat<strong>in</strong>g<br />

nodes <strong>and</strong> allocat<strong>in</strong>g a wavelength to the path. S<strong>in</strong>ce an optical fiber supports a<br />

fixed number of wavelengths, it is possible that a wavelength may not be available<br />

to satisfy a given request, <strong>in</strong> which case it is blocked. Transmission <strong>for</strong> a blocked<br />

request is deferred to the future when a wavelength is made available through a<br />

previously allocated connection request complet<strong>in</strong>g its transmission.<br />

It is there<strong>for</strong>e a crucial issue <strong>in</strong> WDM optical networks to optimize the use<br />

of the available wavelengths, supported on the optical fibers. In such type of<br />

networks several connection requests can be honored concurrently on same fiber<br />

us<strong>in</strong>g the WDM technique, where more than one requests can be transmitted<br />

through the same optical fiber but on dist<strong>in</strong>ct wavelengths. WDM optical networks<br />

can be broadly categorized <strong>in</strong>to the follow<strong>in</strong>g two classes.<br />

• All-optical transmission (transparent) network: each connection request<br />

must be assigned the same wavelength <strong>in</strong> every fiber on the allocated path<br />

between the transmitter node <strong>and</strong> the receiver node (i.e., wavelength cont<strong>in</strong>uity<br />

constra<strong>in</strong>t must be satisfied).<br />

• <strong>Optical</strong> transmission (opaque) network: a connection request may be assigned<br />

dist<strong>in</strong>ct wavelengths <strong>in</strong> different optical fibers on the allocated path<br />

between the transmitter node <strong>and</strong> the receiver node (i.e., no wavelength<br />

cont<strong>in</strong>uity constra<strong>in</strong>t)<br />

In opaque optical networks, request transmission is analogous to the st<strong>and</strong>ard<br />

store-<strong>and</strong>-<strong>for</strong>ward transmission, <strong>in</strong> which a request is converted <strong>in</strong>to electronic<br />

<strong>for</strong>mat <strong>for</strong> storage at each <strong>in</strong>termediate node be<strong>for</strong>e it can be retransmitted <strong>in</strong><br />

optical <strong>for</strong>m to the next node. For the case of transparent optical network, a<br />

request is only converted <strong>in</strong>to electronic <strong>for</strong>m at its receiv<strong>in</strong>g (dest<strong>in</strong>ation) node.<br />

This allows <strong>for</strong> potentially much higher transmission throughput than <strong>in</strong> the<br />

opaque counterparts as there is no electronic bottleneck, the overhead due to the<br />

opto-electronic conversion at <strong>in</strong>termediate nodes. Nevertheless, <strong>in</strong> such networks<br />

the problem of wavelength <strong>allocation</strong> is NP -hard <strong>in</strong> general [Gargano <strong>and</strong> Vaccaro<br />

(Feb. 2000)].<br />

18


In [Yang <strong>and</strong> Ramamurthy (2002, Nov. 2001)] they propose a translucent<br />

optical network as a hybrid to the two broad categories which partially relaxes<br />

the wavelength cont<strong>in</strong>uity constra<strong>in</strong>t. In a translucent optical network a request<br />

uses same wavelength <strong>in</strong> arbitrarily many fiber l<strong>in</strong>ks it traverses be<strong>for</strong>e conversion<br />

to electronic <strong>for</strong>m, <strong>and</strong> possibly retransmitted <strong>in</strong> a different wavelength (if<br />

the convert<strong>in</strong>g node is not its dest<strong>in</strong>ation). Such networks are motivated by<br />

an <strong>in</strong>herent signal impairment <strong>in</strong> long-distance wavelength transmission which<br />

may necessitate electronic signal regeneration. Several <strong>in</strong>terest<strong>in</strong>g traffic modell<strong>in</strong>g<br />

problems arises <strong>in</strong> translucent optical networks, <strong>in</strong>clud<strong>in</strong>g determ<strong>in</strong><strong>in</strong>g the<br />

percentage number of regenerat<strong>in</strong>g nodes (sparse regeneration), which result <strong>in</strong><br />

maximum per<strong>for</strong>mance efficiency (<strong>in</strong> terms of request block<strong>in</strong>g) of the network.<br />

Experimental methods are used by [Yang <strong>and</strong> Ramamurthy (Nov. 2001)] to<br />

demonstrate the required number of regenerat<strong>in</strong>g nodes, <strong>and</strong> was observed that<br />

us<strong>in</strong>g just a small fraction of regenerators (at most 20% of the network nodes)<br />

may lead to significant per<strong>for</strong>mance ga<strong>in</strong>. Intuitively, whereas <strong>in</strong> an opaque network<br />

a request is regenerated at every <strong>in</strong>termediate node, translucent networks<br />

use sparse regeneration <strong>in</strong> which a request may be regenerated <strong>in</strong> rather fewer<br />

designated <strong>in</strong>termediate nodes.<br />

An optical converter is an optical device that is capable of shift<strong>in</strong>g a wavelength<br />

from one wavelength to another optically. Converters have been proposed<br />

as an alternative solution around the b<strong>and</strong>width utilization <strong>in</strong>efficiency result<strong>in</strong>g<br />

from the wavelength cont<strong>in</strong>uity constra<strong>in</strong>ts <strong>in</strong> all-optical networks. A rout<strong>in</strong>g<br />

node equipped with an optical converter can change a wavelength of a request<br />

optically without need to opto-electronic conversion. <strong>Optical</strong> converters can be<br />

broadly classified <strong>in</strong>to two categories: optical converters with full conversion capabilities<br />

(full converters) that can change an <strong>in</strong>put wavelength to any other<br />

wavelength, <strong>and</strong> optical converters with partial conversion capabilities (limited<br />

converters) that can change an <strong>in</strong>put wavelength to only a few fixed wavelengths.<br />

A degree of an optical converter is the maximum number of output wavelength<br />

that any <strong>in</strong>put wavelength can be shifted. In wavelength convertible all-optical<br />

networks, if all nodes are equipped with full optical converters, then the wavelength<br />

<strong>allocation</strong> problem is rendered simple as <strong>in</strong> the opaque case, moreover,<br />

without the electronic bottleneck. Un<strong>for</strong>tunately, optical converters are rather<br />

19


expensive devices, especially if they are to provide high degree of wavelength<br />

conversion. Thus their deployment should be m<strong>in</strong>imized, that is, we should seek<br />

to deploy small number of optical converters <strong>and</strong> with low degree of conversion<br />

possible.<br />

Recent advances <strong>in</strong> optical fiber technology have lead to an enormous potential<br />

b<strong>and</strong>width <strong>in</strong> current state-of-art optic-fibers, which are capable of support<strong>in</strong>g<br />

tens to hundreds of wavelengths, <strong>in</strong> turn, each supports huge b<strong>and</strong>width capacity<br />

(<strong>in</strong> the order of 10 - 40 Gbps), while a great deal of network traffic rema<strong>in</strong> relatively<br />

at low rate. It is imperative to comb<strong>in</strong>e (groom) several low rate requests<br />

<strong>in</strong>to one high b<strong>and</strong>width wavelength to efficiently use the available wavelength<br />

b<strong>and</strong>width <strong>and</strong> enhance network connectivity. When more than one requests are<br />

comb<strong>in</strong>ed to share wavelength b<strong>and</strong>width a device called Add-Drop Multiplexor<br />

(ADM) is used <strong>for</strong> opto-electronic conversion at the node where traffic is added or<br />

dropped from the wavelength. At such node an ADM may be shared by requests<br />

be<strong>in</strong>g added or dropped from the same wavelength. At each node where ADMs<br />

are used, the node <strong>in</strong>cur the opto-electronic conversion cost <strong>for</strong> process<strong>in</strong>g the<br />

dropped or added requests at that node, s<strong>in</strong>ce the current technology does not<br />

support process<strong>in</strong>g requests <strong>in</strong> optical <strong>for</strong>mat. Thus we need to m<strong>in</strong>imize the<br />

number of ADMs used by the network.<br />

In this thesis, we consider the follow<strong>in</strong>g model <strong>for</strong> efficient utilization of wavelength<br />

b<strong>and</strong>width. We are given a WDM optical network <strong>and</strong> a set (possibly a<br />

multiset) of requests as source-dest<strong>in</strong>ation node pairs, the goal is to determ<strong>in</strong>e<br />

paths to route each request (rout<strong>in</strong>g problem) <strong>and</strong> allocate a wavelength to a path<br />

such that paths shar<strong>in</strong>g a network l<strong>in</strong>k get dist<strong>in</strong>ct wavelengths (wavelength <strong>allocation</strong><br />

problem). The rout<strong>in</strong>g problem is solved us<strong>in</strong>g known rout<strong>in</strong>g algorithms.<br />

For the case of all-optical networks without conversion <strong>and</strong> traffic groom<strong>in</strong>g, a<br />

path is allocated to same wavelength at each l<strong>in</strong>k, the goal is to m<strong>in</strong>imize number<br />

of wavelengths used. For the case of all-optical networks with conversion capabilities<br />

but no traffic groom<strong>in</strong>g a path may be allocated dist<strong>in</strong>ct wavelengths at<br />

different l<strong>in</strong>ks. Two categories are considered, a wavelength convertible network<br />

where each node is equipped with wavelength conversion capabilities, the goal is<br />

to m<strong>in</strong>imize number of wavelengths used <strong>and</strong> number of wavelength conversions<br />

per<strong>for</strong>med, <strong>and</strong> wavelength convertible networks <strong>in</strong> which some nodes may have<br />

20


1.1 General thesis contribution<br />

wavelength conversion capabilities, the goal is to m<strong>in</strong>imize number of nodes with<br />

such conversion capabilities <strong>and</strong> the complexity (degree) of optical converters<br />

used. For the case of networks with traffic groom<strong>in</strong>g, several paths may be allocated<br />

to one wavelength, the goal is to m<strong>in</strong>imize number ADMs <strong>and</strong> wavelengths<br />

used.<br />

1.1 General thesis contribution<br />

We study the wavelength <strong>allocation</strong> problem <strong>in</strong> all-optical networks with different<br />

constra<strong>in</strong>ts. We propose new heuristics <strong>for</strong> wavelength <strong>allocation</strong> <strong>in</strong> r<strong>in</strong>g networks<br />

without wavelength conversion, <strong>and</strong> adapt them to tree of r<strong>in</strong>gs networks without<br />

wavelength conversion <strong>and</strong> r<strong>in</strong>g networks with cluster wavelength conversion<br />

capabilities. We consider r<strong>in</strong>g networks that allow multiple fibers per l<strong>in</strong>k with<br />

limited optical converters of degree 1 <strong>and</strong> 2 respectively <strong>and</strong> show optimal utilization<br />

of wavelength <strong>for</strong> such r<strong>in</strong>g networks.<br />

We study tree networks that allow multiple fiber per l<strong>in</strong>k to satisfy a given<br />

request <strong>in</strong>stance <strong>for</strong> wavelength <strong>allocation</strong>, <strong>and</strong> the goal is to m<strong>in</strong>imize the overall<br />

number of optical fibers used <strong>in</strong> the network. We give different approximation<br />

algorithms <strong>for</strong> different tree network constra<strong>in</strong>ts. We consider path <strong>and</strong> r<strong>in</strong>g<br />

networks that allow comb<strong>in</strong><strong>in</strong>g several requests <strong>in</strong>to a wavelength. We present<br />

heuristics <strong>for</strong> groom<strong>in</strong>g arbitrary <strong>in</strong>stances with unit rate requests <strong>for</strong> path <strong>and</strong><br />

r<strong>in</strong>g networks, <strong>and</strong> groom<strong>in</strong>g results <strong>for</strong> path networks with all-to-all <strong>in</strong>stances<br />

on unit rate requests <strong>and</strong> groom<strong>in</strong>g ratio 3 that imply an asymptotic ratio 1.07.<br />

1.2 Thesis Outl<strong>in</strong>e<br />

In Chapter 2 we def<strong>in</strong>e some graph theoretic concepts <strong>and</strong> different problem models<br />

<strong>for</strong> rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> <strong>in</strong> optical networks, <strong>and</strong> give a review<br />

to previous work. We present wavelength assignment heuristics <strong>for</strong> r<strong>in</strong>g networks<br />

without wavelength conversion capabilities <strong>in</strong> Chapter 3. In Chapter 4 <strong>and</strong> 5 we<br />

extend the latter heuristics to tree of r<strong>in</strong>gs without wavelength conversion capabilities<br />

<strong>and</strong> r<strong>in</strong>g networks with wavelength conversion capabilities. We study the<br />

optimization problem of m<strong>in</strong>imiz<strong>in</strong>g the total number of optical fibers sufficient<br />

21


1.2 Thesis Outl<strong>in</strong>e<br />

to satisfy a given <strong>in</strong>stance <strong>for</strong> tree networks that allow multiple optical fibers per<br />

l<strong>in</strong>k <strong>in</strong> Chapter 6. In Chapter 7 we present r<strong>in</strong>g networks that allow multiple fiber<br />

per l<strong>in</strong>k <strong>and</strong> limited wavelength conversion to satisfy any <strong>in</strong>stance us<strong>in</strong>g optimal<br />

number of wavelengths. We study path <strong>and</strong> r<strong>in</strong>g networks that allow comb<strong>in</strong><strong>in</strong>g<br />

several requests <strong>in</strong>to a wavelength <strong>in</strong> Chapters 8, 9 <strong>and</strong> 10. We give conclusion<br />

<strong>and</strong> future work <strong>in</strong> Chapter 11. In Appendix A we report additional numerical<br />

results <strong>for</strong> the different heuristics considered <strong>in</strong> this thesis.<br />

22


Chapter 2<br />

Term<strong>in</strong>ology, models <strong>and</strong><br />

background work<br />

With<strong>in</strong> the last decade optical networks have received a considerable research<br />

attention to which of recent several other research directions have emerged. In this<br />

chapter we def<strong>in</strong>e some graph theoretic concepts <strong>and</strong> other term<strong>in</strong>ologies related<br />

to optical networks. We also describe different problems on optical networks,<br />

review of previous work <strong>and</strong> our contributions.<br />

2.1 Graph-theoretic concepts<br />

An undirected graph G = (V, E) consists of a f<strong>in</strong>ite set V of vertices (nodes) <strong>and</strong><br />

set E of edges where the edge {u, v} ∈ E is <strong>in</strong>cident to a pair of nodes u <strong>and</strong><br />

v of G. The degree of the vertex v is the number of edges that are adjacent to<br />

v. The degree of the graph G denoted by ∆(G) is equal to the maximum degree<br />

of its nodes. A directed graph D = (V, A) (digraph) consists of a f<strong>in</strong>ite set V<br />

of nodes <strong>and</strong> set A of arcs such that arc (u, v) ∈ A is <strong>in</strong>cident with the pair of<br />

nodes u <strong>and</strong> v of D. The arc (u, v) is said to be <strong>in</strong>cident from u, but <strong>in</strong>cident to<br />

v. The <strong>in</strong>-degree of the node v is the number of arcs <strong>in</strong>cident to v. Analogously,<br />

the out-degree of the node u is the number of arcs <strong>in</strong>cident from u. A node of D<br />

is a s<strong>in</strong>k node if its out-degree is 0 (i.e., has no outgo<strong>in</strong>g arcs but one or more<br />

<strong>in</strong>com<strong>in</strong>g arcs), <strong>and</strong> is a source node if its <strong>in</strong>-degree is 0 (i.e., has no <strong>in</strong>com<strong>in</strong>g arcs<br />

23


2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

but one or more outgo<strong>in</strong>g arcs). An edge can be modeled by a pair of oppositely<br />

directed arcs.<br />

An undirected path of G (path) is a sequence x 1 , x 2 , . . . , x p , of nodes where<br />

{x 1 , x 2 }, {x 2 , x 3 }, . . . , {x p−1 , x p } are edges of G <strong>and</strong> the nodes x i , i ∈ {1, . . . , p},<br />

are dist<strong>in</strong>ct. A directed path of D (dipath) is a sequence x 1 , x 2 , . . . , x p , of nodes<br />

where (x 1 , x 2 ), (x 2 , x 3 ), . . . , (x p−1 , x p ) are arcs of D <strong>and</strong> the nodes x i , i ∈ {1, . . . , p},<br />

are dist<strong>in</strong>ct. A path or dipath is also a simple path or dipath. A closed path or<br />

dipath is a cycle. A graph G is connected if there is a path between any pair of<br />

vertices of G. A digraph D is connected if its underly<strong>in</strong>g graph is connected (the<br />

underly<strong>in</strong>g graph <strong>for</strong> D is an undirected graph obta<strong>in</strong>ed by replac<strong>in</strong>g the arcs of<br />

D with edges).<br />

Given a graph G. A subset M of edges of G is called a match<strong>in</strong>g of G if<br />

the edges <strong>in</strong> M are pairwise non-adjacent. Given a match<strong>in</strong>g M. A node of G is<br />

matched if it is <strong>in</strong>cident to an edge of M, otherwise, it is unmatched. A match<strong>in</strong>g<br />

M is a maximum match<strong>in</strong>g if it conta<strong>in</strong>s the maximum possible number of edges<br />

<strong>for</strong> any match<strong>in</strong>g of G (there are possibly several such maximum match<strong>in</strong>g). A<br />

graph G is a weighted graph if each edge of G is associated with some real number<br />

as weight. A maximum weight match<strong>in</strong>g M of a weighted graph G is a match<strong>in</strong>g<br />

with maximum possible sum of edge weights <strong>for</strong> any match<strong>in</strong>g of G.<br />

2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength<br />

<strong>allocation</strong><br />

In this section we describe the optical network model used <strong>in</strong> this thesis <strong>and</strong><br />

def<strong>in</strong>e the rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> problems <strong>in</strong> relation to this optical<br />

network model.<br />

2.2.1 <strong>Optical</strong> networks<br />

An optical network N is modeled by a graph (digraph) such that the nodes represent<br />

communication po<strong>in</strong>ts <strong>in</strong> N, <strong>and</strong> edges (arcs) represent bidirectional (unidirectional)<br />

optical l<strong>in</strong>ks <strong>in</strong> N. A communication po<strong>in</strong>t may be passive, where<br />

24


2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

it is capable of send<strong>in</strong>g <strong>and</strong> receiv<strong>in</strong>g messages only, or active, where it is capable<br />

of send<strong>in</strong>g, receiv<strong>in</strong>g <strong>and</strong> redirect<strong>in</strong>g (switch<strong>in</strong>g) messages. A switch<strong>in</strong>g node<br />

provides the ability to switch (direct) any <strong>in</strong>put signal from some <strong>in</strong>put fiberl<strong>in</strong>ks<br />

(port) to any one of the output ports <strong>in</strong> optical <strong>for</strong>m or to drop a signal.<br />

Two switch<strong>in</strong>g models have been proposed; generalized <strong>and</strong> elementary switches<br />

[Raghavan <strong>and</strong> Upfal (1994)]. A generalized switch<strong>in</strong>g node, is capable of direct<strong>in</strong>g<br />

different signals enter<strong>in</strong>g the node through an <strong>in</strong>put l<strong>in</strong>k to different output<br />

l<strong>in</strong>ks of the node, <strong>and</strong> an elementary switch<strong>in</strong>g node on the other h<strong>and</strong>, cannot<br />

direct different signals of an <strong>in</strong>put l<strong>in</strong>k enter<strong>in</strong>g <strong>in</strong>to the node along different outgo<strong>in</strong>g<br />

fibers. In particular, an elementary switch<strong>in</strong>g node is capable of direct<strong>in</strong>g<br />

the signals com<strong>in</strong>g along each of its <strong>in</strong>put l<strong>in</strong>ks to one or more of the output l<strong>in</strong>ks,<br />

however, cannot differentiate between the different wavelengths com<strong>in</strong>g along the<br />

same l<strong>in</strong>k. The generalized switch is the most realistic model favourable <strong>for</strong> WDM<br />

optical networks. Furthermore, technical results obta<strong>in</strong>ed under the generalized<br />

switch model can easily be adapted to the elementary switch model. In this thesis<br />

we consider optical networks modeled by the generalized switch<strong>in</strong>g nodes, where<br />

a network l<strong>in</strong>k is realized us<strong>in</strong>g one or more optical fibers. A s<strong>in</strong>gle-fiber network<br />

allows one optical fiber per l<strong>in</strong>k <strong>and</strong> a multi-fiber network allows one or more<br />

optical fibers per l<strong>in</strong>k. A k-fiber network is a variant of multi-fiber network <strong>in</strong><br />

which each l<strong>in</strong>k is realized us<strong>in</strong>g k optical fibers, <strong>for</strong> k > 1.<br />

A request of the network N is given as pair of nodes correspond<strong>in</strong>g to a message<br />

to be sent from one node to another. An unordered request {u, v} refers to a<br />

message to be sent from node u to v, or viceversa. That is, any node can be a<br />

transmitter or a receiver node. An ordered request (u, v) refers to a message to be<br />

sent from node u to node v. That is, the node u is the transmitter <strong>and</strong> the node<br />

v is the receiver. An <strong>in</strong>stance I of N is a set of requests <strong>in</strong> N (possibly a multiset)<br />

which is to be satisfied. Different constra<strong>in</strong>s may be used to model the <strong>in</strong>stance I<br />

lead<strong>in</strong>g to different communication patterns on N. In most practical applications<br />

it is sufficient to model communication patterns us<strong>in</strong>g r<strong>and</strong>om distributions, <strong>for</strong><br />

example Uni<strong>for</strong>m or Gaussian distributions. An example of special <strong>in</strong>stances is<br />

the symmetric communication pattern where the <strong>in</strong>stance I consists of directed<br />

requests such that there is request (v, u) ∈ I <strong>for</strong> each request (u, v) ∈ I. Such<br />

<strong>in</strong>stances model communication services that require bidirectional reservation of<br />

25


2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

wavelengths. Others <strong>in</strong>clude the all-to-all, one-to-all, all-to-one, one-to-many <strong>and</strong><br />

permutation communication [Klas<strong>in</strong>g (August, 1998)].<br />

2.2.2 Rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

In optical communication we are given a set of connection requests as transmitterreceiver<br />

node pairs <strong>and</strong> the goal is to establish an optical channel between each<br />

transmitter-receiver node pair. An optical channel consists of a path between the<br />

transmitter-receiver node pair <strong>and</strong> a wavelength to be allocated to each path. A<br />

rout<strong>in</strong>g R <strong>for</strong> an <strong>in</strong>stance I <strong>for</strong> network N is a set of paths {p{u, v} : {u, v} ∈ I}<br />

or dipaths {p(u, v) : (u, v) ∈ I} such that each path (dipath) <strong>in</strong> R consists of a<br />

sequence of l<strong>in</strong>ks of N that the request <strong>in</strong> I correspond<strong>in</strong>g to this path traverses,<br />

that is between the request transmitter <strong>and</strong> receiver nodes. <strong>Wavelength</strong> <strong>allocation</strong><br />

(WA) allocates wavelength to paths us<strong>in</strong>g dist<strong>in</strong>ct wavelength <strong>for</strong> paths shar<strong>in</strong>g<br />

a l<strong>in</strong>k of N. The term path (dipath) <strong>and</strong> request can be used <strong>in</strong>terchangeably.<br />

• The load L of network N is the maximum number of paths shar<strong>in</strong>g any l<strong>in</strong>k<br />

of N.<br />

• Let I be an <strong>in</strong>stance <strong>in</strong> N. The rout<strong>in</strong>g problem <strong>for</strong> (N, I) consists of f<strong>in</strong>d<strong>in</strong>g<br />

a set of paths R <strong>for</strong> the <strong>in</strong>stance I <strong>in</strong> N. Different rout<strong>in</strong>g decision objectives<br />

will be described <strong>in</strong> Section 2.4.2.<br />

• Let R be a rout<strong>in</strong>g <strong>for</strong> I <strong>in</strong> N. The wavelength <strong>allocation</strong> problem <strong>for</strong> (N, I, R)<br />

consists of f<strong>in</strong>d<strong>in</strong>g an assignment of wavelength to each path <strong>in</strong> R, where<br />

no two paths shar<strong>in</strong>g any l<strong>in</strong>k of N are assigned the same wavelength. The<br />

goal is to use m<strong>in</strong>imum possible number of wavelengths.<br />

To satisfy request <strong>in</strong>stances the rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> problem<br />

may be considered <strong>in</strong>dependently or as comb<strong>in</strong>ed problem - rout<strong>in</strong>g <strong>and</strong> wavelength<br />

<strong>allocation</strong> (RWA).<br />

• Let I be an <strong>in</strong>stance <strong>in</strong> N. The rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> problem <strong>for</strong><br />

(N, I) consists of f<strong>in</strong>d<strong>in</strong>g a rout<strong>in</strong>g R <strong>for</strong> the <strong>in</strong>stance I <strong>and</strong> the assignment<br />

of wavelength to each path <strong>in</strong> R, such that no two paths shar<strong>in</strong>g any l<strong>in</strong>k<br />

26


2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

of N are assigned with the same wavelength. The goal is to use m<strong>in</strong>imum<br />

possible number of wavelengths.<br />

The network load L is the natural lower bound <strong>for</strong> the number of wavelengths<br />

needed to satisfy an <strong>in</strong>stance, s<strong>in</strong>ce at any l<strong>in</strong>k traversed by L requests each should<br />

be assigned with dist<strong>in</strong>ct wavelength. For networks where there is a unique path<br />

between any pair of nodes (such as tree networks), rout<strong>in</strong>g is not needed. But <strong>for</strong><br />

networks where a node pair may have alternate paths an efficient optimal rout<strong>in</strong>g<br />

scheme may exist or an approximate solution be used.<br />

Two natural optimization problems can be considered <strong>for</strong> the wavelength <strong>allocation</strong><br />

problem.<br />

• M<strong>in</strong>imize number of wavelengths needed to satisfy a given <strong>in</strong>stance.<br />

• Maximize number of requests satisfied given a fixed number of wavelengths.<br />

In this thesis we consider the problem of m<strong>in</strong>imiz<strong>in</strong>g the number of wavelengths<br />

needed to satisfy a given <strong>in</strong>stance (i.e., requests are given a priori). Given<br />

a set of requests (as node pairs), the <strong>in</strong>stance is routed us<strong>in</strong>g some known rout<strong>in</strong>g<br />

algorithms. Our goal is to allocate wavelengths to paths us<strong>in</strong>g m<strong>in</strong>imum<br />

number of wavelengths. The wavelength <strong>allocation</strong> problem is NP -hard <strong>for</strong> general<br />

networks <strong>in</strong>clud<strong>in</strong>g r<strong>in</strong>g networks [Erlebach <strong>and</strong> Jansen (1997a,b)]. Thus the<br />

st<strong>and</strong>ard approach is to consider specific network topologies.<br />

2.2.2.1 RWA with wavelength cont<strong>in</strong>uity constra<strong>in</strong>t<br />

The rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> problem <strong>for</strong> optical networks may be subject<br />

to various constra<strong>in</strong>ts to efficiently use the available wavelength b<strong>and</strong>width.<br />

For all-optical networks without wavelength conversion the RWA problem is constra<strong>in</strong>ed<br />

by the wavelength cont<strong>in</strong>uity requirement, where each request should be<br />

assigned with the same wavelength at all l<strong>in</strong>ks it traverses.<br />

For s<strong>in</strong>gle-fiber all-optical networks the WA problem is related to the well<br />

known vertex colour<strong>in</strong>g problem of graphs. Given a s<strong>in</strong>gle-fiber all-optical network<br />

N, an <strong>in</strong>stance I <strong>and</strong> a rout<strong>in</strong>g R <strong>for</strong> I <strong>in</strong> N. The conflict graph associated with<br />

(N, I, R), denoted by cfl(N, I, R), is the graph G(V, E) with a vertex <strong>in</strong> V <strong>for</strong><br />

27


2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

every request <strong>in</strong> I, where a pair of vertices <strong>in</strong> V are adjacent if <strong>and</strong> only if<br />

correspond<strong>in</strong>g pair of requests share a l<strong>in</strong>k of N. The WA problem <strong>for</strong> (N, I, R) is<br />

equivalent to vertex colour<strong>in</strong>g problem <strong>for</strong> the conflict graph cfl(N, I, R). Given<br />

⋃c<br />

the graph G(V, E), a proper c-colour<strong>in</strong>g is a partition of the vertices V = ˙<br />

i=1 V i<br />

such that no pair of vertices <strong>in</strong> V i is adjacent. The vertices <strong>in</strong> V i are assigned colour<br />

i, hence adjacent vertices receive different colours. The vertex colour<strong>in</strong>g problem<br />

seek to f<strong>in</strong>d χ(G) (chromatic number of G), the smallest possible c <strong>for</strong> which<br />

there exists a proper c-colour<strong>in</strong>g of G. We use the term wavelength <strong>allocation</strong><br />

<strong>and</strong> colour<strong>in</strong>g <strong>in</strong>terchangeably.<br />

Multi-fiber networks provide an alternative approach <strong>for</strong> efficiently us<strong>in</strong>g the<br />

network b<strong>and</strong>width s<strong>in</strong>ce more wavelengths are made available by the multiple<br />

occurrence of the same wavelength at l<strong>in</strong>ks, which also reduces the potential of<br />

requests be<strong>in</strong>g blocked. For multi-fiber all-optical networks the WA problem is<br />

related to the problem of colour<strong>in</strong>g hypergraphs - graphs whose edges (hyper-edges)<br />

are adjacent to two or more vertices [Ferreira et al. (May 2002)].<br />

2.2.2.2 RWA with wavelength conversion<br />

The restriction caused by the wavelength cont<strong>in</strong>uity constra<strong>in</strong>t on all-optical networks<br />

could be relaxed if switch<strong>in</strong>g nodes were equipped with wavelength conversion<br />

capabilities. Allow<strong>in</strong>g wavelength conversion at a switch<strong>in</strong>g node may<br />

dramatically m<strong>in</strong>imize wavelength requirement, s<strong>in</strong>ce wavelength assignment conflict<br />

could be resolved by chang<strong>in</strong>g wavelength of some requests at <strong>in</strong>termediate<br />

switch<strong>in</strong>g nodes rather than block<strong>in</strong>g the requests. In particular, if there is no<br />

restriction on the wavelengths on which a request can be transmitted then it is<br />

possible to satisfy any set of requests optimally (i.e., us<strong>in</strong>g L wavelengths <strong>for</strong> an<br />

<strong>in</strong>stance with load L). A switch<strong>in</strong>g node that allows chang<strong>in</strong>g a signal wavelength<br />

without need <strong>for</strong> opto-electronic conversion have been proposed [Gurusamy <strong>and</strong><br />

Siva Ram Murthy (2002)]. Such switches employ optical converters which are<br />

devices that can shift wavelength from one to another optically.<br />

An optical converter is modeled by a bipartite graph, a graph whose vertices<br />

can be partitioned <strong>in</strong>to two sets such that only pairs of nodes from dist<strong>in</strong>ct partition<br />

sets are adjacent. One of the vertex class represent <strong>in</strong>put wavelengths <strong>and</strong><br />

28


2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

the other class represent output wavelengths, <strong>and</strong> edges between vertex pairs<br />

are the possible wavelength shifts. The degree of a bipartite graph models the<br />

the degree (complexity) of optical converter, where a complete bipartite graph<br />

models a full optical converter, <strong>and</strong> partial (limited) optical converter, otherwise.<br />

A limited converter with degree 1 is a fixed converter. Figure 2.1, shows fixed,<br />

degree 2 <strong>and</strong> full converter respectively.<br />

1<br />

1<br />

1<br />

1<br />

2<br />

2<br />

2<br />

2<br />

3<br />

3<br />

3<br />

3<br />

4<br />

4<br />

(i) Fixed converter (ii) Degree 2 converter (iii) Full converter<br />

4<br />

4<br />

Figure 2.1: Fixed, degree 2, <strong>and</strong> full converters each with four <strong>in</strong>puts <strong>and</strong> outputs.<br />

<strong>Optical</strong> converters are expensive devices especially if the degree of conversion<br />

is relatively high, hence a motivation to two prevalent approaches to the study<br />

of all-optical networks with wavelength conversion capabilities.<br />

• Sparse convertible optical networks.<br />

• Limited convertible optical networks.<br />

In sparse convertible optical networks a subset of switch<strong>in</strong>g nodes are equipped<br />

with full wavelength conversion capabilities <strong>and</strong> the goal is to m<strong>in</strong>imize the number<br />

of such switch<strong>in</strong>g nodes. That is, sparse conversion seek to achieve optimal<br />

use of the available wavelength by deploy<strong>in</strong>g a m<strong>in</strong>imum number possible of full<br />

optical converter at some switch<strong>in</strong>g nodes. This problem can be modeled by<br />

m<strong>in</strong>imum sufficient set (MSS) problem. Let the network N be modeled by the<br />

graph G = (V, E). The MSS problem seek to f<strong>in</strong>d a sufficient set S ⊆ V <strong>for</strong> G of<br />

m<strong>in</strong>imum card<strong>in</strong>ality, such that any <strong>in</strong>stance of N can be satisfied us<strong>in</strong>g L colours<br />

if each node of S is equipped with full wavelength conversion capabilities <strong>in</strong> N.<br />

In limited convertible optical networks, on the other h<strong>and</strong>, a subset of switch<strong>in</strong>g<br />

node is equipped with partial optical converters to achieve near optimal or<br />

optimal utilization of the network b<strong>and</strong>width.<br />

29


2.2 <strong>Optical</strong> network models, rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong><br />

2.2.2.3 RWA with multi-granularity wavelengths<br />

So far we have assumed that each request uses the full b<strong>and</strong>width of a wavelength.<br />

This assumption is not realistic <strong>for</strong> most network traffic s<strong>in</strong>ce it became apparent<br />

that current state-of-art optic-fibers are capable of support<strong>in</strong>g tens to hundreds of<br />

wavelengths <strong>in</strong> turn each supports enormous b<strong>and</strong>width capacity (<strong>in</strong> the order of<br />

10 - 40 Gbps), while a great deal of network traffic rema<strong>in</strong> relatively at low rate.<br />

For networks with multi-granularity wavelengths several low rate requests can be<br />

comb<strong>in</strong>ed to share a wavelength b<strong>and</strong>width, thus efficiently us<strong>in</strong>g the available<br />

b<strong>and</strong>width <strong>and</strong> enhance the network connectivity. In such networks a device<br />

called Add-Drop Multiplexors (ADMs) is needed at each node where traffic is<br />

added or dropped from shared wavelength <strong>for</strong> opto-electronic conversion. At such<br />

node an ADM device can be shared by several traffic on same wavelength. ADMs<br />

devices are costly to use due to opto-electronic conversion cost. For each used<br />

wavelength on the network an ADM is needed at least at transmitter <strong>and</strong> receiver<br />

node respectively. There<strong>for</strong>e, at least two ADMs are needed <strong>for</strong> each established<br />

path <strong>and</strong> wavelength, that is, to add traffic (Multiplex) <strong>in</strong>to the wavelength at<br />

transmitter node <strong>and</strong> to drop traffic (de-Multiplex) from the wavelength at the<br />

receiver node. The number of ADMs requirement should be m<strong>in</strong>imized to improve<br />

efficiency on networks with multi-granularity wavelengths.<br />

Traffic groom<strong>in</strong>g problem seek to comb<strong>in</strong>e several low rate requests <strong>in</strong>to a high<br />

b<strong>and</strong>width wavelength with the goal to m<strong>in</strong>imize number of ADMs <strong>and</strong> wavelengths<br />

used to satisfy an <strong>in</strong>stance. In traffic groom<strong>in</strong>g we assume that wavelengths<br />

are readily available s<strong>in</strong>ce several connection requests can share wavelength<br />

b<strong>and</strong>width, there<strong>for</strong>e m<strong>in</strong>imiz<strong>in</strong>g number of ADMs is considered as the<br />

primary objective. We consider multi-granularity wavelength networks with unit<br />

rate requests. The groom<strong>in</strong>g ratio g <strong>for</strong> N is the maximum number of requests<br />

that can share a wavelength of N. That is, given requests of rate c <strong>and</strong> wavelength<br />

b<strong>and</strong>width C, g = ⌈ C c ⌉. 30


2.3 Special Network topologies<br />

2.3 Special Network topologies<br />

A network is modeled by a connected graph (digraph), where a node corresponds<br />

to a network switch/communication po<strong>in</strong>t <strong>and</strong> an edge (arc) corresponds to a<br />

network l<strong>in</strong>k connect<strong>in</strong>g the pair of adjacent switches/communication po<strong>in</strong>ts. A<br />

network l<strong>in</strong>k is said to be bidirectional if it is capable of transmitt<strong>in</strong>g signals <strong>in</strong><br />

either direction, otherwise, it is unidirectional, i.e., capable of transmitt<strong>in</strong>g signals<br />

only <strong>in</strong> one direction. An edge models a bidirectional network l<strong>in</strong>k whereas an<br />

arc models a unidirectional l<strong>in</strong>k. Practical networks are commonly modeled of<br />

the topologies circle (r<strong>in</strong>g), cha<strong>in</strong> (path), star, mesh, <strong>and</strong> tree.<br />

Def<strong>in</strong>ition 1 An undirected path network P n with n nodes has a node set V =<br />

{i : 0 ≤ i ≤ n − 1} <strong>and</strong> edge set E = {{i, i + 1} : 0 ≤ i ≤ n − 2}. A directed path<br />

network with n nodes has the same node set as the undirected path but with arc<br />

set A = {(i, i + 1) : 0 ≤ i ≤ n − 2}.<br />

Def<strong>in</strong>ition 2 An undirected r<strong>in</strong>g network with n nodes has a node set V = {i :<br />

0 ≤ i ≤ n−1} <strong>and</strong> edge set E = {{i, i+1 mod n} : 0 ≤ i ≤ n−1}. A directed r<strong>in</strong>g<br />

network with n nodes (unidirectional r<strong>in</strong>g) has same node set as the undirected<br />

r<strong>in</strong>g but with arc set A = {(i, i + 1 mod n) : 0 ≤ i ≤ n − 1}. The order of the<br />

nodes <strong>and</strong> edges of a r<strong>in</strong>g <strong>in</strong> the direction of <strong>in</strong>creas<strong>in</strong>g node identifiers is referred<br />

to as the clockwise orientation.<br />

Def<strong>in</strong>ition 3 A tree network is modeled by a connected graph with no cycles. A<br />

set of disconnected tree components is called a <strong>for</strong>est. Let T be a tree. A node<br />

of T is called a centre node if its removal yield a <strong>for</strong>est such that the number of<br />

nodes on each connected component of the <strong>for</strong>est is at most half the nodes <strong>in</strong> T .<br />

A tree has one or two centre nodes.<br />

Def<strong>in</strong>ition 4 A tree is a spider tree if at most one node has degree greater than<br />

2. Analogously, a tree is a star if at most one node has degree greater than 1.<br />

Def<strong>in</strong>ition 5 A k-ary tree is a rooted tree <strong>in</strong> which every <strong>in</strong>ternal vertex has k<br />

children. An 1-ary tree is just a path. A 2-ary tree is also called a b<strong>in</strong>ary tree.<br />

31


2.3 Special Network topologies<br />

Def<strong>in</strong>ition 6 An n = k d nodes d-dimensional mesh M d , has a set of nodes<br />

{ā = (a 1 , . . . , a i , . . . , a d ) : 1 ≤ a i ≤ k, i = 1, . . . , d}. The edges are {(a 1 , . . . , a i , . . . , a d ),<br />

(a 1 , . . . , a i + 1, . . . , a d )}, such that, 1 ≤ a i ≤ k − 1.<br />

Figures 2.2 show some commonly used network topologies.<br />

(i) 5−nodes path<br />

(ii) 7−nodes r<strong>in</strong>g<br />

(ii) 7−nodes star<br />

(iv) 16−nodes mesh<br />

Figure 2.2: Path, r<strong>in</strong>g, star <strong>and</strong> mesh networks.<br />

Def<strong>in</strong>ition 7 A tree of r<strong>in</strong>gs network is modeled by a graph that can be constructed<br />

by start<strong>in</strong>g with a r<strong>in</strong>g <strong>and</strong> then repeatedly add<strong>in</strong>g a new disjo<strong>in</strong>t r<strong>in</strong>g to<br />

the graph <strong>and</strong> identify<strong>in</strong>g a node on the new r<strong>in</strong>g with a node of the exist<strong>in</strong>g tree<br />

of r<strong>in</strong>gs.<br />

A tree of r<strong>in</strong>gs is a natural extension of a r<strong>in</strong>g network. Figure 2.3 shows a tree<br />

of r<strong>in</strong>gs network.<br />

Figure 2.3:<br />

A tree of r<strong>in</strong>gs with seven r<strong>in</strong>gs.<br />

32


2.4 Experimental per<strong>for</strong>mance comparison<br />

2.4 Experimental per<strong>for</strong>mance comparison<br />

Numerical results are used to compare the per<strong>for</strong>mance of most heuristics <strong>and</strong><br />

algorithms considered <strong>in</strong> this thesis. We compare experimentally the algorithms<br />

<strong>for</strong> path, r<strong>in</strong>g <strong>and</strong> tree of r<strong>in</strong>gs networks. In this section we describe request<br />

<strong>in</strong>stances types <strong>and</strong> rout<strong>in</strong>g decisions used <strong>for</strong> our experiments. Also we describe<br />

our implementation plat<strong>for</strong>m.<br />

2.4.1 Request <strong>in</strong>stances<br />

We consider networks with arbitrary <strong>in</strong>stances of r<strong>and</strong>om requests of Uni<strong>for</strong>m<br />

<strong>and</strong> Gaussian distributions. The end-nodes of a request of Uni<strong>for</strong>m distribution<br />

are chosen uni<strong>for</strong>mly at r<strong>and</strong>om from among the network nodes. Thus requests<br />

are less likely biased. Such requests best reflect the patterns of requests on st<strong>and</strong><br />

alone networks. For path <strong>and</strong> unidirectional r<strong>in</strong>g networks two sub-type of uni<strong>for</strong>m<br />

requests is considered; bounded length uni<strong>for</strong>m (BL-Uni<strong>for</strong>m) <strong>and</strong> unbounded<br />

length uni<strong>for</strong>m (UL-Uni<strong>for</strong>m or simply Uni<strong>for</strong>m) distribution of requests. The<br />

end-nodes of a UL-Uni<strong>for</strong>m request are chosen just as <strong>for</strong> a Uni<strong>for</strong>m request, but<br />

the end-nodes of a BL-Uni<strong>for</strong>m request are chosen as follows.<br />

The request length l is first chosen uni<strong>for</strong>mly at r<strong>and</strong>om from a fixed <strong>in</strong>teger<br />

range (with a default m<strong>in</strong>imum of 1 <strong>and</strong> maximum of half the number of network<br />

l<strong>in</strong>ks). The first end-node i is selected uni<strong>for</strong>mly at r<strong>and</strong>om. A co<strong>in</strong> is tossed<br />

to decide whether the other end-node j is selected to the left or right (counterclockwise<br />

or clockwise) of node i to obta<strong>in</strong> a request of length l. Note that such<br />

node j may not always exists on both sides of i <strong>for</strong> path networks, but <strong>for</strong> any<br />

given l <strong>and</strong> i at least one side has such j. Thus <strong>for</strong> path networks, if such j is<br />

only <strong>in</strong> one side of i no need to toss a co<strong>in</strong>, but simply select j from the side that<br />

the node exists. Fix<strong>in</strong>g the length l <strong>for</strong> all <strong>in</strong>stance requests give a variant of BLuni<strong>for</strong>m<br />

distribution of requests we refer to as fixed length uni<strong>for</strong>m distribution<br />

of requests (FL-Uni<strong>for</strong>m). BL-Uni<strong>for</strong>m requests reflect the request patterns <strong>for</strong><br />

networks where requests are localized (span short range) uni<strong>for</strong>mly at r<strong>and</strong>om.<br />

For path <strong>and</strong> r<strong>in</strong>g networks the end-nodes of a Gaussian request are chosen as<br />

follows. A network node is fixed about which the request end-nodes are selected.<br />

The normal distribution r<strong>and</strong>om variate is used to model a Gaussian request<br />

33


2.4 Experimental per<strong>for</strong>mance comparison<br />

where the mean of the distribution models the fixed node about which end-nodes<br />

are selected. A normal variate models the distance of the next selected end-node<br />

from the fixed node. For r<strong>in</strong>g networks the median node is chosen uni<strong>for</strong>mly at<br />

r<strong>and</strong>om, whereas <strong>for</strong> path networks with n nodes the median node is ⌊ n ⌋. A co<strong>in</strong><br />

2<br />

is tossed to select a node from one of the two sides (left or right of the median node<br />

<strong>for</strong> path network; <strong>and</strong> clockwise or counter-clockwise direction about the median<br />

node <strong>for</strong> r<strong>in</strong>gs) about the fixed node. The deviation of the normal distribution<br />

models the spread of an end-node about the fixed node. By default, the deviation<br />

parameter is set to the value 2. Gaussian <strong>in</strong>stances best reflect request patterns<br />

on a network where most requests are localized. Us<strong>in</strong>g a s<strong>in</strong>gle fixed node implies<br />

that most requests are localized around this fixed node.<br />

For tree of r<strong>in</strong>gs T R the end-nodes of a Gaussian requests are chosen as<br />

follows. A distance between a pair of r<strong>in</strong>gs on T R is the distance between the<br />

correspond<strong>in</strong>g pair of nodes <strong>in</strong> the underly<strong>in</strong>g tree of T R. As <strong>for</strong> r<strong>in</strong>g networks,<br />

each r<strong>in</strong>g of T R has a fixed node about which a request end-node is selected. The<br />

normal variate is used to model the distance between the pair of r<strong>in</strong>gs of T R (is<br />

the same r<strong>in</strong>g if the normal variate value is 0) from which the request end-nodes<br />

are selected. A pair of r<strong>in</strong>gs at this distance is chosen uni<strong>for</strong>mly at r<strong>and</strong>om from<br />

T R. With<strong>in</strong> a r<strong>in</strong>g of T R the request end-node is selected as <strong>for</strong> the r<strong>in</strong>g network.<br />

All-to-all <strong>in</strong>stances are used <strong>in</strong> path networks. For a path with n nodes labeled<br />

from {0 ≤ i ≤ n − 1} the all-to-all <strong>in</strong>stance has n(n−1)<br />

2<br />

requests, where there is<br />

one request <strong>for</strong> every dist<strong>in</strong>ct pair of node. All-to-all <strong>in</strong>stances can be viewed as<br />

edges of the complete graph with n nodes.<br />

2.4.2 Rout<strong>in</strong>g decisions<br />

A rout<strong>in</strong>g R <strong>for</strong> <strong>in</strong>stance I on a network N <strong>in</strong>duces a load over each network<br />

l<strong>in</strong>k <strong>and</strong> the maximum load L is the natural lower bound <strong>for</strong> the number of<br />

wavelengths needed to satisfy the set I. Note that <strong>for</strong> path networks a request<br />

is routed <strong>in</strong> a unique path. Different rout<strong>in</strong>g approaches have been proposed<br />

<strong>in</strong> [Cosares <strong>and</strong> Saniee (1994); Schrijver et al. (February 1998); Stefanakos <strong>and</strong><br />

Erlebach (2004)] <strong>for</strong> r<strong>in</strong>g networks. The general decision version <strong>for</strong> r<strong>in</strong>g load<strong>in</strong>g<br />

(rout<strong>in</strong>g) problem is known to be NP-complete [Schrijver et al. (February 1998)].<br />

34


2.4 Experimental per<strong>for</strong>mance comparison<br />

A rout<strong>in</strong>g that m<strong>in</strong>imizes the load L seem to be an obvious consideration, however,<br />

[Stefanakos <strong>and</strong> Erlebach (2004)] show that it may not always be a good<br />

choice, <strong>in</strong>stead they propose m<strong>in</strong>imiz<strong>in</strong>g the clique size (the largest complete subgraph)<br />

of the request <strong>in</strong>terference graph (conflict graph). For undirected r<strong>in</strong>gs the<br />

study <strong>in</strong> [Stefanakos <strong>and</strong> Erlebach (2004)] showed that a rout<strong>in</strong>g that m<strong>in</strong>imizes<br />

load or clique size lead to the same per<strong>for</strong>mance of wavelength assignment. We<br />

use two rout<strong>in</strong>g approaches: shortest path <strong>and</strong> greedy load balanc<strong>in</strong>g rout<strong>in</strong>g <strong>for</strong><br />

rout<strong>in</strong>g decisions on undirected r<strong>in</strong>gs <strong>and</strong> tree of r<strong>in</strong>gs.<br />

• Shortest path (SP)<br />

In shortest path rout<strong>in</strong>g a network l<strong>in</strong>k is associated with nonnegative<br />

weight. A request is routed such that the sum of weight on network l<strong>in</strong>ks<br />

it traverses is m<strong>in</strong>imum possible. Intuitively, always selects a route that<br />

traverses few l<strong>in</strong>ks.<br />

• Greedy Load balanc<strong>in</strong>g (LB)<br />

In greedy load balanc<strong>in</strong>g each network l<strong>in</strong>k ma<strong>in</strong>ta<strong>in</strong>s the number of previously<br />

routed requests that traverse it called l<strong>in</strong>k load. The first request is<br />

routed us<strong>in</strong>g shortest path rout<strong>in</strong>g decision. Subsequent requests are routed<br />

such that the maximum l<strong>in</strong>k load <strong>in</strong>duced by requests thus far considered<br />

is m<strong>in</strong>imum possible. Let {i, j} be the next request to be considered by<br />

load balanc<strong>in</strong>g rout<strong>in</strong>g. The load balanc<strong>in</strong>g rout<strong>in</strong>g compute the maximum<br />

l<strong>in</strong>k load <strong>in</strong>duced by previously routed requests <strong>and</strong> the request {i, j} when<br />

routed <strong>in</strong> clockwise (i.e. as (i, j)) <strong>and</strong> counter-clockwise (i.e., as (j, i)) direction<br />

respectively on the r<strong>in</strong>g. A route <strong>for</strong> {i, j} that m<strong>in</strong>imizes the maximum<br />

l<strong>in</strong>k load is chosen. Break ties by select<strong>in</strong>g a route that uses few number of<br />

l<strong>in</strong>ks.<br />

For tree of r<strong>in</strong>gs the load balanc<strong>in</strong>g rout<strong>in</strong>g decisions are per<strong>for</strong>med by<br />

consider<strong>in</strong>g one r<strong>in</strong>g at time <strong>for</strong> r<strong>in</strong>gs that the request traverses.<br />

Us<strong>in</strong>g different order<strong>in</strong>g of <strong>in</strong>put requests the load balanc<strong>in</strong>g may result <strong>in</strong>to<br />

different load be<strong>in</strong>g <strong>in</strong>duced on the network. In a 5 node r<strong>in</strong>g network with<br />

nodes numbered 0, 1, . . . , 4 <strong>and</strong> given request <strong>in</strong>stance {{4, 0}, {0, 3}, {3, 4}},<br />

<strong>for</strong> example, the load balanc<strong>in</strong>g with <strong>in</strong>put order<strong>in</strong>g {4, 0}, {0, 3}, {3, 4} <strong>and</strong><br />

35


2.4 Experimental per<strong>for</strong>mance comparison<br />

{0, 3}, {3, 4}, {4, 0} <strong>in</strong>duce network load 1 <strong>and</strong> 2 respectively. In this thesis<br />

the load balanc<strong>in</strong>g rout<strong>in</strong>g decision consider requests <strong>in</strong> the given order of<br />

a request <strong>in</strong>stance. The load balanc<strong>in</strong>g rout<strong>in</strong>g, because of the greedy way<br />

it is computed may lead to the higher network load than the shortest path<br />

rout<strong>in</strong>g. This often happens <strong>for</strong> the uni<strong>for</strong>m distribution of request, but<br />

rarely <strong>for</strong> the Gaussian distribution.<br />

We denote by Uni<strong>for</strong>m-SP <strong>and</strong> Uni<strong>for</strong>m-LB the rout<strong>in</strong>g <strong>in</strong>stances with uni<strong>for</strong>m<br />

distribution of requests routed by the shortest path <strong>and</strong> the load balanc<strong>in</strong>g rout<strong>in</strong>g<br />

decisions. Analogously, Gaussian-SP <strong>and</strong> Gaussian-LB denote the rout<strong>in</strong>g<br />

<strong>in</strong>stances with Gaussian distribution of requests <strong>and</strong> routed by the shortest path<br />

<strong>and</strong> the load balanc<strong>in</strong>g.<br />

2.4.3 Implementation plat<strong>for</strong>m<br />

We implemented the different algorithms <strong>and</strong> <strong>in</strong>stance generators us<strong>in</strong>g LEDA<br />

4.5 plat<strong>for</strong>m [Mehlhorn <strong>and</strong> Näher (1999)] under GNU C + + (GCC) compiler<br />

version 3.3. We used a 1.0GHZ AMD Duron Processor with 112.0MB RAM <strong>and</strong><br />

L<strong>in</strong>ux operat<strong>in</strong>g system (Neilix - 2002 version) that was freely distributed by the<br />

IT support group at the department of computer science K<strong>in</strong>g’s college London.<br />

R<strong>and</strong>om <strong>in</strong>tegers with uni<strong>for</strong>m distribution were generated us<strong>in</strong>g the r<strong>and</strong>om<br />

source implementation of the LEDA plat<strong>for</strong>m [Mehlhorn <strong>and</strong> Näher (1999)] where<br />

the stream of <strong>in</strong>tegers generated by a r<strong>and</strong>om source is only pseudo-r<strong>and</strong>om. It<br />

is generated from a seed supplied automatically from the <strong>in</strong>ternal clock. Distributions<br />

of Gaussian deviates, on the other h<strong>and</strong>, were generated us<strong>in</strong>g an implementation<br />

described <strong>in</strong> [Press et al. (1992)] (see pages 288-290), that generates<br />

normally distributed deviates with zero mean <strong>and</strong> unit variance us<strong>in</strong>g the r<strong>and</strong>om<br />

source <strong>and</strong> Box-Muller trans<strong>for</strong>mation.<br />

Dur<strong>in</strong>g an experiment a fixed network <strong>and</strong> <strong>in</strong>stance size is given <strong>and</strong> ten<br />

r<strong>and</strong>om <strong>in</strong>stances of given distribution are generated <strong>and</strong> the average <strong>for</strong> each<br />

per<strong>for</strong>mance parameter is determ<strong>in</strong>e, i.e., average number of wavelengths, ADMs<br />

<strong>and</strong> conversions respectively. The choice of ten r<strong>and</strong>om <strong>in</strong>stances is based on the<br />

experience obta<strong>in</strong>ed after several test of r<strong>and</strong>om <strong>in</strong>put samples, where an average<br />

of ten r<strong>and</strong>om <strong>in</strong>stance samples gave per<strong>for</strong>mance results that was close to each<br />

36


2.5 Previous work<br />

<strong>in</strong>dividual <strong>in</strong>stance sample. The source code <strong>for</strong> our experiments is posted at<br />

http://www.dcs.kcl.ac.uk/staff/radzik/PhDstudents/Justo/thesisweb.html, where<br />

you can download <strong>and</strong> experiment yourself.<br />

2.5 Previous work<br />

Several previous studies considered all-optical networks with s<strong>in</strong>gle-fiber model,<br />

<strong>and</strong> proposed different heuristics <strong>and</strong> algorithms <strong>for</strong> the rout<strong>in</strong>g <strong>and</strong> wavelength<br />

<strong>allocation</strong> problem. The rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> problem is optimally<br />

solved <strong>for</strong> path networks us<strong>in</strong>g the <strong>in</strong>terval graph algorithm <strong>in</strong> [Golumbic (1980)].<br />

Undirected r<strong>in</strong>g, tree, tree of r<strong>in</strong>gs <strong>and</strong> mesh networks are studied <strong>in</strong> [Raghavan<br />

<strong>and</strong> Upfal (1994)] giv<strong>in</strong>g a 2-, 3/2-, 3- <strong>and</strong> poly-logarithmic approximation algorithm<br />

respectively <strong>for</strong> the RWA problem. The 2-approximation RWA algorithm<br />

<strong>for</strong> r<strong>in</strong>g networks trans<strong>for</strong>ms the <strong>in</strong>stance of a r<strong>in</strong>g network <strong>in</strong>to that of a path<br />

network by cut-one-l<strong>in</strong>k approach (by rout<strong>in</strong>g connection requests such that no<br />

request traverses the cut l<strong>in</strong>k), <strong>and</strong> use the algorithm <strong>in</strong> [Golumbic (1980)] to the<br />

result<strong>in</strong>g <strong>in</strong>stance of a path network. The best known algorithm <strong>for</strong> the RWA<br />

problem <strong>for</strong> r<strong>in</strong>gs is due to [Kumar (1998)] with a (1.5+1/2e)+o(1)-approximation<br />

asymptotic factor that uses <strong>in</strong>teger programm<strong>in</strong>g <strong>for</strong>mulation with r<strong>and</strong>omized<br />

round<strong>in</strong>g techniques. In [Cheng (2004)] they present the best known determ<strong>in</strong>istic<br />

algorithm <strong>for</strong> the RWA problem <strong>for</strong> r<strong>in</strong>gs improv<strong>in</strong>g the 2-approximation<br />

algorithm <strong>in</strong> [Raghavan <strong>and</strong> Upfal (1994)] to a 2 − 1<br />

⌈ L ⌉-approximation<br />

algorithm.<br />

2<br />

They also show how to comb<strong>in</strong>e their algorithm with that of [Kumar (1998)] to<br />

obta<strong>in</strong> a r<strong>and</strong>omized algorithm with a constant factor of 2 − 1 . For the WA<br />

θ(log n)<br />

problem a 1.5-approximation algorithm is presented by [Karapetian (1980)] <strong>for</strong><br />

r<strong>in</strong>g networks where request paths are viewed as a family of circular arcs on a<br />

circle. In [Kumar (1998)] they present the best known WA algorithm <strong>for</strong> r<strong>in</strong>gs<br />

with a (1 + 1/e) + o(1) ∼ 1.37 + o(1)-approximation asymptotic bound, us<strong>in</strong>g<br />

multicommodity flow <strong>and</strong> r<strong>and</strong>omized round<strong>in</strong>g techniques.<br />

The wavelength <strong>allocation</strong> problem <strong>for</strong> tree networks is solved <strong>in</strong> [Raghavan<br />

<strong>and</strong> Upfal (1994)] by translat<strong>in</strong>g a WA <strong>in</strong>stance on the tree network <strong>in</strong>to an<br />

edge colour<strong>in</strong>g <strong>in</strong>stance <strong>for</strong> multi-graph ( a graph <strong>in</strong> which a pair of node may be<br />

adjacent to more than one edge). Colour<strong>in</strong>g the edges of the multi-graph us<strong>in</strong>g the<br />

37


2.5 Previous work<br />

edge colour<strong>in</strong>g algorithm <strong>in</strong> [Shannon (1949)] followed by a recolour<strong>in</strong>g technique<br />

lead to a 3/2-approximation algorithm <strong>for</strong> the orig<strong>in</strong>al WA <strong>in</strong>stance of the tree<br />

network. Us<strong>in</strong>g the edge colour<strong>in</strong>g algorithm <strong>in</strong> [Nishizeki <strong>and</strong> Kashiwagi (August<br />

1990)], the latter algorithm is improved <strong>in</strong> [Mihail et al. (1995)] with asymptotic<br />

9/8-approximation factor.<br />

Both the RWA <strong>and</strong> WA problems on r<strong>in</strong>gs (thus on tree of r<strong>in</strong>gs) are NP-hard<br />

[Erlebach <strong>and</strong> Jansen (1997a); Garey et al. (1980)]. For tree of r<strong>in</strong>gs networks<br />

[Raghavan <strong>and</strong> Upfal (1994)] present a 3-approximation algorithm <strong>for</strong> the RWA<br />

problem that trans<strong>for</strong>m an <strong>in</strong>stance <strong>for</strong> tree of r<strong>in</strong>g <strong>in</strong>to an <strong>in</strong>stance <strong>for</strong> tree network<br />

by cut-one-l<strong>in</strong>k approach. That is, one l<strong>in</strong>k is removed from each r<strong>in</strong>g <strong>in</strong><br />

the tree of r<strong>in</strong>gs (re-rout<strong>in</strong>g any request travers<strong>in</strong>g this l<strong>in</strong>k such that all requests<br />

avoid travers<strong>in</strong>g the cut-l<strong>in</strong>k), to obta<strong>in</strong> a tree network, <strong>and</strong> the solution <strong>for</strong> the<br />

WA problem on the tree is used as the solution of the RWA problem on the tree of<br />

r<strong>in</strong>gs. Note that the latter approach does not work <strong>for</strong> the WA problem <strong>in</strong> tree of<br />

r<strong>in</strong>gs s<strong>in</strong>ce request paths are given a-priori <strong>and</strong> cannot be re-routed. In [Erlebach<br />

(Spr<strong>in</strong>ger-Verlag, 2001)] they present a 4-approximation algorithm <strong>for</strong> wavelength<br />

<strong>allocation</strong> <strong>in</strong> arbitrary tree of r<strong>in</strong>gs networks that uses at most 4L wavelengths.<br />

The best known algorithm <strong>for</strong> the wavelength <strong>allocation</strong> problem <strong>in</strong> arbitrary<br />

tree of r<strong>in</strong>gs networks uses at most 3L wavelengths <strong>and</strong> is a 2.75-approximation<br />

algorithm [Bian et al. (June 2004)]. This algorithm is based on the request process<strong>in</strong>g<br />

order used <strong>in</strong> [Erlebach (Spr<strong>in</strong>ger-Verlag, 2001)] <strong>and</strong> the application of<br />

edge-colour<strong>in</strong>g algorithm <strong>for</strong> multi-graphs <strong>and</strong> the algorithm <strong>for</strong> wavelength <strong>allocation</strong><br />

<strong>for</strong> tree of r<strong>in</strong>gs with degree six <strong>in</strong> [Bian et al. (January 2004)]. <strong>Algorithms</strong><br />

with improved approximation factor are further given <strong>for</strong> a restricted class of tree<br />

of r<strong>in</strong>gs networks, <strong>in</strong>clud<strong>in</strong>g a 2.5-approximation algorithm <strong>for</strong> tree of r<strong>in</strong>gs with<br />

degree six <strong>in</strong> [Bian et al. (January 2004)] <strong>and</strong> a 2-approximation algorithm <strong>for</strong> tree<br />

of r<strong>in</strong>gs with degree four <strong>in</strong> [Deng et al. (2003)]. However, the 3L upper bound is<br />

best possible s<strong>in</strong>ce there are <strong>in</strong>stances <strong>for</strong> the WA problem that require at least 3L<br />

wavelength even on a tree of r<strong>in</strong>gs with degree four [Bian et al. (January 2004)].<br />

A probabilistic algorithm with poly-logarithmic approximation factor is proposed<br />

<strong>in</strong> [Raghavan <strong>and</strong> Upfal (1994)] <strong>for</strong> mesh-like networks (d-dimension meshes).<br />

Us<strong>in</strong>g network flows techniques [Aumann <strong>and</strong> Rabani (January, 1995)] give a determ<strong>in</strong>istic<br />

algorithm <strong>for</strong> the RWA problem <strong>in</strong> mesh networks that is with<strong>in</strong> poly-<br />

38


2.5 Previous work<br />

logarithmic approximation factor <strong>and</strong> improve upon the probabilistic algorithm<br />

<strong>in</strong> [Raghavan <strong>and</strong> Upfal (1994)]. The best known O(1)-approximation algorithm<br />

<strong>for</strong> mesh networks is presented by [Rabani (October, 1996)], based on l<strong>in</strong>ear programs<br />

<strong>and</strong> r<strong>and</strong>omized round<strong>in</strong>g techniques.<br />

Directed r<strong>in</strong>g <strong>and</strong> tree networks have also been considered <strong>and</strong> greedy techniques<br />

used to design algorithms <strong>for</strong> the WA problem. In [Mihail et al. (1995)] a<br />

2-approximation algorithm is presented <strong>for</strong> wavelength <strong>allocation</strong> <strong>in</strong> directed r<strong>in</strong>g<br />

networks. The latter is improved to (2 − 1 )-approximation algorithm by [Wilfong<br />

<strong>and</strong> W<strong>in</strong>kler (January, 1998)], where L is the network load. For directed<br />

L<br />

tree<br />

networks [Mihail et al. (1995)] propose an upper bound of 15L/4 wavelengths to<br />

satisfy any <strong>in</strong>stance of load L. Further, they exhibit an <strong>in</strong>stance of a directed tree<br />

network that require 3L/2 wavelengths, hence, mark<strong>in</strong>g the lower bound. The<br />

upper bound is improved to 7L/4 <strong>in</strong> [Kumar <strong>and</strong> Schwabe (January, 1997)] (also<br />

<strong>in</strong>dependently <strong>in</strong> [Kaklamanis <strong>and</strong> Persiano (Spr<strong>in</strong>ger-Verlag, 1996)], where they<br />

also show that 5L/4 wavelengths are enough to satisfy the <strong>in</strong>stance exhibited<br />

<strong>in</strong> [Mihail et al. (1995)] to require 3L/2 wavelengths, hence, mark<strong>in</strong>g the best<br />

known lower bound <strong>for</strong> number of wavelengths to satisfy an <strong>in</strong>stance of load L<br />

on a directed tree network. The best known upper bound use 5L/3 wavelengths<br />

to satisfy an <strong>in</strong>stance of directed trees [Erlebach et al. (1999)], <strong>and</strong> it is shown<br />

that the upper bound is optimal among the class of greedy algorithms, that is<br />

no greedy algorithm can <strong>in</strong> general use less than 5L/3 wavelengths. Note that<br />

there is a gap between the best possible upper bound us<strong>in</strong>g 5L/3 wavelengths <strong>and</strong><br />

lower bound us<strong>in</strong>g 5L/4 wavelengths even <strong>for</strong> b<strong>in</strong>ary trees. R<strong>and</strong>omized greedy<br />

algorithms are proposed <strong>in</strong> [Auletta et al. (Spr<strong>in</strong>ger-Verlag, 2000)] to narrow the<br />

gap <strong>for</strong> b<strong>in</strong>ary trees, with an upper bound of 7L/5 wavelengths. Furthermore, <strong>in</strong><br />

[Caragiannis et al. (Spr<strong>in</strong>ger-Verlag, 2001)] a r<strong>and</strong>omized greedy algorithm with<br />

1+ 5 3e<br />

∼ 1.61-approximation factor is proposed <strong>for</strong> bounded degree trees - a rather<br />

extensive class of tree networks that <strong>in</strong>clude b<strong>in</strong>ary trees. For tree networks with<br />

symmetric <strong>in</strong>stances [Caragiannis et al. (2000); Caragiannis et al. (2002)], present<br />

a lower bound us<strong>in</strong>g (5/4 − ɛ)L wavelengths (c.f., lower bound <strong>in</strong> [Kumar <strong>and</strong><br />

Schwabe (January, 1997)] <strong>for</strong> general <strong>in</strong>stances).<br />

Although approximation algorithms give per<strong>for</strong>mance guarantee it turns out<br />

that <strong>for</strong> most <strong>in</strong>stances of practical <strong>in</strong>terest they are <strong>in</strong>herent to poor per<strong>for</strong>mance.<br />

39


2.5 Previous work<br />

For this reason heuristic algorithms are designed to complement such cases, <strong>and</strong><br />

often are relatively simpler to implement. The most used heuristic techniques<br />

<strong>for</strong> the WA problem is the first-fit colour<strong>in</strong>g. Given a set W = {λ 1 , λ 2 , . . . , } of<br />

colours <strong>and</strong> a set P of paths, a path p ∈ P is assigned a colour λ i , with smallest<br />

<strong>in</strong>dex i such that no path of P \ {p} with colour λ i <strong>in</strong>tersects with p (i.e., the first<br />

available colour <strong>for</strong> p).<br />

Several heuristics are presented <strong>in</strong> [Carpenter <strong>and</strong> Cosares (2002)] <strong>for</strong> the<br />

more general dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slot assignment problem (DRSP) <strong>for</strong> undirected<br />

r<strong>in</strong>g networks.<br />

The DRSP problem is equivalent to the RWA problem when<br />

dem<strong>and</strong>s are restricted to unit size, <strong>in</strong> which dem<strong>and</strong>s are requests <strong>and</strong> slots are<br />

wavelengths. Integer l<strong>in</strong>ear programm<strong>in</strong>g (ILP) is considered as an alternative<br />

solution method <strong>for</strong> the RWA problem, nevertheless, there is a practical limit <strong>for</strong><br />

the network <strong>and</strong> <strong>in</strong>stance size that can be efficiently solved. In [Carpenter <strong>and</strong><br />

Cosares (2002)] the ILP <strong>for</strong>mulation <strong>and</strong> correspond<strong>in</strong>g relaxation <strong>for</strong> the DRSP<br />

problem <strong>in</strong> r<strong>in</strong>g networks is also presented. The ILP <strong>for</strong>mulation <strong>for</strong> the RWA <strong>in</strong><br />

r<strong>in</strong>g networks is also considered <strong>in</strong> [Lee et al. (2000)] where the column generation<br />

technique is used to solve the LP relaxation of the <strong>for</strong>mulation, <strong>and</strong> the branch<strong>and</strong>-price<br />

procedure applied to obta<strong>in</strong> the solution. They experimentally show<br />

that optimal solution is obta<strong>in</strong>ed to almost all <strong>in</strong>stances under the given node<br />

limit of the branch-<strong>and</strong>-bound tree.<br />

The general ILP <strong>for</strong>mulation <strong>for</strong> the wavelength <strong>allocation</strong> problem <strong>in</strong> networks<br />

without wavelength conversion capabilities is described as follows. Let N<br />

be a network, I an <strong>in</strong>stance <strong>and</strong> R a rout<strong>in</strong>g <strong>for</strong> I <strong>in</strong> N. The network N is modeled<br />

by optical l<strong>in</strong>ks with W wavelengths labeled w, 1 ≤ w ≤ W . Denote by K the<br />

set of paths <strong>in</strong> R such that a path <strong>in</strong> K is labeled k, 1 ≤ k ≤ |K|. For a l<strong>in</strong>k e<br />

<strong>in</strong> N, we denote by K(e) a set of requests that traverse the l<strong>in</strong>k e. The goal is to<br />

satisfy the <strong>in</strong>stance I us<strong>in</strong>g a m<strong>in</strong>imum possible number of wavelengths, W ∗ , such<br />

that the wavelength cont<strong>in</strong>uity constra<strong>in</strong>t - a request receive same wavelength at<br />

every l<strong>in</strong>k it traverses, <strong>and</strong> the overlap constra<strong>in</strong>t - no two requests shar<strong>in</strong>g a l<strong>in</strong>k<br />

receive same wavelength, is satisfied. We def<strong>in</strong>e the decision variables as follows.<br />

Let zk<br />

w be a variable set to 1 if a request k is assigned wavelength w <strong>and</strong> 0 otherwise.<br />

Let z w be a variable set to 1 if wavelength w is assigned to a request, <strong>and</strong><br />

0 otherwise. The ILP <strong>for</strong>mulation is<br />

40


2.5 Previous work<br />

M<strong>in</strong> W ∗ = ∑ w<br />

z w (2.1)<br />

∑<br />

s.t.<br />

k∈K(e)<br />

z w k ≤ z w ∀ e ∈ E, w = 1, . . . , W (2.2)<br />

∑<br />

zk w = 1 ∀k ∈ K (2.3)<br />

w<br />

zk w , z w ∈ {0, 1} ∀k ∈ K, w = 1, . . . , W (2.4)<br />

Equation 2.1 is the objective function. The constra<strong>in</strong>t <strong>in</strong> Equation 2.2 comb<strong>in</strong>ed<br />

with the <strong>in</strong>tegrality constra<strong>in</strong>t <strong>in</strong> Equation 2.4 ensure that the overlap<br />

constra<strong>in</strong>t at each l<strong>in</strong>k is satisfied. The constra<strong>in</strong>t <strong>in</strong> Equation 2.3 comb<strong>in</strong>ed with<br />

the <strong>in</strong>tegrality constra<strong>in</strong>t <strong>in</strong> Equation 2.4 ensure that each request is assigned a<br />

wavelength <strong>and</strong> the wavelength cont<strong>in</strong>uity constra<strong>in</strong>t is satisfied.<br />

For wavelength convertible networks it is shown <strong>in</strong> [Wilfong <strong>and</strong> W<strong>in</strong>kler (January,<br />

1998)] that the decision version <strong>for</strong> the MSS problem is NP -complete, even<br />

<strong>in</strong> planar networks. In [Kle<strong>in</strong>berg <strong>and</strong> Kumar (January, 1999)] the MSS problem<br />

is related to the m<strong>in</strong>imum vertex cover (MVC) problem (a classical NP -hard<br />

problem) imply<strong>in</strong>g a 2-approximation factor algorithm <strong>for</strong> the MSS problem <strong>in</strong><br />

general networks. Nevertheless, the MSS problem is shown to be tractable <strong>in</strong><br />

several networks. Particularly, a s<strong>in</strong>gle node equipped with full conversion capabilities<br />

is sufficient <strong>in</strong> both undirected r<strong>in</strong>gs [Ramaswami <strong>and</strong> Sasaki (December<br />

1998)] <strong>and</strong> directed r<strong>in</strong>gs [Wilfong <strong>and</strong> W<strong>in</strong>kler (January, 1998)], <strong>and</strong> existence of<br />

a l<strong>in</strong>ear time algorithm <strong>for</strong> the MSS problem <strong>in</strong> arbitrary undirected graphs <strong>and</strong><br />

<strong>in</strong> directed graphs with bounded tree width is shown <strong>in</strong> [Erlebach <strong>and</strong> Stefanakos<br />

(April, 2002)]. In addition, [Erlebach <strong>and</strong> Stefanakos (April, 2002)] show that <strong>for</strong><br />

the k-sufficient set problem (i.e., f<strong>in</strong>d a sufficient set S <strong>for</strong> G of size k or decide<br />

that no such sufficient set exists), there exist a fixed parameter tractable algorithm,<br />

an algorithm that runs <strong>in</strong> time O(f(k).poly(n)), where f(k) is a function<br />

of the parameter <strong>and</strong> poly(n) is a polynomial <strong>in</strong> n ( i.e., size of the <strong>in</strong>put) <strong>for</strong><br />

arbitrary directed graphs.<br />

Recall that <strong>for</strong> directed trees [Erlebach et al. (1999)] proved that no algorithm<br />

<strong>in</strong> the class of greedy algorithms can guarantee a 100% utilization of the<br />

available b<strong>and</strong>width. Motivated by the latter [Auletta et al. (2002)] study the<br />

41


2.5 Previous work<br />

per<strong>for</strong>mance of greedy determ<strong>in</strong>istic algorithms <strong>in</strong> directed b<strong>in</strong>ary tree networks<br />

with wavelength conversion. For sparse wavelength conversion they show that<br />

⌊ 1<br />

( n − 1)⌋ full wavelength convert<strong>in</strong>g switches are sufficient <strong>for</strong> the greedy algorithm<br />

to optimally use the available wavelengths ( n is the number of<br />

2 2<br />

nodes<br />

<strong>in</strong> the network). Further, three limited wavelength conversion models, all-pairs,<br />

top-down <strong>and</strong> down, are proposed <strong>for</strong> directed b<strong>in</strong>ary tree networks (differ<strong>in</strong>g only<br />

on the number of wavelength convert<strong>in</strong>g switches placed at nodes <strong>and</strong> the pair of<br />

l<strong>in</strong>ks between which the convert<strong>in</strong>g switches are placed), <strong>and</strong> adapt the greedy<br />

algorithm by [Erlebach et al. (1999)] to each model to establish various bounds<br />

<strong>for</strong> limited wavelength conversion degree that guarantee optimal or near-optimal<br />

use of available b<strong>and</strong>width [Auletta et al. (2002); Caragiannis et al. (2002)].<br />

Networks with heterogeneous wavelength conversion that allow each node to<br />

have an arbitrary degree of optical conversion capabilities have also been considered.<br />

In particular, <strong>in</strong> [Cavendish <strong>and</strong> Sengupta (2002)] different heuristics <strong>for</strong><br />

wavelength <strong>allocation</strong> <strong>in</strong> undirected r<strong>in</strong>g networks with heterogeneous wavelength<br />

conversion that comb<strong>in</strong>e greedy <strong>and</strong> backtrack<strong>in</strong>g techniques are presented. The<br />

ILP <strong>for</strong>mulation <strong>for</strong> the RWA problem <strong>in</strong> r<strong>in</strong>gs with heterogeneous conversion is<br />

also given. An undirected r<strong>in</strong>g network with special degree 2 wavelength conversion<br />

capabilities at each node (cluster conversion) is used <strong>for</strong> wavelength <strong>allocation</strong><br />

per<strong>for</strong>mance comparison <strong>for</strong> the different approaches <strong>and</strong> rout<strong>in</strong>g strategies.<br />

Note that the RWA problem on r<strong>in</strong>g networks with cluster conversion is NPhard<br />

[Cavendish (Nov 12-16, 2001, Beij<strong>in</strong>g, Ch<strong>in</strong>a)]. In [Ramaswami <strong>and</strong> Sasaki<br />

(December 1998)] they consider r<strong>in</strong>g networks that employ low degree optical<br />

converters at few nodes to realize near-optimal <strong>and</strong> optimal use of the available<br />

wavelength b<strong>and</strong>width. Us<strong>in</strong>g fixed optical converters it is shown that if a s<strong>in</strong>gle<br />

node of the r<strong>in</strong>g network is equipped with fixed conversion capabilities any<br />

<strong>in</strong>stance of load at most L − 1 can be satisfied us<strong>in</strong>g L wavelengths, <strong>and</strong> this is<br />

best possible <strong>for</strong> any number of nodes equipped with fixed conversion capabilities.<br />

Furthermore, us<strong>in</strong>g limited optical converters of degree 2 it is shown that if<br />

two nodes of the r<strong>in</strong>g network are equipped with degree 2 conversion capabilities<br />

any <strong>in</strong>stance of load at most L can be satisfied us<strong>in</strong>g L wavelengths. For star<br />

networks [Ramaswami <strong>and</strong> Sasaki (December 1998)] show that if the number of<br />

supported wavelength is even then equipp<strong>in</strong>g the hub node with fixed conversion<br />

42


2.5 Previous work<br />

capabilities suffices to realize optimal utilization of the network b<strong>and</strong>width. The<br />

latter is extended to tree networks <strong>in</strong> which limited optical converters with degree<br />

l<strong>in</strong>ear <strong>in</strong> the number of available wavelengths are deployed on patch nodes - a<br />

m<strong>in</strong>imum subset of tree nodes whose removal partition the tree <strong>in</strong>to a set of star<br />

networks. In addition, each star network <strong>in</strong> the partition set is equipped with<br />

fixed conversion capabilities at its hub node.<br />

As <strong>in</strong> s<strong>in</strong>gle-fiber model the rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> problem is also<br />

NP-hard <strong>in</strong> the multi-fiber model [Li <strong>and</strong> Simha (2000); Margara <strong>and</strong> Simon<br />

(2000)]. Independently, [Li <strong>and</strong> Simha (2000)] <strong>and</strong> [Margara <strong>and</strong> Simon (2000)]<br />

study the RWA problem <strong>for</strong> k-fiber networks <strong>in</strong> which each l<strong>in</strong>k is realized us<strong>in</strong>g<br />

k > 1 optical-fibers. They show a significant improvement <strong>in</strong> the per-fiber wavelength<br />

utilization factor <strong>for</strong> most network topologies. Particularly, <strong>for</strong> undirected<br />

2-fiber star networks optimal utilization of the network b<strong>and</strong>width is realized,<br />

<strong>and</strong> a 75% b<strong>and</strong>width utilization is best possible <strong>for</strong> undirected k-fiber r<strong>in</strong>gs <strong>for</strong><br />

arbitrary k. However, <strong>for</strong> other k-fiber networks it rema<strong>in</strong> open as to whether<br />

the number of wavelengths can be reduce by a factor strictly larger than k.<br />

Other optimization problems that have been considered <strong>for</strong> multi-fiber network<br />

model <strong>in</strong>clude that of m<strong>in</strong>imiz<strong>in</strong>g the total number of fibers needed to<br />

satisfy an <strong>in</strong>stance (given fixed number of supported wavelength per fiber) <strong>and</strong><br />

m<strong>in</strong>imiz<strong>in</strong>g the number of wavelengths needed to satisfy an <strong>in</strong>stance (given fixed<br />

number of fibers per l<strong>in</strong>k). In [Nomikos et al. (2001)] they study the problem<br />

of m<strong>in</strong>imiz<strong>in</strong>g the total number of fibers <strong>in</strong> a multi-fiber network to satisfy a<br />

given <strong>in</strong>stance <strong>and</strong> show that can be optimally solved <strong>in</strong> path networks but it<br />

is NP-hard <strong>in</strong> general networks. For star <strong>and</strong> r<strong>in</strong>g networks an algorithm with<br />

2-approximation factor is presented, respectively. In [Erlebach et al. (2003)], a<br />

(log n + 1)-approximation algorithm is presented <strong>for</strong> arbitrary tree networks (n<br />

is the number of network nodes). Us<strong>in</strong>g network flow techniques [Chekuri et al.<br />

(2003)] present a 4-approximation algorithm <strong>for</strong> the problem of m<strong>in</strong>imiz<strong>in</strong>g the<br />

number of wavelengths used <strong>in</strong> multi-fiber tree networks. It is noted <strong>in</strong> [Erlebach<br />

et al. (2003)] that the latter result imply a 4-approximation algorithm <strong>for</strong> the<br />

problem of m<strong>in</strong>imiz<strong>in</strong>g number of fibers, thus improv<strong>in</strong>g upon the results <strong>in</strong> [Erlebach<br />

et al. (2003)] <strong>for</strong> this problem <strong>for</strong> arbitrary trees.<br />

43


2.5 Previous work<br />

For networks with multi-granularity wavelengths the traffic groom<strong>in</strong>g problem<br />

encompasses the rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> as subproblems. Hence<br />

traffic groom<strong>in</strong>g is at least as hard as the RWA problem, <strong>in</strong> particular, the traffic<br />

groom<strong>in</strong>g problem is NP-hard even <strong>in</strong> path networks [Dutta et al. (June, 2003)],<br />

where the RWA problem is optimally solved. The traffic groom<strong>in</strong>g problem was<br />

first pioneered <strong>in</strong> [Gerstel et al. (1998b); Gerstel et al. (1998a)] <strong>for</strong> r<strong>in</strong>gs with<br />

g = 1 <strong>and</strong> g > 1 respectively, <strong>and</strong> has been extensively studied <strong>for</strong> different network<br />

topologies <strong>and</strong> groom<strong>in</strong>g ratio g. For networks with g = 1 the problem was<br />

shown to be NP-complete <strong>for</strong> r<strong>in</strong>gs by [Eilam et al. (January 2002)]. Us<strong>in</strong>g a<br />

comb<strong>in</strong>ation of greedy <strong>and</strong> graph match<strong>in</strong>g techniques a 3/2-approximation algorithm<br />

is presented <strong>in</strong> [Căl<strong>in</strong>escu <strong>and</strong> Wan (2002)] <strong>for</strong> r<strong>in</strong>g topology. The latter is<br />

improved to approximation ratio 10/7+ɛ <strong>and</strong> 10/7 <strong>in</strong> [Shalom <strong>and</strong> Zaks (October<br />

2004)] <strong>and</strong> [Epste<strong>in</strong> <strong>and</strong> Lev<strong>in</strong> (September 2004)] respectively. For general topology,<br />

[Eilam et al. (January 2002)] describe a 8/5-approximation algorithm <strong>and</strong><br />

similarly <strong>in</strong> [Căl<strong>in</strong>escu et al. (January 2002)] a 3/2 + ɛ-approximation algorithm<br />

is presented.<br />

For networks with g > 1 the traffic groom<strong>in</strong>g problem was shown to be NPcomplete<br />

<strong>in</strong> [Chiu <strong>and</strong> Modiano (January 2000)] <strong>for</strong> r<strong>in</strong>gs topology <strong>and</strong> a general<br />

g, <strong>and</strong> [Zaks (2005)] gives NP-completeness results <strong>for</strong> r<strong>in</strong>g <strong>and</strong> path networks <strong>for</strong><br />

a general g <strong>and</strong> <strong>for</strong> any fixed value of g. In [Flamm<strong>in</strong>i et al. (December 2005)] an<br />

approximation algorithm with 2 ln g + o(ln g)-approximation factor is presented<br />

<strong>for</strong> r<strong>in</strong>g networks with arbitrary groom<strong>in</strong>g ratio g. The algorithm use a greedy<br />

approach to compute subsets of R of size at most g · k (where k is a parameter<br />

dependent on g) that can share a wavelength together with correspond<strong>in</strong>g<br />

weight, <strong>in</strong> turn an approximation algorithm <strong>for</strong> the m<strong>in</strong>imum weight set cover<br />

problem <strong>in</strong> [Chvátal (1979)] is used to f<strong>in</strong>d a set cover <strong>for</strong> R from the subsets obta<strong>in</strong>ed.<br />

The set cover is trans<strong>for</strong>med <strong>in</strong>to a partition by elim<strong>in</strong>at<strong>in</strong>g <strong>in</strong>tersections.<br />

It is also noted that the latter algorithm can be adapted to different network<br />

topologies. In [Zhang <strong>and</strong> Qiao (2000)] several greedy heuristics are presented<br />

<strong>for</strong> the traffic groom<strong>in</strong>g problem <strong>in</strong> r<strong>in</strong>g networks <strong>for</strong> arbitrary groom<strong>in</strong>g ratio<br />

g. An ILP <strong>for</strong>mulation <strong>for</strong> traffic groom<strong>in</strong>g <strong>in</strong> unidirectional r<strong>in</strong>gs is given <strong>in</strong><br />

[Dutta <strong>and</strong> Rouskas (January, 2002)] <strong>and</strong> a frame work of bounds (that can be<br />

used to evaluate the per<strong>for</strong>mance of heuristics), both upper <strong>and</strong> lower, on the<br />

44


2.5 Previous work<br />

optimal values of the amount of traffic electronically routed (requir<strong>in</strong>g ADM) <strong>in</strong><br />

the network is presented based on a successive decomposition of a r<strong>in</strong>g network<br />

<strong>in</strong>to few nodes. The decompositions are <strong>in</strong>dependently solved efficiently to obta<strong>in</strong><br />

partial solutions that are comb<strong>in</strong>ed us<strong>in</strong>g dynamic programm<strong>in</strong>g to obta<strong>in</strong> a<br />

sequence of bounds. For this network [Liu <strong>and</strong> Tobagi (June, 2004)] also present<br />

an ILP <strong>for</strong>mulation <strong>and</strong> trans<strong>for</strong>m <strong>in</strong>to a non-l<strong>in</strong>ear <strong>for</strong>mulation that is solved<br />

by decompos<strong>in</strong>g <strong>in</strong>to several smaller ILP subproblems to reduce the computation<br />

time.<br />

For special <strong>in</strong>stances <strong>in</strong>clud<strong>in</strong>g all-to-one <strong>and</strong> all-to-all [Chiu <strong>and</strong> Modiano<br />

(January 2000)] consider unidirectional r<strong>in</strong>gs <strong>and</strong> give optimal solutions <strong>for</strong> the<br />

all-to-one case with arbitrary g <strong>and</strong> <strong>for</strong> the all-to-all case with g = 1 <strong>and</strong> g =<br />

2 respectively. For all-to-all <strong>and</strong> distance dependent traffic they present lower<br />

bounds on the number of ADMs required <strong>and</strong> propose greedy heuristics <strong>for</strong> a<br />

general g that per<strong>for</strong>m close to the lower bound. Unidirectional r<strong>in</strong>gs with allto-all<br />

<strong>in</strong>stances <strong>and</strong> g = 4 <strong>and</strong> g = 16 respectively is considered <strong>in</strong> [Hu (January,<br />

2002)]. The traffic groom<strong>in</strong>g problem is solved exactly <strong>for</strong> g = 4 <strong>and</strong> us<strong>in</strong>g<br />

m<strong>in</strong>imum number of wavelengths. For g = 16 an optimal solution is achieved<br />

<strong>for</strong> r<strong>in</strong>gs with at most 15 nodes <strong>and</strong> a heuristic algorithm is proposed <strong>for</strong> large<br />

r<strong>in</strong>gs. In addition they Conjecture a lower bound <strong>for</strong> g = 16 which is disproved <strong>in</strong><br />

[Bermond <strong>and</strong> Coudert (May 2003)]. Among other results [Bermond <strong>and</strong> Coudert<br />

(May 2003)] also def<strong>in</strong>e the problem of m<strong>in</strong>imiz<strong>in</strong>g the number of ADMs <strong>for</strong> the<br />

unidirectional r<strong>in</strong>gs with n nodes <strong>and</strong> groom<strong>in</strong>g ratio g as follows:<br />

partition<br />

the edges of the complete graph on n nodes (K n ) <strong>in</strong>to W subgraphs B λ ,λ =<br />

1, 2, . . . , W , hav<strong>in</strong>g |E(B λ )| edges <strong>and</strong> |V (B λ )| nodes with |E(B λ )| ≤ g <strong>and</strong> where<br />

∑ W<br />

λ=1 |V (B λ)| has to be m<strong>in</strong>imized (the edges of K n correspond to the circles<br />

(also circuits), the subgraphs B λ correspond to the wavelengths <strong>and</strong> a vertex<br />

of B λ corresponds to an ADM), <strong>and</strong> results from design theory [Colbourn <strong>and</strong><br />

D<strong>in</strong>itz (1996)] is used to obta<strong>in</strong> optimal <strong>and</strong> quasi-optimal results <strong>for</strong> various<br />

values of n <strong>and</strong> g, respectively (also <strong>in</strong> [Bermond et al. (2003)]). Furthermore,<br />

design theory is used <strong>in</strong> [Bermond <strong>and</strong> Ceroi (2003)] to solved exactly the case<br />

g = 3 <strong>for</strong> unidirectional r<strong>in</strong>gs, <strong>and</strong> they obta<strong>in</strong> partial results <strong>for</strong> the cases g = 5<br />

<strong>and</strong> g = 6 (also give a simpler method to solve the case g = 4 also considered <strong>in</strong><br />

[Hu (January, 2002)]). In [Bermond et al.] results from K 4 − e-designs are used<br />

45


2.6 Our contributions<br />

to obta<strong>in</strong> optimal constructions <strong>for</strong> the case g = 5 (except when n ∈ {5, 7, 8}),<br />

<strong>and</strong> <strong>in</strong> addition show that it is possible <strong>for</strong> the m<strong>in</strong>imum number of ADMs to be<br />

realized by only groom<strong>in</strong>g with more than the m<strong>in</strong>imum number of wavelengths<br />

contrary to a Conjecture given <strong>in</strong> [Chiu <strong>and</strong> Modiano (January 2000)]. The cases<br />

g = 1 <strong>and</strong> g = 2 are also shown to be trivially solvable. In [Bermond et al.<br />

(2005)], the case g = 6 is settled <strong>for</strong> most values of n <strong>and</strong> quasi-optimal solution<br />

<strong>for</strong> the few exceptions. The design theory is also used to solve exactly the traffic<br />

groom<strong>in</strong>g problem <strong>for</strong> bidirectional r<strong>in</strong>gs with all-to-all <strong>in</strong>stances <strong>and</strong> g = 8 <strong>in</strong><br />

[Colbourn <strong>and</strong> Wan (2001)], <strong>and</strong> <strong>for</strong> unidirectional path networks with all-to-all<br />

<strong>in</strong>stances <strong>and</strong> g = 2 <strong>in</strong> [Bermond et al. (June 2005)] (the case g = 1 is also solved<br />

exactly).<br />

2.6 Our contributions<br />

In this thesis we present improved algorithms <strong>and</strong> heuristics <strong>for</strong> <strong>allocation</strong> of network<br />

b<strong>and</strong>width (wavelength) <strong>for</strong> different network topologies. For r<strong>in</strong>g networks<br />

we propose different heuristics <strong>for</strong> wavelength <strong>allocation</strong> <strong>for</strong> networks with/no use<br />

of wavelength conversion. For undirected r<strong>in</strong>gs with no wavelength conversion we<br />

proposed various heuristics <strong>for</strong> the wavelength <strong>allocation</strong> problem <strong>in</strong> [Justo <strong>and</strong><br />

Radzik (July, 2005b)], <strong>and</strong> experimentally show to improve upon those <strong>in</strong> [Carpenter<br />

<strong>and</strong> Cosares (2002)]. We proposed heuristics <strong>for</strong> wavelength <strong>allocation</strong> <strong>in</strong><br />

undirected r<strong>in</strong>gs with cluster wavelength conversion <strong>in</strong> [Justo <strong>and</strong> Radzik (July,<br />

2005a)], where we adapted the heuristics <strong>for</strong> r<strong>in</strong>gs without wavelength conversion<br />

<strong>and</strong> the wavelength conversion framework used by the algorithm <strong>for</strong> this problem<br />

given <strong>in</strong> [Cavendish <strong>and</strong> Sengupta (2002)]. Our heuristics were compared to<br />

those <strong>in</strong> [Cavendish <strong>and</strong> Sengupta (2002)] <strong>and</strong> showed significant improvement<br />

<strong>in</strong> terms of the number of wavelengths used <strong>and</strong> the number of wavelength conversions<br />

per<strong>for</strong>med. In [Justo <strong>and</strong> Radzik (July, 2005b)] we also extended the<br />

heuristics <strong>for</strong> r<strong>in</strong>gs to tree of r<strong>in</strong>gs networks, <strong>and</strong> experimentally compared to<br />

the approximation algorithms <strong>for</strong> the WA problem <strong>for</strong> tree of r<strong>in</strong>gs presented <strong>in</strong><br />

[Bian et al. (June 2004)]. Our heuristics showed a very good wavelength utilization<br />

compared to the approximation algorithms.<br />

46


2.6 Our contributions<br />

We reviewed the results <strong>in</strong> [Ramaswami <strong>and</strong> Sasaki (December 1998)] <strong>for</strong><br />

s<strong>in</strong>gle-fiber r<strong>in</strong>g networks <strong>and</strong> showed that at least two nodes with degree 2 limited<br />

conversion capabilities are necessary to realize optimal b<strong>and</strong>width utilization<br />

<strong>for</strong> s<strong>in</strong>gle-fiber r<strong>in</strong>g [Justo <strong>and</strong> Radzik (July, 2004)]. That is, we showed the existence<br />

of <strong>in</strong>stances of load at most L that cannot be satisfied us<strong>in</strong>g L wavelengths<br />

if the s<strong>in</strong>gle-fiber r<strong>in</strong>g network has degree two conversion capabilities at only one<br />

node. Furthermore, we extended the results of [Ramaswami <strong>and</strong> Sasaki (December<br />

1998)] <strong>for</strong> PW s<strong>in</strong>gle-fiber r<strong>in</strong>gs to k-fiber r<strong>in</strong>gs (multi-fiber r<strong>in</strong>gs that use<br />

k > 1 fibers per l<strong>in</strong>k), us<strong>in</strong>g low degree limited wavelength conversion capabilities.<br />

We showed optimal wavelength utilization <strong>for</strong> any k-fiber r<strong>in</strong>g where one<br />

node has limited wavelength conversion capabilities of degree two. Similarly, we<br />

showed the same results <strong>for</strong> k-fiber r<strong>in</strong>gs where two nodes have fixed conversion<br />

capabilities.<br />

We considered the problem of m<strong>in</strong>imiz<strong>in</strong>g the number of total optical fibers<br />

sufficient to satisfy a given <strong>in</strong>stance on a multi-fiber tree network (i.e., a tree<br />

network that allows more than one optical fiber per l<strong>in</strong>k) <strong>in</strong> [Justo (2003)]. We<br />

adapted the techniques used <strong>in</strong> [Nomikos et al. (2001)], <strong>and</strong> among other results,<br />

proposed a 2-approximation algorithm <strong>for</strong> spider-tree (<strong>in</strong>dependently also is given<br />

<strong>in</strong> [Potika et al. (Nicosia, Cyprus, Nov 8–10, 2001)]), <strong>and</strong> a 4-approximation algorithm<br />

<strong>for</strong> a tree such that any path has at most three nodes of degrees greater<br />

than 2. We studied the traffic groom<strong>in</strong>g problem (comb<strong>in</strong><strong>in</strong>g low rate traffic to<br />

share a high b<strong>and</strong>width wavelength) <strong>for</strong> networks with multi-granularity wavelengths.<br />

We considered path networks with groom<strong>in</strong>g ratio 2 <strong>in</strong> [Justo <strong>and</strong> Radzik<br />

(March, 2006)] <strong>and</strong> proposed heuristics <strong>for</strong> groom<strong>in</strong>g arbitrary <strong>in</strong>stances with unit<br />

rate requests, us<strong>in</strong>g edge decomposition <strong>and</strong> <strong>in</strong>terval partition methods. These<br />

heuristics extend the results <strong>in</strong> [Bermond et al. (June 2005)], where they considered<br />

the traffic groom<strong>in</strong>g problem <strong>for</strong> this network but with all-to-all <strong>in</strong>stances.<br />

The groom<strong>in</strong>g heuristics we proposed were extended to path networks with arbitrary<br />

groom<strong>in</strong>g ratios. For path networks with all-to-all <strong>in</strong>stances on unit rate<br />

requests <strong>and</strong> groom<strong>in</strong>g ratio 3 we present results which imply a groom<strong>in</strong>g algorithm<br />

with asymptotic ratio 1.07.<br />

We studied r<strong>in</strong>g networks with groom<strong>in</strong>g ratio 2 <strong>and</strong> proposed a traffic groom<strong>in</strong>g<br />

heuristic <strong>for</strong> arbitrary <strong>in</strong>stances with unit rate requests <strong>in</strong> [Justo <strong>and</strong> Radzik<br />

47


2.6 Our contributions<br />

(June, 2006)]. This heuristic also uses the edge decomposition based heuristic <strong>in</strong><br />

[Justo <strong>and</strong> Radzik (March, 2006)]. Us<strong>in</strong>g weighted match<strong>in</strong>g techniques we apply<br />

the algorithms <strong>in</strong> [Zhang <strong>and</strong> Qiao (2000)] <strong>and</strong> [Căl<strong>in</strong>escu <strong>and</strong> Wan (2002)] to<br />

r<strong>in</strong>g networks with groom<strong>in</strong>g ratio 2, <strong>and</strong> experimentally compare their groom<strong>in</strong>g<br />

per<strong>for</strong>mance to our heuristic. Our heuristic showed improved per<strong>for</strong>mance <strong>for</strong><br />

most <strong>in</strong>stances.<br />

48


Chapter 3<br />

Undirected R<strong>in</strong>gs<br />

We study the wavelength <strong>allocation</strong> problem <strong>for</strong> undirected r<strong>in</strong>gs <strong>and</strong> propose<br />

heuristics that improve upon those presented <strong>in</strong> [Carpenter <strong>and</strong> Cosares (2002)].<br />

Our algorithms are experimentally compared with the best per<strong>for</strong>mance algorithm<br />

<strong>in</strong> [Carpenter <strong>and</strong> Cosares (2002)], show<strong>in</strong>g an improvement <strong>in</strong> m<strong>in</strong>imiz<strong>in</strong>g<br />

number of wavelengths requirement of up to 11%. For the rout<strong>in</strong>g decisions we<br />

use the shortest path rout<strong>in</strong>g <strong>and</strong> the load balanc<strong>in</strong>g rout<strong>in</strong>g described <strong>in</strong> Section<br />

2.4.2. For the wavelength <strong>allocation</strong>, we propose heuristics which adapt the algorithm<br />

presented <strong>in</strong> [Hendren et al. (1993)] <strong>for</strong> register <strong>allocation</strong> problem (RAP)<br />

<strong>for</strong> a certa<strong>in</strong> class of structured programs.<br />

The RAP is modeled <strong>in</strong> [Hendren et al. (1993)] as the problem of colour<strong>in</strong>g<br />

cyclic <strong>in</strong>terval graphs. A m<strong>in</strong>imal colour<strong>in</strong>g <strong>for</strong> the cyclic <strong>in</strong>terval graphs corresponds<br />

to a m<strong>in</strong>imal register <strong>allocation</strong> on the program variables. The RAP<br />

algorithm <strong>for</strong> structured programs <strong>in</strong> [Hendren et al. (1993)] is called the fat cover<br />

algorithm <strong>and</strong> seeks to f<strong>in</strong>d a colour<strong>in</strong>g of the circular arc graph obta<strong>in</strong>ed from a<br />

given <strong>in</strong>stance of RAP with small number of colours.<br />

In Section 3.1 we review <strong>in</strong> more detail the register <strong>allocation</strong> problem considered<br />

by [Hendren et al. (1993)], <strong>and</strong> <strong>in</strong> Section 3.2 we describe their fat cover<br />

algorithm. In Section 3.3 we describe our adaptation of the algorithm of [Hendren<br />

et al. (1993)] to the wavelength <strong>allocation</strong> problem <strong>for</strong> r<strong>in</strong>g networks. In Section<br />

3.4 we review the wavelength <strong>allocation</strong> algorithms proposed by [Carpenter <strong>and</strong><br />

Cosares (2002)]. F<strong>in</strong>ally, <strong>in</strong> Section 3.5, we present experimental results which<br />

49


3.1 RAP model <strong>for</strong> structured programs<br />

compare per<strong>for</strong>mance of our algorithms with the best of the algorithms proposed<br />

by [Carpenter <strong>and</strong> Cosares (2002)].<br />

3.1 RAP model <strong>for</strong> structured programs<br />

[Hendren et al. (1993)] consider a structured program iterat<strong>in</strong>g over a loop. Figure<br />

3.1 (a) gives an example of such a program. In this example the loop has four<br />

<strong>in</strong>structions <strong>and</strong> uses four scalar variables, w, x, y <strong>and</strong> z. Each variable has a<br />

live range, which is a sequence of <strong>in</strong>tervals correspond<strong>in</strong>g to different iterations<br />

of the loop. Consider <strong>for</strong> example variable z. For the first iteration, z is def<strong>in</strong>ed<br />

outside the loop <strong>and</strong> ”dies” at <strong>in</strong>struction 2 with<strong>in</strong> the loop. This period is the<br />

first <strong>in</strong>terval of the life range of variable z. Subsequently, <strong>for</strong> each iteration i of<br />

the loop, z is def<strong>in</strong>ed <strong>in</strong> <strong>in</strong>struction 4 of this iteration, <strong>and</strong> is live between this<br />

def<strong>in</strong>ition <strong>and</strong> the use of z <strong>in</strong> <strong>in</strong>struction 2 of the next iteration. The <strong>in</strong>terval graph<br />

<strong>in</strong> Figure 3.1 (b) represents the live ranges <strong>for</strong> the program variables <strong>in</strong> Figure<br />

3.1 (a) captur<strong>in</strong>g the regular periodic nature of variables. The horizontal axis<br />

represents the <strong>in</strong>struction numbers of the loop, <strong>and</strong> the vertical axis represents<br />

the variables <strong>in</strong> the loop. A solid circle designates a po<strong>in</strong>t when the variable is<br />

def<strong>in</strong>ed (obta<strong>in</strong>s a new value) <strong>and</strong> a cross designates a po<strong>in</strong>t when the current<br />

value of the variable is used <strong>for</strong> the last time. For example w is def<strong>in</strong>ed <strong>in</strong><br />

<strong>in</strong>struction 1 <strong>and</strong> is last used <strong>in</strong> <strong>in</strong>struction 3.<br />

<strong>for</strong> i = 1 to n {<br />

w = y * 10; (1)<br />

w<br />

1 period 1 period<br />

X<br />

X<br />

x = z * 20; (2)<br />

y = w + 5; (3)<br />

z = x + y; (4)<br />

}<br />

x<br />

y<br />

z<br />

X<br />

1<br />

X<br />

X<br />

X X<br />

2 3 4<br />

X<br />

X<br />

X<br />

(a) A loop program<br />

(b) An <strong>in</strong>terval graph<br />

Figure 3.1: A loop program <strong>and</strong> correspond<strong>in</strong>g <strong>in</strong>terval graph.<br />

50


3.1 RAP model <strong>for</strong> structured programs<br />

In Figure 3.1 (b), the live range of a loop variable is represented as a periodic<br />

<strong>in</strong>terval: a sequence of <strong>in</strong>tervals that are equally spaced <strong>in</strong> time by some period<br />

(<strong>for</strong> the loop variables a period corresponds to one iteration). Observe that the<br />

same variable can be re-def<strong>in</strong>ed several times with<strong>in</strong> the same iteration. The life<br />

range of such a variable consists of a number of periodic non-overlapp<strong>in</strong>g <strong>in</strong>tervals.<br />

If the loop has j <strong>in</strong>structions, then one periodic <strong>in</strong>terval can be characterized by<br />

one or two <strong>in</strong>tervals conta<strong>in</strong>ed <strong>in</strong> the <strong>in</strong>terval [0, j + 1] represent<strong>in</strong>g one iteration<br />

of the loop. The numbers 1, 2, . . ., j represent the consecutive <strong>in</strong>structions with<strong>in</strong><br />

the loop, while the numbers 0 <strong>and</strong> j + 1 provide the overlap po<strong>in</strong>t <strong>for</strong> successive<br />

iterations. An <strong>in</strong>terval is denoted by [t, t ′ ] if the program variable is alive at both<br />

time po<strong>in</strong>ts t <strong>and</strong> t ′ , <strong>and</strong> is denoted by [t, t ′ ) if after time t ′ the program variable<br />

is no longer alive. For example, the live ranges of variables w <strong>and</strong> x do not extend<br />

across the loop boundary between iterations, thus, each can be expressed as one<br />

<strong>in</strong>terval, [1 : 3) <strong>and</strong> [2 : 4) <strong>for</strong> w <strong>and</strong> x respectively. The variables y <strong>and</strong> z, on the<br />

other h<strong>and</strong>, are def<strong>in</strong>ed <strong>in</strong> one iteration <strong>and</strong> used <strong>in</strong> the next, thus its live range<br />

is represented as a pair of <strong>in</strong>tervals, ([0 : 1), [3 : 5]) <strong>and</strong> ([0 : 2), [4, 5]) <strong>for</strong> y <strong>and</strong> z<br />

respectively. Note that the <strong>in</strong>terval [0 : 1) <strong>for</strong> y <strong>and</strong> [0 : 2) <strong>for</strong> z is viewed as an<br />

extension of the <strong>in</strong>terval [3 : 5] <strong>and</strong> [4 : 5] respectively, that is wrapped around<br />

to fit <strong>in</strong> one period. Such a wrapped <strong>in</strong>terval is referred to as a cyclic <strong>in</strong>terval.<br />

Figure 3.2 (a) shows the cyclic <strong>in</strong>terval representation <strong>for</strong> Figure 3.1 (b).<br />

w<br />

x<br />

y<br />

z<br />

[1,3)<br />

w<br />

x<br />

[2,4)<br />

x x<br />

4<br />

[0,1)<br />

[3,5]<br />

x<br />

y<br />

[0,2)<br />

[4,5]<br />

x<br />

x<br />

z 3<br />

0 1 2 3 4 5<br />

y<br />

5;0<br />

2<br />

z<br />

w<br />

1<br />

y<br />

z<br />

x<br />

w<br />

(a) A cyclic <strong>in</strong>terval graph<br />

(b) A circular arc graph<br />

(c) An <strong>in</strong>terference graph<br />

Figure 3.2: A cyclic <strong>in</strong>terval graph <strong>and</strong> correspond<strong>in</strong>g circular arc graph <strong>and</strong><br />

<strong>in</strong>terference graph.<br />

A graph G(V, E) is a circular-arc graph (an <strong>in</strong>terval graph) if its vertices can<br />

be put <strong>in</strong> a one-to-one correspondence with a set F (S) of circular arcs (<strong>in</strong>tervals)<br />

51


3.1 RAP model <strong>for</strong> structured programs<br />

on a unit circle (real l<strong>in</strong>e) such that two vertices are adjacent <strong>in</strong> G if <strong>and</strong> only<br />

if their correspond<strong>in</strong>g circular-arcs (<strong>in</strong>tervals) have nonempty <strong>in</strong>tersection, see<br />

the <strong>in</strong>terference graph <strong>in</strong> Figure 3.2 (c), <strong>for</strong> example. Such a set F (S) is called<br />

a circular-arc (<strong>in</strong>terval) model of the circular-arc graph (<strong>in</strong>terval graph). In the<br />

follow<strong>in</strong>g the set F (S) of circular-arcs on a unit circle is also referred to as circulararc<br />

graph denoted by G CAG , <strong>for</strong> example, the circular arcs {w, x, y, z} <strong>in</strong> Figure<br />

3.2 (b).<br />

A time (po<strong>in</strong>t) t on a unit circle of G CAG is covered by an <strong>in</strong>terval [t 1 , t ′ 1),<br />

if t 1 ≤ t < t ′ 1, or by an <strong>in</strong>terval [t 1 , t ′ 1], if t 1 ≤ t ≤ t ′ 1. A pair of <strong>in</strong>tervals of<br />

G CAG overlaps if there exists a po<strong>in</strong>t t ∈ G CAG that is covered by both <strong>in</strong>tervals.<br />

A circular-arc graph G CAG is constructed from the program variables such that<br />

an arc <strong>in</strong> G CAG corresponds to the live range of the value of a program variable<br />

<strong>and</strong> an overlap between two arcs <strong>in</strong> G CAG represents <strong>in</strong>terference between the<br />

live ranges of two program variables. Figure 3.2 (b) shows a circular-arc graph<br />

modeled by cyclic <strong>in</strong>tervals of Figure 3.2 (a).<br />

Let t 0 be a po<strong>in</strong>t <strong>in</strong> the constructed G CAG represent<strong>in</strong>g the overlap of the<br />

successive iterations (i.e., the entry <strong>and</strong> exit po<strong>in</strong>t <strong>for</strong> different iterations). Only<br />

a program variable with live range that extends over two successive iterations<br />

leads to an <strong>in</strong>terval that covers t 0 <strong>in</strong> G CAG , referred to as a cyclic <strong>in</strong>terval. In<br />

Figure 3.2 (b) the arc set {y, z} constitute a set of cyclic <strong>in</strong>tervals where the<br />

po<strong>in</strong>t 5; 0 correspond to the po<strong>in</strong>t t 0 . Let t be any po<strong>in</strong>t <strong>in</strong> G CAG . The width<br />

of G CAG at a po<strong>in</strong>t t, w(G CAG , t), is the number of <strong>in</strong>tervals <strong>in</strong> G CAG cover<strong>in</strong>g<br />

t. The maximum width of G CAG , w max (G CAG ), is the maximum w(G CAG , t) over<br />

all po<strong>in</strong>ts t <strong>in</strong> G CAG . Analogously, the m<strong>in</strong>imum width, w m<strong>in</strong> (G CAG ), is the<br />

m<strong>in</strong>imum w(G CAG , t) over all po<strong>in</strong>ts t <strong>in</strong> G CAG .<br />

If no cyclic <strong>in</strong>terval exists <strong>in</strong> a circular arc graph, then the circular arc graph<br />

is isomorphic to an <strong>in</strong>terval graph (i.e., <strong>in</strong>terference graph <strong>for</strong> a set of <strong>in</strong>tervals on<br />

a real l<strong>in</strong>e). Interval graphs can be optimally coloured us<strong>in</strong>g a greedy algorithm<br />

that proceeds along the l<strong>in</strong>e from left to right <strong>and</strong> assigns the first non-conflict<strong>in</strong>g<br />

colour to each new <strong>in</strong>terval encountered. The colour<strong>in</strong>g obta<strong>in</strong>ed this way shows<br />

that the chromatic number of an <strong>in</strong>terval graph is equal to its maximum width<br />

[Golumbic (1980)]. On the other h<strong>and</strong> f<strong>in</strong>d<strong>in</strong>g a m<strong>in</strong>imum colour<strong>in</strong>g <strong>for</strong> circulararc<br />

graph is NP-hard, as <strong>in</strong> general graph colour<strong>in</strong>g problem [Garey et al. (1980)].<br />

52


3.2 Fat cover algorithm <strong>for</strong> RAP<br />

The chromatic number of a circular arc graph is related to its width as given <strong>in</strong><br />

the follow<strong>in</strong>g theorem.<br />

Theorem 1 (Hendren et al. (1993)) Let G CAG be a circular arc graph. Then<br />

G CAG can be coloured us<strong>in</strong>g k colours, such that w max (G CAG ) ≤ k ≤ w max (G CAG )+<br />

w m<strong>in</strong> (G CAG ).<br />

3.2 Fat cover algorithm <strong>for</strong> RAP<br />

We describe the fat cover algorithm <strong>for</strong> RAP on structured programs due to<br />

[Hendren et al. (1993)], which colours the constructed circular-arc graph G CAG .<br />

A po<strong>in</strong>t t of G CAG is a fat po<strong>in</strong>t if w(G CAG , t) = w max (G CAG ). Let fp(G CAG )<br />

be a collection of all fat po<strong>in</strong>ts <strong>in</strong> G CAG . A fat cover F (I) <strong>for</strong> G CAG relative to<br />

an <strong>in</strong>terval I ∈ G CAG is a subset of <strong>in</strong>tervals of G CAG such that the follow<strong>in</strong>g<br />

properties hold.<br />

1. I ∈ F (I).<br />

2. No two <strong>in</strong>tervals <strong>in</strong> F (I) cover the same po<strong>in</strong>t t ∈ G CAG .<br />

3. Every fat po<strong>in</strong>t t ∈ fp(G CAG ) is covered by some <strong>in</strong>terval <strong>in</strong> F (I).<br />

It is noted <strong>in</strong> [Hendren et al. (1993)] that a fat cover F (I) can be found greedily<br />

(us<strong>in</strong>g left to right traversal of the cyclic <strong>in</strong>terval graph) if one exists. The third<br />

property implies that remov<strong>in</strong>g the <strong>in</strong>tervals of any fat cover F (I) from G CAG<br />

decreases the maximum width w max (G CAG ) by 1. The fat cover algorithm takes<br />

as <strong>in</strong>put the graph G CAG . Let the subset of <strong>in</strong>tervals of G CAG cover<strong>in</strong>g the po<strong>in</strong>t<br />

t 0 (i.e., cyclic <strong>in</strong>tervals) be labeled I c1 , I c2 , . . . , I cm , <strong>for</strong> m ≥ 0. The <strong>in</strong>tervals <strong>in</strong><br />

G CAG are coloured as follows.<br />

1. For 1 ≤ i ≤ m, f<strong>in</strong>d a fat cover F (I ci ) with respect to a cyclic <strong>in</strong>terval I ci . If<br />

such cover exists then apply a new colour to colour the <strong>in</strong>tervals <strong>in</strong> F (I ci ).<br />

2. Colour any rema<strong>in</strong><strong>in</strong>g cyclic <strong>in</strong>terval us<strong>in</strong>g a new colour.<br />

3. The rema<strong>in</strong><strong>in</strong>g uncolored <strong>in</strong>tervals of G CAG <strong>for</strong>m an <strong>in</strong>terval graph. Apply<br />

the algorithm <strong>in</strong> [Golumbic (1980)] <strong>for</strong> <strong>in</strong>terval graph colour<strong>in</strong>g us<strong>in</strong>g a new<br />

set of colours (that is, colours not used yet).<br />

53


3.3 <strong>Wavelength</strong> <strong>allocation</strong> by pivot based algorithms<br />

3.3 <strong>Wavelength</strong> <strong>allocation</strong> by pivot based algorithms<br />

In this subsection we describe our adaptation of the fat cover algorithm <strong>for</strong> RAP<br />

to the WA problem <strong>for</strong> r<strong>in</strong>gs. The fat cover algorithm needs a dist<strong>in</strong>guished po<strong>in</strong>t<br />

t 0 on the circle to def<strong>in</strong>e cyclic <strong>in</strong>tervals. We do not have such a po<strong>in</strong>t on our<br />

optical r<strong>in</strong>g network. Nevertheless, there is a clear analogy between concepts used<br />

by the fat cover algorithm <strong>and</strong> that <strong>for</strong> colour<strong>in</strong>g requests of a r<strong>in</strong>g network. Given<br />

a rout<strong>in</strong>g R <strong>for</strong> an <strong>in</strong>stance I on a r<strong>in</strong>g network N, we can create the follow<strong>in</strong>g<br />

circular arc graph G CAG . The arcs <strong>in</strong> G CAG correspond to a set of paths <strong>in</strong> R<br />

<strong>and</strong> po<strong>in</strong>ts <strong>in</strong> G CAG correlate with the l<strong>in</strong>ks of N, labeled e 0 , e 1 , . . . , e n−1 , <strong>for</strong> a<br />

r<strong>in</strong>g network with n l<strong>in</strong>ks. The maximum width w max (G CAG ) <strong>for</strong> a circular arc<br />

graph G CAG corresponds to the load L on a r<strong>in</strong>g network N. A fat po<strong>in</strong>t on G CAG<br />

corresponds to an edge of N traversed by L requests. Likewise, a collection of<br />

fat po<strong>in</strong>ts fp(G CAG ) on G CAG correlate to a set of edges of N traversed by L<br />

requests.<br />

In analogy to fat covers <strong>in</strong> circular arc graphs, we def<strong>in</strong>e a pivot cover P (r)<br />

relative to a request r (called pivot request) on a r<strong>in</strong>g network N as a maximal<br />

subset of requests <strong>in</strong> N that satisfy the follow<strong>in</strong>g properties.<br />

1. r ∈ P (r).<br />

2. No two requests <strong>in</strong> P (r) share any l<strong>in</strong>k of N.<br />

Note that the notion of a pivot cover of N is weaker than the notion of a fat cover<br />

of G CAG . Unlike <strong>in</strong> a fat cover where every fat po<strong>in</strong>t is covered by an <strong>in</strong>terval<br />

of a fat cover, requests on a pivot cover may not necessarily traverse every edge<br />

crossed by L requests. That is, a pivot cover does not guarantee to decrease by<br />

1 the network load <strong>for</strong> the rema<strong>in</strong><strong>in</strong>g requests <strong>in</strong> N.<br />

3.3.1 F<strong>in</strong>d<strong>in</strong>g pivot covers<br />

We denote an undirected request rout<strong>in</strong>g path (i, i + 1, i + 2, . . . , j) (where the<br />

additions are modulo n) by (i, j). We consider pivot covers P (r) found <strong>in</strong> the<br />

follow<strong>in</strong>g natural greedy way.<br />

54


3.3 <strong>Wavelength</strong> <strong>allocation</strong> by pivot based algorithms<br />

1. Given the pivot request r = (i, j), P (r) ← {(i, j)}.<br />

2. Let (i 1 , j 1 ), (i 2 , j 2 ), . . . , (i k , j k ) be the requests, <strong>in</strong> clockwise orientation, already<br />

added to P (r). If there is a request (x, y) between j k <strong>and</strong> i 1 (x can<br />

be j k <strong>and</strong> y can be i 1 ), then from among such requests select one which x<br />

is closest to j k . Break ties by tak<strong>in</strong>g the longest possible request (with y<br />

closest to i 1 ). P (r) ← P (r) ∪ {(x, y)}. Otherwise, return P (r).<br />

3. Repeat Step 2.<br />

The WA algorithms which we propose use the pivot cover algorithm as a subrout<strong>in</strong>e.<br />

They repeatedly f<strong>in</strong>d a pivot cover P (r) with respect to a request r from<br />

uncoloured requests <strong>and</strong> assign requests <strong>in</strong> P (r) a new colour. Different selection<br />

criteria <strong>for</strong> a pivot request def<strong>in</strong>e different variants of our heuristic algorithm <strong>for</strong><br />

wavelength <strong>allocation</strong> on r<strong>in</strong>g networks. Our proposed heuristics select a longest<br />

uncoloured request as pivot request. S<strong>in</strong>ce long requests are difficult to colour,<br />

giv<strong>in</strong>g priority to such requests may enhance the colour<strong>in</strong>g per<strong>for</strong>mance. Let q be<br />

number of requests <strong>in</strong> N that rema<strong>in</strong> to be considered. As Step 2 <strong>in</strong>dicates, the<br />

next request to be selected <strong>in</strong>to the pivot cover P (r) requires O(q) operations <strong>in</strong><br />

the worst case. Thus the pivot based WA algorithms require O(|R| 2 ) operations<br />

<strong>in</strong> the worst case, where |R| is the <strong>in</strong>stance size.<br />

We propose a WA algorithm called longest pivot algorithm (LPA) that takes<br />

as <strong>in</strong>put the rout<strong>in</strong>g R <strong>for</strong> an <strong>in</strong>stance I on the r<strong>in</strong>g network N. The algorithm<br />

colours requests <strong>in</strong> N as follows.<br />

1. While some uncoloured requests rema<strong>in</strong> <strong>in</strong> N,<br />

(a) Select a longest uncoloured request r from N as pivot request<br />

(b) F<strong>in</strong>d a pivot cover P(r) with respect to r.<br />

(c) Assign requests <strong>in</strong> P (r) a new colour.<br />

Next we propose a WA algorithm called fixed pivot algorithm (FPA) which<br />

uses a pivot request selection rule that is based on fix<strong>in</strong>g a l<strong>in</strong>k, referred to<br />

as the pivot l<strong>in</strong>k. That is the FPA algorithm selects a pivot request from among<br />

uncoloured requests travers<strong>in</strong>g the pivot l<strong>in</strong>k. Suppose that after a certa<strong>in</strong> number<br />

55


3.3 <strong>Wavelength</strong> <strong>allocation</strong> by pivot based algorithms<br />

of colour<strong>in</strong>g iterations no more uncoloured requests traverse the pivot l<strong>in</strong>k. If all<br />

requests have been already colored, then we are done. Otherwise, observe that<br />

the rema<strong>in</strong><strong>in</strong>g uncoloured requests do not traverse the pivot l<strong>in</strong>k, so they can be<br />

considered as requests of a path network. We use the <strong>in</strong>terval graph algorithm <strong>in</strong><br />

[Golumbic (1980)] to colour these requests with optimal number of colours. The<br />

FPA algorithm is described <strong>in</strong> detail <strong>in</strong> the next Section 3.3.2.<br />

3.3.2 Fixed pivot algorithm<br />

The Fixed pivot algorithm (FPA) takes the <strong>in</strong>put as <strong>in</strong> the LPA <strong>in</strong> Section ??,<br />

<strong>and</strong> dist<strong>in</strong>guished l<strong>in</strong>k as the pivot l<strong>in</strong>k. Requests are coloured <strong>in</strong> two phases as<br />

follows.<br />

1. While some uncoloured requests traverse the pivot l<strong>in</strong>k,<br />

(a) Select a longest request r from among uncoloured requests travers<strong>in</strong>g<br />

the pivot l<strong>in</strong>k <strong>in</strong> N as pivot request.<br />

(b) F<strong>in</strong>d a pivot cover P(r) with respect to r<br />

(c) Assign requests <strong>in</strong> P (r) a new colour.<br />

2. The rema<strong>in</strong><strong>in</strong>g requests correspond to requests of a path network. Use the<br />

<strong>in</strong>terval graph algorithm [Golumbic (1980)] us<strong>in</strong>g a new set of colours (that<br />

is, colours not used yet).<br />

We consider the fixed pivot algorithm with a l<strong>in</strong>k traversed by the m<strong>in</strong>imum<br />

number of requests as the pivot l<strong>in</strong>k, <strong>and</strong> denote it m<strong>in</strong>FPA. The follow<strong>in</strong>g lemma<br />

gives the lower <strong>and</strong> upper bounds on the number of colours used by this algorithm.<br />

Lemma 1 For a set R of request paths <strong>in</strong> a r<strong>in</strong>g network, let L denote the load<br />

of the network <strong>and</strong> L 0 the m<strong>in</strong>imum number of requests travers<strong>in</strong>g the same l<strong>in</strong>k.<br />

The m<strong>in</strong>FPA algorithm colours the requests <strong>in</strong> R us<strong>in</strong>g W colours such that L ≤<br />

W ≤ L + L 0 .<br />

Proof : Clearly, if the m<strong>in</strong>FPA algorithm colours all network requests <strong>in</strong> Phase<br />

1 then L colours are sufficient s<strong>in</strong>ce the pivot l<strong>in</strong>k is traversed by at most L requests.<br />

On the other h<strong>and</strong>, by choos<strong>in</strong>g a pivot l<strong>in</strong>k with L 0 requests, the m<strong>in</strong>FPA<br />

56


3.4 Dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slott<strong>in</strong>g<br />

algorithm uses L 0 colours dur<strong>in</strong>g Phase 1, <strong>and</strong> at most L requests travers<strong>in</strong>g any<br />

network l<strong>in</strong>k dur<strong>in</strong>g Phase 2. The rema<strong>in</strong><strong>in</strong>g requests can be coloured optimally <strong>in</strong><br />

Phase 2 us<strong>in</strong>g at most L new colours by the <strong>in</strong>terval graph algorithm <strong>in</strong> [Golumbic<br />

(1980)].<br />

Lemma 1, implies a 2-approximation worst case per<strong>for</strong>mance guarantee <strong>for</strong> the<br />

m<strong>in</strong>FPA algorithm. In fact, select<strong>in</strong>g any l<strong>in</strong>k as pivot gives a 2-approximation<br />

algorithm. Select<strong>in</strong>g a l<strong>in</strong>k with the m<strong>in</strong>imum load L 0 as the pivot l<strong>in</strong>k is based<br />

on the <strong>in</strong>tuition that it should be a good idea to try to reach quickly a po<strong>in</strong>t when<br />

the rema<strong>in</strong><strong>in</strong>g uncolored requests <strong>for</strong>m an <strong>in</strong>terval graph which can be coloured<br />

optimally. This selection, however, is only a heuristic <strong>and</strong> does not guarantee<br />

the overall optimal color<strong>in</strong>g. If the r<strong>in</strong>g network size n is small (practical r<strong>in</strong>gs<br />

typically conta<strong>in</strong> from 3 to 30 nodes [Carpenter <strong>and</strong> Cosares (2002)]), then it<br />

may be feasible to try each l<strong>in</strong>k as the pivot l<strong>in</strong>k, <strong>and</strong> select the best colour<strong>in</strong>g<br />

achieved. This leads to an iterative variant of the fixed pivot algorithm, referred<br />

to as the iterative fixed pivot algorithm (IFPA). The worst case runn<strong>in</strong>g time <strong>for</strong><br />

the IFPA algorithm <strong>in</strong>creases by a factor of n to that of the none-iterative pivot<br />

based algorithms.<br />

The FPA algorithm described <strong>in</strong> Section 3.3.2 <strong>and</strong> the fat cover algorithm<br />

described <strong>in</strong> Section 3.2 are closely related. Relat<strong>in</strong>g the pivot l<strong>in</strong>k to the fixed<br />

po<strong>in</strong>t t 0 on the circle of G CAG , the requests travers<strong>in</strong>g the pivot l<strong>in</strong>k to the cyclic<br />

<strong>in</strong>tervals of G CAG , <strong>and</strong> the pivot covers <strong>for</strong> the FPA algorithm to fat covers of<br />

the fat cover algorithm, the FPA algorithm looks very similar to the fat cover<br />

algorithm. The difference is that a fat cover <strong>and</strong> a pivot cover are not exactly<br />

the same notions.<br />

3.4 Dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slott<strong>in</strong>g<br />

In [Carpenter <strong>and</strong> Cosares (2002)] the dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slott<strong>in</strong>g problem<br />

(DRSP) on r<strong>in</strong>g network is considered. In the DRSP problem we are given a<br />

r<strong>in</strong>g network, with nodes labeled 1, 2, . . . , n (proceed<strong>in</strong>g clockwise) <strong>and</strong> edges<br />

= e 1 , e 2 , . . . , e n (e i = (i, i + 1)) each with capacity C, <strong>and</strong> a set of po<strong>in</strong>t-topo<strong>in</strong>t<br />

dem<strong>and</strong>s to be served. The units of capacity at each edge are numbered<br />

57


3.4 Dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slott<strong>in</strong>g<br />

1, 2, . . . , C, <strong>and</strong> the units of capacity with number i around the whole r<strong>in</strong>g <strong>for</strong>m<br />

slot i. A dem<strong>and</strong> is specified with a pair of dist<strong>in</strong>ct end-po<strong>in</strong>ts, node i <strong>and</strong> node<br />

j, where i < j, <strong>and</strong> a dem<strong>and</strong> amount d k . We wish to route <strong>and</strong> slot all units<br />

of dem<strong>and</strong>s us<strong>in</strong>g as few slots as possible. The constra<strong>in</strong>ts are that each dem<strong>and</strong><br />

must be routed entirely <strong>in</strong> one direction <strong>and</strong> that no dem<strong>and</strong> unit can change<br />

slots with<strong>in</strong> its route.<br />

When dem<strong>and</strong>s are restricted to unit size, the DRSP is equivalent to the<br />

RWA problem, where dem<strong>and</strong>s are connection requests <strong>and</strong> the edge capacity C<br />

is the number of available wavelengths. As an extension of the RWA problem on<br />

r<strong>in</strong>gs, the DRSP is NP-hard [Carpenter <strong>and</strong> Cosares (1997)]. An <strong>in</strong>teger l<strong>in</strong>ear<br />

program <strong>for</strong>mulation <strong>and</strong> several heuristic algorithms <strong>for</strong> the DRSP are presented<br />

<strong>in</strong> [Carpenter <strong>and</strong> Cosares (2002)]. The heuristic algorithms are categorized <strong>in</strong>to<br />

two types, algorithms that comb<strong>in</strong>e rout<strong>in</strong>g <strong>and</strong> colour<strong>in</strong>g decision <strong>and</strong> those<br />

that per<strong>for</strong>m the rout<strong>in</strong>g <strong>and</strong> colour<strong>in</strong>g decisions <strong>in</strong>dependently (i.e., two-phased<br />

algorithms). The experimental evaluation presented <strong>in</strong> [Carpenter <strong>and</strong> Cosares<br />

(2002)] shows that the two-phased algorithms per<strong>for</strong>m remarkably well compared<br />

to the other approach. In particular, a two-phased algorithm called m<strong>in</strong>-load two<br />

phase algorithm that adapt the algorithm <strong>for</strong> colour<strong>in</strong>g circular arc graphs <strong>in</strong><br />

[Tucker (1975)] is shown to achieve best per<strong>for</strong>mance.<br />

We review the m<strong>in</strong>-load two phase algorithm <strong>and</strong> experimentally compare its<br />

per<strong>for</strong>mance with the pivot cover based algorithms presented <strong>in</strong> the preced<strong>in</strong>g<br />

sections.<br />

3.4.1 The m<strong>in</strong>-load two phase algorithm<br />

The m<strong>in</strong>-load two phase algorithm (m<strong>in</strong>2P) takes as <strong>in</strong>put a rout<strong>in</strong>g R <strong>for</strong> an<br />

<strong>in</strong>stance I (on unit size dem<strong>and</strong>s) on a r<strong>in</strong>g network N. Dem<strong>and</strong>s are assigned<br />

colours <strong>in</strong> the follow<strong>in</strong>g way.<br />

1. F<strong>in</strong>d a node k of N traversed by m<strong>in</strong>imum number of dem<strong>and</strong>s.<br />

2. Assign each of the dem<strong>and</strong>s travers<strong>in</strong>g the node k with a new colour, subsequently,<br />

mark the colour unavailable at every l<strong>in</strong>k traversed by the dem<strong>and</strong>.<br />

58


3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

3. The rema<strong>in</strong><strong>in</strong>g dem<strong>and</strong>s correspond to an <strong>in</strong>terval graph s<strong>in</strong>ce none traverses<br />

the node k. Adapt the <strong>in</strong>terval graph algorithm [Golumbic (1980)]<br />

to colour the rema<strong>in</strong><strong>in</strong>g dem<strong>and</strong>s as follows. Start<strong>in</strong>g from node i =<br />

k, scan through the network l<strong>in</strong>ks one at a time <strong>in</strong> clockwise direction,<br />

e i , e i+1 , . . . , e n , . . . , e i−1 , <strong>and</strong> process any uncoloured dem<strong>and</strong>s travers<strong>in</strong>g<br />

current l<strong>in</strong>k e j <strong>in</strong> the follow<strong>in</strong>g way.<br />

(a) Identify an uncoloured dem<strong>and</strong> travers<strong>in</strong>g the current l<strong>in</strong>k e j . Let e h<br />

be the last l<strong>in</strong>k be<strong>in</strong>g traversed by this dem<strong>and</strong>.<br />

(b) Assign the dem<strong>and</strong> with the first available colour at both, e j <strong>and</strong> e h<br />

(this guarantees that a colour is available at all l<strong>in</strong>ks spanned by the<br />

dem<strong>and</strong>), <strong>and</strong> mark the colour unavailable at the l<strong>in</strong>ks spanned by the<br />

dem<strong>and</strong>.<br />

Note that like <strong>for</strong> the fixed pivot algorithm the wavelength m<strong>in</strong>imization <strong>for</strong> the<br />

m<strong>in</strong>-load two phase algorithm <strong>in</strong> [Carpenter <strong>and</strong> Cosares (2002)] can be enhanced<br />

by iterat<strong>in</strong>g over all network nodes, a variant algorithm referred to as the iterative<br />

m<strong>in</strong>-load two phase (I2P). Note that the m<strong>in</strong>2P algorithm differs from the FPA<br />

algorithm <strong>in</strong> Section 3.3.2 <strong>in</strong> the follow<strong>in</strong>g two aspects.<br />

• The FPA algorithm colours a collection of requests (a pivot cover) us<strong>in</strong>g the<br />

same colour, whereas the m<strong>in</strong>2P algorithm colours one request at a time.<br />

• The FPA algorithm uses a new set of colours (colours not used yet) on<br />

the <strong>in</strong>terval graph algorithm, whereas the m<strong>in</strong>i-load two phase algorithm<br />

attempt to re-use colours used <strong>in</strong> the previous steps on the <strong>in</strong>terval graph<br />

algorithm.<br />

3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Tables 3.1 <strong>and</strong> 3.2 present numerical results <strong>for</strong> r<strong>in</strong>g networks on different number<br />

of nodes <strong>and</strong> rout<strong>in</strong>g <strong>in</strong>stances. The types of <strong>in</strong>stances which we use <strong>in</strong> our<br />

experiments are described <strong>in</strong> Section 2.4.1. The average number of wavelengths<br />

59


3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

used by each algorithm <strong>and</strong> the average load (W-LB) are shown. The averages<br />

are taken over ten r<strong>and</strong>om <strong>in</strong>stances. Observe that Gaussian <strong>in</strong>stances are easily<br />

coloured under the shortest path rout<strong>in</strong>g : all algorithms use optimal number of<br />

colours <strong>in</strong> our experiments (see <strong>in</strong> Table 3.1). This is due to the fact that most<br />

requests are short <strong>and</strong> are concentrated by the median node, hence possibly leav<strong>in</strong>g<br />

some network l<strong>in</strong>ks be<strong>in</strong>g traversed with few/no requests. We do not consider<br />

this <strong>in</strong>stance type <strong>in</strong> Table 3.2. Unlike the shortest path rout<strong>in</strong>g, however, when<br />

a Gaussian <strong>in</strong>stance is routed by the load balanc<strong>in</strong>g rout<strong>in</strong>g, then the network<br />

load is significantly reduced (almost halved), lead<strong>in</strong>g to a more effective way of<br />

us<strong>in</strong>g the available b<strong>and</strong>width. For Uni<strong>for</strong>m <strong>in</strong>stances, the shortest path rout<strong>in</strong>g<br />

yields relatively low network load compared to the load balanc<strong>in</strong>g rout<strong>in</strong>g, especially<br />

as the <strong>in</strong>stance size <strong>in</strong>creases. We remark that <strong>for</strong> cases where requests<br />

are arbitrary the load balanc<strong>in</strong>g rout<strong>in</strong>g may be considered as a good choice <strong>for</strong><br />

rout<strong>in</strong>g requests.<br />

We observe that the pivot based algorithms per<strong>for</strong>m better than the DRSP<br />

based algorithms. Note that the m<strong>in</strong>2P algorithm which we use <strong>in</strong> our experiments<br />

is shown <strong>in</strong> [Carpenter <strong>and</strong> Cosares (2002)] to have best per<strong>for</strong>mance<br />

among the algorithms considered there. Tables 3.1 <strong>and</strong> 3.2 show that the algorithm<br />

m<strong>in</strong>FPA has the worst but relatively good per<strong>for</strong>mance <strong>in</strong> most cases <strong>in</strong><br />

comparison with the algorithm I2P (which <strong>in</strong> turn per<strong>for</strong>ms better than algorithm<br />

m<strong>in</strong>2P). Further, observe that algorithm LPA gives the best wavelength per<strong>for</strong>mance<br />

among the none-iterative algorithms <strong>for</strong> all the <strong>in</strong>stances we considered.<br />

For medium networks, <strong>for</strong> example, algorithm LPA gives a wavelength per<strong>for</strong>mance<br />

that is up to 6% <strong>and</strong> 2.5% better than algorithm m<strong>in</strong>2P <strong>and</strong> m<strong>in</strong>FPA,<br />

respectively (see Table 3.1). When the network size <strong>in</strong>creases, the per<strong>for</strong>mance of<br />

algorithm LPA seems to improve further <strong>in</strong> comparison with the other algorithms,<br />

<strong>and</strong> <strong>for</strong> large networks it is up to 11.5% <strong>and</strong> 3% better than the per<strong>for</strong>mance of<br />

algorithms m<strong>in</strong>2P <strong>and</strong> m<strong>in</strong>FPA, respectively (see Table 3.2). The wavelength<br />

per<strong>for</strong>mance <strong>for</strong> algorithm LPA is optimal or near-optimal (i.e., equal or close to<br />

the network load) <strong>for</strong> most <strong>in</strong>stances. Although the iterative algorithm IL2P improves<br />

the wavelength m<strong>in</strong>imization upon the algorithm L2P, it is out-per<strong>for</strong>med<br />

significantly by the algorithm LPA under all <strong>in</strong>stances (as seen <strong>in</strong> Tables 3.1 <strong>and</strong><br />

3.2). In addition, algorithm LPA also has better wavelength per<strong>for</strong>mance than<br />

60


3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Distribution n |R| W-LB m<strong>in</strong>2P I2P m<strong>in</strong>FPA IFPA LPA<br />

256 83 83 83 83 83 83<br />

16 512 152 153 152 153 152 153<br />

Uni<strong>for</strong>m-SP 1024 294 297 294 294 294 294<br />

256 79 81 79 79 79 79<br />

32 512 145 149 146 146 145 145<br />

1024 285 291 286 286 285 285<br />

256 81 84 83 82 81 81<br />

16 512 161 166 164 162 161 162<br />

Uni<strong>for</strong>m-LB 1024 316 325 320 317 316 316<br />

256 80 86 82 83 81 81<br />

32 512 159 171 166 164 160 161<br />

1024 312 333 327 317 314 314<br />

256 195 195 195 195 195 195<br />

16 512 371 371 371 371 371 371<br />

Gaussian-SP 1024 742 742 742 742 742 742<br />

256 189 189 189 189 189 189<br />

32 512 374 374 374 374 374 374<br />

1024 749 749 749 749 749 749<br />

256 108 110 108 108 108 108<br />

16 512 215 223 217 217 215 215<br />

Gaussian-LB 1024 431 440 436 432 431 431<br />

256 107 111 108 108 107 107<br />

32 512 209 214 210 211 209 209<br />

1024 424 436 428 426 424 425<br />

Table 3.1: Average number of wavelengths <strong>for</strong> r<strong>in</strong>g networks with 16 <strong>and</strong> 32<br />

nodes. The <strong>in</strong>stances have 256, 512 <strong>and</strong> 1024 requests.<br />

61


3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Distribution n |R| W-LB m<strong>in</strong>2P I2P m<strong>in</strong>FPA IFPA LPA<br />

64 1024 283 293 285 285 283 285<br />

Uni<strong>for</strong>m-SP 2048 550 576 562 559 550 552<br />

96 1024 287 297 290 291 287 291<br />

2048 561 592 574 570 561 565<br />

64 1024 307 335 327 321 315 312<br />

Uni<strong>for</strong>m-LB 2048 613 666 655 633 625 619<br />

96 1024 308 338 332 325 320 316<br />

2048 607 688 655 633 627 617<br />

64 1024 421 430 424 426 422 422<br />

Gaussian-LB 2048 850 864 860 859 851 851<br />

96 1024 427 435 430 429 427 427<br />

2048 851 863 857 859 851 851<br />

Table 3.2: Average number of wavelengths <strong>for</strong> r<strong>in</strong>g networks with 64 <strong>and</strong> 96<br />

nodes. The <strong>in</strong>stances have 1024 <strong>and</strong> 2048 requests.<br />

Distribution LPA m<strong>in</strong>FPA m<strong>in</strong>2P FCV<br />

Uni<strong>for</strong>m-SP 1.24 0.42 0.98 12.72<br />

Uni<strong>for</strong>m-LB 1.82 0.54 1.58 16.34<br />

Gaussian-SP 0.45 0.08 0.68 0.08<br />

Gaussian-LB 2.15 1.94 1.66 31.87<br />

Table 3.3: Average time used (<strong>in</strong> seconds) <strong>for</strong> r<strong>in</strong>g network with 64 nodes <strong>and</strong><br />

<strong>in</strong>stance of 2048 requests (us<strong>in</strong>g 1.0GHZ AMD Duron Processor with 112.0MB<br />

RAM).<br />

62


3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

algorithm IFPA (which improves the wavelength m<strong>in</strong>imization upon the algorithm<br />

m<strong>in</strong>FPA) <strong>for</strong> most <strong>in</strong>stances, especially, Gaussian-LB <strong>in</strong>stances <strong>for</strong> large<br />

r<strong>in</strong>g networks. Furthermore, the iterative algorithm IFPA has an extra factor n<br />

(the size of the network) <strong>in</strong> its runn<strong>in</strong>g time <strong>in</strong> comparison to the none-iterat<strong>in</strong>g<br />

algorithm LPA, which is an additional advantage of the algorithm LPA. Table<br />

3.3 shows the average time used <strong>for</strong> none-iterat<strong>in</strong>g algorithm considered <strong>for</strong> r<strong>in</strong>g<br />

network with 64 nodes <strong>and</strong> <strong>in</strong>stance of 2048 requests.<br />

We report additional numerical results <strong>for</strong> different WA heuristics <strong>for</strong> r<strong>in</strong>g<br />

networks <strong>in</strong> Appendix A.1. We considered networks with 8, 16, 32, 64, 96 <strong>and</strong><br />

128 nodes <strong>and</strong> additional heuristics listed <strong>in</strong> Table 3.4. For r<strong>in</strong>g networks with<br />

only 8 nodes <strong>and</strong> all types of distribution of requests, the per<strong>for</strong>mance of all<br />

algorithms we considered except RG was the same: they all always computed<br />

optimal wavelength <strong>allocation</strong>s, us<strong>in</strong>g the number of wavelengths equal to W-LB.<br />

The differences between the per<strong>for</strong>mance of different algorithms start show<strong>in</strong>g <strong>for</strong><br />

networks with 16 nodes, <strong>and</strong> grow when the size of the network <strong>in</strong>creases (see<br />

Tables A.1, A.2, A.3 <strong>and</strong> A.4). We should mention aga<strong>in</strong> that the <strong>in</strong>put <strong>in</strong>stances<br />

of the Gaussian-SP type turn out to be very easy. For all <strong>in</strong>put <strong>in</strong>stances of<br />

this type which we have considered, all algorithms have always found optimal<br />

solutions.<br />

We summarize the per<strong>for</strong>mance results <strong>for</strong> the algorithms LPA, m<strong>in</strong>FPA, FCV<br />

<strong>and</strong> m<strong>in</strong>2P <strong>in</strong> the plots <strong>in</strong> Figures 3.3, 3.4 <strong>and</strong> 3.5, <strong>for</strong> r<strong>in</strong>g networks with 64 nodes<br />

<strong>and</strong> the Uni<strong>for</strong>m-SP, Uni<strong>for</strong>m-LB <strong>and</strong> Gaussian-LB distribution of requests. The<br />

plots show that algorithm LPA gives overall the best per<strong>for</strong>mance, followed by<br />

the algorithms m<strong>in</strong>FPA <strong>and</strong> FCV. The good per<strong>for</strong>mance of the pivot based<br />

algorithms, <strong>and</strong> especially the LPA algorithm, could be attributed to the fact<br />

that a pivot cover potentially decreases the network load by 1 (lead<strong>in</strong>g to a<br />

better utilization of the colours), <strong>and</strong> the way the pivot covers are selected gives<br />

priority to longer requests that are potentially difficult to colour.<br />

63


3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

maxFPA<br />

RPA<br />

FCV<br />

IFCV<br />

LG<br />

RG<br />

Variant of the FPA algorithm with a l<strong>in</strong>k traversed by maximum<br />

number of requests as the pivot l<strong>in</strong>k.<br />

Variant of the LPA algorithm with pivot requests selected arbitrarily.<br />

Fat cover algorithm simulation <strong>for</strong> wavelength assignment on<br />

r<strong>in</strong>g networks. The fixed po<strong>in</strong>t t 0 is a l<strong>in</strong>k traversed by m<strong>in</strong>imum<br />

number of requests. The cyclic <strong>in</strong>tervals are the requests<br />

travers<strong>in</strong>g the dist<strong>in</strong>guished l<strong>in</strong>k.<br />

Variant of the FCV algorithm that iterates over all network<br />

l<strong>in</strong>ks.<br />

Variant of the first-fit colour<strong>in</strong>g heuristic that colours requests<br />

<strong>in</strong> the order of a longest requests first.<br />

Variant of the first-fit colour<strong>in</strong>g heuristic that colours requests<br />

<strong>in</strong> an arbitrary order of requests.<br />

Table 3.4: Other WA heuristics <strong>for</strong> undirected r<strong>in</strong>g networks<br />

# WAVELENGTHS/W-LB<br />

1.05<br />

1.04<br />

1.03<br />

1.02<br />

1.01<br />

LPA<br />

m<strong>in</strong>FPA<br />

FCV<br />

m<strong>in</strong>2P<br />

1<br />

100 200 300 400 500 600<br />

W-LB<br />

Figure 3.3: <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-SP distribution<br />

of requests on 64-nodes r<strong>in</strong>g network.<br />

64


3.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

# WAVELENGTHS/W-LB<br />

1.1<br />

1.09<br />

1.08<br />

1.07<br />

1.06<br />

1.05<br />

1.04<br />

1.03<br />

1.02<br />

1.01<br />

1<br />

LPA<br />

m<strong>in</strong>FPA<br />

FCV<br />

m<strong>in</strong>2P<br />

100 200 300 400 500 600 700<br />

W-LB<br />

Figure 3.4: <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-LB distribution<br />

of requests on 64 nodes r<strong>in</strong>g network.<br />

# WAVELENGTHS/W-LB<br />

1.04<br />

1.03<br />

1.02<br />

1.01<br />

LPA<br />

m<strong>in</strong>FPA<br />

FCV<br />

m<strong>in</strong>2P<br />

1<br />

100 200 300 400 500 600 700 800 900<br />

W-LB<br />

Figure 3.5: <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian-LB distribution<br />

of requests on 64 nodes r<strong>in</strong>g network.<br />

65


Chapter 4<br />

Undirected Tree of R<strong>in</strong>gs<br />

The topological structure <strong>for</strong> tree of r<strong>in</strong>gs consist of several sub-r<strong>in</strong>gs. In this<br />

chapter we consider the WA problem <strong>for</strong> undirected tree of r<strong>in</strong>gs with given<br />

set of request paths <strong>and</strong> propose heuristic algorithms that exploit the sub-r<strong>in</strong>g<br />

structure of such networks. We extend the pivot based algorithms presented <strong>for</strong><br />

r<strong>in</strong>g networks <strong>in</strong> Chapter 3 to the tree of r<strong>in</strong>gs network. S<strong>in</strong>ce a r<strong>in</strong>g network<br />

is a special case of a tree of r<strong>in</strong>gs network, the WA problem <strong>for</strong> tree of r<strong>in</strong>gs is<br />

NP-hard as well.<br />

Recently, [Bian et al. (June 2004)] gave a 2.75-approximation algorithm <strong>for</strong><br />

the WA problem <strong>in</strong> tree of r<strong>in</strong>gs, which rema<strong>in</strong>s the best known approximation<br />

algorithm <strong>for</strong> this problem <strong>in</strong> arbitrary tree of r<strong>in</strong>gs networks. For the restricted<br />

class of tree of r<strong>in</strong>gs networks with node degrees bounded by 6 <strong>and</strong> 4, a 2.5-<br />

approximation <strong>and</strong> 2-approximation algorithms are given <strong>in</strong> [Bian et al. (January<br />

2004)] <strong>and</strong> [Deng et al. (2003)], respectively. The wavelength <strong>allocation</strong> framework<br />

<strong>in</strong> [Bian et al. (June 2004)] is based on edge colour<strong>in</strong>g algorithm <strong>for</strong> multigraphs<br />

(graphs <strong>in</strong> which several edges may be <strong>in</strong>cident to the same pair of nodes).<br />

The authors show that the approximation ratio bound of 2.75 is achieved when the<br />

1.1-approximation edge colour<strong>in</strong>g algorithm <strong>for</strong> multigraphs due to [Nishizeki <strong>and</strong><br />

Kashiwagi (August 1990)] is applied, while the 1.5-approximation edge colour<strong>in</strong>g<br />

algorithm <strong>for</strong> multigraphs <strong>in</strong> [Shannon (1949)] gives the approximation ratio<br />

bound of 3. In both cases the upper bound on the number of wavelength used<br />

is 3L. The approximation ratios less than 3 come from the lower bounds higher<br />

66


4.1 Tree of r<strong>in</strong>gs model<br />

than L. We compare experimentally the per<strong>for</strong>mance of the algorithms presented<br />

<strong>in</strong> this chapter <strong>and</strong> the approximation algorithms <strong>in</strong> [Bian et al. (June 2004)].<br />

4.1 Tree of r<strong>in</strong>gs model<br />

The tree of r<strong>in</strong>gs networks are def<strong>in</strong>ed <strong>in</strong> Section 2.3. We construct a tree of<br />

r<strong>in</strong>gs <strong>in</strong>stance from an underly<strong>in</strong>g tree as described Section 4.5. Given a set of<br />

paths on a tree of r<strong>in</strong>gs network, the heuristics we present per<strong>for</strong>m the wavelength<br />

<strong>allocation</strong> task us<strong>in</strong>g an order<strong>in</strong>g of nodes obta<strong>in</strong>ed from the depth first search<br />

(DFS) traversal of the underly<strong>in</strong>g tree.<br />

The first r<strong>in</strong>g (the root r<strong>in</strong>g) is chosen from among centre r<strong>in</strong>gs def<strong>in</strong>ed as<br />

follows. A centre r<strong>in</strong>g on the tree of r<strong>in</strong>gs corresponds to a centre node on the<br />

underly<strong>in</strong>g tree def<strong>in</strong>ed Section 2.3. A centre r<strong>in</strong>g is likely to be traversed by most<br />

cross-r<strong>in</strong>g requests s<strong>in</strong>ce many paths between pairs of nodes on dist<strong>in</strong>ct r<strong>in</strong>gs are<br />

likely to traverse a l<strong>in</strong>k on the centre r<strong>in</strong>g.<br />

The DFS traversal of r<strong>in</strong>gs on a tree of r<strong>in</strong>gs assigns to each r<strong>in</strong>g a nonnegative<br />

<strong>in</strong>teger – the DFS number, start<strong>in</strong>g from the root r<strong>in</strong>g that is assigned number 0.<br />

A node of a tree of r<strong>in</strong>gs is referred to as a hub node if its degree is greater than<br />

2, i.e., a node shared by at least two r<strong>in</strong>gs. Let c 1 <strong>and</strong> c 2 be two dist<strong>in</strong>ct r<strong>in</strong>gs.<br />

R<strong>in</strong>g c 1 is the parent of r<strong>in</strong>g c 2 , if c 1 <strong>and</strong> c 2 share a hub node h <strong>and</strong> c 1 has the<br />

least DFS number amongst all r<strong>in</strong>gs that share the hub node h. This node h is<br />

referred to as the hub <strong>for</strong> the r<strong>in</strong>g c 2 , <strong>and</strong> the r<strong>in</strong>gs with h as the hub (i.e., with<br />

the r<strong>in</strong>g c 1 as the parent r<strong>in</strong>g) are the children of c 1 . Note that the root r<strong>in</strong>g<br />

does not have the hub s<strong>in</strong>ce it does not have the parent r<strong>in</strong>g.<br />

Given a DFS order<strong>in</strong>g of the r<strong>in</strong>gs, we def<strong>in</strong>e the number<strong>in</strong>g of the nodes us<strong>in</strong>g<br />

the clockwise number<strong>in</strong>g on each r<strong>in</strong>g <strong>in</strong> the tree of r<strong>in</strong>gs. The nodes on the root<br />

r<strong>in</strong>g are first numbered <strong>in</strong> clockwise direction start<strong>in</strong>g from an arbitrary node<br />

<strong>and</strong> this number<strong>in</strong>g is extended to the nodes on other r<strong>in</strong>gs consider<strong>in</strong>g the r<strong>in</strong>gs<br />

accord<strong>in</strong>g to the <strong>in</strong>creas<strong>in</strong>g DFS numbers. Let h be the hub <strong>for</strong> the r<strong>in</strong>g c that<br />

is currently be<strong>in</strong>g considered. The node h has been already numbered s<strong>in</strong>ce it<br />

belongs to the parent r<strong>in</strong>g <strong>for</strong> c. From node h proceed<strong>in</strong>g <strong>in</strong> clockwise direction<br />

<strong>in</strong> c, all other nodes of c are numbered us<strong>in</strong>g consecutive <strong>in</strong>tegers start<strong>in</strong>g from<br />

i + 1, where i is the last number already assigned to previously considered nodes.<br />

67


4.2 F<strong>in</strong>d<strong>in</strong>g pivot cover on r<strong>in</strong>g of tree of r<strong>in</strong>gs<br />

Let i+1, i+2, . . . , j be the numbers assigned to the nodes of the r<strong>in</strong>g c other than<br />

the hub. We def<strong>in</strong>e the notion of the surrogate number <strong>for</strong> the hub of c relative<br />

to the r<strong>in</strong>g c as i. Thus all nodes <strong>in</strong> c, tak<strong>in</strong>g the surrogate number <strong>for</strong> the hub,<br />

are consecutively numbered <strong>in</strong> clockwise direction. A request on the tree of r<strong>in</strong>gs<br />

is said to belong to a r<strong>in</strong>g c if it traverses at least one l<strong>in</strong>k of the r<strong>in</strong>g c <strong>and</strong> c<br />

has the least DFS number amongst all r<strong>in</strong>gs on the tree of r<strong>in</strong>gs traversed by this<br />

request. Figure 4.1 shows a DFS number<strong>in</strong>g of r<strong>in</strong>gs <strong>and</strong> node number<strong>in</strong>g. The<br />

numbers <strong>in</strong> ’[ ]’ are DFS numbers of r<strong>in</strong>gs <strong>and</strong> the numbers <strong>in</strong> ’( )’ are surrogate<br />

numbers of hub nodes.<br />

9<br />

0<br />

[3](7)<br />

3 [0] 1<br />

8 2<br />

(3)<br />

[1] 4<br />

5<br />

7[2]<br />

(5)<br />

6<br />

Figure 4.1: A tree of r<strong>in</strong>gs with a number<strong>in</strong>g of nodes. The numbers <strong>in</strong> ’[ ]’ are<br />

DFS numbers <strong>and</strong> the numbers <strong>in</strong> ’( )’ are surrogate numbers.<br />

4.2 F<strong>in</strong>d<strong>in</strong>g pivot cover on r<strong>in</strong>g of tree of r<strong>in</strong>gs<br />

For the r<strong>in</strong>g networks, we def<strong>in</strong>ed <strong>in</strong> Section 3.3 a pivot cover relative to a request<br />

<strong>and</strong> described a greedy way of f<strong>in</strong>d<strong>in</strong>g pivot covers. We now extend the notion<br />

of pivot cover to a r<strong>in</strong>g of a tree of r<strong>in</strong>gs network. A pivot cover P (r) relative<br />

to a request r <strong>for</strong> a r<strong>in</strong>g c of a tree of r<strong>in</strong>gs network is a subset of requests that<br />

belong to r<strong>in</strong>g c such that r ∈ P (r) <strong>and</strong> no two requests <strong>in</strong> P (r) share any l<strong>in</strong>k of<br />

the network. We consider hub nodes <strong>in</strong> a special way when f<strong>in</strong>d<strong>in</strong>g a pivot cover<br />

because it is possible that a pair of requests use a hub node <strong>and</strong> are l<strong>in</strong>k disjo<strong>in</strong>t<br />

on r<strong>in</strong>g c, but share a l<strong>in</strong>k on one or more other r<strong>in</strong>gs.<br />

Let c be a r<strong>in</strong>g <strong>in</strong> a tree of r<strong>in</strong>gs whose requests that belong to c are currently<br />

be<strong>in</strong>g processed. Each request belong<strong>in</strong>g to c is of one of the follow<strong>in</strong>g three<br />

types.<br />

68


4.2 F<strong>in</strong>d<strong>in</strong>g pivot cover on r<strong>in</strong>g of tree of r<strong>in</strong>gs<br />

1. A request which is fully with<strong>in</strong> r<strong>in</strong>g c (<strong>for</strong> example, request p 1 <strong>in</strong> Figure<br />

4.2).<br />

2. A request which has one endpo<strong>in</strong>t <strong>in</strong> c <strong>and</strong> <strong>in</strong> addition to travers<strong>in</strong>g one or<br />

more l<strong>in</strong>ks of c, also traverses at least one l<strong>in</strong>k of another r<strong>in</strong>g (<strong>for</strong> example,<br />

requests p 2 <strong>and</strong> p 3 <strong>in</strong> Figure 4.2).<br />

3. A request which traverses one or more l<strong>in</strong>ks of c whose both endpo<strong>in</strong>ts are<br />

outside of r<strong>in</strong>g c (<strong>for</strong> example, request p 4 <strong>in</strong> Figure 4.2).<br />

c1<br />

c<br />

p<br />

2<br />

p<br />

1<br />

c2<br />

p<br />

3<br />

p<br />

4<br />

c3<br />

Figure 4.2: Different types of requests belong<strong>in</strong>g to r<strong>in</strong>g c. R<strong>in</strong>gs c 1 , c 2 <strong>and</strong> c 3<br />

have higher DFS numbers than r<strong>in</strong>g c.<br />

For a request p of type 2, let i be the endpo<strong>in</strong>t of this request <strong>in</strong> c, <strong>and</strong> h be<br />

the hub node through which this request leaves c. If <strong>in</strong> the clockwise order of the<br />

nodes of c start<strong>in</strong>g from any l<strong>in</strong>k not traversed by p node i comes be<strong>for</strong>e node h,<br />

then we say that p exits c at h (or p is an exit request at node h). Otherwise, if<br />

node h comes be<strong>for</strong>e node i, we say that p enters c at h (or p is an entrant request<br />

at node h)<br />

For a request p of type 3, let h 1 <strong>and</strong> h 2 be the hub nodes on c where p leaves<br />

c, <strong>and</strong> let h 1 come be<strong>for</strong>e h 2 <strong>in</strong> the clockwise order of the nodes of c start<strong>in</strong>g from<br />

any l<strong>in</strong>k not traversed by p. We say that request p enters c at h 1 <strong>and</strong> exit at h 2<br />

(or is an entrant request at h 1 but an exit request at h 2 ).<br />

69


4.3 Long pivot-DFS algorithm<br />

Note that, if two requests p 1 <strong>and</strong> p 2 belong to r<strong>in</strong>g c, p 1 exits c at a hub node h<br />

<strong>and</strong> p 2 enters c at this node h then p 1 <strong>and</strong> p 2 possibly share a l<strong>in</strong>k on a r<strong>in</strong>g with<br />

a higher DFS number than c. We adapt the algorithm <strong>for</strong> f<strong>in</strong>d<strong>in</strong>g pivot covers<br />

<strong>for</strong> r<strong>in</strong>g networks described <strong>in</strong> Section 3.3.1 to f<strong>in</strong>d<strong>in</strong>g pivot covers <strong>for</strong> a r<strong>in</strong>g on<br />

the tree of r<strong>in</strong>gs network by account<strong>in</strong>g <strong>for</strong> different types of request belong<strong>in</strong>g<br />

to the same r<strong>in</strong>g (types 1-3).<br />

We f<strong>in</strong>d a pivot cover P (r) <strong>for</strong> a request r belong<strong>in</strong>g to a r<strong>in</strong>g c <strong>in</strong> the follow<strong>in</strong>g<br />

way.<br />

1. P (r) ← {r}.<br />

2. Let p ′ be the last request added to P (r), <strong>and</strong> i <strong>and</strong> j be the first <strong>and</strong> the<br />

last nodes on r <strong>and</strong> p ′ respectively <strong>in</strong> c <strong>in</strong> the clockwise order<strong>in</strong>g start<strong>in</strong>g<br />

from a l<strong>in</strong>k not traversed by r. If there is a request p satisfy<strong>in</strong>g the follow<strong>in</strong>g<br />

conditions:<br />

(a) p belongs to c;<br />

(b) p traverses the edges of c from a node x to a node y <strong>for</strong> some x <strong>and</strong> y<br />

such that j ≤ x < y ≤ i (<strong>in</strong> the clockwise orientation of c).<br />

(c) if j = x <strong>and</strong> p enters c at j <strong>and</strong> the last request p ′ added to P (r) exits<br />

c at j, then p <strong>and</strong> p ′ do not share a l<strong>in</strong>k outside of c.<br />

(d) if y = i <strong>and</strong> p exits c at i <strong>and</strong> r enters c at i then p <strong>and</strong> r do not share<br />

a l<strong>in</strong>k outside of c;<br />

then from among such requests select request p with x closest to j. P (r) ←<br />

P (r)∪{p}. Break the ties by tak<strong>in</strong>g request p with y closest to i. Otherwise,<br />

if no request satisfies (2a)–(2d), then return P (r).<br />

3. Repeat Step 2.<br />

4.3 Long pivot-DFS algorithm<br />

We describe the Long pivot-DFS (LP-DFS) WA algorithm <strong>for</strong> tree of r<strong>in</strong>gs network<br />

that uses the pivot cover algorithm <strong>and</strong> the first-fit colour<strong>in</strong>g heuristic to<br />

70


4.4 Approximation algorithm<br />

colour requests that belong to each r<strong>in</strong>g start<strong>in</strong>g with the root r<strong>in</strong>g. The LP-DFS<br />

algorithm colours requests <strong>in</strong> the follow<strong>in</strong>g way.<br />

1. Select the root r<strong>in</strong>g.<br />

2. Compute the DFS numbers of the r<strong>in</strong>gs.<br />

3. While some uncoloured requests belongs to the root r<strong>in</strong>g,<br />

(a) select a longest uncoloured request r as pivot request <strong>and</strong> f<strong>in</strong>d a pivot<br />

cover P (r) us<strong>in</strong>g the pivot cover algorithm <strong>in</strong> Section 4.2;<br />

(b) colour requests <strong>in</strong> P (r) us<strong>in</strong>g a new colour.<br />

4. Consider the r<strong>in</strong>gs other than the root r<strong>in</strong>g <strong>in</strong> the order of <strong>in</strong>creas<strong>in</strong>g DFS<br />

numbers,<br />

(a) select a longest uncoloured request r belong<strong>in</strong>g to the current r<strong>in</strong>g as<br />

pivot request <strong>and</strong> f<strong>in</strong>d a pivot cover P (r) <strong>for</strong> the requests belong<strong>in</strong>g to<br />

this r<strong>in</strong>g <strong>and</strong> not coloured yet as <strong>in</strong> Step 3a;<br />

(b) colour each request <strong>in</strong> P (r) us<strong>in</strong>g the first-fit colour<strong>in</strong>g.<br />

4.4 Approximation algorithm<br />

We give <strong>in</strong> this section an outl<strong>in</strong>e of the approximation algorithm <strong>for</strong> wavelength<br />

<strong>allocation</strong> <strong>in</strong> arbitrary tree of r<strong>in</strong>gs networks presented <strong>in</strong> [Bian et al. (June 2004)].<br />

We use this algorithm <strong>for</strong> comparison <strong>in</strong> the experimental evaluation of our heuristic<br />

presented <strong>in</strong> Section 4.3. The <strong>in</strong>put is a set of paths P on a tree of r<strong>in</strong>gs<br />

network T R <strong>and</strong> the output is a valid colour<strong>in</strong>g from W = {λ 1 , λ 2 , . . . , } to P .<br />

The wavelength <strong>allocation</strong> framework consist of the follow<strong>in</strong>g three steps.<br />

1. Fix a DFS order<strong>in</strong>g of all nodes of T R start<strong>in</strong>g from a node of degree two.<br />

2. Process the root node v.<br />

3. Process the other nodes u <strong>in</strong> DFS order.<br />

Let r 0 be the r<strong>in</strong>g which conta<strong>in</strong>s u <strong>and</strong> the parent of u<br />

71


4.4 Approximation algorithm<br />

(a) Colour the set P ′ of uncoloured paths us<strong>in</strong>g node u <strong>and</strong> fully with<strong>in</strong><br />

r<strong>in</strong>g r 0 .<br />

(b) Colour the set P ′′ of other uncoloured paths us<strong>in</strong>g node u.<br />

u +<br />

b<br />

w<br />

−<br />

processed nodes<br />

r 2<br />

a<br />

u<br />

r 1<br />

c<br />

u<br />

−<br />

r 0<br />

w<br />

unprocessed nodes<br />

(w<br />

−<br />

,w)<br />

−<br />

Special l<strong>in</strong>ks<br />

(u ,u)<br />

long path<br />

short path<br />

Figure 4.3: A tree of r<strong>in</strong>gs with three r<strong>in</strong>gs, r 0 , r 1 <strong>and</strong> r 2 , shar<strong>in</strong>g node u, show<strong>in</strong>g a<br />

long path {a, b}, short path {u, c}, two special l<strong>in</strong>ks (u − , u) <strong>and</strong> (w − , w), processed<br />

(dark) nodes <strong>and</strong> unprocessed (pla<strong>in</strong>) nodes.<br />

The nodes <strong>in</strong> a r<strong>in</strong>g of T R are processed <strong>in</strong> clockwise direction. For a node v<br />

we denote by v − <strong>and</strong> v + the counter-clockwise <strong>and</strong> clockwise neighbor <strong>for</strong> v <strong>in</strong> the<br />

r<strong>in</strong>g of T R respectively. Process<strong>in</strong>g a node v refers to colour<strong>in</strong>g the uncoloured<br />

paths us<strong>in</strong>g edges <strong>in</strong>cident to v. In Step 2, the paths us<strong>in</strong>g edge (v − , v) are<br />

allocated colours us<strong>in</strong>g the first-fit colour<strong>in</strong>g. In addition, uncoloured paths us<strong>in</strong>g<br />

the edge (v, v + ) are coloured by the first-fit colour<strong>in</strong>g us<strong>in</strong>g a new set of colours<br />

(i.e., colours of W not used on paths us<strong>in</strong>g the edge (v − , v)).<br />

The parent of node u <strong>in</strong> DFS order is node u − <strong>in</strong> the current r<strong>in</strong>g r 0 . If<br />

node u is shared by k + 1 r<strong>in</strong>gs, the other k r<strong>in</strong>gs are denoted by r i , 1 ≤ i ≤ k.<br />

Two l<strong>in</strong>ks are dist<strong>in</strong>guished as special l<strong>in</strong>ks, that is, the l<strong>in</strong>ks (u − , u) <strong>and</strong> (w − , w),<br />

<strong>in</strong> which the nodes u − <strong>and</strong> w are processed <strong>and</strong> the nodes u <strong>and</strong> w − are yet<br />

to be processed, as shown <strong>in</strong> Figure 4.3. In Step 3, any unprocessed node u<br />

is considered <strong>in</strong> DFS order as follows. Let P 0 be the set of paths us<strong>in</strong>g special<br />

l<strong>in</strong>ks (u − , u) or (w − , w). In Step 3a, the set of paths P ′ is coloured us<strong>in</strong>g<br />

the colours of W not used <strong>for</strong> P 0 by the first-fit colour<strong>in</strong>g. Now, an uncoloured<br />

path us<strong>in</strong>g the node u is either on one r<strong>in</strong>g (short path) or two r<strong>in</strong>gs (long path)<br />

72


4.4 Approximation algorithm<br />

conta<strong>in</strong><strong>in</strong>g the node u respectively, as Figure 4.3 depicts.<br />

Step 3b, trans<strong>for</strong>m<br />

the problem of colour<strong>in</strong>g uncoloured paths us<strong>in</strong>g node u to the edge-colour<strong>in</strong>g<br />

problem of a multigraph G u (V, E) with r<strong>in</strong>gs r i as nodes <strong>in</strong> V <strong>and</strong> short <strong>and</strong><br />

long paths as edges <strong>in</strong> E. To exclude loops <strong>in</strong> G u , a node s i is <strong>in</strong>cluded <strong>in</strong><br />

V (G u ) <strong>for</strong> every r i <strong>in</strong> V (G u ). More <strong>for</strong>mally, V (G u ) = {r i , s i : 0 ≤ i ≤ k}, <strong>and</strong><br />

E(G u ) = {e = {r i , r j } : e is a long path on r<strong>in</strong>gs r i <strong>and</strong> r j , 0 ≤ i < j ≤ k }.<br />

∪ {e = {r i , s i } : e is a short path on r<strong>in</strong>g r i , 0 ≤ i ≤ k }.<br />

There is a one-to-one correspondence between the paths us<strong>in</strong>g u <strong>and</strong> the edges <strong>in</strong><br />

G u . Let γ(G u ) be a valid edge colour<strong>in</strong>g <strong>for</strong> G u <strong>and</strong> C γ = {γ 1 , γ 2 , . . .} the set of<br />

colours used <strong>in</strong> γ(G u ). A mapp<strong>in</strong>g f : C γ → W is def<strong>in</strong>ed to colour paths us<strong>in</strong>g<br />

u as follows. Let P 1 be the set of coloured paths us<strong>in</strong>g u prior to Step 3b, <strong>and</strong><br />

W 1 be the set of colours allocated to the paths of P 1 .<br />

• For each γ i allocated to edge e ∈ G u correspond<strong>in</strong>g to a path <strong>in</strong> P 1 with<br />

colour λ j ∈ W 1 , f(γ i ) = λ j .<br />

• For each unmapped γ i , f<strong>in</strong>d a dist<strong>in</strong>ct λ j ∈ W \W 1 by the first-fit colour<strong>in</strong>g,<br />

<strong>and</strong> f(γ i ) = λ j .<br />

The WA framework described <strong>in</strong> this section leads to a 3-approximation <strong>and</strong><br />

2.75-approximation WA algorithm <strong>for</strong> arbitrary tree of r<strong>in</strong>gs, us<strong>in</strong>g the edgecolour<strong>in</strong>g<br />

results <strong>in</strong> Theorem 2 <strong>and</strong> 3 respectively [Bian et al. (June 2004)].<br />

Theorem 2 (Shannon (1949)) For a multi-graph G, a valid edge-colour<strong>in</strong>g us<strong>in</strong>g<br />

at most ⌊ 3∆(G)<br />

2<br />

⌋ colours can be found <strong>in</strong> O(|E(G)|(∆(G) + |V (G)|)) time.<br />

Theorem 3 (Nishizeki <strong>and</strong> Kashiwagi (August 1990)) For a multi-graph<br />

G, a valid edge-colour<strong>in</strong>g us<strong>in</strong>g at most max{⌊ (11∆(G)+8) ⌋, l(G)} colours can be<br />

10<br />

found <strong>in</strong> O(|E(G)|(∆(G) + |V (G)|)) time, where<br />

l(G) = max<br />

{<br />

L(H) =<br />

⌊<br />

|E(H)|<br />

⌊|V (H)|/2⌋<br />

⌋<br />

}<br />

: H is a subgraph of G with |V (H)| ≥ 3<br />

is a lower bound on the number of colours <strong>for</strong> edge-colour<strong>in</strong>g of G.<br />

In the follow<strong>in</strong>g sections we describe the <strong>in</strong>puts used <strong>for</strong> experimental comparison<br />

of per<strong>for</strong>mance of the algorithms presented above. In Section 4.5 we describe<br />

the rout<strong>in</strong>g <strong>in</strong>stance <strong>and</strong> network <strong>in</strong>stance <strong>in</strong>put generators, <strong>and</strong> <strong>in</strong> Section 4.6<br />

we report the numerical results <strong>and</strong> compare the per<strong>for</strong>mance of the algorithms<br />

that have been considered.<br />

73


4.5 Input generator<br />

4.5 Input generator<br />

For request <strong>in</strong>stances we use r<strong>and</strong>omly generated requests of Uni<strong>for</strong>m <strong>and</strong> Gaussian<br />

distribution def<strong>in</strong>ed <strong>in</strong> Section 2.4.1. For the rout<strong>in</strong>g decisions we use the<br />

shortest path rout<strong>in</strong>g <strong>and</strong> the load balanc<strong>in</strong>g rout<strong>in</strong>g as described <strong>in</strong> Section 2.4.2.<br />

Let T be a tree. We consider tree of r<strong>in</strong>gs T R underly<strong>in</strong>g the tree T (i.e., there<br />

is a r<strong>in</strong>g <strong>in</strong> T R correspond<strong>in</strong>g to each node <strong>in</strong> T <strong>and</strong> two r<strong>in</strong>gs share a node if<br />

the pair of correspond<strong>in</strong>g nodes <strong>in</strong> T are adjacent), constructed recursively as<br />

follows. Start by construct<strong>in</strong>g a r<strong>in</strong>g of T R correspond<strong>in</strong>g to the chosen centre<br />

node of T . Subsequently, put the centre node <strong>in</strong>to a stack data structure. While<br />

the stack is non-empty pop a stack node v <strong>and</strong> process its children nodes <strong>in</strong> the<br />

follow<strong>in</strong>g way. For each child node of v <strong>in</strong> T add a new r<strong>in</strong>g c of T R such that c<br />

shares a node with the r<strong>in</strong>g correspond<strong>in</strong>g to the node v. Put the child node <strong>in</strong>to<br />

the stack.<br />

We consider <strong>in</strong>stances of tree of r<strong>in</strong>gs whose underly<strong>in</strong>g tree is r<strong>and</strong>omly generated.<br />

The <strong>in</strong>put is the number of r<strong>in</strong>gs <strong>and</strong> an <strong>in</strong>teger range (<strong>in</strong>terval) from<br />

which the number of nodes <strong>for</strong> each r<strong>in</strong>g is chosen uni<strong>for</strong>mly at r<strong>and</strong>om. We<br />

start with a <strong>for</strong>est of trivial components whose card<strong>in</strong>ality is the number of r<strong>in</strong>gs,<br />

then repeatedly choose a pair of nodes uni<strong>for</strong>mly at r<strong>and</strong>om from two dist<strong>in</strong>ct<br />

connected components of the <strong>for</strong>est <strong>and</strong> f<strong>in</strong>d a union of the two disconnected tree<br />

components to <strong>for</strong>m a large tree by add<strong>in</strong>g an edge adjacent to the pair of nodes<br />

chosen. Eventually, the <strong>in</strong>put <strong>for</strong>est is trans<strong>for</strong>med <strong>in</strong>to a tree T . A centre node<br />

<strong>for</strong> the tree T is determ<strong>in</strong>ed <strong>and</strong> the tree of r<strong>in</strong>gs <strong>in</strong>stance is generated from the<br />

tree T as above.<br />

4.6 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

In this section we report numerical results <strong>and</strong> compare the wavelength per<strong>for</strong>mance<br />

of the approximation algorithm <strong>and</strong> the LP-DFS algorithm. Tables 4.1<br />

<strong>and</strong> 4.2 show the average load (W-LB) <strong>and</strong> the average number of wavelengths<br />

used by each algorithm on tree of r<strong>in</strong>gs with 10 r<strong>in</strong>gs, where the number of nodes<br />

on a r<strong>in</strong>g is taken from the <strong>in</strong>tervals 8 − 16 <strong>and</strong> 16 − 32 respectively. The average<br />

74


4.6 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

is taken over 10 r<strong>and</strong>om <strong>in</strong>stances. We considered two implementations of the approximation<br />

algorithm framework of Section 4.4. The first implementation used<br />

the 1.5-approximation edge colour<strong>in</strong>g algorithm by [Shannon (1949)] (APX0),<br />

<strong>and</strong> the second implementation used the first-fit colour<strong>in</strong>g heuristic <strong>for</strong> edgecolour<strong>in</strong>g<br />

of multigraphs (APX1). We observed that the two implementations<br />

used the same average number of wavelengths <strong>for</strong> all <strong>in</strong>stances we considered. In<br />

the follow<strong>in</strong>g we denote the approximation algorithms by APX when referr<strong>in</strong>g to<br />

both implementations.<br />

The numerical results <strong>in</strong> Tables 4.1 - 4.2 show that the algorithm APX uses<br />

significantly many wavelengths to satisfy an <strong>in</strong>stance compared to the algorithm<br />

LP-DFS. The LP-DFS algorithm consistently uses number of wavelengths close<br />

to the lower bound (W-LB). For <strong>in</strong>stances we considered the algorithm LP-DFS<br />

used an average number of wavelengths that is with<strong>in</strong> 6% over the lower bound<br />

W-LB <strong>for</strong> all <strong>in</strong>stances. The average number of wavelengths used by the algorithm<br />

APX, on the other h<strong>and</strong>, is up to 50% over the lower bound W-LB. The higher<br />

number of wavelengths requirement by the algorithm APX is likely caused by a<br />

technical requirement <strong>for</strong> each colour<strong>in</strong>g phase (<strong>in</strong> Steps 2, 3a <strong>and</strong> 3b of Section<br />

4.4) to use new set of colours to allocate uncoloured paths that share a node<br />

with paths coloured dur<strong>in</strong>g previous phases. For example, it is possible that two<br />

consecutive colour<strong>in</strong>g phases process sets of paths that share a node but do not<br />

mutually overlap at any l<strong>in</strong>k of the network. In such a case the algorithm APX<br />

may use twice as much the number of colours than would possibly be needed.<br />

The fact that the two implementations of the approximation algorithm framework<br />

of Section 4.4 required the same number of wavelengths (i.e., implementations<br />

us<strong>in</strong>g the first-fit colour<strong>in</strong>g <strong>and</strong> the edge colour<strong>in</strong>g algorithm by [Shannon<br />

(1949)]), make it likely that a multigraph <strong>in</strong>stance generated by Step 3b of the<br />

algorithm APX can be easily coloured. But this implies that implement<strong>in</strong>g the<br />

framework by the edge colour<strong>in</strong>g algorithm of [Nishizeki <strong>and</strong> Kashiwagi (August<br />

1990)] is not likely to improve the number of wavelengths used by the algorithm<br />

APX. The implementations of the approximation algorithm framework also require<br />

different runn<strong>in</strong>g time as Table 4.3 shows, where the APX1 implementation<br />

is slightly faster than the APX0 counterpart.<br />

75


4.6 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Distribution |R| W-LB LP-DFS APX<br />

128 44 48 58<br />

256 81 86 109<br />

Uni<strong>for</strong>m-SP 512 170 182 224<br />

1024 339 342 506<br />

128 39 42 52<br />

256 99 109 132<br />

Uni<strong>for</strong>m-LB 512 168 180 223<br />

1024 321 324 475<br />

128 20 23 32<br />

256 45 46 67<br />

Gaussian-SP 512 93 94 137<br />

1024 158 160 261<br />

128 20 20 28<br />

256 42 45 58<br />

Gaussian-LB 512 85 90 121<br />

1024 136 136 233<br />

Table 4.1: Average number of wavelengths <strong>for</strong> tree of r<strong>in</strong>gs with 10 r<strong>in</strong>gs, where<br />

number of nodes on each r<strong>in</strong>g is taken uni<strong>for</strong>mly at r<strong>and</strong>om from the <strong>in</strong>terval<br />

8 − 16. The <strong>in</strong>stances have 128, 256, 512 <strong>and</strong> 1024 requests.<br />

76


4.6 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Distribution |R| W-LB LP-DFS APX<br />

1024 214 216 281<br />

Uni<strong>for</strong>m-SP 1536 422 427 541<br />

2048 668 677 856<br />

2560 862 869 1103<br />

1024 340 346 447<br />

Uni<strong>for</strong>m-LB 1536 567 575 738<br />

2048 608 616 798<br />

2560 786 798 1027<br />

1024 136 140 196<br />

Gaussian-SP 1536 214 218 309<br />

2048 266 275 404<br />

2560 329 341 500<br />

1024 118 124 171<br />

Gaussian-LB 1536 176 186 252<br />

2048 237 252 345<br />

2560 292 304 422<br />

Table 4.2: Average number of wavelengths <strong>for</strong> tree of r<strong>in</strong>gs with 10 r<strong>in</strong>gs, where<br />

number of nodes on each r<strong>in</strong>g is taken uni<strong>for</strong>mly at r<strong>and</strong>om from the <strong>in</strong>terval<br />

16 − 32. The <strong>in</strong>stances have 1024, 1536, 2048 <strong>and</strong> 2560 requests.<br />

Distribution LP-DFS APX0 APX1<br />

Uni<strong>for</strong>m-SP 10.59 99.73 69.63<br />

Uni<strong>for</strong>m-LB 8.57 88.87 61.67<br />

Gaussian-SP 1.52 31.24 24.77<br />

Gaussian-LB 1.91 23.95 19.82<br />

Table 4.3: Average time used (<strong>in</strong> seconds) <strong>for</strong> tree of r<strong>in</strong>gs network with 10 r<strong>in</strong>gs,<br />

where number of node on each r<strong>in</strong>g is taken uni<strong>for</strong>mly at r<strong>and</strong>om from the <strong>in</strong>terval<br />

16−32, <strong>and</strong> <strong>in</strong>stance of 2048 requests (us<strong>in</strong>g 1.0GHZ AMD Duron Processor with<br />

112.0MB RAM).<br />

77


4.6 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

1.3<br />

1.25<br />

LP-DFS<br />

APX<br />

# WAVELENGTHS/W-LB<br />

1.2<br />

1.15<br />

1.1<br />

1.05<br />

1<br />

300 450 600 750 900 1050 1200 1350<br />

W-LB<br />

Figure 4.4: <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-SP distribution<br />

of requests on tree of r<strong>in</strong>gs with <strong>in</strong>terval 16 − 32.<br />

1.3<br />

1.25<br />

# WAVELENGTHS/W-LB<br />

1.2<br />

1.15<br />

1.1<br />

1.05<br />

LP-DFS<br />

APX<br />

1<br />

300 450 600 750 900 1050 1200 1350<br />

W-LB<br />

Figure 4.5: <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-LB distribution<br />

of requests on tree of r<strong>in</strong>gs with <strong>in</strong>terval 16 − 32.<br />

78


4.6 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

# WAVELENGTHS/W-LB<br />

1.7<br />

1.65<br />

1.6<br />

1.55<br />

1.5<br />

1.45<br />

1.4<br />

1.35<br />

1.3<br />

1.25<br />

1.2<br />

1.15<br />

1.1<br />

1.05<br />

1<br />

LP-DFS<br />

RG<br />

LG<br />

APX<br />

100 200 300 400 500 600 700<br />

W-LB<br />

Figure 4.6: <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian-SP distribution<br />

of requests on tree of r<strong>in</strong>gs with <strong>in</strong>terval 16 − 32.<br />

1.65<br />

1.6<br />

1.55<br />

1.5<br />

# WAVELENGTHS/W-LB<br />

1.45<br />

1.4<br />

1.35<br />

1.3<br />

1.25<br />

1.2<br />

1.15<br />

1.1<br />

1.05<br />

1<br />

100 200 300 400 500 600<br />

W-LB<br />

LP-DFS<br />

RG<br />

LG<br />

APX<br />

Figure 4.7: <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian-LB distribution<br />

of requests on tree of r<strong>in</strong>gs with <strong>in</strong>terval 16 − 32.<br />

79


4.6 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

We report additional numerical results <strong>for</strong> different WA heuristics <strong>for</strong> tree<br />

of r<strong>in</strong>gs networks <strong>in</strong> Appendix A.2. We considered networks on 10 r<strong>in</strong>gs with<br />

r<strong>in</strong>g nodes <strong>in</strong>tervals 8 − 16 <strong>and</strong> 16 − 32, <strong>and</strong> additional heuristics LG <strong>and</strong> RG<br />

listed <strong>in</strong> Table 3.4. For Uni<strong>for</strong>m distribution of requests, the per<strong>for</strong>mance of<br />

all algorithms we considered except APX was too close: they all always used<br />

the number of wavelengths differ<strong>in</strong>g only by a marg<strong>in</strong> of 1 or 2 wavelengths.<br />

The differences between the per<strong>for</strong>mance of different algorithms start show<strong>in</strong>g <strong>for</strong><br />

Gaussian distribution of requests (see Tables A.5 <strong>and</strong> A.6), where the algorithm<br />

LP-DFS also gives overall best per<strong>for</strong>mance.<br />

We summarize the per<strong>for</strong>mance results <strong>for</strong> the algorithms LP-DFS <strong>and</strong> APX <strong>in</strong><br />

the plots <strong>in</strong> Figures 4.4, 4.5, 4.6 <strong>and</strong> 4.7, <strong>for</strong> a network with 10 r<strong>in</strong>gs <strong>and</strong> r<strong>in</strong>g nodes<br />

<strong>in</strong>terval 16 − 32 <strong>and</strong> Uni<strong>for</strong>m-SP, Uni<strong>for</strong>m-LB, Gaussian-SP <strong>and</strong> Gaussian-LB<br />

distribution of requests. The plots <strong>for</strong> Gaussian-SP <strong>and</strong> Gaussian-LB distribution<br />

of requests <strong>in</strong>clude the heuristics LG <strong>and</strong> RG. The plots show that heuristic<br />

algorithms give overall the best per<strong>for</strong>mance.<br />

80


Chapter 5<br />

Undirected R<strong>in</strong>gs with Cluster<br />

<strong>Wavelength</strong> Conversion<br />

In this chapter we study the WA problem <strong>for</strong> undirected r<strong>in</strong>gs with cluster wavelength<br />

conversion capabilities where request paths are given a priori, <strong>and</strong> propose<br />

WA algorithms that improve upon those presented <strong>in</strong> [Cavendish <strong>and</strong> Sengupta<br />

(2002)] <strong>for</strong> this problem. We experimentally compare with the best per<strong>for</strong>mance<br />

algorithm <strong>in</strong> [Cavendish <strong>and</strong> Sengupta (2002)] <strong>and</strong> show improvement of up to<br />

100% <strong>and</strong> 2% <strong>for</strong> number of conversions <strong>and</strong> wavelengths requirement respectively.<br />

Our algorithms are adaptation of the pivot based methods <strong>for</strong> r<strong>in</strong>g networks without<br />

wavelength conversion presented <strong>in</strong> Chapter 3, <strong>and</strong> the wavelength conversion<br />

framework <strong>for</strong> algorithms <strong>for</strong> this problem proposed by [Cavendish <strong>and</strong> Sengupta<br />

(2002)]. For our experiments we use <strong>in</strong>stances with Uni<strong>for</strong>m <strong>and</strong> Gaussian distribution<br />

of requests def<strong>in</strong>ed <strong>in</strong> Section 2.4.1, <strong>and</strong> <strong>for</strong> the rout<strong>in</strong>g decisions we<br />

use the shortest path rout<strong>in</strong>g <strong>and</strong> the load balanc<strong>in</strong>g rout<strong>in</strong>g described <strong>in</strong> Section<br />

2.4.2.<br />

5.1 Cluster wavelength conversion model<br />

As described <strong>in</strong> Section 2.2.2.2, wavelength converters allows shift<strong>in</strong>g a wavelength<br />

from one to another. In [Cavendish <strong>and</strong> Sengupta (2002)] they considered<br />

r<strong>in</strong>g networks with heterogeneous conversion capabilities <strong>in</strong> which different nodes<br />

of the r<strong>in</strong>g network may have different wavelength conversion capabilities (i.e.,<br />

81


5.1 Cluster wavelength conversion model<br />

with converters of arbitrary degrees of conversion). R<strong>in</strong>g networks with cluster<br />

wavelength conversion capabilities are an important class of r<strong>in</strong>g networks with<br />

heterogeneous wavelength conversion capabilities considered <strong>in</strong> [Cavendish <strong>and</strong><br />

Sengupta (2002)], which are def<strong>in</strong>ed as follows. Let K be an even <strong>in</strong>teger, <strong>and</strong><br />

W = {0, 1, . . . , K−1} a collection of available wavelengths on each l<strong>in</strong>k of the r<strong>in</strong>g<br />

network. <strong>Wavelength</strong>s <strong>in</strong> W can be partitioned <strong>in</strong>to K 2 subsets, W i, 0 ≤ i ≤ K 2 −1,<br />

such that W 0 = {0, 1}, W 1 = {2, 3} . . ., W K<br />

−1<br />

= {K −2, K −1}. In r<strong>in</strong>g networks<br />

2<br />

with cluster wavelength conversion capabilities each node allows <strong>for</strong> wavelength<br />

conversion only among wavelengths with<strong>in</strong> a partition (cluster W i ). For example,<br />

<strong>for</strong> the collection W wavelength conversion 0 → 1 <strong>and</strong> 1 → 0 is allowed, however,<br />

the wavelength conversion 0 → 2, is not allowed. The WA problem <strong>for</strong> r<strong>in</strong>gs with<br />

cluster wavelength conversion capabilities is NP-complete [Cavendish (Nov 12-16,<br />

2001, Beij<strong>in</strong>g, Ch<strong>in</strong>a)].<br />

5.1.1 <strong>Wavelength</strong> <strong>allocation</strong> with conversion framework<br />

In this section we describe a wavelength conversion framework that allocates<br />

wavelength to requests one l<strong>in</strong>k at a time us<strong>in</strong>g the first-fit colour<strong>in</strong>g. A wavelength<br />

shift is attempted on a successive l<strong>in</strong>k if the current wavelength become unavailable<br />

<strong>and</strong> wavelength conversion be<strong>in</strong>g possible at current node. Let r = (i, j)<br />

be a request be<strong>in</strong>g allocated wavelength us<strong>in</strong>g the wavelength conversion framework.<br />

The first fit colour<strong>in</strong>g is used to f<strong>in</strong>d a suitable wavelength w p (available<br />

wavelength of least <strong>in</strong>dex) at first l<strong>in</strong>k i traversed by the request r. On successive<br />

l<strong>in</strong>k span the wavelength w p is used, unless w p is not available beyond a certa<strong>in</strong><br />

node, v, <strong>in</strong> which case a wavelength conversion w p → w q is attempted at v,<br />

from wavelength w p to wavelength w q , such that w q is the least <strong>in</strong>dex wavelength<br />

among all possible wavelength conversions <strong>for</strong> w p at node v. Once wavelength w q<br />

is used any successive l<strong>in</strong>k span <strong>for</strong> r will attempt to use wavelength w q as be<strong>for</strong>e.<br />

Suppose that at node v no suitable wavelength conversion is available. We<br />

backtrack to the last node where a wavelength choice was made <strong>and</strong> attempt to<br />

choose an alternate wavelength with next least <strong>in</strong>dex among possible wavelength<br />

conversions. Backtrack<strong>in</strong>g attempt cont<strong>in</strong>ue until all possible wavelength choices<br />

are exhausted, <strong>in</strong> which case the request r is allocated us<strong>in</strong>g a new wavelength.<br />

82


5.2 <strong>Wavelength</strong> <strong>allocation</strong> with pivot method <strong>and</strong> conversion<br />

framework<br />

5.2 <strong>Wavelength</strong> <strong>allocation</strong> with pivot method<br />

<strong>and</strong> conversion framework<br />

In this section we describe different WA algorithms <strong>for</strong> r<strong>in</strong>gs with cluster wavelength<br />

conversion that comb<strong>in</strong>e the pivot method of the algorithms presented <strong>in</strong><br />

Chapter 3 <strong>and</strong> the wavelength conversion framework described <strong>in</strong> Section 5.1.1.<br />

The notion of pivot covers <strong>and</strong> algorithm <strong>for</strong> f<strong>in</strong>d<strong>in</strong>g a pivot cover with respect to<br />

a request of a r<strong>in</strong>g network were described <strong>in</strong> Section 3.3. Our ma<strong>in</strong> strategy is to<br />

first allocate wavelength to as many requests as possible us<strong>in</strong>g the pivot method<br />

<strong>and</strong> use the wavelength conversion framework to colour any requests rema<strong>in</strong><strong>in</strong>g<br />

uncolored yet. That is, our algorithms attempt to make as few calls possible<br />

to the wavelength conversion framework so as to m<strong>in</strong>imize the number of wavelength<br />

conversion requirements s<strong>in</strong>ce a wavelength conversion is considered as an<br />

expensive operation. In addition, mak<strong>in</strong>g more calls to the pivot method gives<br />

advantage of improved wavelength utilization.<br />

5.2.1 Long pivot with wavelength conversion<br />

We describe the long pivot with wavelength conversion (LP-WC) algorithm <strong>for</strong><br />

the WA problem <strong>for</strong> r<strong>in</strong>gs with cluster wavelength conversion capabilities. Let<br />

L be the network load. The LP-WC algorithm f<strong>in</strong>ds L pivot covers which are<br />

assigned us<strong>in</strong>g L colours, subsequently, any rema<strong>in</strong><strong>in</strong>g uncoloured request is allocated<br />

wavelength through the wavelength conversion framework of Section 5.1.1.<br />

The LP-WC algorithm colours requests <strong>in</strong> the follow<strong>in</strong>g way.<br />

1. For 1 ≤ i ≤ L, f<strong>in</strong>d a pivot cover P (r) with respect to a longest uncoloured<br />

request r. Assign requests <strong>in</strong> P (r) a new colour.<br />

2. Assign colours to any rema<strong>in</strong><strong>in</strong>g requests us<strong>in</strong>g the wavelength conversion<br />

framework of Section 5.1.1.<br />

5.2.2 Fixed pivot with wavelength conversion<br />

We describe the fixed pivot with wavelength conversion (FP-WC) algorithm <strong>for</strong><br />

the WA problem <strong>for</strong> r<strong>in</strong>gs with cluster wavelength conversion capabilities. Let<br />

83


5.3 Related algorithms<br />

e be dist<strong>in</strong>guished as the pivot l<strong>in</strong>k <strong>and</strong> L e the number of requests travers<strong>in</strong>g<br />

the l<strong>in</strong>k e. The FP-WC algorithm f<strong>in</strong>ds L e pivot covers that are assigned us<strong>in</strong>g<br />

L e colours. Any rema<strong>in</strong><strong>in</strong>g uncolored requests are allocated colours through the<br />

wavelength conversion framework of Section 5.1.1. The FP-WC algorithm colours<br />

requests <strong>in</strong> the follow<strong>in</strong>g way.<br />

1. For 1 ≤ i ≤ L e , f<strong>in</strong>d a pivot cover P (r) with respect to a longest uncoloured<br />

request us<strong>in</strong>g the pivot l<strong>in</strong>k. Assign requests <strong>in</strong> P (r) a new colour.<br />

2. Assign colours to any rema<strong>in</strong><strong>in</strong>g requests us<strong>in</strong>g the wavelength conversion<br />

framework of Section 5.1.1.<br />

As <strong>in</strong> Section 3.3.2, we consider FP-WC algorithm with a l<strong>in</strong>k traversed by<br />

the m<strong>in</strong>imum number of requests as the pivot l<strong>in</strong>k, denoted by m<strong>in</strong>FP-WC. If<br />

the r<strong>in</strong>g network size n is small (practical r<strong>in</strong>gs typically conta<strong>in</strong> from 3 to 30<br />

nodes [Carpenter <strong>and</strong> Cosares (2002)]), then it may be feasible to try each l<strong>in</strong>k as<br />

the pivot l<strong>in</strong>k, <strong>and</strong> select the best colour<strong>in</strong>g achieved. This leads to an iterative<br />

variant of the FP-WC algorithm, referred to as the iterative fixed pivot with<br />

wavelength conversion algorithm (IFP-WC). The worst case runn<strong>in</strong>g time <strong>for</strong><br />

the IFP-WC algorithm <strong>in</strong>creases by a factor of n to that of the basic FP-WC<br />

algorithm.<br />

5.3 Related algorithms<br />

In this section we describe the best per<strong>for</strong>mance WA algorithm <strong>in</strong> [Cavendish <strong>and</strong><br />

Sengupta (2002)] called Spiral algorithm (SPR) <strong>for</strong> r<strong>in</strong>gs with cluster wavelength<br />

conversion capabilities. We experimentally compare the SPR algorithm with our<br />

algorithms <strong>for</strong> per<strong>for</strong>mance <strong>in</strong> Section 5.4.<br />

The SPR algorithm uses the first-fit colour<strong>in</strong>g <strong>and</strong> the wavelength conversion<br />

framework of Section 5.1.1 to allocate wavelength to requests of a r<strong>in</strong>g network.<br />

Start<strong>in</strong>g with an arbitrary request the SPR algorithm colours successive requests<br />

follow<strong>in</strong>g the r<strong>in</strong>g <strong>in</strong> clockwise direction as follows.<br />

1. Assign colour to the first request us<strong>in</strong>g the first-fit colour<strong>in</strong>g.<br />

84


5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

2. Let r = (i, j) be the last request to be coloured. Select the next uncoloured<br />

request p = (k, l) such that k has the shortest clockwise distance from j<br />

<strong>in</strong> the r<strong>in</strong>g among all uncoloured requests. Ties are broken by select<strong>in</strong>g an<br />

uncoloured request with shortest length.<br />

3. Assign colour to p us<strong>in</strong>g the wavelength conversion framework of Section<br />

5.1.1.<br />

5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

In this section we report numerical results <strong>and</strong> per<strong>for</strong>mance comparison <strong>for</strong> the<br />

algorithms LP-WC, m<strong>in</strong>FP-WC, IFP-WC <strong>and</strong> SPR. We denote by W <strong>and</strong> C the<br />

average number of wavelength <strong>and</strong> number of conversion requirement by each<br />

algorithm. The average is taken over ten r<strong>and</strong>om <strong>in</strong>stances. Tables 5.1 <strong>and</strong><br />

5.2 show the numerical results <strong>for</strong> all algorithms considered <strong>for</strong> <strong>in</strong>stances with<br />

Uni<strong>for</strong>m-SP, Uni<strong>for</strong>m-LB, Gaussian-SP <strong>and</strong> Gaussian-LB distribution of requests<br />

<strong>and</strong> networks with 32 <strong>and</strong> 64 nodes.<br />

As was noted <strong>in</strong> Section 3.5 observe from Tables 5.1 <strong>and</strong> 5.2 that Gaussian<br />

<strong>in</strong>stances are easily coloured under the shortest path rout<strong>in</strong>g : all algorithms use<br />

optimal number of colours <strong>in</strong> our experiments. In addition all algorithms except<br />

the SPR algorithm do not per<strong>for</strong>m any wavelength conversion, <strong>and</strong> the number<br />

of conversions per<strong>for</strong>med by the SPR algorithm are fewer (between 1 <strong>and</strong> 3).<br />

For other <strong>in</strong>stance types we consider the numerical results show that algorithms<br />

LP-WC <strong>and</strong> IFP-WC give best wavelength per<strong>for</strong>mance with up to 2%<br />

better than the SPR algorithm. The worst per<strong>for</strong>mance m<strong>in</strong>FP-WC algorithm<br />

amongst pivot based algorithms also outper<strong>for</strong>ms the SPR algorithm on all <strong>in</strong>stances<br />

except the Uni<strong>for</strong>m-LB <strong>in</strong>stances. For all <strong>in</strong>stances the algorithm LP-WC<br />

does not per<strong>for</strong>m any conversion, whereas the algorithm m<strong>in</strong>FP-WC <strong>and</strong> IFP-<br />

WC per<strong>for</strong>ms only up to 2 <strong>and</strong> 1 conversions respectively. On the other <strong>and</strong>, the<br />

algorithm SPR per<strong>for</strong>ms a significant number of conversions <strong>for</strong> most <strong>in</strong>stances we<br />

considered. But the iterative algorithm IFP-WC has an extra factor n (the size<br />

of the network) <strong>in</strong> its runn<strong>in</strong>g time <strong>in</strong> comparison to the none-iterat<strong>in</strong>g algorithm<br />

85


5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

SPR m<strong>in</strong>FP-WC LP-WC IFP-WC<br />

Distribution n |R| W-LB W C W C W C W C<br />

128 41 42 14 42 0 42 0 41 0<br />

32 256 78 79 35 79 0 79 0 78 0<br />

Uni<strong>for</strong>m 512 156 157 66 156 0 157 0 156 0<br />

with SP 1024 288 291 143 290 1 288 0 288 0<br />

128 42 43 18 43 1 43 0 42 1<br />

64 256 77 78 37 78 1 78 0 77 0<br />

512 153 156 84 155 1 154 0 153 1<br />

1024 282 288 167 286 2 284 0 283 1<br />

128 41 42 20 43 1 42 0 42 0<br />

32 256 79 81 40 82 1 80 0 79 1<br />

Uni<strong>for</strong>m 512 158 161 82 162 1 160 0 159 0<br />

with LB 1024 309 315 173 316 1 311 0 311 0<br />

128 41 43 22 44 0 42 0 42 1<br />

64 256 79 83 42 85 1 83 0 81 1<br />

512 154 161 94 162 2 158 0 159 1<br />

1024 309 319 192 323 2 313 0 316 1<br />

Table 5.1: Average number of wavelengths (W) <strong>and</strong> conversions (C) <strong>for</strong> <strong>in</strong>stances<br />

with Uni<strong>for</strong>m distribution of requests. The <strong>in</strong>stances have 128, 256, 512 <strong>and</strong> 1024<br />

requests.<br />

86


5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

SPR m<strong>in</strong>FP-WC LP-WC IFP-WC<br />

Distribution n |R| W-LB W C W C W C W C<br />

128 95 95 1 95 0 95 0 95 0<br />

32 256 187 187 1 187 0 187 0 187 0<br />

Gaussian 512 375 375 3 375 0 375 0 375 0<br />

with SP 1024 749 749 3 749 0 749 0 749 0<br />

128 93 93 2 93 0 93 0 93 0<br />

64 256 189 189 1 189 0 189 0 189 0<br />

512 377 377 1 377 0 377 0 377 0<br />

1024 746 746 2 746 0 746 0 746 0<br />

128 53 54 12 54 0 54 0 54 0<br />

32 256 109 111 26 110 0 110 0 110 0<br />

Gaussian 512 210 213 46 212 0 210 0 210 0<br />

with LB 1024 427 436 106 432 0 428 0 428 0<br />

128 56 57 13 57 0 57 0 56 0<br />

64 256 108 110 26 109 0 109 0 108 0<br />

512 214 218 49 216 0 215 0 215 0<br />

1024 422 428 102 424 0 422 0 422 0<br />

Table 5.2: Average number of wavelengths (W) <strong>and</strong> conversions (C) <strong>for</strong> <strong>in</strong>stances<br />

with Gaussian distribution of requests. The <strong>in</strong>stances have 128, 256, 512 <strong>and</strong><br />

1024 requests.<br />

Distribution LP-WC m<strong>in</strong>FP-WC SPR<br />

Uni<strong>for</strong>m-SP 1.29 0.69 1.43<br />

Uni<strong>for</strong>m-LB 1.78 0.99 2.02<br />

Gaussian-SP 0.40 1.06 0.58<br />

Gaussian-LB 1.98 2.38 3.35<br />

Table 5.3: Average time used (<strong>in</strong> seconds) <strong>for</strong> r<strong>in</strong>g network with 64 nodes <strong>and</strong><br />

<strong>in</strong>stance of 2048 requests (us<strong>in</strong>g 1.0GHZ AMD Duron Processor with 112.0MB<br />

RAM).<br />

87


5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

LPA, which is an additional advantage of the algorithm LPA. Table 5.3 shows<br />

the average time used <strong>for</strong> none-iterat<strong>in</strong>g algorithms considered <strong>for</strong> r<strong>in</strong>g network<br />

with 64 nodes <strong>and</strong> <strong>in</strong>stance of 2048 requests.<br />

We report additional numerical results <strong>for</strong> WA heuristics considered <strong>in</strong> this<br />

chapter <strong>in</strong> Appendix A.3 <strong>for</strong> networks with 16, 32, 64 <strong>and</strong> 96 nodes. The differences<br />

between the per<strong>for</strong>mance grow when the size of the network <strong>in</strong>creases<br />

(see Tables A.7, A.8, A.9 <strong>and</strong> A.10). For all <strong>in</strong>put <strong>in</strong>stances of Gaussian-SP type<br />

which we have considered, all algorithms have always found optimal solutions on<br />

all networks we considered.<br />

We summarize the per<strong>for</strong>mance results <strong>for</strong> the algorithms LP-WC, m<strong>in</strong>FP-<br />

WC, <strong>and</strong> SPR <strong>in</strong> the plots <strong>in</strong> Figures 5.1, 5.2 <strong>and</strong> 5.3, <strong>for</strong> r<strong>in</strong>g networks with 64<br />

nodes <strong>and</strong> Uni<strong>for</strong>m-SP, Uni<strong>for</strong>m-LB <strong>and</strong> Gaussian-LB distribution of requests.<br />

The plots show that algorithm LP-WC gives overall the best per<strong>for</strong>mance, followed<br />

by the algorithms m<strong>in</strong>FP-WC <strong>and</strong> SPR. The good per<strong>for</strong>mance of the pivot<br />

based algorithms, <strong>and</strong> especially the LP-WC algorithm, could be attributed to<br />

the fact that a pivot cover potentially decreases the network load by 1 (lead<strong>in</strong>g<br />

to a better utilization of the colours), <strong>and</strong> the way the pivot covers are selected<br />

gives priority to longer requests that are potentially difficult to colour. In addition,<br />

pivot covers lead to fewer number of conversion requirements <strong>for</strong> the pivot<br />

based algorithms.<br />

88


5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

1.03<br />

LP-WC<br />

m<strong>in</strong>FP-WC<br />

SPR<br />

# WAVELENGTHS/W-LB<br />

1.02<br />

1.01<br />

1<br />

150 300 450 600 750 900<br />

W-LB<br />

(a)<br />

# CONVERSIONS/W-LB<br />

0.675<br />

0.6<br />

0.525<br />

0.45<br />

0.375<br />

0.3<br />

0.225<br />

0.15<br />

0.075<br />

0<br />

150 300 450 600 750 900<br />

W-LB<br />

LP-WC<br />

m<strong>in</strong>FP-WC<br />

SPR<br />

(b)<br />

Figure 5.1: <strong>Wavelength</strong> <strong>and</strong> conversion per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-<br />

SP distribution of requests on 64 nodes r<strong>in</strong>g network. (a) Number of <strong>Wavelength</strong>s<br />

(b) Number of Conversions.<br />

89


5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

1.08<br />

# WAVELENGTHS/W-LB<br />

1.07<br />

1.06<br />

1.05<br />

1.04<br />

1.03<br />

1.02<br />

LP-WC<br />

m<strong>in</strong>FP-WC<br />

SPR<br />

1.01<br />

1<br />

150 300 450 600 750 900 1050<br />

W-LB<br />

(a)<br />

# CONVERSIONS/W-LB<br />

0.675<br />

0.6<br />

0.525<br />

0.45<br />

0.375<br />

0.3<br />

0.225<br />

0.15<br />

0.075<br />

0<br />

LP-WC<br />

m<strong>in</strong>FP-WC<br />

SPR<br />

150 300 450 600 750 900 1050<br />

W-LB<br />

(b)<br />

Figure 5.2: <strong>Wavelength</strong> <strong>and</strong> conversion per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-<br />

LB distribution of requests on 64 nodes r<strong>in</strong>g network. (a) Number of <strong>Wavelength</strong>s<br />

(b) Number of Conversions.<br />

90


5.4 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

1.03<br />

LP-WC<br />

m<strong>in</strong>FP-WC<br />

SPR<br />

# WAVELENGTHS/W-LB<br />

1.02<br />

1.01<br />

1<br />

150 300 450 600 750 900 1050 1200 1350<br />

W-LB<br />

(a)<br />

0.3<br />

# CONVERSIONS/W-LB<br />

0.225<br />

0.15<br />

0.075<br />

LP-WC<br />

m<strong>in</strong>FP-WC<br />

SPR<br />

0<br />

150 300 450 600 750 900 1050 1200 1350<br />

W-LB<br />

(b)<br />

Figure 5.3: <strong>Wavelength</strong> <strong>and</strong> conversion per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian-<br />

LB distribution of requests on 64 nodes r<strong>in</strong>g network. (a) Number of <strong>Wavelength</strong>s<br />

(b) Number of Conversions.<br />

91


Chapter 6<br />

Undirected Multi-fiber Trees<br />

A Multi-fiber network allows more than one optic fibers per l<strong>in</strong>k mak<strong>in</strong>g more<br />

wavelengths available to satisfy a given <strong>in</strong>stance of connection requests. When<br />

more than one fibers per l<strong>in</strong>k is used to satisfy an <strong>in</strong>stance a natural optimization<br />

problem is to m<strong>in</strong>imize the overall number of fibers requirement on the network.<br />

This problem was first studied by [Nomikos et al. (2001)] <strong>and</strong> showed that it<br />

can be optimally solved <strong>for</strong> path (cha<strong>in</strong>) networks <strong>and</strong> is NP-hard <strong>for</strong> general<br />

networks. They presented a 2-approximation algorithm <strong>for</strong> star <strong>and</strong> r<strong>in</strong>g networks<br />

respectively. In this chapter we adapt the techniques used <strong>in</strong> [Nomikos<br />

et al. (2001)] <strong>for</strong> star <strong>and</strong> cha<strong>in</strong> networks to multi-fiber tree networks <strong>and</strong> propose<br />

a 2-approximation algorithm <strong>for</strong> spider trees (also <strong>in</strong>dependently given <strong>in</strong><br />

[Potika et al. (Nicosia, Cyprus, Nov 8–10, 2001)]), a 3-approximation <strong>and</strong> 4-<br />

approximation algorithm <strong>for</strong> a tree such that any path has at most two <strong>and</strong> three<br />

nodes of degrees greater than 2 respectively. Us<strong>in</strong>g this technique we obta<strong>in</strong> a<br />

log n-approximation <strong>and</strong> n-approximation algorithm <strong>for</strong> k-ary <strong>and</strong> arbitrary trees<br />

with n nodes respectively. Improved results <strong>for</strong> arbitrary trees are presented <strong>in</strong><br />

[Erlebach et al. (2003)] <strong>and</strong> later <strong>in</strong> [Chekuri et al. (2003)] with a (log n + 1)-<br />

approximation <strong>and</strong> 4-approximation ratio respectively.<br />

6.1 Tree network model<br />

Trees <strong>and</strong> spider trees are def<strong>in</strong>ed <strong>in</strong> Section 2.3. A tree network is modeled by<br />

a tree T = (V, E) where the nodes <strong>in</strong> V are network nodes <strong>and</strong> the edges <strong>in</strong> E<br />

92


6.1 Tree network model<br />

are network l<strong>in</strong>ks. A tree T is said to be branched tree if there is a non-empty<br />

subset of nodes <strong>in</strong> V on degrees of at least 3, referred to as branched nodes. An<br />

<strong>in</strong>ternal node of T has degree of at least 2 <strong>and</strong> a leaf node of T has degree equals<br />

1. For example, a path network is a tree network with no branch node <strong>and</strong> a star<br />

network is a tree network with one branch node, <strong>and</strong> is the only <strong>in</strong>ternal node.<br />

A spider network is a branched tree network with exactly one branch node <strong>and</strong><br />

possibly many <strong>in</strong>ternal nodes. Figure 6.1 depicts a spider graph with a branch<br />

node v. A path on a tree T is a sequence of nodes v 1 , v 2 , v 3 , . . . , v p such that<br />

{v 1 , v 2 }, {v 2 , v 3 }, . . . , {v p−1 , v p } are edges of T <strong>and</strong> the v i are dist<strong>in</strong>ct. We denote<br />

by s(T ) the maximum number of branch nodes on any path of T .<br />

v<br />

Figure 6.1: A spider tree with branch node v.<br />

The problem of m<strong>in</strong>imiz<strong>in</strong>g the overall number of optical fibers <strong>in</strong> a multi-fiber<br />

network can be modeled by path multi-colour<strong>in</strong>g problem (PCM) [Nomikos et al.<br />

(2001)]. For the PCM problem we are given a network N, a rout<strong>in</strong>g R <strong>for</strong> an<br />

<strong>in</strong>stance I on N as a set of paths P . A l<strong>in</strong>k of N can be realized us<strong>in</strong>g one or<br />

more optic fibers each support<strong>in</strong>g fixed number of wavelengths (colours), labeled<br />

1, . . . , W . Given a PCM <strong>in</strong>stance, we wish to satisfy the set of paths <strong>in</strong> P such<br />

that at any l<strong>in</strong>k a wavelength, w, <strong>for</strong> 1 ≤ w ≤ W , is assigned to zero or more<br />

paths. The goal is to m<strong>in</strong>imize the multiplicity, λ(w), the number of paths shar<strong>in</strong>g<br />

colour w at any l<strong>in</strong>k. Note that m<strong>in</strong>imiz<strong>in</strong>g λ(w) also imply a m<strong>in</strong>imum number<br />

of optic fibers is used by the network. For path networks the PCM problem can<br />

be optimally solved <strong>and</strong> <strong>for</strong> star <strong>and</strong> r<strong>in</strong>gs there is a 2-approximation algorithm<br />

[Nomikos et al. (2001)].<br />

A path subgraph on a tree with a leaf <strong>and</strong> branch node as end-nodes is referred<br />

to as a tree cha<strong>in</strong>. Let (T, P, W ) be a PCM <strong>in</strong>stance <strong>for</strong> a tree network T where P<br />

is a set of request paths on T such that a path p ∈ P connects a pair of nodes {u, v}<br />

93


6.2 PCM algorithm <strong>for</strong> spider tree<br />

<strong>in</strong> T , <strong>and</strong> W is a fixed number of wavelengths supported by fibers on the l<strong>in</strong>ks<br />

of T . We relate a tree cha<strong>in</strong> to a cha<strong>in</strong> network <strong>and</strong> present a 2-approximation<br />

algorithm <strong>for</strong> spider trees <strong>and</strong> a O(s(T ))-approximation algorithm <strong>for</strong> arbitrary<br />

trees by adapt<strong>in</strong>g the techniques <strong>in</strong> [Nomikos et al. (2001)] <strong>for</strong> star <strong>and</strong> cha<strong>in</strong><br />

networks that <strong>in</strong>volves a reduction of the PCM problem to edge colour<strong>in</strong>g of<br />

bipartite multigraphs (ECBM) problem. There is a polynomial time reduction<br />

from PCM to ECBM [Nomikos et al. (2001)], <strong>and</strong> optimal algorithm <strong>for</strong> the<br />

ECBM problem [Cole et al. (2001)].<br />

6.2 PCM algorithm <strong>for</strong> spider tree<br />

A spider tree has a s<strong>in</strong>gle branch node <strong>and</strong> several <strong>in</strong>ternal <strong>and</strong> leaf nodes. Unlike<br />

a star tree where a tree cha<strong>in</strong> has s<strong>in</strong>gle edge, a tree cha<strong>in</strong> of a spider tree may<br />

have more than one edge. The PCM algorithm <strong>for</strong> spider tree networks (APR1)<br />

is an adaptation of the PCM algorithms <strong>for</strong> cha<strong>in</strong> <strong>and</strong> star networks proposed <strong>in</strong><br />

[Nomikos et al. (2001)]. The algorithm APR1 uses two phases to which paths<br />

are oriented <strong>and</strong> grouped <strong>in</strong>to W paths at each node where paths beg<strong>in</strong> or end,<br />

followed by a PCM reduction to ECBM.<br />

6.2.1 Path orientation <strong>and</strong> group<strong>in</strong>g<br />

Given a P MC <strong>in</strong>stance (T, P, W ) <strong>for</strong> a spider tree T (V, E), where P is a set<br />

of paths <strong>in</strong> T <strong>and</strong> W a fixed number of available wavelengths on a fiber. The<br />

path orientation <strong>and</strong> group<strong>in</strong>g phase partitions the paths of P travers<strong>in</strong>g an edge<br />

e ∈ T <strong>in</strong>to two sets P ′ e <strong>and</strong> P ′′<br />

e , <strong>and</strong> def<strong>in</strong>e groups of W paths with same orientation<br />

beg<strong>in</strong>n<strong>in</strong>g or end<strong>in</strong>g at the same node, us<strong>in</strong>g the follow<strong>in</strong>g five steps.<br />

1. At each non-leaf node v ∈ T , if there exists a pair of l<strong>in</strong>k disjo<strong>in</strong>t paths<br />

p 1 = {u, v} ∈ P <strong>and</strong> p 2 = {v, w} ∈ P , then replace the paths p 1 <strong>and</strong> p 2 of<br />

P with a new path p = {u, w}.<br />

2. Assign orientation to paths of P arbitrarily.<br />

3. At every edge e ∈ T partition paths of P travers<strong>in</strong>g e <strong>in</strong>to the sets P e<br />

′<br />

<strong>and</strong> P e<br />

′′ based on their orientation. Note that at the edge e one or both<br />

94


6.2 PCM algorithm <strong>for</strong> spider tree<br />

partition sets may be empty. The subscript e <strong>for</strong> a partition set is dropped<br />

when referr<strong>in</strong>g to a partition spann<strong>in</strong>g a tree cha<strong>in</strong>.<br />

4. Let L ′ e <strong>and</strong> L ′′<br />

e be the number of paths <strong>for</strong> the path partition P e ′ <strong>and</strong> P e<br />

′′<br />

respectively. Add L ′ e mod W <strong>and</strong> L ′′<br />

e mod W dummy dipaths (directed paths<br />

of length 1) <strong>in</strong> P e ′ <strong>and</strong> P e ′′ respectively with correspond<strong>in</strong>g orientation. Thus<br />

we have that the number of paths on each edge partition is a multiple of<br />

W .<br />

5. On each tree cha<strong>in</strong> if there exists a pair of l<strong>in</strong>k disjo<strong>in</strong>t dipaths p 1 = (u, v)<br />

<strong>and</strong> p 2 = (v, w), then replace the paths p 1 <strong>and</strong> p 2 of P with a new path<br />

p = (u, w). Thus at each node (except possibly a branch node), paths on<br />

the same tree cha<strong>in</strong> partition only beg<strong>in</strong> or end but not both. By Step 4<br />

the number of paths that end or beg<strong>in</strong> at such a node are <strong>in</strong> multiples of<br />

W . Figure 6.2 depicts a node v <strong>in</strong>cident to l<strong>in</strong>ks e <strong>and</strong> e ′ . The dashed l<strong>in</strong>es<br />

are oriented paths on the same partition, such that m paths end at v <strong>and</strong><br />

n paths bypass node v.<br />

6. At each node of T group arbitrarily the paths that beg<strong>in</strong> or end at a node<br />

<strong>in</strong>to W paths. By Steps 1 <strong>and</strong> 5 we have that paths on a group share at<br />

least one l<strong>in</strong>k of T <strong>and</strong> that a path belongs to a group of exactly W paths<br />

at its source node <strong>and</strong> s<strong>in</strong>k node (except possibly <strong>for</strong> a path with branch<br />

node as the source or s<strong>in</strong>k node, <strong>in</strong> which case it may belong to a group of<br />

less than W paths).<br />

6.2.2 PCM reduction to ECBM<br />

A colour<strong>in</strong>g of the orig<strong>in</strong>al paths <strong>in</strong> P can be obta<strong>in</strong>ed from the edge colour<strong>in</strong>g<br />

of a bipartite multigraph H = (A, B, E) <strong>in</strong> the follow<strong>in</strong>g way.<br />

1. Def<strong>in</strong>e a bipartite multigraph H = (A, B, E) from the paths of T as follows.<br />

At a node v of T where paths beg<strong>in</strong> there is a node <strong>in</strong> A <strong>for</strong> each path group<br />

at v, <strong>and</strong> at a node w of T where paths end there is a node <strong>in</strong> B <strong>for</strong> each<br />

path group at w. For every path of T there is an edge <strong>in</strong> E <strong>in</strong>cident to a pair<br />

of nodes correspond<strong>in</strong>g to the path groups where the path beg<strong>in</strong>s (a node<br />

95


6.2 PCM algorithm <strong>for</strong> spider tree<br />

} m } n<br />

e<br />

v<br />

e’<br />

Figure 6.2: A set of paths on the same partition us<strong>in</strong>g node v <strong>in</strong>cident with edges<br />

e <strong>and</strong> e ′ . There are m + n paths travers<strong>in</strong>g the edge e, with m paths end<strong>in</strong>g at<br />

node v <strong>and</strong> n paths bypass<strong>in</strong>g the node v to edge e ′ . By Step 4, the edges e <strong>and</strong><br />

e ′ have p · W <strong>and</strong> q · W paths, <strong>for</strong> some <strong>in</strong>tegers p <strong>and</strong> q. Hence the number m of<br />

paths end<strong>in</strong>g at v is equal to (p − q) · W .<br />

of A) <strong>and</strong> ends (a node of B). The multigraph H is W -degree bipartite<br />

multigraph s<strong>in</strong>ce a path group has at most W paths.<br />

2. Use the bipartite edge colour<strong>in</strong>g algorithm <strong>in</strong> [Cole et al. (2001)] to optimally<br />

colour the edges of H us<strong>in</strong>g W colours. By Step 1, the proper edge<br />

colour<strong>in</strong>g of H corresponds to a legal colour<strong>in</strong>g of the paths of P us<strong>in</strong>g W<br />

colours.<br />

6.2.3 Bound<strong>in</strong>g per<strong>for</strong>mance of APR1 algorithm<br />

In this section we describe the per<strong>for</strong>mance analysis of the algorithm APR1 given<br />

<strong>in</strong> Section 6.2. Let L e be the number of paths travers<strong>in</strong>g a l<strong>in</strong>k e ∈ T . The<br />

optimal algorithm, OPT, requires at least ⌈ L e<br />

W<br />

⌉<br />

number of optic fibers to satisfy<br />

paths travers<strong>in</strong>g the l<strong>in</strong>k e, s<strong>in</strong>ce an optic fiber supports at most W paths. The<br />

overall number of optic fibers C opt required by the algorithm OPT is there<strong>for</strong>e,<br />

C opt ≥ ∑ ⌈ ⌉<br />

Le<br />

.<br />

W<br />

e∈E<br />

In Step 3 the algorithm APR1 partition the paths of P travers<strong>in</strong>g the l<strong>in</strong>k<br />

e ∈ T <strong>in</strong>to two sets P e ′ <strong>and</strong> P e ′′ . Let L ′ e <strong>and</strong> L ′′<br />

e be the number of paths travers<strong>in</strong>g<br />

the l<strong>in</strong>k e <strong>in</strong> P e ′ <strong>and</strong> P e<br />

′′ respectively. The ⌈number ⌉ ⌈of ⌉optic⌈ fibers⌉required by the<br />

algorithm APR1 at the l<strong>in</strong>k e is there<strong>for</strong>e, L ′<br />

e<br />

+ L ′′<br />

e<br />

≤ L ′<br />

e +L ′′<br />

e<br />

+1 = ⌈ L e<br />

⌉<br />

W W<br />

W<br />

W +1.<br />

96


6.3 Extension to other tree networks<br />

Hence, the overall number of optic fibers C apr1<br />

APR1 is,<br />

≤ ∑ e∈E<br />

(⌈ ⌉ )<br />

Le<br />

+ 1 = ∑ W<br />

e∈E<br />

required by the algorithm<br />

⌈ ⌉<br />

Le<br />

+ ∑ 1 ≤ C opt + |E|.<br />

W<br />

e∈E<br />

But then, |E| ≤ C opt , s<strong>in</strong>ce each active l<strong>in</strong>k require an optical fiber. There<strong>for</strong>e<br />

C apr1 ≤ 2 · C opt , giv<strong>in</strong>g a 2-approximation algorithm APR1.<br />

6.3 Extension to other tree networks<br />

In this section we extend the algorithm described <strong>in</strong> Section 6.2 <strong>for</strong> spider tree<br />

networks to trees with two or more branch nodes. Let (T, P, W ) be a PCM<br />

<strong>in</strong>stance <strong>for</strong> a tree T with s(T ) = h, <strong>for</strong> h ≥ 2, <strong>and</strong> let a branch node v be<br />

dist<strong>in</strong>guished as the root node <strong>for</strong> T . The root node <strong>for</strong> a tree T is determ<strong>in</strong>ed<br />

through a trans<strong>for</strong>mation of the tree T by identify<strong>in</strong>g all nodes of degree 2 to<br />

the tree T ′ with no nodes of degree 2. A centre node of T ′ (def<strong>in</strong>ed <strong>in</strong> Section<br />

2.3) is designated as the root node of the tree T . We def<strong>in</strong>e a label<strong>in</strong>g <strong>for</strong> the<br />

branch nodes of T with respect to the root node v as follows. The branch node v<br />

is labeled 0. Let k be number of branch nodes conta<strong>in</strong>ed <strong>in</strong> a path between the<br />

root node v <strong>and</strong> a branch node w (the root node v <strong>and</strong> the node w also counted).<br />

The branch node w is labeled k − 1. For example, the tree network <strong>in</strong> Figure<br />

6.3 has s(T ) = 3, <strong>and</strong> suppose that node v is the root node labeled 0. All other<br />

branch nodes receive label 1.<br />

v<br />

Figure 6.3: A tree T with s(T ) = 3.<br />

A subtree of T rooted at a branch node u labeled k consists of nodes <strong>and</strong><br />

edges of the tree cha<strong>in</strong>s between the branch node u <strong>and</strong> the leaf-nodes of T with<br />

97


6.3 Extension to other tree networks<br />

no branch node of lower label than k. We say that a path of P is spanned by<br />

a subtree rooted at a branch node u if all l<strong>in</strong>ks traversed by the path are <strong>in</strong><br />

this subtree. We consider paths of P spanned by a subtree rooted at a branch<br />

node <strong>in</strong>dependently, start<strong>in</strong>g with subtrees rooted at branch nodes of highest<br />

labels. The partial colour<strong>in</strong>g of paths spanned by each subtree is comb<strong>in</strong>ed <strong>in</strong>to<br />

a colour<strong>in</strong>g of paths of P . Given a subset of paths spanned by a subtree rooted<br />

at branch node u, the P MC problem is solved by group<strong>in</strong>g the paths <strong>in</strong>to several<br />

partitions, followed by a reduction of the PCM problem to the ECBM problem<br />

as <strong>in</strong> Section 6.2.2. We first consider trees T with s(T ) = 3.<br />

6.3.1 PCM algorithm <strong>for</strong> tree with s(T ) = 3<br />

In this section we describe the PCM algorithm APR2 <strong>for</strong> trees with s(T ) = 3.<br />

Figure 6.3 shows a tree T with s(T ) = 3 where any path has at most three<br />

branch nodes. Let node v be dist<strong>in</strong>guished as the root node <strong>for</strong> such tree T . The<br />

node v is labeled 0 <strong>and</strong> other branch nodes are labeled 1. The paths of P is a<br />

union of paths spanned by the different subtrees rooted at branch nodes labeled<br />

1 called type 1 paths, <strong>and</strong> the paths spanned by the subtree rooted at the root<br />

node labeled 0, called type 0 paths. Note that a subtree rooted at a node labeled<br />

1 is homeomorphic to a spider tree. Thus we can apply the spider tree algorithm<br />

of Section 6.2 to paths spanned by each of such subtree. A type 0 path may use<br />

more than one branch nodes. We consider type 0 paths by apply<strong>in</strong>g Steps 1, 2,<br />

<strong>and</strong> 3 of Section 6.2.1, <strong>in</strong> addition to the follow<strong>in</strong>g two steps.<br />

1. The nodes of a subtree rooted at a node labeled 0 are visited <strong>in</strong> postorder<br />

(i.e., process all nodes of a tree by recursively process<strong>in</strong>g all subtrees, then<br />

f<strong>in</strong>ally process<strong>in</strong>g the root). Let P ′ <strong>and</strong> P ′′ be cha<strong>in</strong> partitions which ma<strong>in</strong>ta<strong>in</strong>s<br />

sets of path groups with at most W paths <strong>for</strong> paths that beg<strong>in</strong> <strong>and</strong><br />

end at a node of T respectively. At the current node add a path that beg<strong>in</strong><br />

or end <strong>in</strong>to a path group with less than W paths of the correspond<strong>in</strong>g path<br />

partition. If no path group with less than W paths exists, create a new<br />

path group <strong>and</strong> add any rema<strong>in</strong><strong>in</strong>g paths. If the current node is a branch<br />

node other than the root of the subtree, then <strong>in</strong> addition per<strong>for</strong>m Step 2.<br />

98


6.3 Extension to other tree networks<br />

2. Suppose that at current branch node a collection of path groups Q = {P i :<br />

1 ≤ i ≤ k}, <strong>for</strong> k ≥ 0, with same orientation <strong>and</strong> from partitions of dist<strong>in</strong>ct<br />

tree cha<strong>in</strong>s end<strong>in</strong>g at the current node, have less than W paths. We merge<br />

path groups of Q to obta<strong>in</strong> a new collection Q ′ = {P j ′ : 1 ≤ j ≤ h} of h<br />

path groups, such that 0 ≤ h ≤ k, |P j| ′ ≤ W , <strong>and</strong> <strong>for</strong> any P s, ′ P q ′ ∈ Q ′ ,<br />

W < |P s| ′ + |P q|, ′ <strong>for</strong> 1 ≤ s < q ≤ h. (6.1)<br />

3. The type 0 paths are then coloured by reduction from PCM to ECBM as<br />

<strong>in</strong> Section 6.2.2.<br />

Lemma 2 For the set Q ′ of path groups def<strong>in</strong>ed <strong>in</strong> Step 2, at most one path group<br />

has less than ⌈ ⌉<br />

W<br />

2 paths.<br />

Proof : This follows from the condition of the Inequality 6.1, <strong>in</strong> Step 2.<br />

Lemma 3 Let κ e = ∑ k<br />

i=1 |P i| be the total number of paths <strong>for</strong> path groups of Q<br />

<strong>in</strong> Step 2 travers<strong>in</strong>g the edge e. Then h ≤ 2 · ⌈ κ e<br />

W<br />

⌉<br />

.<br />

Proof :<br />

This follows as a consequence of Lemma 2 <strong>and</strong> application of the pigeonhole<br />

pr<strong>in</strong>ciple.<br />

6.3.2 Bound<strong>in</strong>g per<strong>for</strong>mance of APR2 algorithm<br />

The algorithm APR2 colours type 1 paths us<strong>in</strong>g the AP R1 algorithm <strong>for</strong> spider<br />

trees. Thus <strong>for</strong> type 1 paths the analysis is similar to that of Section 6.2.3.<br />

Algorithm AP R2 def<strong>in</strong>e path groups of at most W paths <strong>for</strong> type 0 paths. In<br />

particular, Lemma 3 shows that at any l<strong>in</strong>k a partition has at most 2 · ⌈ κ e<br />

w<br />

⌉<br />

path<br />

groups with less than W paths, where κ e is the total number of paths <strong>for</strong> path<br />

groups with less than W paths <strong>and</strong> same orientation travers<strong>in</strong>g the l<strong>in</strong>k e. Let L e<br />

be the total number of paths us<strong>in</strong>g l<strong>in</strong>k e. Furthermore, let P 0e <strong>and</strong> P 1e be a set of<br />

type 0 <strong>and</strong> type 1 paths us<strong>in</strong>g l<strong>in</strong>k e respectively. The optimal algorithm OPT <strong>for</strong><br />

the PCM problem <strong>for</strong> the tree T with s(T ) = 3 uses at least ⌈ L e<br />

⌉ ⌈ ⌉<br />

W = |P0 e |+|P 1e |<br />

W<br />

optic fibers at l<strong>in</strong>k e.<br />

In addition, we denote by P ′ 1 e<br />

<strong>and</strong> P ′′<br />

1 e<br />

the path partitions at e <strong>for</strong> paths <strong>in</strong> P 1e ,<br />

<strong>and</strong> P ′ 0 e<br />

<strong>and</strong> P ′′<br />

0 e<br />

the path partitions at e <strong>for</strong> paths <strong>in</strong> P 0e . Let E 0 ⊆ E <strong>and</strong> E 1 ⊆ E<br />

99


6.3 Extension to other tree networks<br />

be the subset of edges of T , such that E 1 is the set of edges on the subtrees of<br />

T rooted at the branch nodes labeled 1, <strong>and</strong> E 0 = E \ E 1 . By algorithm APR1<br />

<strong>and</strong> Step 1 of algorithm ⌈ ⌉ APR2, ⌈ ⌉the ⌈ number ⌉ of ⌈ optic ⌉ fibers required at any l<strong>in</strong>k<br />

|P ′<br />

e ∈ E 1 is at most 1e | |P ′′ |P ′<br />

+ + 0e | |P ′′<br />

+ . Furthermore, by Step 2 of<br />

W<br />

W<br />

1e |<br />

W<br />

W<br />

algorithm APR2 <strong>and</strong> ⌈ Lemma ⌉ 3, the number of optic fibers required at any l<strong>in</strong>k<br />

|P<br />

e ′ ′ ⌈<br />

0e ′<br />

∈ E 0 is at most<br />

|−κ′ e ′<br />

|κ<br />

⌉<br />

⌉ ⌈<br />

′<br />

|κ<br />

⌉<br />

′′<br />

+ 2 · + + 2 · , where κ ′ e <strong>and</strong> ′<br />

e ′ |<br />

W<br />

0e |<br />

W<br />

⌈<br />

|P ′′<br />

0 e ′ |−κ′′ e ′<br />

W<br />

κ ′′<br />

e are def<strong>in</strong>ed as <strong>in</strong> Lemma 3 <strong>for</strong> an edge ′ e′ ∈ E 0 .<br />

Thus the total number of optic fibers C apr2 required by algorithm APR2 is,<br />

≤ ∑ (⌈ |P<br />

′<br />

⌉ ⌈<br />

1e<br />

| |P<br />

′′<br />

⌉ ⌈<br />

1<br />

+ e<br />

| |P<br />

′<br />

⌉ ⌈<br />

+<br />

0e<br />

| |P<br />

′′<br />

⌉)<br />

0<br />

+ e<br />

|<br />

W W W W<br />

e∈E 1<br />

+ ∑ (⌈ |P<br />

′ | − ⌉<br />

0e ′ κ′ e ′<br />

+ 2 ·<br />

W<br />

e ′ ∈E 0<br />

≤ ∑ (⌈ |P<br />

′<br />

1e<br />

| + |P 1 ′′<br />

e<br />

| + |P 0 ′ e<br />

| + |P ′′<br />

W<br />

e∈E 1<br />

0 e<br />

|<br />

⌈ ⌉ ⌈ κ<br />

′<br />

e ′ |P<br />

′′<br />

+<br />

W<br />

e ′ |<br />

W<br />

0 | − ⌉ ⌈ ⌉)<br />

e ′ κ′′ e ′ κ<br />

′′<br />

e<br />

+ 2 ·<br />

′<br />

W<br />

W<br />

⌉ )<br />

+ 3 + ∑ ( ⌈ |P<br />

′<br />

2 ·<br />

| ⌉ ⌈<br />

0e ′ |P<br />

′′<br />

0<br />

+ 2 ·<br />

| ⌉)<br />

e ′<br />

W<br />

W<br />

e ′ ∈E 0<br />

≤ ∑ (⌈ ⌉ )<br />

|P1e | + |P 0e |<br />

+ 3 + 2 · ∑ (⌈ ⌉ )<br />

|P0e ′|<br />

+ 1 .<br />

W<br />

W<br />

e∈E 1 e ′ ∈E 0<br />

Note that |P 1e | + |P 0e | <strong>and</strong> |P 0e ′| is the total number of requests travers<strong>in</strong>g<br />

<strong>and</strong> edge e ∈ E 1 <strong>and</strong> e ′ ∈ E 0 respectively. Hence,<br />

C apr2 ≤ ∑ (⌈ ⌉ )<br />

Le<br />

+ 3 + 2 · ∑ (⌈ ⌉<br />

Le ′<br />

W<br />

W<br />

e∈E 1 e ′ ∈E 0<br />

= ∑ (⌈ ⌉)<br />

Le<br />

+ 3 · |E 1 | + 2 · ∑ (⌈ ⌉)<br />

Le ′<br />

W<br />

W<br />

e∈E 1 e ′ ∈E 0<br />

Theorem 4 APR2 is a 4-approximation algorithm.<br />

)<br />

+ 1<br />

+ 2 · |E 0 |. (6.2)<br />

Proof :<br />

OPT is<br />

The total number of optic fibers C opt require by the optimal algorithm<br />

≥ ∑ ⌈ ⌉<br />

Le<br />

+ ∑ ⌈ ⌉<br />

Le ′<br />

.<br />

W W<br />

e∈E 1 e ′ ∈E 0<br />

100


6.3 Extension to other tree networks<br />

Let C opt<br />

1 = ∑ ⌈<br />

Le<br />

⌉<br />

W , <strong>and</strong> C<br />

opt<br />

0 = ∑ ⌈ ⌉<br />

Le ′<br />

. Note that |E<br />

W<br />

1 | ≤ C opt<br />

1 <strong>and</strong> |E 0 | ≤<br />

e∈E 1 e ′ ∈E 0<br />

C opt<br />

0 , s<strong>in</strong>ce each active l<strong>in</strong>k requires at least one optic fiber. Substitut<strong>in</strong>g <strong>in</strong> the<br />

Inequality 6.2 we obta<strong>in</strong><br />

C apr2 ≤ 4 · (C opt<br />

1 + C opt<br />

0 ) = 4 · C opt .<br />

We can adapt the algorithm APR2 to a tree network T with s(T ) = 2 <strong>and</strong><br />

s(T ) > 3 respectively. We obta<strong>in</strong> the follow<strong>in</strong>g results.<br />

Corollary 1 For a tree T with s(T ) = 2, APR2 is a 3-approximation algorithm.<br />

Proof :<br />

Let T be a tree with s(T ) = 2 rooted at a degree 2 node on a path<br />

between the two branch nodes (if none exists, create one by a subdivision of the<br />

edge adjacent to the branch nodes).<br />

The root node is labeled 0 <strong>and</strong> the two<br />

branch nodes labeled 1. Apply the algorithm APR2 <strong>in</strong> Section 6.3.1 to T but<br />

with type 0 paths all oriented <strong>in</strong> the same direction (this is possible s<strong>in</strong>ce the root<br />

node is of degree 2). The result follows by the analysis of Section 6.3.2 because<br />

now all type 0 paths are <strong>in</strong> one partition.<br />

Corollary ⌋ 2 For a tree T with s(T ) ≥⌋<br />

3 odd <strong>and</strong> s(T ) ≥ 4 even, the APR2 is a<br />

4· -approximation <strong>and</strong> a 4· −2-approximation algorithm respectively.<br />

⌊<br />

s(T )<br />

2<br />

Proof :<br />

⌊<br />

s(T )<br />

2<br />

We show by <strong>in</strong>duction on s(T ). We describe <strong>for</strong> the case of s(T ) odd,<br />

<strong>and</strong> <strong>for</strong> s(T ) even similar arguments apply <strong>in</strong> addition to arguments described <strong>in</strong><br />

Corollary 1 <strong>for</strong> root node <strong>and</strong> type 0 paths orientation. The result <strong>in</strong> Theorem 4<br />

<strong>for</strong> a tree with s(T ) = 3 suffice <strong>for</strong> the basis case. Assume the result holds <strong>for</strong> an<br />

arbitrary tree T with s(T ) ≤ h odd. We prove <strong>for</strong> the tree T with s(T ) = h + 2.<br />

Let v be the root node of such tree T . The node v is labeled 0, where other<br />

branch nodes labeled with respect to v as <strong>in</strong> Section 6.3, that is labeled from<br />

the set {1, 2, . . . , h+1}.<br />

Thus the paths of P is the union ⋃ q<br />

2 k=0<br />

{type k}, where<br />

q = h+1.<br />

2<br />

Algorithm APR2 can be adapted to type 0 paths. Let P 0 ′ e<br />

<strong>and</strong> P 0 ′′<br />

e<br />

be the<br />

path partitions at e <strong>for</strong> type 0 paths. Let E 0 ⊆ E <strong>and</strong> E h+1 ⊆ E be the subset of<br />

2<br />

edges of T , such that E h+1 is the set of edges on the subtrees of T rooted at the<br />

2<br />

branch nodes labeled h+1,<br />

<strong>and</strong> E 2 0 = E \ E h+1 . By Step 1 of algorithm APR2,<br />

2<br />

101


6.3 Extension to other tree networks<br />

the number of optic fibers required <strong>for</strong> type 0 paths at any l<strong>in</strong>k e ∈ E h+1 is at<br />

⌈ ⌉ ⌈ ⌉<br />

2<br />

|P ′<br />

most 0 e | |P ′′<br />

+ . Also by Step 2 of algorithm APR2 <strong>and</strong> Lemma 3, the<br />

W<br />

W<br />

0e |<br />

W<br />

number ⌈ of ⌉ optic fibers required at any l<strong>in</strong>k e ′ ∈ E 0 <strong>for</strong> type 0 paths is at most<br />

|P ′ ⌈<br />

0e ′ |−κ′ e ′<br />

|κ<br />

⌉<br />

⌉ ⌈<br />

′<br />

|κ<br />

⌉<br />

′′<br />

+ 2 · +<br />

+ 2 · , where κ ′ e ′ <strong>and</strong> κ′′ e are def<strong>in</strong>ed as<br />

′<br />

e ′ |<br />

W<br />

<strong>in</strong> Lemma 3 <strong>for</strong> edge e ′ ∈ E 0 .<br />

⌈<br />

|P ′′<br />

0 e ′ |−κ′′ e ′<br />

W<br />

Let C apr3 be the total number of optic fibers required by algorithm APR2<br />

<strong>for</strong> type 0 paths. Us<strong>in</strong>g the analysis <strong>in</strong> Section 6.3.2, C apr3 is bounded by the<br />

<strong>in</strong>equality<br />

≤ 2 · ∑<br />

e ′ ∈E<br />

(⌈<br />

Le ′<br />

e ′ |<br />

W<br />

⌉)<br />

+ 2 · |E| ≤ 4 · OP T. (6.3)<br />

W<br />

On the other h<strong>and</strong>, <strong>for</strong> a subtree T ′ of T rooted at a branch node labeled<br />

1 we have that s(T ′ ) ≤ h. By <strong>in</strong>duction the algorithm APR2 require C apr4 ≤<br />

4 · ⌊ ⌋ ⋃<br />

h<br />

2 · OP T optic fibers <strong>for</strong> the set of paths s h−1<br />

j=0<br />

{type j}, <strong>for</strong> s = , on such a<br />

2<br />

subtree. Thus the overall number of optic fiber required by the algorithm APR2<br />

is C apr4 + C apr3 ≤ 4 · ⌊ ⌋ ⌊<br />

h<br />

2 · OP T + 4 · OP T = 4 · ( h<br />

⌋ ⌊<br />

2 + 1) · OP T = 4 · h+2<br />

⌋<br />

2 · OP T .<br />

⌋<br />

For complete k-ary tree T with n nodes,<br />

⌊<br />

s(T )<br />

2<br />

≤ log n. Thus APR2 is an logarithmic<br />

factor approximation algorithm <strong>for</strong> tree networks that are homeomorphic<br />

to the complete k-ary tree. For general trees, APR2 is an O(n)-approximation<br />

algorithm, <strong>for</strong> example, on the caterpillar tree, where a third of the tree nodes<br />

are of degree three <strong>and</strong> the rema<strong>in</strong><strong>in</strong>g are leaf-nodes.<br />

102


Chapter 7<br />

Undirected Multi-fiber R<strong>in</strong>gs<br />

with Limited <strong>Wavelength</strong><br />

Conversion<br />

In this chapter we consider undirected multi-fiber r<strong>in</strong>g networks with limited<br />

wavelength conversion at few nodes that optimally use the available wavelengths.<br />

We also review the results <strong>in</strong> [Ramaswami <strong>and</strong> Sasaki (December 1998)] <strong>for</strong> s<strong>in</strong>glefiber<br />

r<strong>in</strong>g networks with limited wavelength conversion <strong>and</strong> show that at least two<br />

nodes with degree two conversion capabilities are required to optimally use the<br />

available wavelengths. We propose a dual-fiber r<strong>in</strong>g network with degree two<br />

conversion capabilities at one node, <strong>and</strong> fixed conversion capabilities at two nodes<br />

respectively that optimally use the available wavelengths. We also extend the<br />

latter results to k-fiber r<strong>in</strong>gs with arbitrary k ≥ 2. As <strong>for</strong> s<strong>in</strong>gle-fiber r<strong>in</strong>gs the<br />

RWA problem <strong>for</strong> multi-fiber r<strong>in</strong>gs is NP-hard [Li <strong>and</strong> Simha (2000); Margara<br />

<strong>and</strong> Simon (2000)]. For k-fiber r<strong>in</strong>gs where each l<strong>in</strong>k is realized us<strong>in</strong>g k optic<br />

fibers with fixed number of wavelengths, the authors <strong>in</strong>dependently showed that<br />

a 75% b<strong>and</strong>width utilization is best possible <strong>for</strong> any k ≥ 2. In dual-fiber r<strong>in</strong>gs<br />

each l<strong>in</strong>k is realized us<strong>in</strong>g 2 optical fibers, see Figures 7.1 <strong>and</strong> 7.2.<br />

We mentioned <strong>in</strong> Section 2.2.2 that wavelength convertible <strong>and</strong> multi-fiber<br />

networks give alternative approach <strong>for</strong> improv<strong>in</strong>g b<strong>and</strong>width utilization <strong>for</strong> optical<br />

networks. A <strong>Wavelength</strong> converter is modeled by a bipartite graph <strong>and</strong> the<br />

maximum degree of the graph correspond to the complexity of the converter.<br />

103


The cost of a wavelength converter <strong>in</strong>creases with the complexity of conversion.<br />

A limited wavelength converter can shift the <strong>in</strong>put wavelength channel to a fixed<br />

few other output wavelength channels, thus provides limited <strong>for</strong>m of wavelength<br />

conversion, whereas a full wavelength converter can shift the <strong>in</strong>put wavelength<br />

channel to any available output wavelength channels, thus provides an unlimited<br />

<strong>for</strong>m of wavelength conversion. Nevertheless, limited converters are relatively<br />

cheaper compared to full converters.<br />

0<br />

1<br />

2<br />

3<br />

w0<br />

w1<br />

w2<br />

w3<br />

w4<br />

w5<br />

Figure 7.1: A dual-fiber r<strong>in</strong>g with four nodes <strong>and</strong> total of six wavelengths.<br />

Each fiber has three wavelengths, where the first fiber has wavelengths labeled<br />

w 0 , w 2 <strong>and</strong> w 4 , <strong>and</strong> the second fiber has wavelengths labeled w 1 , w 3 <strong>and</strong> w 5 . The<br />

nodes 0 <strong>and</strong> 2 have fixed wavelength conversion capabilities. Dotted l<strong>in</strong>es are the<br />

wavelengths. At each node wavelength shifts may occur between pairs of same<br />

wavelengths from dist<strong>in</strong>ct fibers (dotted l<strong>in</strong>es) or pairs of dist<strong>in</strong>ct wavelengths<br />

attached by optical converters (solid l<strong>in</strong>es).<br />

A fixed converter (degree 1 converter) is a variant of limited conversion <strong>in</strong><br />

which an <strong>in</strong>put channel is shifted to one fixed output channel. Other variants<br />

of limited conversion <strong>in</strong>clude a degree 2 converter, <strong>in</strong> which an <strong>in</strong>put channel<br />

can be shifted to two fixed output channels. Figure 7.1 shows a dual-fiber r<strong>in</strong>g<br />

network with fixed wavelength conversion capabilities at node 0 <strong>and</strong> node 2, <strong>and</strong><br />

Figure 7.2 shows a dual-fiber r<strong>in</strong>g network with degree two wavelength conversion<br />

capabilities at node 1. In the figures the dashed l<strong>in</strong>es depict wavelength channels<br />

<strong>and</strong> the solid l<strong>in</strong>es the channel attachments through wavelength conversion.<br />

S<strong>in</strong>ce the cost of an optical converter <strong>in</strong>creases with the complexity of conversion,<br />

a network us<strong>in</strong>g fixed conversion is relatively cheaper that one us<strong>in</strong>g degree 2<br />

conversion, which is <strong>in</strong> turn less costly than one us<strong>in</strong>g full wavelength conversion.<br />

104


7.1 S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion<br />

0<br />

1<br />

2<br />

3<br />

w0<br />

w1<br />

w2<br />

w3<br />

w4<br />

w5<br />

Figure 7.2: A dual-fiber r<strong>in</strong>g with four nodes <strong>and</strong> total of six wavelengths.<br />

Each fiber has three wavelengths, where the first fiber has wavelengths labeled<br />

w 0 , w 2 <strong>and</strong> w 4 , <strong>and</strong> the second fiber has wavelengths labeled w 1 , w 3 <strong>and</strong> w 5 . The<br />

node 1 has degree two wavelength conversion capabilities. Dotted l<strong>in</strong>es are the<br />

wavelengths. At each node wavelength shifts may occur between pairs of same<br />

wavelengths from dist<strong>in</strong>ct fibers (dotted l<strong>in</strong>es) or pairs of dist<strong>in</strong>ct wavelengths<br />

attached by optical converters (solid l<strong>in</strong>es).<br />

Albeit, the latter provides a straight<strong>for</strong>ward way to use the wavelength channels<br />

optimally. We adapt the results of [Ramaswami <strong>and</strong> Sasaki (December 1998)]<br />

<strong>for</strong> s<strong>in</strong>gle-fiber r<strong>in</strong>gs with degree two wavelength conversion capabilities at two<br />

nodes called paired wavelength (PW) r<strong>in</strong>g network to dual-fiber r<strong>in</strong>gs with low<br />

conversion capabilities at few nodes that optimally use the available wavelengths,<br />

reduc<strong>in</strong>g the conversion cost.<br />

7.1 S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion<br />

S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion are considered <strong>in</strong> [Ramaswami <strong>and</strong><br />

Sasaki (December 1998)], where they show that if a s<strong>in</strong>gle-fiber r<strong>in</strong>g has full<br />

wavelength conversion capabilities at one node then any <strong>in</strong>stance can be satisfied<br />

us<strong>in</strong>g optimal number of wavelengths. Furthermore, they show that such optimal<br />

<strong>allocation</strong> of wavelengths can also be realized <strong>for</strong> a s<strong>in</strong>gle-fiber r<strong>in</strong>g with degree<br />

two wavelength conversion capabilities at two nodes. However, one cannot guarantee<br />

optimal wavelength <strong>allocation</strong> <strong>for</strong> s<strong>in</strong>gle-fiber r<strong>in</strong>gs with fixed wavelength<br />

105


7.1 S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion<br />

conversion at one or more nodes.<br />

Given a r<strong>in</strong>g network N <strong>and</strong> a rout<strong>in</strong>g R <strong>for</strong> an <strong>in</strong>stance I on N, let L be<br />

the network load. Without loss of generality, every l<strong>in</strong>k of N is traversed by L<br />

paths, otherwise, at any l<strong>in</strong>k e traversed by L e < L paths, add L − L e dummy<br />

paths of length one. The paths <strong>in</strong> R can be trans<strong>for</strong>med <strong>in</strong>to a set of paths with a<br />

special structure relative to the r<strong>in</strong>g as follows. A cut operation is applied to R by<br />

splitt<strong>in</strong>g a fixed node of N <strong>in</strong>to two new nodes, called split nodes, to obta<strong>in</strong> a new<br />

set of paths R that corresponds to paths of a path (cha<strong>in</strong>) network derived from<br />

N with the split nodes as its end-nodes. We refer to a path of R as a cut route<br />

if it traverses both of the two l<strong>in</strong>ks <strong>in</strong>cident to the split node of N. A cut route<br />

corresponds to two requests <strong>in</strong> the cha<strong>in</strong> network called residual routes. There is<br />

an optimal algorithm <strong>for</strong> wavelength <strong>allocation</strong> <strong>for</strong> requests of a cha<strong>in</strong> network <strong>in</strong><br />

[Golumbic (1980)]. Thus, if the split node of N is equipped with full wavelength<br />

conversion capabilities, then optimal wavelength <strong>allocation</strong> <strong>for</strong> requests of the<br />

cha<strong>in</strong> network can be translated <strong>in</strong>to optimal wavelength <strong>allocation</strong> <strong>for</strong> requests<br />

of the r<strong>in</strong>g network. This implies the follow<strong>in</strong>g result,<br />

Theorem 5 (Ramaswami <strong>and</strong> Sasaki (December 1998)) If a r<strong>in</strong>g network<br />

N has full wavelength conversion capabilities at one node then any <strong>in</strong>stance has<br />

optimal wavelength <strong>allocation</strong>.<br />

S<strong>in</strong>gle-fiber r<strong>in</strong>gs with low degree conversion are also considered <strong>in</strong> [Ramaswami<br />

<strong>and</strong> Sasaki (December 1998)]. They first def<strong>in</strong>e a path structure called multi-cycle<br />

of routes (MCR) over the r<strong>in</strong>g network. An MCR is a sequence of paths go<strong>in</strong>g<br />

around the r<strong>in</strong>g <strong>in</strong> clockwise orientation one or more times <strong>and</strong> has the same<br />

start <strong>and</strong> end node. The number of times an MCR goes around the r<strong>in</strong>g is its<br />

multiplicity. A collection of MCRs <strong>for</strong> a set of paths such that each path <strong>in</strong> the<br />

set belongs to exactly one MCR is called an MCR-partition. An MCR-partition<br />

<strong>for</strong> a rout<strong>in</strong>g R of the r<strong>in</strong>g network can be computed efficiently [Ramaswami <strong>and</strong><br />

Sasaki (December 1998)].<br />

Analogous to MCR is a structure of wavelengths over the r<strong>in</strong>g network called<br />

multi cycles of channels (MCC). An MCC is a sequence of dist<strong>in</strong>ct attached<br />

wavelengths that start at a node goes through the r<strong>in</strong>g <strong>in</strong> clockwise direction one<br />

or more times <strong>and</strong> ends at the start node. The multiplicity of an MCC is the<br />

106


7.1 S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion<br />

number of times it goes around the r<strong>in</strong>g.<br />

Thus an MCC with multiplicity m<br />

suffices <strong>for</strong> optimal wavelength <strong>allocation</strong> of an MCR of multiplicity m, <strong>for</strong> some<br />

<strong>in</strong>teger m, if both the MCC <strong>and</strong> MCR start <strong>and</strong> end at the same node.<br />

A r<strong>in</strong>g network is s<strong>in</strong>gle-MCC r<strong>in</strong>g if its wavelength channels can only be arranged<br />

<strong>in</strong>to an MCC of multiplicity L, <strong>and</strong> is multi-MCC r<strong>in</strong>g, if <strong>for</strong> any <strong>in</strong>teger<br />

h ≥ 1, <strong>and</strong> a set of <strong>in</strong>tegers {m i } h−1<br />

i=0 , such that ∑ h−1<br />

i=0 m i = L, there is a collection<br />

of h MCCs {H i } h−1<br />

i=0 which are channel disjo<strong>in</strong>t <strong>and</strong> that each MCC H i has<br />

multiplicity m i . A s<strong>in</strong>gle-fiber r<strong>in</strong>g with fixed wavelength conversion capabilities<br />

at one or more nodes is a s<strong>in</strong>gle-MCC r<strong>in</strong>g <strong>and</strong> a s<strong>in</strong>gle-fiber r<strong>in</strong>g with degree two<br />

limited wavelength conversion at two nodes is a multi-MCC r<strong>in</strong>g [Ramaswami<br />

<strong>and</strong> Sasaki (December 1998)]. They show that,<br />

Theorem 6 (Ramaswami <strong>and</strong> Sasaki (December 1998)) For a s<strong>in</strong>gle-MCC<br />

r<strong>in</strong>g network with L wavelengths, any <strong>in</strong>stance with load at most L − 1 can be<br />

satisfied.<br />

Theorem 7 (Ramaswami <strong>and</strong> Sasaki (December 1998)) For a multi-MCC<br />

r<strong>in</strong>g network with L wavelengths, any <strong>in</strong>stance with load at most L can be satisfied.<br />

A paired wavelength (PW) r<strong>in</strong>g network is a s<strong>in</strong>gle-fiber r<strong>in</strong>g that uses degree<br />

2 conversion at two nodes [Ramaswami <strong>and</strong> Sasaki (December 1998)]. Let<br />

{w i : 0 ≤ i ≤ W − 1} be the set wavelength channels on a r<strong>in</strong>g network, where W<br />

is the total number of available wavelengths on a fiber. The wavelength channels<br />

of a PW r<strong>in</strong>g network are arranged <strong>in</strong> the follow<strong>in</strong>g way. Channels at the same<br />

wavelength are attached at every node <strong>and</strong> <strong>in</strong> addition at the first convert<strong>in</strong>g<br />

node called, primary node, the wavelength pairs (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), <strong>for</strong><br />

i ≡ 0(mod 2) are attached, <strong>and</strong> at the second convert<strong>in</strong>g node called, secondary<br />

node, the wavelength pairs (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), <strong>for</strong> i ≡ 1(mod 2) are attached,<br />

the addition on wavelength labels is done modulo W . Such wavelength<br />

attachment (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ) is also referred to as the outgo<strong>in</strong>g <strong>and</strong> <strong>in</strong>com<strong>in</strong>g<br />

attachment, respectively. In [Ramaswami <strong>and</strong> Sasaki (December 1998)]<br />

they showed the follow<strong>in</strong>g result <strong>for</strong> PW r<strong>in</strong>gs.<br />

Proposition 1 (Ramaswami <strong>and</strong> Sasaki (December 1998)) For any two <strong>in</strong>tegers<br />

j <strong>and</strong> h, such that, 0 ≤ j ≤ j + h ≤ W − 1, the PW r<strong>in</strong>g network has<br />

107


7.1 S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion<br />

an MCC with multiplicity h + 1, that uses the wavelength channels {w i : j ≤ i ≤<br />

j + h}.<br />

From Proposition 1, it follows that a PW r<strong>in</strong>g is a multi-MCC r<strong>in</strong>g network,<br />

that is, <strong>for</strong> any arbitrary set of positive <strong>in</strong>tegers {m i } m−1<br />

i=0 of card<strong>in</strong>ality m, such<br />

that ∑ m−1<br />

i=0 m i = W , there exists a set of MCCs, {H i } m−1<br />

i=0 , <strong>and</strong> MCC H i has<br />

multiplicity m i .<br />

0<br />

w0<br />

w1<br />

w2<br />

w3<br />

1 2 ... n−1<br />

Figure 7.3: An n-node s<strong>in</strong>gle-fiber r<strong>in</strong>g network with four wavelengths labeled<br />

w 0 , w 1 , . . . , w 3 , <strong>and</strong> degree two limited conversion capabilities at node 0. At each<br />

node wavelength channels at the same wavelength are attached, <strong>and</strong> <strong>in</strong> addition at<br />

the conversion node 0 the wavelength pairs (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), <strong>for</strong> 0 ≤ i ≤ 3,<br />

<strong>and</strong> i ≡ 0(mod 2), are attached.<br />

0<br />

w0<br />

w1<br />

w2<br />

w3<br />

1 2 ... n−1<br />

Figure 7.4: An n-node s<strong>in</strong>gle-fiber r<strong>in</strong>g network with four wavelengths labeled<br />

w 0 , w 1 , . . . , w 3 , <strong>and</strong> degree two limited conversion capabilities at node 0. At each<br />

node wavelength channels at the same wavelength are attached, <strong>and</strong> <strong>in</strong> addition<br />

at the conversion node 0 the wavelength pairs (w i , w i+1 ), 0 ≤ i ≤ 3, are attached.<br />

108


7.1 S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion<br />

By Theorem 6, a s<strong>in</strong>gle-fiber r<strong>in</strong>g cannot achieve optimal wavelength <strong>allocation</strong><br />

us<strong>in</strong>g fixed wavelength conversion. In the follow<strong>in</strong>g we show that a s<strong>in</strong>glefiber<br />

r<strong>in</strong>g also cannot achieve optimal wavelength <strong>allocation</strong> us<strong>in</strong>g degree 2 wavelength<br />

conversion at only one node. Figure 7.3, shows a s<strong>in</strong>gle-fiber r<strong>in</strong>g with<br />

degree two conversion at node 0 such that at each node channels at the same<br />

wavelength are attached, <strong>in</strong> addition at the conversion node 0, the wavelength<br />

pairs (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), <strong>for</strong> 0 ≤ i ≤ 3 <strong>and</strong> i ≡ 0(mod 2), are attached,<br />

similarly, <strong>in</strong> Figure 7.4, at all other nodes wavelength channels at the same wavelength<br />

are attached, <strong>and</strong> at the conversion node 0 the wavelength pairs (w i , w i+1 ),<br />

<strong>for</strong> 0 ≤ i ≤ 3, are attached.<br />

Proposition 2 For a s<strong>in</strong>gle-fiber r<strong>in</strong>g with L wavelengths <strong>and</strong> degree two conversion<br />

capabilities at only one node there is an <strong>in</strong>stance of load L that cannot be<br />

satisfied.<br />

Proof :<br />

node.<br />

We consider two possible wavelength attachments at the conversion<br />

1. There exists at least one pair of consecutive wavelengths (w i , w i+1 ) that is<br />

not attached at the conversion node (Figure 7.3),<br />

2. The wavelength pairs (w i , w i+1 ), <strong>for</strong> 0 ≤ i ≤ L − 1, are attached at the<br />

conversion node (Figure 7.4).<br />

For the Case 1, no s<strong>in</strong>gle-MCC exists s<strong>in</strong>ce the wavelength pair (w i , w i+1 ) is<br />

not attached at every network node. Thus an MCR-partition with s<strong>in</strong>gle-MCR<br />

cannot be satisfied. Figure 7.5 shows a set of paths on a r<strong>in</strong>g network which<br />

<strong>for</strong>m a s<strong>in</strong>gle-MCR. Now suppose that a s<strong>in</strong>gle-MCC exists as <strong>in</strong> Case 2. That<br />

is, start<strong>in</strong>g from any node of the r<strong>in</strong>g there is a sequence of wavelengths that<br />

goes around the r<strong>in</strong>g <strong>in</strong> clockwise direction L times <strong>and</strong> ends at the start node.<br />

Without loss of generality, at the conversion node 0 the wavelength pair (w i , w i+1 ),<br />

<strong>for</strong> 0 ≤ i ≤ L−1, are attached to realize a s<strong>in</strong>gle-MCC. We consider the follow<strong>in</strong>g<br />

two possible cases <strong>for</strong> the other wavelength attachments at this node.<br />

1. For 0 ≤ i ≤ L − 1, the wavelength pair (w i , w i ) is attached.<br />

Consider an MCR-partition with an MCR of multiplicity L − 2 that starts<br />

109


7.1 S<strong>in</strong>gle-fiber r<strong>in</strong>gs with wavelength conversion<br />

<strong>and</strong> ends at the conversion node, <strong>and</strong> an MCR of multiplicity 2 that starts<br />

<strong>and</strong> ends at a node other than the conversion node. The paths sequence<br />

{1, 4}, {4, 2}, {2, 4} <strong>and</strong> {4, 1} <strong>in</strong> Figure 7.6 that starts <strong>and</strong> ends at node 1<br />

is an example of such MCR. There is no MCC of multiplicity 2 that starts<br />

<strong>and</strong> ends at node 1, because if an MCC starts say at wavelength w j from<br />

node 1 it goes around the r<strong>in</strong>g <strong>in</strong> clockwise direction, then enters wavelength<br />

w j+1 through a (w j , w j+1 ) wavelength attachment. In the next round the<br />

MCC should enter the wavelength w j through a (w j+1 , w j ) wavelength attachment,<br />

to the start node 1. But at the conversion node the wavelength<br />

pairs (w j , w j+1 ) <strong>and</strong> (w j+1 , w j ), cannot both be attached.<br />

2. One or more wavelength pairs (w i , w i ) are not attached.<br />

Consider an MCR-partition with L MCRs of multiplicity 1 that starts <strong>and</strong><br />

ends at dist<strong>in</strong>ct nodes other than the conversion node 0. The request paths<br />

{{i, L + i}, {L + i, i} : 1 ≤ i ≤ L}, on a r<strong>in</strong>g network with 2L + 1 nodes<br />

<strong>for</strong>m such MCR-partition. Clearly, if a channel (w i , w i ) is not attached,<br />

then such MCR-partition cannot be satisfied us<strong>in</strong>g L wavelengths.<br />

0 1 2 3 4 5 6<br />

Figure 7.5: A 7-node r<strong>in</strong>g network with seven request paths, {{0, 3}, {3, 6},<br />

{6, 2}, {2, 5}, {5, 1}, {1, 4}, {4, 0}}, which <strong>for</strong>m a s<strong>in</strong>gle-MCR.<br />

0<br />

1<br />

2<br />

3<br />

4<br />

Figure 7.6: A 5-node r<strong>in</strong>g network with four request paths, {{2, 4},<br />

{1, 4}, {4, 1}, {4, 2}}.<br />

Theorem 7 <strong>and</strong> Proposition 2 imply that <strong>for</strong> s<strong>in</strong>gle-fiber r<strong>in</strong>gs two or more<br />

nodes with degree two wavelength conversion capabilities are required <strong>for</strong> optimal<br />

110


7.2 Dual-fiber r<strong>in</strong>gs with limited wavelength conversion<br />

wavelength <strong>allocation</strong>. In the follow<strong>in</strong>g sections we consider k-fiber r<strong>in</strong>gs that use<br />

limited wavelength conversion <strong>for</strong> optimal wavelength <strong>allocation</strong>. We propose<br />

dual-fiber r<strong>in</strong>gs with fixed conversion at two nodes <strong>and</strong> degree two conversion at<br />

one node respectively, <strong>and</strong> extend to k-fiber r<strong>in</strong>gs with arbitrary k.<br />

7.2 Dual-fiber r<strong>in</strong>gs with limited wavelength conversion<br />

A dual-fiber r<strong>in</strong>g employs two fibers per l<strong>in</strong>k. In this section we propose dual-fiber<br />

r<strong>in</strong>gs with fixed conversion <strong>and</strong> degree two conversion <strong>for</strong> optimal wavelength <strong>allocation</strong>.<br />

Figure 7.1 shows a dual-fiber r<strong>in</strong>g with fixed conversion capabilities at<br />

nodes 0 <strong>and</strong> 2, <strong>and</strong> Figure 7.2 shows a dual-fiber r<strong>in</strong>g with degree two conversion<br />

capabilities at node 1. In both figures all other nodes have no wavelength<br />

conversion capabilities.<br />

A fixed conversion dual-fiber r<strong>in</strong>g (FDR) is a r<strong>in</strong>g network on n nodes employ<strong>in</strong>g<br />

two fibers at each l<strong>in</strong>k <strong>and</strong> fixed wavelength conversion at two nodes. Let w be<br />

a fixed number of wavelengths supported by an optic fiber. The wavelengths on a<br />

l<strong>in</strong>k of the FDR network are labeled w 0 , . . . , w W −1 , <strong>for</strong> W = 2·w, where (w i , w i+1 ),<br />

is a pair of wavelength channels from dist<strong>in</strong>ct fibers at the same wavelength, <strong>for</strong><br />

0 ≤ i ≤ W − 1 <strong>and</strong> i ≡ 0(mod 2). The network nodes <strong>and</strong> l<strong>in</strong>ks are labeled<br />

0, . . . , n − 1, <strong>for</strong> <strong>in</strong>teger n ≥ 4. Let s be a fixed <strong>in</strong>teger, such that 0 ≤ s ≤ n − 1.<br />

The nodes s <strong>and</strong> (s + 2) mod n, are equipped with fixed conversion capabilities,<br />

such that <strong>for</strong> 0 ≤ i ≤ W − 1, the wavelength pair (w i+1 , w i ) <strong>and</strong> (w i , w i+1 )<br />

is attached at the node s <strong>and</strong> (s + 2) mod n respectively, through wavelength<br />

conversion. All other nodes have no wavelength conversion capabilities. At such<br />

nodes the wavelength pairs (w i , w i ), (w i+1 , w i+1 ), (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), <strong>for</strong><br />

0 ≤ i ≤ W − 1 <strong>and</strong> i ≡ 0( mod 2) are attached as same wavelengths from dist<strong>in</strong>ct<br />

fibers. We refer to the node s <strong>and</strong> (s+2) mod n, as co-primary <strong>and</strong> co-secondary<br />

node, respectively, <strong>and</strong> the node (s+1) mod n <strong>and</strong> (s+3) mod n, as the primary<br />

<strong>and</strong> secondary node, respectively. We relabel a wavelength channel at w i to w i+1 ,<br />

<strong>for</strong> 0 ≤ i ≤ W − 1, <strong>for</strong> l<strong>in</strong>ks between the co-primary <strong>and</strong> co-secondary nodes<br />

<strong>in</strong> clockwise direction. With the relabel<strong>in</strong>g we have that at the co-primary <strong>and</strong><br />

111


7.2 Dual-fiber r<strong>in</strong>gs with limited wavelength conversion<br />

co-secondary nodes the wavelength pair (w i , w i ) is attached, <strong>for</strong> 0 ≤ i ≤ W − 1,<br />

at the primary node the wavelength pairs (w i , w i ), (w i+1 , w i+1 ), (w i , w i+1 ) <strong>and</strong><br />

(w i+1 , w i ), <strong>for</strong> 0 ≤ i ≤ W − 1 <strong>and</strong> i ≡ 1(mod 2) are attached, <strong>and</strong> at the secondary<br />

node the wavelength pairs (w i , w i ), (w i+1 , w i+1 ), (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ),<br />

<strong>for</strong> 0 ≤ i ≤ W − 1 <strong>and</strong> i ≡ 0(mod 2) are attached. Figure 7.1 shows a 4-node<br />

FDR network with w = 3, where s = 0 (i.e., nodes 0 <strong>and</strong> 2 have fixed conversion<br />

capabilities).<br />

A limited conversion dual-fiber r<strong>in</strong>g (LDR) is a r<strong>in</strong>g network on n ≥ 2 nodes<br />

employ<strong>in</strong>g two fibers at each l<strong>in</strong>k <strong>and</strong> degree two wavelength conversion at only<br />

one node. <strong>Wavelength</strong>s, nodes <strong>and</strong> l<strong>in</strong>ks of the LDR network are labeled as<br />

<strong>for</strong> the FDR network, but there is no relabel<strong>in</strong>g of any wavelength. At a node<br />

other than the conversion node of the LDR network the wavelength pairs (w i , w i ),<br />

(w i+1 , w i+1 ), (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), are attached, <strong>for</strong> 0 ≤ i ≤ W − 1 <strong>and</strong> i ≡<br />

0(mod 2). Note that the wavelength channels at w i <strong>and</strong> w i+1 , <strong>for</strong> 0 ≤ i ≤ W − 1<br />

<strong>and</strong> i ≡ 0(mod 2), are from dist<strong>in</strong>ct fibers <strong>and</strong> have the same wavelength. At<br />

the conversion node the wavelength pairs (w i , w i ), (w i+1 , w i+1 ), (w i , w i+1 ) <strong>and</strong><br />

(w i+1 , w i ), are attached through wavelength conversion, <strong>for</strong> 0 ≤ i ≤ W − 1 <strong>and</strong><br />

i ≡ 1(mod 2). We refer to the conversion node as the primary node <strong>and</strong> its<br />

clockwise neighbour as the secondary node. Figure 7.2 shows a 4-node LDR<br />

network with w = 3, where node 1 is the primary node.<br />

In the follow<strong>in</strong>g we adapt the results <strong>for</strong> the PW r<strong>in</strong>g described <strong>in</strong> Section<br />

7.1 to the FDR <strong>and</strong> LDR networks <strong>and</strong> show that they are multi-MCC r<strong>in</strong>g networks.<br />

That is, start<strong>in</strong>g from any node of the FDR <strong>and</strong> LDR networks, successive<br />

wavelength channels can be arranged <strong>in</strong>to an MCC of arbitrary multiplicity. We<br />

describe the results <strong>for</strong> the FDR network s<strong>in</strong>ce by construction the primary <strong>and</strong><br />

secondary nodes of both the FDR <strong>and</strong> LDR network have same role. Thus the<br />

results <strong>for</strong> the LDR network follows from the results of the FDR network.<br />

Lemma 4 Let j <strong>and</strong> h be arbitrary <strong>in</strong>tegers satisfy<strong>in</strong>g, 0 ≤ j ≤ j + h ≤ W − 1.<br />

The FDR network has an MCC with multiplicity h + 1 that uses the wavelength<br />

channels {w i : j ≤ i ≤ j + h}.<br />

Proof : At each node of the FDR network the wavelength pair (w i , w i ), 0 ≤ i ≤<br />

W −1 is attached. In addition, at the primary node the wavelength pairs (w i , w i+1 )<br />

112


7.2 Dual-fiber r<strong>in</strong>gs with limited wavelength conversion<br />

<strong>and</strong> (w i+1 , w i ), <strong>for</strong> i ≡ 1( mod 2), <strong>and</strong> at the secondary node the wavelength pairs<br />

(w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), <strong>for</strong> i ≡ 0(mod 2), are attached, <strong>for</strong> 0 ≤ i ≤ W − 1. We<br />

prove by <strong>in</strong>duction on the number of multiplicity h. The lemma holds <strong>for</strong> h = 0,<br />

s<strong>in</strong>ce the sequence of wavelength channels at w i <strong>for</strong>m an MCC of multiplicity 1<br />

as required.<br />

Assume that the lemma holds <strong>for</strong> h > 0, that is, there is an MCC, H, of<br />

multiplicity h + 1 that only uses channels at wavelengths {w i } j+h<br />

i=j . We show that<br />

the lemma also holds <strong>for</strong> h + 1. Without loss of generality, the MCC H starts<br />

<strong>and</strong> ends at the counter-clockwise neighbour v of the primary node <strong>and</strong> that the<br />

first channel of the MCC H is at wavelength w j . Thus start<strong>in</strong>g at wavelength w j ,<br />

the MCC H goes around the r<strong>in</strong>g <strong>in</strong> clockwise direction, <strong>and</strong> enters a channel at<br />

wavelength w j+1 (at the primary node if j ≡ 1(mod 2), at the secondary node,<br />

otherwise), where the wavelength pair (w j , w j+1 ) is attached, <strong>and</strong> so on. S<strong>in</strong>ce<br />

the MCC H has channels with wavelengths from the set {w i : j ≤ i ≤ j + h}, the<br />

last outgo<strong>in</strong>g wavelength attachment used by the MCC H is the wavelength pair<br />

(w j+h−1 , w j+h ). We consider two cases <strong>for</strong> j + h − 1.<br />

1. j + h − 1 ≡ 1(mod 2).<br />

The wavelength pair (w j+h−1 , w j+h ) is attached at the primary node <strong>and</strong><br />

at secondary node the wavelength pair (w j+h , w j+h+1 ) is attached. Let H ′<br />

be a subset of wavelength channels <strong>in</strong> the MCC H that starts at node v<br />

with wavelength w j , goes around the r<strong>in</strong>g one or more times until the the<br />

wavelength at w j+h is encountered at the secondary node, <strong>and</strong> let H ′′ =<br />

H \ H ′ . At the secondary node the wavelength pairs (w j+h , w j+h+1 ) <strong>and</strong><br />

(w j+h+1 , w j+h ) are attached, thus an MCC that starts with the subset of<br />

channels H ′ , then at the secondary node goes around the r<strong>in</strong>g once us<strong>in</strong>g the<br />

wavelength at w j+h+1 (s<strong>in</strong>ce the wavelength pair (w j+h , w j+h+1 ) is attached<br />

at the secondary node), then cont<strong>in</strong>ues with the channel subsequence H ′′<br />

after the <strong>in</strong>com<strong>in</strong>g wavelength attachment (w j+h+1 , w j+h ) at the secondary<br />

node, is the MCC of multiplicity h + 2 that uses the wavelength channels<br />

{w i : j ≤ i ≤ j + h + 1}, as required.<br />

113


7.3 k-fiber r<strong>in</strong>gs with limited wavelength conversion <strong>for</strong> k > 2<br />

2. j + h − 1 ≡ 0(mod 2).<br />

The proof is similar to Case 1 above, but the role of the primary <strong>and</strong><br />

secondary node is <strong>in</strong>terchanged.<br />

Now we show that the FDR <strong>and</strong> LDR networks are multi-MCC r<strong>in</strong>gs.<br />

Lemma 5 The FDR <strong>and</strong> LDR are multi-MCC r<strong>in</strong>g networks.<br />

Proof : Let {m 0 , . . . , m h−1 } be a set of positive <strong>in</strong>tegers such that ∑ h−1<br />

i=0 m i = W ,<br />

<strong>for</strong> <strong>in</strong>teger h > 0. We show that there is a collection of MCCs, {H 0 , . . . , H h−1 },<br />

such that an MCC, H i , has multiplicity m i , 0 ≤ i ≤ h − 1. Note that if the<br />

wavelength channels of the network are partitioned <strong>in</strong>to subsets {W 0 , . . . , W h−1 },<br />

such that, W 0 = {w 0 , . . . , w m0 −1}, W 1 = {w m0 , . . . , w m0 +m 1 −1},. . ., W h−1 =<br />

{w mh−2 , . . . , w mh−2 +m h−1 −1}, then the number of wavelengths <strong>in</strong> W i is m i , <strong>for</strong><br />

0 ≤ i ≤ h − 1. By Lemma 4, there is an MCC, H i , of multiplicity m i that only<br />

uses the wavelengths <strong>in</strong> W i , 0 ≤ i ≤ h−1, which give the desired MCCs collection<br />

{H 0 , . . . , H h−1 }.<br />

By Lemma 5 we obta<strong>in</strong> the follow<strong>in</strong>g results.<br />

Theorem 8 There is a dual-fiber r<strong>in</strong>g network with four or more nodes, L wavelengths<br />

<strong>and</strong> fixed wavelength conversion at two nodes such that any <strong>in</strong>stance of<br />

load at most L has optimal wavelength <strong>allocation</strong>.<br />

Theorem 9 There is a dual-fiber r<strong>in</strong>g network with L wavelengths <strong>and</strong> degree<br />

two wavelength conversion at only one node such that any <strong>in</strong>stance of load at<br />

most L has optimal wavelength <strong>allocation</strong>.<br />

7.3 k-fiber r<strong>in</strong>gs with limited wavelength conversion<br />

<strong>for</strong> k > 2<br />

In this section we extend the results <strong>for</strong> the LDR <strong>and</strong> FDR networks described <strong>in</strong><br />

Section 7.2 to k-fiber r<strong>in</strong>gs <strong>for</strong> arbitrary k > 2. As <strong>in</strong> Section 7.2, w is the number<br />

of wavelengths supported on a fiber. For k ≡ 0( mod 2), the wavelengths on l<strong>in</strong>ks<br />

114


7.3 k-fiber r<strong>in</strong>gs with limited wavelength conversion <strong>for</strong> k > 2<br />

0<br />

1<br />

2<br />

3 4<br />

w0<br />

w5<br />

w5<br />

w4<br />

w3<br />

w2<br />

w4<br />

w3<br />

w2<br />

w1<br />

w1<br />

w0<br />

w0<br />

w1<br />

w2<br />

w3<br />

w4<br />

w5<br />

(a)<br />

0<br />

w0<br />

w9<br />

w8<br />

w7<br />

w6<br />

w5<br />

w4<br />

w3<br />

w2<br />

w1<br />

1<br />

2<br />

w9<br />

w8<br />

w7<br />

w6<br />

w5<br />

w4<br />

w3<br />

w2<br />

w1<br />

w0<br />

3 4<br />

w0<br />

w1<br />

w2<br />

w3<br />

w4<br />

w5<br />

w6<br />

w7<br />

w8<br />

w9<br />

(b)<br />

Figure 7.7: An FDR adaptation to k-fiber r<strong>in</strong>g <strong>for</strong> k ≡ 1(mod 2), with nodes<br />

0, 1, 2, 3 <strong>and</strong> 4 as the co-primary, primary, co-secondary, secondary <strong>and</strong> tertiary<br />

node respectively. (a) A 3-fiber r<strong>in</strong>g, <strong>and</strong> (b) a 5-fiber r<strong>in</strong>g, with w = 2.<br />

115


7.3 k-fiber r<strong>in</strong>gs with limited wavelength conversion <strong>for</strong> k > 2<br />

0 1 2<br />

w0<br />

w1<br />

w2<br />

w3<br />

w4<br />

w5<br />

(a)<br />

0 1 2<br />

w0<br />

w1<br />

w2<br />

w3<br />

w4<br />

w5<br />

w6<br />

w7<br />

w8<br />

w9<br />

(b)<br />

Figure 7.8: An LDR adaptation to k-fiber r<strong>in</strong>g <strong>for</strong> k ≡ 1(mod 2), with nodes<br />

0, 1 <strong>and</strong> 2 as the primary, tertiary <strong>and</strong> secondary node respectively. (a) A 3-fiber<br />

r<strong>in</strong>g, <strong>and</strong> (b) a 5-fiber r<strong>in</strong>g, with w = 2.<br />

116


7.3 k-fiber r<strong>in</strong>gs with limited wavelength conversion <strong>for</strong> k > 2<br />

of the k-fiber r<strong>in</strong>g are labeled w 0 , w 1 , . . . , w W −1 , where W = k · w, such that the<br />

wavelength pair (w i , w i+1 ), <strong>for</strong> 0 ≤ i ≤ W − 1 <strong>and</strong> i ≡ 0(mod 2), consists of<br />

the wavelength channels from dist<strong>in</strong>ct fibers with the same wavelength. Thus <strong>for</strong><br />

k-fiber r<strong>in</strong>gs with k ≡ 0(mod 2) the results <strong>for</strong> the FDR <strong>and</strong> LDR networks <strong>in</strong><br />

Lemmas 4 <strong>and</strong> 5 can be adapted <strong>in</strong> an obvious way.<br />

For k ≡ 1(mod 2), wavelengths are labeled as follows. For the first k − 3<br />

fibers, the wavelengths on the l<strong>in</strong>ks of a k-fiber r<strong>in</strong>g are labeled as <strong>in</strong> the case of<br />

k ≡ 0( mod 2), that is, with labels w 0 , w 1 , . . . , w W ′ −1, where W ′ = (k −3)·w, <strong>and</strong><br />

the wavelength pair (w i , w i+1 ), <strong>for</strong> 0 ≤ i ≤ W ′ − 1 <strong>and</strong> i ≡ 0(mod 2), consists<br />

of channels from dist<strong>in</strong>ct fibers with the same wavelength. For the rema<strong>in</strong><strong>in</strong>g<br />

three fibers, the wavelengths are labeled w W ′, w W ′ +1, . . . , W − 1, where W =<br />

k · w, such that the wavelength triple (w j , w j+1 , w j+2 ), <strong>for</strong> W ′ ≤ j ≤ W − 3 <strong>and</strong><br />

j − W ′ ≡ 0(mod 3), are wavelength channels from dist<strong>in</strong>ct fibers with the same<br />

wavelength.<br />

A k-fiber r<strong>in</strong>g adaptation of the FDR network is described as follows. Let<br />

n ≥ 5 be the number of nodes on a k-fiber r<strong>in</strong>g. For a fixed s, 0 ≤ s ≤ n − 1, the<br />

nodes s <strong>and</strong> (s + 2) mod n, on a k-fiber r<strong>in</strong>g have fixed conversion capabilities.<br />

At the node s <strong>and</strong> (s + 2) mod n the wavelength pair (w i+1 , w i ) <strong>and</strong> (w i , w i+1 ),<br />

respectively, <strong>for</strong> 0 ≤ i ≤ W − 1, is attached through wavelength conversion.<br />

Other nodes have no wavelength conversion capabilities, thus only channels at<br />

same wavelength are attached. The node s <strong>and</strong> (s + 2) mod n, is the co-primary<br />

<strong>and</strong> co-secondary node respectively. The node (s+1) mod n <strong>and</strong> (s+3) mod n, is<br />

the primary <strong>and</strong> secondary node respectively. In addition the node (s+4) mod n<br />

is dist<strong>in</strong>guished as the tertiary node.<br />

For 0 ≤ i ≤ W ′ − 2, the wavelength pairs (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), are<br />

attached at the primary <strong>and</strong> secondary nodes. In addition, the wavelength pairs<br />

(w i+1 , w i+2 ) <strong>and</strong> (w i+2 , w i+1 ), <strong>for</strong> W ′ ≤ i ≤ W − 3 <strong>and</strong> i − W ′ ≡ 0(mod 3) are<br />

attached. At the tertiary node the wavelength pairs (w i , w i+1 ) <strong>and</strong> (w i+1 , w i ), <strong>for</strong><br />

W ′ ≤ i ≤ W −3 <strong>and</strong> i−W ′ ≡ 0( mod 3) are attached. We relabel the wavelength<br />

at w i to w i+1 <strong>for</strong> l<strong>in</strong>ks between the co-primary <strong>and</strong> co-secondary nodes <strong>in</strong> clockwise<br />

direction, <strong>for</strong> 0 ≤ i ≤ W − 1. With the relabel<strong>in</strong>g we have that the wavelength<br />

pair (w i , w i ), <strong>for</strong> 0 ≤ i ≤ W − 1 is attached at each node, <strong>and</strong> <strong>in</strong> addition the<br />

follow<strong>in</strong>g cases <strong>for</strong> attachments of consecutive wavelengths w q <strong>and</strong> w q+1 .<br />

117


7.3 k-fiber r<strong>in</strong>gs with limited wavelength conversion <strong>for</strong> k > 2<br />

1. For q ≡ 1(mod 2) <strong>and</strong> 1 ≤ q ≤ W ′ − 1 the wavelengths pairs (w q , w q+1 )<br />

<strong>and</strong> (w q+1 , w q ) are attached at the primary node.<br />

2. For q ≡ 0(mod 2) <strong>and</strong> 0 ≤ q ≤ W ′ − 1 the wavelengths pairs (w q , w q+1 )<br />

<strong>and</strong> (w q+1 , w q ) are attached at the secondary node.<br />

3. For q − W ′ ≡ 0(mod 3) <strong>and</strong> W ′ ≤ q ≤ W − 3 the wavelengths pairs<br />

(w q , w q+1 ) <strong>and</strong> (w q+1 , w q ) are attached at the tertiary node.<br />

4. For q − W ′ ≡ 1(mod 3) <strong>and</strong> W ′ ≤ q ≤ W − 2 the wavelengths pairs<br />

(w q , w q+1 ) <strong>and</strong> (w q+1 , w q ) are attached at the secondary node.<br />

5. For q − W ′ ≡ 2(mod 3) <strong>and</strong> W ′ ≤ q ≤ W − 1 the wavelengths pairs<br />

(w q , w q+1 ) <strong>and</strong> (w q+1 , w q ) are attached at the primary node.<br />

Figure 7.7 (a)-(b) shows an FDR adaption <strong>for</strong> 3-fiber <strong>and</strong> 5-fiber r<strong>in</strong>gs, with<br />

w = 2.<br />

A k-fiber r<strong>in</strong>g adaptation of the LDR network is described as follows. Let n ≥<br />

3 be the number of nodes on the k-fiber r<strong>in</strong>g. One node has degree two wavelength<br />

conversion capabilities, referred to as the primary node. At the primary node the<br />

wavelength pairs (w j , w j+1 ) <strong>and</strong> (w j+1 , w j ), <strong>for</strong> 0 ≤ j ≤ W ′ −1 <strong>and</strong> j ≡ 1( mod 2),<br />

are attached through conversion. In addition, the wavelength pairs (w j+2 , w j+3 )<br />

<strong>and</strong> (w j+3 , w j+2 ), <strong>for</strong> W ′ ≤ j ≤ W −3 <strong>and</strong> j −W ′ ≡ 0( mod 3), also are attached.<br />

Let the node s be the primary node. The nodes (s + 1) mod n <strong>and</strong> (s +<br />

2) mod n, <strong>for</strong> a fixed s, 0 ≤ s ≤ n − 1, are referred to as the secondary <strong>and</strong><br />

tertiary node respectively. At the secondary node the wavelength pairs (w j , w j+1 )<br />

<strong>and</strong> (w j+1 , w j ), <strong>for</strong> 0 ≤ j ≤ W ′ − 1 <strong>and</strong> j ≡ 0(mod 2), are attached. In addition<br />

the wavelength pairs (w j , w j+1 ) <strong>and</strong> (w j+1 , w j ), <strong>for</strong> W ′ ≤ j ≤ W −3 <strong>and</strong> j −W ′ ≡<br />

0(mod 3) are attached. At the tertiary node the wavelength pairs (w j+1 , w j+2 )<br />

<strong>and</strong> (w j+2 , w j+1 ), <strong>for</strong> W ′ ≤ j ≤ W − 3 <strong>and</strong> j − W ′ ≡ 0(mod 3), are attached. At<br />

each node the wavelength pair (w i , w i ), <strong>for</strong> 0 ≤ i ≤ W − 1, is attached, <strong>and</strong> <strong>in</strong><br />

addition we have the follow<strong>in</strong>g cases <strong>for</strong> attachments of consecutive wavelengths<br />

w q <strong>and</strong> w q+1 .<br />

1. For q ≡ 1(mod 2) <strong>and</strong> 1 ≤ q ≤ W ′ − 1 the wavelengths pairs (w q , w q+1 )<br />

<strong>and</strong> (w q+1 , w q ) are attached at the primary node.<br />

118


7.3 k-fiber r<strong>in</strong>gs with limited wavelength conversion <strong>for</strong> k > 2<br />

2. For q ≡ 0(mod 2) <strong>and</strong> 0 ≤ q ≤ W ′ − 1 the wavelengths pairs (w q , w q+1 )<br />

<strong>and</strong> (w q+1 , w q ) are attached at the secondary node.<br />

3. For q − W ′ ≡ 2(mod 3) <strong>and</strong> W ′ ≤ q ≤ W − 4 the wavelengths pairs<br />

(w q , w q+1 ) <strong>and</strong> (w q+1 , w q ) are attached at the primary node.<br />

4. For q − W ′ ≡ 0(mod 3) <strong>and</strong> W ′ ≤ q ≤ W − 3 the wavelengths pairs<br />

(w q , w q+1 ) <strong>and</strong> (w q+1 , w q ) are attached at the secondary node.<br />

5. For q − W ′ ≡ 1(mod 3) <strong>and</strong> W ′ ≤ q ≤ W − 2 the wavelengths pairs<br />

(w q , w q+1 ) <strong>and</strong> (w q+1 , w q ) are attached at the tertiary node.<br />

Figure 7.8 (a)-(b) shows the LDR adaption <strong>for</strong> 3-fiber <strong>and</strong> 5-fiber r<strong>in</strong>gs, <strong>for</strong> w = 2.<br />

The results <strong>for</strong> the FDR <strong>and</strong> LDR networks <strong>in</strong> Lemmas 4 <strong>and</strong> 5, can be<br />

adapted to k-fiber r<strong>in</strong>gs where k ≡ 1(mod 2) us<strong>in</strong>g the outgo<strong>in</strong>g <strong>and</strong> <strong>in</strong>com<strong>in</strong>g<br />

attachments at the primary, secondary <strong>and</strong> tertiary nodes as specified by consecutive<br />

wavelength attachments given <strong>for</strong> FDR (Cases 1-5) <strong>and</strong> LDR (Cases 1-5)<br />

adaptations.<br />

119


Chapter 8<br />

Traffic Groom<strong>in</strong>g on Path<br />

Networks - General Instances<br />

In this chapter we study traffic groom<strong>in</strong>g problem <strong>for</strong> unidirectional path networks<br />

with groom<strong>in</strong>g ratio 2. We consider general <strong>in</strong>stances with unit size requests<br />

(traffic) <strong>and</strong> propose several heuristic algorithms <strong>for</strong> groom<strong>in</strong>g such <strong>in</strong>stances, extend<strong>in</strong>g<br />

the work <strong>in</strong> [Bermond et al. (June 2005)] <strong>for</strong> all-to-all <strong>in</strong>stances. Previous<br />

chapters assumed that a request would generally require the full b<strong>and</strong>width of a<br />

wavelength channel, hence, the ma<strong>in</strong> objective became to optimize wavelength <strong>allocation</strong><br />

to requests. It became apparent, however, that current state-of-art optic<br />

fibers support several hundreds wavelengths each <strong>in</strong> turn support<strong>in</strong>g an enormous<br />

b<strong>and</strong>width (<strong>in</strong> the order of tens of Gigabyte), while most network traffic<br />

require just a fraction of a wavelength’s b<strong>and</strong>width. Comb<strong>in</strong><strong>in</strong>g several requests<br />

to share a wavelength channel is an elegant way to efficiently use the wavelength’s<br />

b<strong>and</strong>width <strong>and</strong> also improve network connectivity.<br />

Traffic groom<strong>in</strong>g comb<strong>in</strong>e several requests to share a wavelength channel (lightpath),<br />

see Section 2.2.2.3. When requests are comb<strong>in</strong>ed <strong>in</strong>to a lightpath an Add-<br />

Drop Multiplexor (ADM) is needed <strong>for</strong> opto-electronic conversion at each node<br />

where a request is added or dropped from the lightpath. A request is added<br />

<strong>in</strong>to a lightpath at a node <strong>for</strong> transmission <strong>and</strong> dropped from the lightpath at<br />

its dest<strong>in</strong>ation node or some <strong>in</strong>termediate node <strong>for</strong> retransmission (i.e., because<br />

a lightpath to its dest<strong>in</strong>ation node is unavailable). An ADM device uses Time<br />

Division Multiplex<strong>in</strong>g technique to add or drop several requests onto a lightpath<br />

120


8.1 General lower bounds<br />

at a node. If traffic is added or dropped on the same lightpath at the node then<br />

an ADM may be shared. The traffic groom<strong>in</strong>g problem seek to satisfy an <strong>in</strong>stance<br />

us<strong>in</strong>g a m<strong>in</strong>imum number of ADMs <strong>and</strong> wavelengths. This problem <strong>in</strong>volves the<br />

rout<strong>in</strong>g <strong>and</strong> wavelength <strong>allocation</strong> as subproblems, so is at least as hard as the<br />

RWA problem. In particular, the traffic groom<strong>in</strong>g problem is NP-hard even <strong>for</strong><br />

path networks [Dutta et al. (June, 2003)], where the RWA problem is optimally<br />

solved.<br />

In [Bermond et al. (June 2005)] exact methods are presented <strong>for</strong> the traffic<br />

groom<strong>in</strong>g problem on unidirectional path networks with all-to-all <strong>in</strong>stances (<strong>in</strong><br />

which there is a connection request of unit size <strong>for</strong> every node pair (i, j), <strong>for</strong><br />

i < j), <strong>and</strong> groom<strong>in</strong>g ratio 1 <strong>and</strong> 2. We consider general <strong>in</strong>stances with unit<br />

size requests on unidirectional path networks <strong>and</strong> propose two ma<strong>in</strong> groom<strong>in</strong>g<br />

algorithms <strong>for</strong> groom<strong>in</strong>g ratio 2. The first algorithm is based on <strong>in</strong>terval graph<br />

partition<strong>in</strong>g where requests are viewed as <strong>in</strong>tervals, <strong>and</strong> the second algorithm is<br />

based on graph edge decomposition of request graph. The two algorithms are<br />

experimentally compared <strong>for</strong> per<strong>for</strong>mance <strong>and</strong> extended to path networks with<br />

groom<strong>in</strong>g ratios higher than 2. We use r<strong>and</strong>omly generated <strong>in</strong>stances described<br />

<strong>in</strong> Section 2.4.1 <strong>for</strong> experiments. We show that the graph edge decomposition<br />

based algorithms achieve near optimal per<strong>for</strong>mance <strong>for</strong> most <strong>in</strong>stances.<br />

8.1 General lower bounds<br />

Given an <strong>in</strong>stance R <strong>for</strong> path network P n on n nodes <strong>and</strong> groom<strong>in</strong>g ratio g, let<br />

Γ o (k) <strong>and</strong> Γ i (k) be the number of requests <strong>in</strong> R that beg<strong>in</strong> <strong>and</strong> end at node k<br />

when travers<strong>in</strong>g the nodes of ⌈P n from left to⌉<br />

right, 0 ≤ k ≤ n − 1. Obviously,<br />

each node k requires at least max{Γo(k),Γi (k)}<br />

ADMs, s<strong>in</strong>ce an ADM at node k<br />

g<br />

can be shared by at most g requests that beg<strong>in</strong> at k, <strong>and</strong> at most g requests that<br />

end at k. Thus ∑ ⌈ ⌉<br />

n−1 max{Γo (k),Γ i (k)}<br />

k=0<br />

is the general lower bound on the number<br />

g<br />

of ADMs required by <strong>in</strong>stance R. The load of a network, L, is the maximum<br />

number of requests us<strong>in</strong>g any network l<strong>in</strong>k. Clearly, at least ⌈ L ⌉ wavelengths are<br />

g<br />

needed <strong>for</strong> any rout<strong>in</strong>g <strong>in</strong>stance <strong>in</strong>duc<strong>in</strong>g load L on the network, s<strong>in</strong>ce at most g<br />

requests may share a wavelength at any network l<strong>in</strong>k.<br />

121


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

In this section we describe different groom<strong>in</strong>g heuristics <strong>for</strong> path networks with<br />

groom<strong>in</strong>g ratio 2 <strong>and</strong> general <strong>in</strong>stances of unit size requests. We describe the <strong>in</strong>terval<br />

based algorithm <strong>in</strong> Section 8.2.1 that uses the <strong>in</strong>terval graph algorithm <strong>in</strong><br />

[Golumbic (1980)] <strong>and</strong> weighted graph match<strong>in</strong>g algorithms <strong>in</strong> [Edmonds (1965a);<br />

Edmonds (1965b)]. We describe the edge decomposition based algorithm <strong>in</strong> Section<br />

8.2.3 that adapts the techniques <strong>for</strong> f<strong>in</strong>d<strong>in</strong>g a m<strong>in</strong>imum circuit on the graph<br />

<strong>in</strong> [Itai <strong>and</strong> Rodeh (1977)]. The graph edge decomposition problem is def<strong>in</strong>ed<br />

as follows. Given a fixed graph G, a G-decomposition of a graph H(V, E) is a<br />

partition of E <strong>in</strong>to subgraphs isomorphic to G. The G-decomposition problem is<br />

to determ<strong>in</strong>e whether an <strong>in</strong>put graph H admits a G-decomposition. This problem<br />

is NP-complete <strong>for</strong> general graphs [Dor <strong>and</strong> Tarsi (1997)].<br />

8.2.1 Interval partition algorithm<br />

Given an <strong>in</strong>stance R <strong>for</strong> P n , let L be the network load <strong>in</strong>duced by the <strong>in</strong>stance<br />

R on P n . The <strong>in</strong>terval partition algorithm (IPA) grooms the requests <strong>in</strong> the<br />

follow<strong>in</strong>g way.<br />

1. Partition the requests <strong>in</strong> R <strong>in</strong>to L sets S i , <strong>for</strong> 1 ≤ i ≤ L, us<strong>in</strong>g the <strong>in</strong>terval<br />

graph algorithm <strong>in</strong> [Golumbic (1980)], such that no two requests <strong>in</strong> S i share<br />

any l<strong>in</strong>k of P n .<br />

2. Let V Si be end-nodes of requests <strong>in</strong> S i , <strong>for</strong> 1 ≤ i ≤ L. Def<strong>in</strong>e a complete<br />

weighted graph, H = (V H , E H ), where V H = {1, 2, . . . , L}, a node i corresponds<br />

to the set S i , <strong>and</strong> an edge e = {i, j} has weight w(e) = |V Si ∩ V Sj |,<br />

<strong>for</strong> 1 ≤ i < j ≤ L. Note that the edge weight w{i, j} is equal to the number<br />

of common end-nodes between the partition sets S i <strong>and</strong> S j obta<strong>in</strong>ed <strong>in</strong> Step<br />

1.<br />

3. F<strong>in</strong>d a maximum weight match<strong>in</strong>g (MWM), M, <strong>for</strong> the graph H. Denote<br />

by Q be the set of nodes <strong>in</strong> H not covered by M (note that |Q| = 1, if L is<br />

odd <strong>and</strong> |Q| = 0, otherwise).<br />

122


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

4. For each edge e = {i, j} ∈ M, the end-nodes i <strong>and</strong> j correspond to the sets<br />

S i <strong>and</strong> S j obta<strong>in</strong>ed <strong>in</strong> Step 1. The requests <strong>in</strong> S i <strong>and</strong> S j are comb<strong>in</strong>ed <strong>in</strong>to<br />

a wavelength of P n . For any node k ∈ Q, one wavelength of P n is used <strong>for</strong><br />

requests <strong>in</strong> the set S k .<br />

In Step 4, the algorithm IPA uses ⌈ L ⌉ optimal number of wavelengths. For<br />

2<br />

each edge e = {i, j} ∈ M, the wavelength allocated to requests <strong>in</strong> S i ∪S j uses |V Si ∪<br />

V Sj | ADMs, <strong>in</strong> addition <strong>for</strong> any node k ∈ Q, the wavelength allocated to requests<br />

<strong>in</strong> S k uses |V Sk | ADMs. Thus the algorithm IPA uses ∑ e={i,j}∈M |V S i<br />

∪ V Sj | + ɛ<br />

ADMs, where ɛ = 0, if L ≡ 0(mod 2), <strong>and</strong> ɛ = |V Sk |, otherwise, where k ∈ Q.<br />

8.2.2 IPA variant algorithms<br />

In this section we describe the variants of the IPA algorithm that have different<br />

run-time requirements. The run-time requirement <strong>for</strong> the IPA algorithm framework<br />

<strong>in</strong> Section 8.2.1 is dom<strong>in</strong>ated by the computation of the weighted match<strong>in</strong>g<br />

M. For example, the blossom shr<strong>in</strong>k<strong>in</strong>g algorithm of [Edmonds (1965a); Edmonds<br />

(1965b)], that is used <strong>in</strong> our implementations computes the weighted match<strong>in</strong>g<br />

M <strong>in</strong> O(L 3 ) time s<strong>in</strong>ce the graph H def<strong>in</strong>ed <strong>in</strong> Step 2 has L nodes. We propose<br />

two alternative greedy approaches <strong>for</strong> match<strong>in</strong>g the sets S i obta<strong>in</strong>ed <strong>in</strong> Step 1<br />

to improve the worst case run-time per<strong>for</strong>mance <strong>for</strong> algorithm IPA called, large<br />

weight first match<strong>in</strong>g (LWM) <strong>and</strong> simple greedy match<strong>in</strong>g (SGM).<br />

1. LWM match<strong>in</strong>g:<br />

From the graph H def<strong>in</strong>ed <strong>in</strong> Step 2, f<strong>in</strong>d the weighted match<strong>in</strong>g M by<br />

repeatedly select<strong>in</strong>g an edge of largest weight <strong>in</strong> H <strong>in</strong>cident to unmatched<br />

nodes. The LWM match<strong>in</strong>g sorts the edges of H by weight. S<strong>in</strong>ce the<br />

number of edges <strong>in</strong> H is bounded by O(L 2 ), its worst case run-time is<br />

O(L 2 log L).<br />

2. SGM match<strong>in</strong>g:<br />

The sets S i obta<strong>in</strong>ed <strong>in</strong> Step 1 are merged a pair at a time by tak<strong>in</strong>g<br />

unmatched sets S j <strong>and</strong> S k with least <strong>in</strong>dices. This takes O(L) time s<strong>in</strong>ce<br />

there are L such sets.<br />

123


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

We consider three variants of the IPA algorithm; us<strong>in</strong>g the maximum weight<br />

match<strong>in</strong>g algorithm of [Edmonds (1965a); Edmonds (1965b)] (IPA-MWM), the<br />

LWM match<strong>in</strong>g algorithm (IPA-LWM) <strong>and</strong> the SGM match<strong>in</strong>g algorithm (IPA-<br />

SGM). All three variants compute optimal number of wavelengths.<br />

8.2.3 Edge decomposition algorithm<br />

The <strong>in</strong>put is an <strong>in</strong>stance R on P n with unidirectional requests, but each request<br />

represented as directed pair (i, j), where i < j. From the set R def<strong>in</strong>e the request<br />

digraph D(V, A) where the node set V are the nodes of P n <strong>and</strong> the set A =<br />

{(i, j) : (i, j) ∈ R} are the requests.<br />

obta<strong>in</strong>ed by replac<strong>in</strong>g the arcs of D with edges.<br />

The underly<strong>in</strong>g graph G(V, E) <strong>for</strong> D is<br />

Note that D is acyclic s<strong>in</strong>ce<br />

every arc (i, j) ∈ D, satisfies i < j. In addition, s<strong>in</strong>ce the number<strong>in</strong>g of nodes <strong>in</strong><br />

D is the number<strong>in</strong>g of nodes of P n , they <strong>in</strong>duce a topological order<strong>in</strong>g <strong>for</strong> D. The<br />

terms request, arc, <strong>and</strong> edge are used <strong>in</strong>terchangeably.<br />

Let W be total number of wavelengths to be determ<strong>in</strong>ed by this algorithm.<br />

The edge decomposition algorithm (EDA) seek to partition the arcs of the request<br />

digraph D <strong>in</strong>to W subgraphs D j = (V j , A j ), 0 ≤ j ≤ W − 1, such that<br />

• <strong>for</strong> each j = 0, . . . , W − 1 <strong>and</strong> each pair i, i + 1 of consecutive nodes<br />

on P n , no more than 2 arcs <strong>in</strong> A j cross the l<strong>in</strong>k (i, i + 1) on P n , that is,<br />

|{(h, k) ∈ A j : h ≤ i, k ≥ i + 1}| ≤ 2 (i.e., groom<strong>in</strong>g ratio constra<strong>in</strong>t of 2 on<br />

P n );<br />

• A i ∩ A j = ∅, ⋃ W −1<br />

i=0<br />

A i = A;<br />

<strong>and</strong> m<strong>in</strong>imize ∑ W −1<br />

i=0<br />

|V i |. The parameter W (not part of the <strong>in</strong>put, but to be<br />

determ<strong>in</strong>ed as part of the output) is the total number of used wavelengths. The<br />

requests <strong>in</strong> D i are allocated to wavelength i <strong>and</strong> need |V i | ADMs, one at each node<br />

which is an end node of a request <strong>in</strong> D i . Thus the total number of ∑ W −1<br />

i=0<br />

|V i |<br />

ADMs are required. Intuitively, s<strong>in</strong>ce we aim at m<strong>in</strong>imiz<strong>in</strong>g ∑ W −1<br />

i=1<br />

|V i | - the<br />

number of ADMs required to support the <strong>allocation</strong> of requests to wavelengths,<br />

we should look <strong>for</strong> partition<strong>in</strong>gs of D with small W <strong>and</strong> small ratios |V i|<br />

. |A i |<br />

The subgraph D i is also referred to as valid subgraph. A subgraph of D is<br />

called a circuit subgraph if its underly<strong>in</strong>g graph is of degree 2. A circuit subgraph<br />

124


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

is a closed circuit if each vertex on the underly<strong>in</strong>g graph has degree 2, <strong>and</strong> open<br />

circuit, otherwise. An open circuit is called l<strong>in</strong>ear circuit if no more than one arc<br />

cross any l<strong>in</strong>k of P n . A circuit subgraph is said to be valid circuit if it satisfies<br />

the groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 2 on P n .<br />

Let v be a node <strong>in</strong> D. The node v is said to be source node if arcs are <strong>in</strong>cident<br />

(outgo<strong>in</strong>g) from v. Analogously, the node v is said to be s<strong>in</strong>k node if arcs are<br />

<strong>in</strong>cident (<strong>in</strong>com<strong>in</strong>g) to v. The algorithm EDA partitions the arcs of D <strong>in</strong>to arc<br />

disjo<strong>in</strong>t valid subgraphs <strong>in</strong> the follow<strong>in</strong>g way.<br />

1. While more arcs rema<strong>in</strong> <strong>in</strong> D, choose the least label source node v (with<br />

empty <strong>in</strong>com<strong>in</strong>g arcs but non-empty outgo<strong>in</strong>g arcs) as the root node <strong>for</strong> D.<br />

Use the DFS traversal on D start<strong>in</strong>g from the node v to f<strong>in</strong>d a valid circuit<br />

C i (described <strong>in</strong> Section 8.2.3.1), <strong>and</strong> remove the arcs of C i from D.<br />

2. Comb<strong>in</strong>e (merge) sets of compatible valid circuit subgraphs <strong>and</strong> result<strong>in</strong>g<br />

compatible valid subgraphs <strong>in</strong>to maximal valid subgraphs (described <strong>in</strong> Section<br />

8.2.3.2).<br />

The follow<strong>in</strong>g Lemma 6 gives a characterization <strong>for</strong> valid circuit subgraphs<br />

of D, show<strong>in</strong>g that only closed circuit subgraphs with unique source <strong>and</strong> s<strong>in</strong>k<br />

nodes are valid circuit subgraphs of D. This property also applies to open circuit<br />

subgraphs that can be trans<strong>for</strong>med <strong>in</strong>to such closed circuit subgraphs by an additional<br />

arc of the <strong>for</strong>m (x, y) where x <strong>and</strong> y are nodes of degree 1 on the underly<strong>in</strong>g<br />

graph of the open circuit subgraph, with x < y.<br />

Lemma 6 A closed circuit subgraph of D is valid circuit subgraph iff has unique<br />

source <strong>and</strong> s<strong>in</strong>k node.<br />

Proof : Let C(V C , A C ) be a circuit subgraph of D. Without loss of generality,<br />

C is a closed circuit, otherwise, we replace C with a closed circuit C ∪ (x, y) by<br />

add<strong>in</strong>g a new arc (x, y), where x <strong>and</strong> y are nodes of degree 1 on the underly<strong>in</strong>g<br />

graph of C with x < y. Clearly, the subgraph C has at least one source <strong>and</strong> one<br />

s<strong>in</strong>k node s<strong>in</strong>ce D is acyclic <strong>and</strong> so its subgraph C. Let a <strong>and</strong> z be source <strong>and</strong><br />

s<strong>in</strong>k node of C with least <strong>and</strong> highest label respectively among all source <strong>and</strong><br />

s<strong>in</strong>k nodes of C.<br />

125


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

Now suppose that there is a source node f ∈ C other than a, choose such f<br />

with the smallest label greater than a. Consider the l<strong>in</strong>k f = (f, f + 1) <strong>in</strong> P n .<br />

S<strong>in</strong>ce f is a source node of C, there are two arcs of C say, (f, q) <strong>and</strong> (f, s), <strong>in</strong>cident<br />

from the node f where f < q <strong>and</strong> f < s (s<strong>in</strong>ce every arc (i, j) of D satisfies i < j).<br />

We have that the arcs (f, q) <strong>and</strong> (f, s) both cross the l<strong>in</strong>k (f, f + 1) on P n , <strong>and</strong><br />

that q <strong>and</strong> s are non-adjacent nodes of C, s<strong>in</strong>ce C is a circuit subgraph conta<strong>in</strong><strong>in</strong>g<br />

a. Now consider the edge disjo<strong>in</strong>t paths p{a, q} <strong>and</strong> p{a, s} from node a to q <strong>and</strong> s<br />

respectively, on the underly<strong>in</strong>g graph of C. Such paths exist s<strong>in</strong>ce the underly<strong>in</strong>g<br />

graph of C is a cycle. S<strong>in</strong>ce a < f < f + 1 ≤ q <strong>and</strong> a < f < f + 1 ≤ s, each of<br />

the paths p{a, q} <strong>and</strong> p{a, s} cross the l<strong>in</strong>k (f, f + 1) of P n . Consequently, the<br />

l<strong>in</strong>k (f, f + 1) on P n is crossed four times by the arcs of C, imply<strong>in</strong>g that C is an<br />

<strong>in</strong>valid circuit subgraph.<br />

Analogously, if there is a s<strong>in</strong>k node h ∈ C other than z, choose such h with<br />

the largest label less than z. Consider the l<strong>in</strong>k h − 1 = (h − 1, h) <strong>in</strong> P n . S<strong>in</strong>ce h<br />

is a s<strong>in</strong>k node of C, there are two arcs of C say, (q, h) <strong>and</strong> (s, h), <strong>in</strong>cident to the<br />

node h, where q < h <strong>and</strong> s < h (s<strong>in</strong>ce every arc (i, j) of D satisfies i < j). We<br />

have that the arcs (q, h) <strong>and</strong> (s, h) both cross the l<strong>in</strong>k (h − 1, h) on P n , <strong>and</strong> that<br />

q <strong>and</strong> s are non-adjacent nodes of C, s<strong>in</strong>ce C is a circuit subgraph conta<strong>in</strong><strong>in</strong>g z.<br />

Now consider the edge disjo<strong>in</strong>t paths p{q, z} <strong>and</strong> {s, z} from node q <strong>and</strong> s to z<br />

respectively, on the underly<strong>in</strong>g graph of C. Such paths exist s<strong>in</strong>ce the underly<strong>in</strong>g<br />

graph of C is a cycle. S<strong>in</strong>ce q ≤ h − 1 < h < z <strong>and</strong> s ≤ h − 1 < h < z, each of<br />

the paths p{q, z} <strong>and</strong> p{s, z} cross the l<strong>in</strong>k (h − 1, h) of P n . Consequently, the<br />

l<strong>in</strong>k (h − 1, h) on P n is crossed four times by the arcs of C imply<strong>in</strong>g that C is an<br />

<strong>in</strong>valid circuit subgraph.<br />

Now let a <strong>and</strong> z be the unique source <strong>and</strong> s<strong>in</strong>k nodes of the circuit subgraph<br />

C. S<strong>in</strong>ce every arc (i, j) ∈ D satisfies that i < j, the source a <strong>and</strong> s<strong>in</strong>k z are the<br />

nodes of C with least <strong>and</strong> highest label. Thus the two p(a, z) arc disjo<strong>in</strong>t paths<br />

<strong>in</strong> C each cross the l<strong>in</strong>ks (i, i + 1) of P n exactly once, where a ≤ i ≤ z − 1, <strong>and</strong><br />

none of the other l<strong>in</strong>ks of P n are crossed.<br />

We have shown that the existence of more than one s<strong>in</strong>k <strong>and</strong> source nodes on<br />

a closed circuit subgraph of D violates the groom<strong>in</strong>g ratio constra<strong>in</strong>t of 2 on P n ,<br />

where a l<strong>in</strong>k of P n is crossed at least 4 times. If the circuit subgraph considered<br />

is an open circuit subgraph the requirement to add the arc (x, y) (which leads to<br />

126


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

a closed acyclic subgraph) does not <strong>in</strong>validate the proof of this lemma because<br />

by remov<strong>in</strong>g the arcs (x, y) still leaves a l<strong>in</strong>k of P n crossed at least 3 times, that<br />

also violates the groom<strong>in</strong>g ratio constra<strong>in</strong>t of 2 on P n .<br />

Figure 8.1, shows a closed circuit graph which is not a valid circuit s<strong>in</strong>ce four<br />

arcs cross the l<strong>in</strong>ks (i, i+1) of P n , where f ≤ i ≤ h−1. Note that <strong>in</strong> this example<br />

there are two source nodes {a, f} <strong>and</strong> s<strong>in</strong>k nodes {h, z}.<br />

a<br />

f<br />

h<br />

z<br />

Figure 8.1: An example of <strong>in</strong>valid closed circuit with nodes a < f < h < z.<br />

8.2.3.1 F<strong>in</strong>d<strong>in</strong>g valid circuit subgraphs<br />

In this section we describe how Step 1 of the EDA algorithm f<strong>in</strong>ds a valid circuit<br />

subgraph of D. In Step 1 of the EDA algorithm, a DFS traversal on the nodes of<br />

D starts at the least label source node i, <strong>and</strong> explore arcs out of the node most<br />

recently reached by the search. When arcs out of the node have been exhausted<br />

the DFS backtracks to the node from which the current node was reached. The<br />

DFS traversal on D <strong>in</strong>duces two number<strong>in</strong>g of the nodes, one <strong>in</strong> the order <strong>in</strong><br />

which the nodes are reached by the DFS, DFSnum, <strong>and</strong> the other <strong>in</strong> the order <strong>in</strong><br />

which the calls to DFS are completed, COMPnum. Moreover, the DFS traversal<br />

partitions the arcs of D <strong>in</strong>to four classes; Tree, Forward, Backward, <strong>and</strong> Cross<br />

arcs. Let i be a node <strong>in</strong> D, <strong>and</strong> DFSnum(i) <strong>and</strong> COMPnum(i) the respective<br />

DFSnum <strong>and</strong> COMPnum of i <strong>for</strong> this DFS traversal on D. By the DFS traversal<br />

on D an arc (i, j) ∈ D belongs to one of the follow<strong>in</strong>g three classes.<br />

1. Tree or Forward arcs:<br />

iff DFSnum(i) < DFSnum(j) <strong>and</strong> COMPnum(i) > COMPnum(j).<br />

2. Backward arcs:<br />

iff DFSnum(i) ≥ DFSnum(j) <strong>and</strong> COMPnum(i) ≤ COMPnum(j).<br />

127


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

3. Cross arcs:<br />

iff DFSnum(i) > DFSnum(j) <strong>and</strong> COMPnum(i) > COMPnum(j).<br />

For the request digraph D we always have empty set of Backward arcs s<strong>in</strong>ce<br />

the graph D is acyclic. That is, COMPnum(i) > COMPnum(j) <strong>for</strong> every arc<br />

(i, j) ∈ D, as each arc has a node of higher <strong>and</strong> lower completion number as its<br />

source <strong>and</strong> s<strong>in</strong>k node respectively. Hence the COMPnum is also a topological<br />

number<strong>in</strong>g <strong>for</strong> D. Note that the DFS traversal considers each arc of D exactly<br />

once, there<strong>for</strong>e, runs <strong>in</strong> l<strong>in</strong>ear time <strong>in</strong> the number of arcs <strong>and</strong> nodes <strong>in</strong> D.<br />

We use the arc partitions returned by the DFS traversal on D to f<strong>in</strong>d a circuit<br />

subgraph of D by consider<strong>in</strong>g one of the follow<strong>in</strong>g three possible cases <strong>in</strong> this<br />

order.<br />

1. There is an arc (i, j) ∈ Forward arcs.<br />

The arc (i, j) <strong>and</strong> the set of arcs obta<strong>in</strong>ed by backtrack<strong>in</strong>g from j to i on<br />

the Tree arcs is a closed circuit with unique source node i <strong>and</strong> s<strong>in</strong>k node j.<br />

2. There is an arc (i, j) ∈ Cross arcs.<br />

By backtrack<strong>in</strong>g from both node i <strong>and</strong> j, if a common node k is reached,<br />

then the arc (i, j) <strong>and</strong> the set of arcs obta<strong>in</strong>ed from backtrack<strong>in</strong>g is a closed<br />

circuit with unique source node k <strong>and</strong> s<strong>in</strong>k node j. Otherwise, the arc (i, j)<br />

<strong>and</strong> the set of arcs obta<strong>in</strong>ed by backtrack<strong>in</strong>g is an open circuit with two<br />

source nodes (i.e., the nodes where backtrack<strong>in</strong>g from i <strong>and</strong> j ended), <strong>and</strong><br />

s<strong>in</strong>k node j.<br />

3. Both Forward arcs <strong>and</strong> Cross arcs are empty.<br />

If a s<strong>in</strong>gle leaf node exists <strong>in</strong> the tree, backtrack from this leaf node to the<br />

root of the tree <strong>and</strong> obta<strong>in</strong> a l<strong>in</strong>ear circuit with the root node as the source<br />

<strong>and</strong> the leaf node as the s<strong>in</strong>k. Otherwise, choose two leaf nodes i <strong>and</strong> j from<br />

a connected tree component. Backtrack from each to the first node k that<br />

is on the same backtrack path <strong>for</strong> node i <strong>and</strong> j. The set of arcs obta<strong>in</strong>ed<br />

from backtrack<strong>in</strong>g is an open circuit with two s<strong>in</strong>k nodes i <strong>and</strong> j, <strong>and</strong> a<br />

unique source node k.<br />

128


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

By Lemma 6, the circuit subgraphs obta<strong>in</strong>ed by Cases 1, 2 <strong>and</strong> 3 above are<br />

valid circuit subgraphs of D.<br />

At each DFS traversal on D a valid circuit is found <strong>and</strong> its arcs removed from<br />

D. A closed circuit subgraph is most preferred than an open circuit subgraph (to<br />

m<strong>in</strong>imize the ratios |V i|<br />

|A i<br />

), there<strong>for</strong>e the Cases 1, 2 <strong>and</strong> 3 above are considered <strong>in</strong><br />

|<br />

that order. That is, Forward arcs first <strong>and</strong> Cross arcs next unless both are empty,<br />

<strong>in</strong> which case the last Case 3 is used. S<strong>in</strong>ce a circuit subgraph found by the three<br />

cases has one or more arcs, at most |A(D)| calls to DFS search are made by Step<br />

1 of the EDA algorithm to partition the arcs of D <strong>in</strong>to valid circuits of D.<br />

The Forward arcs <strong>and</strong> Cross arcs classes may conta<strong>in</strong> zero or more arcs follow<strong>in</strong>g<br />

the DFS traversal on D, but only one such arc may be used to f<strong>in</strong>d a<br />

circuit subgraph of D <strong>in</strong> the Cases 1 <strong>and</strong> 2 above. The selection of such arc is<br />

based on the follow<strong>in</strong>g heuristics. For arcs <strong>in</strong> the Forward arcs class, we use two<br />

different approaches based on the arc length (given by the difference between the<br />

label of the arc source <strong>and</strong> s<strong>in</strong>k nodes). The first approach always selects the<br />

shortest arc <strong>and</strong> the second approach always selects the longest arc among the<br />

arcs <strong>in</strong> the Forward arcs class. For the arcs <strong>in</strong> the Cross arcs class, on the other<br />

h<strong>and</strong>, we always select the arc whose source node has the least COMPnum, as<br />

the Cross arc with source node j leads <strong>in</strong>to a closed circuit if COMPnum(i) ><br />

COMPnum(j) (i.e., node j is on same component as the DFS root), where i is<br />

the node the DFS traversal started.<br />

We consider two variants of the EDA algorithm based on the selection approaches<br />

of the arcs <strong>in</strong> the Forward arcs class.<br />

The EDA-SF algorithm that<br />

always selects the shortest Forward arc <strong>and</strong> the EDA-LF algorithm that always<br />

selects the longest Forward arc to f<strong>in</strong>d a circuit subgraph of D. We remark that<br />

the EDA-SF algorithm is likely to partition the arcs of D <strong>in</strong>to short circuit subgraphs<br />

(<strong>in</strong> terms of number of arcs <strong>in</strong> the circuit subgraph) hence f<strong>in</strong>d more closed<br />

circuit subgraphs, whereas the EDA-LF algorithm is likely to partition the arcs<br />

of D <strong>in</strong>to long circuit subgraphs (<strong>in</strong> terms of number of arcs <strong>in</strong> the subgraph)<br />

hence f<strong>in</strong>d fewer closed circuit subgraphs but more open circuit subgraphs. Consequently,<br />

the EDA-SF algorithm is likely to achieve better groom<strong>in</strong>g results than<br />

the EDA-LF algorithm, s<strong>in</strong>ce closed circuit subgraphs give m<strong>in</strong>imum ratios |V i|<br />

|A i |<br />

than open circuit subgraphs.<br />

129


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

8.2.3.2 Merg<strong>in</strong>g compatible valid subgraphs<br />

Step 2 of the EDA algorithm merges sets of compatible valid circuit subgraphs<br />

<strong>and</strong> compatible valid subgraphs <strong>in</strong>to maximal valid subgraphs. A pair of valid<br />

circuit subgraphs is said to be compatible if they cross no l<strong>in</strong>k of P n <strong>in</strong> common.<br />

Let C i <strong>and</strong> C j be two valid circuit subgraphs of D such that as closed circuits each<br />

has the node u i <strong>and</strong> u j as source <strong>and</strong> v i <strong>and</strong> v j as s<strong>in</strong>k respectively. The circuit<br />

subgraphs C i <strong>and</strong> C j are compatible if v i ≤ u j or v j ≤ u i . A set of mutually<br />

compatible valid circuit subgraphs can be merged <strong>in</strong>to a valid subgraph. Note<br />

that a valid subgraph is possibly disconnected. Let D i <strong>and</strong> D j be a pair of valid<br />

subgraphs of D such that each has the node u i <strong>and</strong> u j as the least label node <strong>and</strong><br />

v i <strong>and</strong> v j as the highest label node respectively. The subgraphs D i <strong>and</strong> D j are<br />

compatible if v i ≤ u j or v j ≤ u i . A set of mutually compatible valid subgraphs<br />

can be merged <strong>in</strong>to a valid subgraph. A maximal valid subgraph is a valid circuit<br />

or subgraph that is not compatible with any other valid circuit or subgraph. Note<br />

that merg<strong>in</strong>g compatible circuits <strong>and</strong> subgraphs lead to m<strong>in</strong>imization of ADMs<br />

(if a node is shared by a pair of compatible components) <strong>and</strong> wavelengths.<br />

We f<strong>in</strong>d sets of compatible valid subgraphs (valid circuits) by us<strong>in</strong>g the valid<br />

subgraphs digraph D vs (V, A) def<strong>in</strong>ed as follows. The set V are the valid subgraphs.<br />

There is an arc a = (i, j) ∈ A (i.e., without loss of generality v i ≤ u j ) <strong>for</strong> every<br />

pair of compatible valid subgraphs D i <strong>and</strong> D j . The graph D vs is acyclic <strong>and</strong> may<br />

have several components <strong>in</strong>clud<strong>in</strong>g trivial ones. The set of nodes on the path of<br />

D vs correspond to a set of compatible valid subgraphs. The longest path <strong>in</strong> D vc<br />

gives a set of compatible subgraphs of maximum card<strong>in</strong>ality. We give priority to<br />

compatible components <strong>in</strong> which adjacent subgraphs <strong>in</strong> D vs share a node of D to<br />

m<strong>in</strong>imize ADMs requirement.<br />

We describe a heuristic called compatible subgraphs partition (CSP) that takes<br />

as <strong>in</strong>put the graph D vc <strong>and</strong> iteratively partitions the nodes of D vc by f<strong>in</strong>d<strong>in</strong>g a<br />

longest path <strong>in</strong> D vc <strong>and</strong> remov<strong>in</strong>g all nodes on this path from D vc to <strong>for</strong>m a<br />

partition. The CSP algorithm partitions the nodes of D vc <strong>in</strong> the follow<strong>in</strong>g way.<br />

1. While there are more nodes <strong>in</strong> D vc ,<br />

(a) f<strong>in</strong>d a longest path of D vc ;<br />

130


8.2 <strong>Algorithms</strong> <strong>for</strong> path networks with g = 2<br />

(b) put the nodes on this path <strong>in</strong>to a new partition <strong>and</strong> remove the longest<br />

path found from D vc .<br />

Each node partition obta<strong>in</strong>ed from the CSP algorithm <strong>for</strong>m a set of compatible<br />

valid subgraphs that is merged <strong>in</strong>to a new valid subgraph.<br />

We say a valid circuit (from Section 8.2.3.1) is type-1 if it is an open circuit<br />

<strong>and</strong> crosses at least one l<strong>in</strong>k of P n twice, <strong>and</strong> type-2 if it is a l<strong>in</strong>ear circuit. We<br />

merge compatible sets of valid circuits <strong>and</strong> valid subgraphs to obta<strong>in</strong> a set of<br />

maximal valid subgraphs us<strong>in</strong>g the follow<strong>in</strong>g sequence.<br />

1. Merge compatible valid circuits where adjacent circuits <strong>in</strong> D vs share a node<br />

of D.<br />

The graph D vs (V, A) has valid circuit subgraphs as nodes <strong>and</strong> an arc (C i , C j ) ∈<br />

A, <strong>for</strong> every pair of compatible circuits C i <strong>and</strong> C j shar<strong>in</strong>g a node of D (i.e.,<br />

without loss of generality v i = u j ). Use the CSP algorithm to obta<strong>in</strong> valid<br />

subgraphs.<br />

2. Merge any rema<strong>in</strong><strong>in</strong>g type-1 <strong>and</strong> type-2 circuits if are compatible.<br />

We say a type-2 circuit C j is compatible to a type-1 circuit C i , if the nodes<br />

{a, b} ∈ C i , <strong>and</strong> {f, h} ∈ C j , such that a < b <strong>and</strong> f < h are the degree<br />

one nodes <strong>in</strong> the underly<strong>in</strong>g graph <strong>for</strong> C i <strong>and</strong> C j , where f ≤ a, <strong>and</strong> b ≤ h.<br />

We def<strong>in</strong>e a weighted bipartite graph H = (A ˙∪B, E), where the nodes<br />

<strong>for</strong> A <strong>and</strong> B are the type-1 <strong>and</strong> type-2 circuits respectively, <strong>and</strong> an edge<br />

e = {i, j} ∈ E, if the type-2 circuit C j is compatible with the type-1 circuit<br />

C i . The edge weight w({C i , C j }) = |V (C i ) ∩ V (C j )|. Use the weighted<br />

match<strong>in</strong>g algorithm <strong>in</strong> [Edmonds (1965a); Edmonds (1965b)] to f<strong>in</strong>d the<br />

weighted match<strong>in</strong>g M <strong>for</strong> H.<br />

circuit subgraphs C i <strong>and</strong> C j <strong>in</strong>to valid subgraph.<br />

For each edge {C i , C j } ∈ M, merge the<br />

3. Merge any rema<strong>in</strong><strong>in</strong>g pairs of type-2 circuits (s<strong>in</strong>ce they are compatible by<br />

virtue of groom<strong>in</strong>g ratio g = 2).<br />

We def<strong>in</strong>e a complete weighted graph H = (V, E) where the nodes are the<br />

type-2 circuits. The edge weight w({C i , C j }) = |V (C i ) ∩ V (C j )|, where C i<br />

<strong>and</strong> C j is a pair of type-2 circuits. Use the weighted match<strong>in</strong>g algorithm <strong>in</strong><br />

[Edmonds (1965a); Edmonds (1965b)] to f<strong>in</strong>d the weighted match<strong>in</strong>g M <strong>for</strong><br />

131


8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

H. For each edge {C i , C j } ∈ M, merge the circuit subgraphs C i <strong>and</strong> C j to<br />

a valid subgraph.<br />

4. Merge valid subgraphs obta<strong>in</strong>ed <strong>in</strong> Cases 1, 2 <strong>and</strong> 3 to maximal subgraphs.<br />

The graph D vs (V, A) has the valid subgraphs as nodes <strong>and</strong> an arc (D i , D j ) ∈<br />

A, <strong>for</strong> every pair of compatible subgraphs D i <strong>and</strong> D j (i.e., without loss<br />

of generality v i ≤ u j ). Use the CSP algorithm to obta<strong>in</strong> maximal valid<br />

subgraphs.<br />

The CSP algorithm iteratively uses the shortest path algorithm <strong>for</strong> acyclic<br />

digraphs to f<strong>in</strong>d longest path on the graph D vs (with negative arc weights), which<br />

is a l<strong>in</strong>ear time algorithm <strong>in</strong> the number of nodes <strong>and</strong> arcs of the <strong>in</strong>put graph.<br />

In addition, the merge Cases 2 <strong>and</strong> 3, use the weighted match<strong>in</strong>g algorithms <strong>in</strong><br />

[Edmonds (1965a); Edmonds (1965b)], which are cubic <strong>in</strong> the number of nodes<br />

of the <strong>in</strong>put graph, but are expected to generate small <strong>in</strong>stances.<br />

There<strong>for</strong>e<br />

it is likely that the run-time <strong>for</strong> the EDA algorithm is dom<strong>in</strong>ated by merg<strong>in</strong>g<br />

valid subgraphs.<br />

The maximal valid subgraphs obta<strong>in</strong>ed partition the arcs of<br />

the request digraph D. Let {D i = (V i , A i ) : 0 ≤ i ≤ W − 1}, be the set of<br />

such maximal valid subgraphs. The algorithm EDA outputs W wavelengths <strong>and</strong><br />

∑ W −1<br />

i=0<br />

|V i | ADMs as the number wavelengths <strong>and</strong> ADMs required to satisfy the<br />

requests <strong>in</strong> D.<br />

8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

In this section we report numerical results <strong>for</strong> ADMs <strong>and</strong> wavelengths requirements<br />

<strong>for</strong> the different variants of the algorithms IPA <strong>and</strong> EDA. The types of<br />

<strong>in</strong>stances which we use <strong>in</strong> our experiments are described <strong>in</strong> Section 2.4.1. Note<br />

that <strong>for</strong> request <strong>in</strong>stances on path networks no rout<strong>in</strong>g decisions are needed s<strong>in</strong>ce<br />

each request is routed on the unique path of the network between the request<br />

end-nodes. We consider UL-Uni<strong>for</strong>m, BL-Uni<strong>for</strong>m, <strong>and</strong> Gaussian distribution of<br />

requests. We also consider all-to-all <strong>in</strong>stances <strong>and</strong> <strong>in</strong>stances with FL-Uni<strong>for</strong>m<br />

distribution of requests.<br />

132


8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Distribution EDA IPA<br />

n |R| EDA-SF EDA-LF IPA-MWM IPA-LWM IPA-SGM<br />

512 337 397 391 399 490<br />

16 1024 660 794 756 774 969<br />

2048 1289 1567 1444 1479 1903<br />

512 335 385 426 432 480<br />

32 1024 634 755 803 815 937<br />

2048 1215 1487 1535 1556 1832<br />

512 410 433 518 523 561<br />

64 1024 711 803 961 972 1066<br />

2048 1290 1542 1810 1830 2059<br />

512 469 482 566 572 606<br />

96 1024 822 939 1044 1054 1133<br />

2048 1419 1612 1969 1989 2191<br />

1024 881 923 1110 1121 1194<br />

128 2048 1547 1689 2084 2102 2280<br />

Table 8.1: Average number of ADMs <strong>for</strong> <strong>in</strong>stances with BL-Uni<strong>for</strong>m distribution<br />

of requests.<br />

133


8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Distribution EDA IPA<br />

n |R| EDA-SF EDA-LF IPA-MWM IPA-LWM IPA-SGM<br />

512 426 494 456 471 606<br />

16 1024 812 984 869 895 1201<br />

2048 1600 1972 1691 1733 2412<br />

512 487 521 515 530 648<br />

32 1024 885 997 969 1003 1262<br />

2048 1665 1982 1856 1915 2495<br />

512 561 569 586 597 676<br />

64 1024 1031 1069 1095 1122 1315<br />

2048 1895 2059 2055 2125 2577<br />

512 604 607 630 640 706<br />

96 1024 1108 1135 1173 1192 1350<br />

2048 2077 2158 2205 2258 2631<br />

1024 1172 1186 1228 1243 1376<br />

128 2048 2181 2229 2309 2348 2668<br />

Table 8.2: Average number of ADMs <strong>for</strong> <strong>in</strong>stances with UL-Uni<strong>for</strong>m distribution<br />

of requests.<br />

134


8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Tables 8.1, 8.2 <strong>and</strong> 8.3 report the numerical results <strong>for</strong> the BL-Uni<strong>for</strong>m, UL-<br />

Uni<strong>for</strong>m, <strong>and</strong> Gaussian <strong>in</strong>stances on path networks with 16, 32, 64, 96 <strong>and</strong> 128<br />

nodes. The network <strong>and</strong> <strong>in</strong>stance size <strong>and</strong> the average number of ADMs used<br />

by each algorithm is presented.<br />

The average number of wavelengths used by<br />

our algorithms are reported <strong>in</strong> Table 8.4, where the average lower bound (W-<br />

LB)– obta<strong>in</strong>ed by the general lower bound relation ⌈ L ⌉ <strong>in</strong> Section 8.1, also is<br />

2<br />

shown. The average is taken us<strong>in</strong>g ten r<strong>and</strong>om <strong>in</strong>stances. All variants of the<br />

algorithm IPA use optimal number of wavelengths.<br />

Also, all variants of the<br />

EDA algorithm use the same number of wavelengths <strong>in</strong> most <strong>in</strong>stances, <strong>and</strong> <strong>for</strong><br />

<strong>in</strong>stances where they use different number of wavelengths they differ by only 1 or 2<br />

wavelengths. Thus <strong>in</strong> Table 8.4 we show only the average number of wavelengths<br />

used by the algorithms EDA-SF <strong>and</strong> IPA-MWM. For <strong>in</strong>stances with FL-Uni<strong>for</strong>m<br />

distribution of requests where all requests have the same length, Table 8.5 shows<br />

the average number of ADMs used by the algorithms EDA-SF <strong>and</strong> IPA-MWM.<br />

For this <strong>in</strong>stance type the algorithm EDA-SF always computes optimal number<br />

of ADMs that is equal to the lower bound ADM-LB.<br />

We also consider all-to-all <strong>in</strong>stances <strong>for</strong> path network P n , <strong>for</strong> 20 ≤ n ≤ 160,<br />

<strong>and</strong> algorithms IPA-MWM <strong>and</strong> EDA-SF. Table 8.6 reports the number of ADMs<br />

used by the algorithms EDA-SF <strong>and</strong> IPA-MWM, <strong>and</strong> the optimal bound (LB)<br />

computed by the exact method of [Bermond et al. (June 2005)].<br />

The different variants of algorithm IPA use optimal number of wavelengths,<br />

but differ <strong>in</strong> ADMs per<strong>for</strong>mance significantly. Tables 8.1 - 8.3, show that among<br />

the variants of algorithm IPA the algorithm IPA-MWM has the best ADMs per<strong>for</strong>mance<br />

with up to 43% better than the worst per<strong>for</strong>mance algorithm IPA-SGM.<br />

The ADMs per<strong>for</strong>mance <strong>for</strong> the algorithm IPA-LWM is very close to that of algorithm<br />

IPA-MWM, differ<strong>in</strong>g by just up to 3%. The variants of algorithm EDA<br />

have very close wavelength requirements where occasionally the algorithm EDA-<br />

SF uses 1 or 2 more wavelengths than the algorithm EDA-LF. However, the<br />

algorithm EDA-SF has the best ADMs per<strong>for</strong>mance with up to 23% better than<br />

the algorithm EDA-LF.<br />

We now compare the per<strong>for</strong>mance of the best per<strong>for</strong>mance algorithms amongst<br />

the variants of EDA <strong>and</strong> IPA, the algorithms EDA-SF <strong>and</strong> IPA-MWM. Table 8.1<br />

shows that algorithm EDA-SF has the best ADMs per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with<br />

135


8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Distribution EDA IPA<br />

n |R| EDA-SF EDA-LF IPA-MWM IPA-LWM IPA-SGM<br />

512 418 469 428 436 576<br />

16 1024 816 898 834 848 1151<br />

2048 1620 1799 1643 1660 2296<br />

512 418 457 427 435 578<br />

32 1024 821 900 834 846 1143<br />

2048 1615 1825 1641 1660 2271<br />

512 416 453 427 435 571<br />

64 1024 818 910 834 846 1136<br />

2048 1624 1790 1647 1664 2246<br />

512 417 463 428 436 572<br />

96 1024 821 939 835 847 1149<br />

2048 1619 1797 1644 1661 2301<br />

1024 818 923 834 845 1153<br />

128 2048 1619 1783 1643 1661 2284<br />

Table 8.3: Average number of ADMs <strong>for</strong> <strong>in</strong>stances with Gaussian distribution of<br />

requests.<br />

Distribution |R| W-LB EDA-SF IPA-MWM<br />

512 27 29 27<br />

BL-Uni<strong>for</strong>m 1024 52 54 52<br />

2048 99 101 99<br />

512 136 139 136<br />

UL-Uni<strong>for</strong>m 1024 265 270 265<br />

2048 528 532 528<br />

512 146 148 146<br />

Gaussian 1024 288 290 288<br />

2048 575 577 575<br />

Table 8.4: Average number of wavelengths on 64-node path network.<br />

136


8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

n ADM-LB EDA-SF IPA-MWM<br />

16 1171 1171 1272<br />

32 1037 1037 1149<br />

64 967 967 1063<br />

96 959 959 1094<br />

Table 8.5: Average number of ADMs <strong>for</strong> <strong>in</strong>stances with FL-Uni<strong>for</strong>m distribution<br />

of requests, where each request traverses 4 l<strong>in</strong>ks. The <strong>in</strong>stances have 2048<br />

requests.<br />

n 20 30 40 64 80 96 112 128 144 160<br />

LB 180 408 727 1867 2920 4208 5731 7488 9480 11707<br />

IPA-MWM 195 443 790 2032 3180 4584 6244 8160 10332 12760<br />

EDA-SF 195 445 797 2070 3250 4730 6398 8417 10606 13140<br />

Table 8.6: ADMs requirements <strong>for</strong> all-to-all <strong>in</strong>stances.<br />

Distribution EDA-SF EDA-LF IPA-MWM IPA-LWM IPA-SGM<br />

UL-Uni<strong>for</strong>m 18.81 18.41 88.09 2.67 0.03<br />

Gaussian 58.20 55.41 128.93 6.31 0.03<br />

BL-Uni<strong>for</strong>m 19.08 18.45 67.52 2.08 0.03<br />

Table 8.7: Average time used (<strong>in</strong> seconds) <strong>for</strong> path network with 64 nodes <strong>and</strong><br />

<strong>in</strong>stance of 2048 requests (us<strong>in</strong>g 1.0GHZ AMD Duron Processor with 112.0MB<br />

RAM).<br />

137


8.3 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

BL-Uni<strong>for</strong>m distribution of requests with up to 40% better than the algorithm<br />

IPA-MWM. The algorithm EDA-SF ma<strong>in</strong>ta<strong>in</strong>s good ADMs per<strong>for</strong>mance even<br />

on <strong>in</strong>stances with UL-Uni<strong>for</strong>m (see Table 8.2), <strong>and</strong> Gaussian (see Table 8.3)<br />

distribution of requests. For UL-Uni<strong>for</strong>m <strong>in</strong>stances the ADMs per<strong>for</strong>mance <strong>for</strong><br />

the algorithm EDA-SF is up to 12% better than that of the algorithm IPA-<br />

MWM. For Gaussian <strong>in</strong>stances, on the other h<strong>and</strong>, the ADMs per<strong>for</strong>mance <strong>for</strong> the<br />

algorithm EDA-SF is up to 3% better than that of the algorithm IPA-MWM. For<br />

FL-Uni<strong>for</strong>m <strong>in</strong>stances the algorithm EDA-SF always computed optimal number<br />

of ADMs that is equal to the lower bound ADM-LB <strong>for</strong> all <strong>in</strong>stances we considered<br />

(see Table 8.5). The algorithm IPA-MWM used up to 14% more ADMs over the<br />

optimal number of ADMs <strong>for</strong> <strong>in</strong>stances with FL-Uni<strong>for</strong>m distribution of requests.<br />

However, the algorithm IPA-MWM is relatively slow than other algorithms as<br />

Table 8.7 shows <strong>for</strong> path network with 64 nodes <strong>and</strong> <strong>in</strong>stance of 2048 requests.<br />

For all-to-all <strong>in</strong>stances the algorithm IPA-MWM turned out to outper<strong>for</strong>m<br />

the algorithm EDA-SF slightly, as Table 8.6 shows. Overall both algorithms have<br />

ADMs per<strong>for</strong>mance close to the optimal bound (LB), where the algorithm IPA-<br />

MWM <strong>and</strong> EDA-SF uses at most 8% <strong>and</strong> 10% more ADMs than the optimal<br />

number of ADMs respectively. We should also mention that the algorithm IPA-<br />

MWM always uses optimal number of wavelengths. But as Table 8.4 shows, the<br />

algorithm EDA-SF uses up to 5 more wavelengths than the optimal number of<br />

wavelengths. Nevertheless, m<strong>in</strong>imiz<strong>in</strong>g the number of ADMs is considered as<br />

the primary objective than m<strong>in</strong>imiz<strong>in</strong>g the number of wavelengths as ADMs are<br />

considered to be more costly devices.<br />

We report additional numerical results <strong>for</strong> different groom<strong>in</strong>g algorithms <strong>for</strong><br />

path networks <strong>in</strong> Appendix A.4. We considered networks with 16, 32, 64 <strong>and</strong> 96<br />

nodes. The various variants of the algorithm IPA all always computed optimal<br />

wavelength <strong>allocation</strong>s, us<strong>in</strong>g the number of wavelengths equal to W-LB <strong>for</strong> all<br />

<strong>in</strong>stances we considered. The variants of algorithm EDA all used at most 5 more<br />

wavelengths than the optimal number of wavelengths W-LB on BL-Uni<strong>for</strong>m <strong>and</strong><br />

UL-Uni<strong>for</strong>m <strong>in</strong>stances, but at most 1 more wavelength than the optimal number<br />

of wavelengths W-LB <strong>for</strong> Gaussian <strong>in</strong>stances. The differences between the ADMs<br />

per<strong>for</strong>mance of different algorithms grow when the size of the network <strong>in</strong>creases<br />

<strong>for</strong> all <strong>in</strong>stance types we considered except <strong>for</strong> Gaussian <strong>in</strong>stances where the<br />

138


8.4 Extension to path networks with arbitrary groom<strong>in</strong>g ratios<br />

ADMs per<strong>for</strong>mance of the algorithms EDA-LF <strong>and</strong> IPA-MWM converge (see<br />

Tables A.11, A.12, A.13 <strong>and</strong> A.14).<br />

We summarize the per<strong>for</strong>mance results <strong>for</strong> the algorithms EDA-SF, EDA-<br />

LF, IPA-MWM, IPA-LWM <strong>and</strong> IPA-SGM <strong>in</strong> the plots <strong>in</strong> Figures 8.2, 8.3 <strong>and</strong><br />

8.4, <strong>for</strong> path networks with 64 nodes <strong>and</strong> the BL-Uni<strong>for</strong>m, UL-Uni<strong>for</strong>m <strong>and</strong><br />

Gaussian distribution of requests (note that <strong>in</strong> Figure 8.4 we do not show the<br />

wavelengths per<strong>for</strong>mance <strong>for</strong> Gaussian <strong>in</strong>stances because all variants of algorithm<br />

IPA use optimal number of wavelengths <strong>and</strong> all variants of algorithm EDA use<br />

number of wavelengths that differ by at most 1 wavelength from the optimal<br />

number of wavelengths). The plots show that algorithm EDA-SF gives overall<br />

the best per<strong>for</strong>mance, followed by the algorithms EDA-LF <strong>and</strong> IPA-MWM. The<br />

good per<strong>for</strong>mance of the edge decomposition based algorithms, <strong>and</strong> especially the<br />

EDA-SF algorithm, could be attributed to the fact that when f<strong>in</strong>d<strong>in</strong>g a circuit<br />

subgraph EDA-SF gives priority to shortest arcs of the Forward arcs class that<br />

lead to more closed circuit subgraphs be<strong>in</strong>g found with m<strong>in</strong>imum ratios |V i|<br />

|A i | .<br />

8.4 Extension to path networks with arbitrary<br />

groom<strong>in</strong>g ratios<br />

In this section we extend the algorithms EDA <strong>and</strong> IPA to path networks with<br />

arbitrary groom<strong>in</strong>g ratios. We describe the extension <strong>for</strong> the algorithm EDA,<br />

but similar description apply <strong>for</strong> the algorithm IPA. We use the term groom<strong>in</strong>g<br />

solution on groom<strong>in</strong>g ratio q(or groom<strong>in</strong>g solution <strong>for</strong> q) to refer to a set of<br />

subgraphs that each satisfies the groom<strong>in</strong>g constra<strong>in</strong>t of q on the path network<br />

P n . Let S be a groom<strong>in</strong>g solution on groom<strong>in</strong>g ratio q. We say H ⊆ S is a partial<br />

groom<strong>in</strong>g solution on groom<strong>in</strong>g ratio q with respect to f denoted by Hq f , when<br />

we wish to trans<strong>for</strong>m the set H <strong>in</strong>to groom<strong>in</strong>g solution H ′ on groom<strong>in</strong>g ratio f.<br />

Such H ′ is said to be the partial solution <strong>for</strong> f.<br />

Given a path network with arbitrary groom<strong>in</strong>g ratio g. We compute the<br />

groom<strong>in</strong>g solution <strong>for</strong> groom<strong>in</strong>g ratio g by start<strong>in</strong>g with the groom<strong>in</strong>g solution<br />

S on groom<strong>in</strong>g ratio 2 (i.e., determ<strong>in</strong>ed us<strong>in</strong>g the EDA algorithm). We f<strong>in</strong>d<br />

the groom<strong>in</strong>g solution on groom<strong>in</strong>g ratio g by recursively us<strong>in</strong>g the weighted<br />

139


8.4 Extension to path networks with arbitrary groom<strong>in</strong>g ratios<br />

# ADMs/ADM-LB<br />

1.75<br />

1.7<br />

1.65<br />

1.6<br />

1.55<br />

1.5<br />

1.45<br />

1.4<br />

1.35<br />

1.3<br />

1.25<br />

1.2<br />

1.15<br />

1.1<br />

1.05<br />

1<br />

EDA-SF<br />

EDA-LF<br />

IPA-MWM<br />

IPA-LWM<br />

IPA-SGM<br />

151 301 451 601 751 901 1051 1201 1351 1501<br />

ADM-LB<br />

(a)<br />

1.04<br />

# WAVELENGTHS/W-LB<br />

1.03<br />

1.02<br />

1.01<br />

1<br />

EDA-SF & EDA-LF<br />

IPA-MWM, IPA-LWM & IPA-SGM<br />

0.99<br />

101 201 301 401 501<br />

W-LB<br />

(b)<br />

Figure 8.2: ADMs <strong>and</strong> <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with BL-Uni<strong>for</strong>m<br />

requests on 64-node path network (a) ADMs (b) <strong>Wavelength</strong>s.<br />

140


8.4 Extension to path networks with arbitrary groom<strong>in</strong>g ratios<br />

# ADMs/ADM-LB<br />

1.7<br />

1.65<br />

1.6<br />

1.55<br />

1.5<br />

1.45<br />

1.4<br />

1.35<br />

1.3<br />

1.25<br />

1.2<br />

1.15<br />

1.1<br />

1.05<br />

1<br />

EDA-SF<br />

EDA-LF<br />

IPA-MWM<br />

IPA-LWM<br />

IPA-SGM<br />

151 301 451 601 751 901 1051 1201 1351 1501 1651<br />

ADM-LB<br />

(a)<br />

1.05<br />

# WAVELENGTHS/W-LB<br />

1.04<br />

1.03<br />

1.02<br />

1.01<br />

1<br />

EDA-SF & EDA-LF<br />

IPA-MWM, IPA-LWM & IPA-SGM<br />

0.99<br />

101 201 301 401 501 601<br />

W-LB<br />

(b)<br />

Figure 8.3: ADMs <strong>and</strong> <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with UL-Uni<strong>for</strong>m<br />

distribution of requests on 64-node path network (a) ADMs (b) <strong>Wavelength</strong>s.<br />

141


8.4 Extension to path networks with arbitrary groom<strong>in</strong>g ratios<br />

1.5<br />

1.425<br />

# ADMs/ADM-LB<br />

1.35<br />

1.275<br />

1.2<br />

1.125<br />

EDA-SF<br />

EDA-LF<br />

IPA-MWM<br />

IPA-LWM<br />

IPA-SGM<br />

1.05<br />

151 301 451 601 751 901 1051 1201 1351 1501 1651<br />

ADM-LB<br />

Figure 8.4: ADMs per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with Gaussian distribution of requests<br />

on 64-node path network.<br />

142


8.4 Extension to path networks with arbitrary groom<strong>in</strong>g ratios<br />

match<strong>in</strong>g algorithm. That is let g = x + y, <strong>for</strong> some <strong>in</strong>teger x <strong>and</strong> y. We obta<strong>in</strong><br />

the groom<strong>in</strong>g solution <strong>for</strong> g by first determ<strong>in</strong><strong>in</strong>g the partial groom<strong>in</strong>g solutions<br />

<strong>for</strong> x <strong>and</strong> y from the partial solution on groom<strong>in</strong>g ratio 2 with respect to x <strong>and</strong><br />

y respectively. We always choose the number x = 2 t as the largest <strong>in</strong>teger less<br />

or equal to g, <strong>for</strong> some <strong>in</strong>teger t ≥ 0. From the set S we compute the partial<br />

solution on groom<strong>in</strong>g ratio 2, with respect to x <strong>and</strong> y, by partition<strong>in</strong>g the set S<br />

(can be done arbitrarily) <strong>in</strong>to the sets X2<br />

x <strong>and</strong> Y y<br />

2 with card<strong>in</strong>ality ⌈ x · |S|⌉ <strong>and</strong><br />

g<br />

|S| − ⌈ x · |S|⌉ respectively. Now let X <strong>and</strong> Y be the partial solutions <strong>for</strong> x <strong>and</strong> y.<br />

g<br />

The follow<strong>in</strong>g algorithm uses the weighted match<strong>in</strong>g algorithm <strong>for</strong> bipartite<br />

graphs to compute the groom<strong>in</strong>g solution Z <strong>for</strong> g from the partial solutions X<br />

<strong>and</strong> Y .<br />

1. Def<strong>in</strong>e a complete weighted bipartite graph, G = (A ˙∪B, E), where the nodes<br />

<strong>in</strong> A are the subgraphs <strong>in</strong> X <strong>and</strong> the nodes <strong>in</strong> B are the subgraphs <strong>in</strong> Y . The<br />

edge weight w({D i , D j }) = |V (D i ) ∩ V (D j )|, <strong>for</strong> every pairs of subgraphs<br />

D i ∈ A <strong>and</strong> D j ∈ B.<br />

2. F<strong>in</strong>d a maximum weight match<strong>in</strong>g M, <strong>for</strong> the graph G. Denote by Q be<br />

the set of nodes <strong>in</strong> H not covered by M.<br />

3. For each edge {D i , D j } ∈ M merge the subgraphs D i <strong>and</strong> D j <strong>in</strong>to a new<br />

subgraphs D ij . Add D ij <strong>in</strong>to Z. For every node k ∈ Q, add the subgraph<br />

D k <strong>in</strong>to Z.<br />

Now consider x = 2 t , where t ≥ 0. For t ≥ 2, compute the set X from X x 2<br />

by us<strong>in</strong>g k − 1 iterations of the weighted match<strong>in</strong>g algorithm <strong>for</strong> general graph<br />

<strong>in</strong> [Edmonds (1965a); Edmonds (1965b)] with X2<br />

x as the <strong>in</strong>itial <strong>in</strong>put. In each<br />

iteration the solution obta<strong>in</strong>ed at the i th iteration is the <strong>in</strong>put to the next (i+1) th<br />

iteration, <strong>for</strong> 1 ≤ i ≤ k − 1. Let S 0 = X x 2 . The set X is obta<strong>in</strong>ed from the output<br />

of the follow<strong>in</strong>g operations.<br />

1. For 1 ≤ h ≤ k − 1,<br />

(a) S h ← S h−1 , Z ← ∅.<br />

143


8.4 Extension to path networks with arbitrary groom<strong>in</strong>g ratios<br />

(b) Def<strong>in</strong>e a complete weighted graph, G = (V, E), where the nodes <strong>in</strong> V<br />

are the subgraphs <strong>in</strong> S h . The edge weight w({D i , D j }) = |V (D i ) ∩<br />

V (D j )|, <strong>for</strong> every dist<strong>in</strong>ct pairs of subgraphs D i , D j ∈ V .<br />

(c) F<strong>in</strong>d a maximum weight match<strong>in</strong>g M, <strong>for</strong> the graph G. Denote by Q<br />

be the set of nodes <strong>in</strong> H not covered by M.<br />

(d) For each edge {D i , D j } ∈ M merge the subgraphs D i <strong>and</strong> D j <strong>in</strong>to a<br />

2. Output S h .<br />

new subgraphs D ij . Add D ij <strong>in</strong>to Z. For every node k ∈ Q, add the<br />

subgraph D k <strong>in</strong>to Z. S h ← Z.<br />

For the case t = 1, the set X is the set X x 2 . It rema<strong>in</strong> to consider the case t = 0,<br />

that is x = 1. We def<strong>in</strong>e a split operation that trans<strong>for</strong>ms the solution X 1 2<br />

solution X. The split operation partitions the arcs of each valid subgraph <strong>in</strong> X 1 2<br />

<strong>in</strong>to two sets such that each satisfies the groom<strong>in</strong>g ratio constra<strong>in</strong>t of 1.<br />

to<br />

8.4.1 Splitt<strong>in</strong>g valid subgraphs<br />

Recall that a valid subgraph consists of a set of valid circuit subgraphs. Let D i<br />

be a subgraph <strong>in</strong> X 1 2. We adapt the merge sequence <strong>in</strong> Section 8.2.3.2 to split<br />

D i <strong>in</strong>to its valid circuit subgraph components. By Lemma 6, any valid circuit<br />

subgraph as a closed circuit has unique source <strong>and</strong> s<strong>in</strong>k node. Thus the pair of<br />

arc disjo<strong>in</strong>t paths between the unique source <strong>and</strong> s<strong>in</strong>k nodes are split <strong>in</strong>to two<br />

sets as required.<br />

F<strong>in</strong>ally, the set Y is computed from Y y<br />

2 recursively <strong>in</strong> the same way the solution<br />

<strong>for</strong> g is obta<strong>in</strong>ed from S.<br />

144


Chapter 9<br />

Traffic Groom<strong>in</strong>g on<br />

Unidirectional Path Networks -<br />

All-to-all Instances<br />

In this chapter we extend the work <strong>in</strong> [Bermond et al. (June 2005)] where they<br />

study the traffic groom<strong>in</strong>g problem <strong>for</strong> unidirectional path networks with all-to-all<br />

<strong>in</strong>stances <strong>and</strong> groom<strong>in</strong>g ratio 1 <strong>and</strong> 2. We establish lower bounds on the number<br />

of ADMs needed <strong>for</strong> path networks with all-to-all <strong>in</strong>stances <strong>and</strong> groom<strong>in</strong>g ratio<br />

3 <strong>and</strong> 4, <strong>and</strong> give an upper bound <strong>for</strong> the case of groom<strong>in</strong>g ratio 3.<br />

9.1 Problem def<strong>in</strong>ition<br />

We consider unidirectional path network P n with n nodes, numbered 0, . . . , n−1.<br />

Let g be the groom<strong>in</strong>g ratio <strong>for</strong> wavelengths on the l<strong>in</strong>ks of P n , that is, each<br />

wavelength <strong>in</strong> P n can support up to g requests. An all-to-all <strong>in</strong>stance has one<br />

request of unit size (i.e., requires one unit of wavelength b<strong>and</strong>width), <strong>for</strong> every<br />

node pair (i, j) <strong>in</strong> P n , 0 ≤ i < j ≤ n − 1. Note that we consider unidirectional<br />

requests, but represent them as directed pairs (i, j), where i < j. We view the<br />

all-to-all <strong>in</strong>stance <strong>for</strong> P n as a complete graph, G = (V, E), where the node set V<br />

consists of the nodes of P n <strong>and</strong> the edge set E = {(i, j) : 0 ≤ i < j ≤ n − 1}<br />

represents the requests. We will denote a complete graph on n nodes by K n . Let<br />

145


9.2 Lower bounds<br />

A(P n , g) denote the number of ADMs needed to satisfy the all-to-all <strong>in</strong>stance on<br />

the network P n with groom<strong>in</strong>g ratio g.<br />

The groom<strong>in</strong>g problem <strong>for</strong> P n <strong>and</strong> the all-to-all requests can be stated <strong>in</strong> the<br />

follow<strong>in</strong>g way. Partition the edges of the complete graph G <strong>in</strong>to W subgraphs<br />

G i<br />

= (V i , E i ), 0 ≤ i ≤ W − 1, where W (not part of the <strong>in</strong>put, but to be<br />

determ<strong>in</strong>ed as part of the output) is the total number of used wavelengths, such<br />

that<br />

• <strong>for</strong> each i = 0, . . . , W − 1 <strong>and</strong> each pair h, h + 1 of consecutive nodes on<br />

P n , no more than g edges <strong>in</strong> E i cross the l<strong>in</strong>k (h, h + 1) on P n , that is,<br />

|{(j, k) ∈ E i : j ≤ h, k ≥ h + 1}| ≤ g (i.e., groom<strong>in</strong>g ratio constra<strong>in</strong>t of g<br />

on P n );<br />

• E i ∩ E j = ∅, ⋃ W −1<br />

i=0<br />

E i = E;<br />

<strong>and</strong> m<strong>in</strong>imize ∑ W −1<br />

i=0<br />

|V i |. The requests <strong>in</strong> G i are allocated to wavelength i <strong>and</strong><br />

need |V i | ADMs, one at each node which is an end node of a request <strong>in</strong> G i . Thus<br />

the total number of ∑ W −1<br />

i=0<br />

|V i | ADMs are required. The m<strong>in</strong>imum ∑ W −1<br />

i=0<br />

|V i |<br />

is equal to A(P n , g) s<strong>in</strong>ce any feasible solution to our groom<strong>in</strong>g problem can be<br />

viewed as a partition<strong>in</strong>g of graph G satisfy<strong>in</strong>g the above two conditions.<br />

For network P n with all-to-all <strong>in</strong>stance on unit rate requests the exact values<br />

of A(P n , 1) <strong>and</strong> A(P n , 2), are shown <strong>in</strong> [Bermond et al. (June 2005)]. They show<br />

that A(P n , 1) = 3n2 −2n−ɛ, where ɛ = 1 when n ≡ 1(mod 2) <strong>and</strong> 0 otherwise,<br />

4<br />

<strong>and</strong> that A(P n , 2) = ⌈ 11n2 −8n−3⌉ <strong>for</strong> n ≡ 1(mod 2), <strong>and</strong> A(P<br />

24 n , 2) = 11n2 −4n<br />

+ ɛ<br />

24 n<br />

<strong>for</strong> n ≡ 0(mod 2), where ɛ n = 1 when n ≡ 2 or 6(mod 12), ɛ 2 n = 1 when 3<br />

n ≡ 4(mod 12), ɛ n = 5 when n ≡ 10(mod 12) <strong>and</strong> 0 when n ≡ 0 or 8(mod<br />

6<br />

6). We establish the lower bound <strong>for</strong> A(P n , 3) <strong>and</strong> A(P n , 4), <strong>and</strong> give upper<br />

bound <strong>for</strong> A(P n , 3) us<strong>in</strong>g graph decomposition methods presented <strong>in</strong> [Bermond<br />

<strong>and</strong> Schönheim (1977)].<br />

9.2 Lower bounds<br />

We derive the lower bounds <strong>for</strong> A(P n , 3) <strong>and</strong> A(P n , 4) follow<strong>in</strong>g the approach presented<br />

<strong>in</strong> [Bermond et al. (June 2005)]. Let W denote the number of subgraphs<br />

146


9.2 Lower bounds<br />

G i (V i , E i ) <strong>in</strong> a partition<strong>in</strong>g of the request graph G(V, E), a p the number of subgraphs<br />

with exactly p nodes, <strong>and</strong> A = ∑ W −1<br />

i=0<br />

|V i | the total number of ADMs<br />

required. We have the follow<strong>in</strong>g relations.<br />

A =<br />

n∑<br />

pa p (9.1)<br />

p=2<br />

W∑<br />

−1<br />

i=0<br />

n∑<br />

a p = W (9.2)<br />

p=2<br />

|E i | = |E| =<br />

n(n − 1)<br />

2<br />

(9.3)<br />

Let L denote the network load <strong>in</strong>duced by the all-to-all <strong>in</strong>stance on P n with<br />

groom<strong>in</strong>g ratio g. The lower bound <strong>for</strong> the required number of wavelengths, <strong>and</strong><br />

the required number of subgraphs partition<strong>in</strong>g G(V, E) is L . The network load<br />

g<br />

<strong>for</strong> P n with all-to-all <strong>in</strong>stance is ⌈ n2 −ɛ⌉. Hence we have that<br />

4<br />

⌈ ⌉ n 2 − ɛ<br />

W ≥<br />

(9.4)<br />

4g<br />

where ɛ is 1 <strong>for</strong> n odd, <strong>and</strong> 0 otherwise.<br />

Intuitively, s<strong>in</strong>ce we aim at m<strong>in</strong>imiz<strong>in</strong>g ∑ W −1<br />

i=1<br />

|V i | - the number of ADMs<br />

required to support the <strong>allocation</strong> of requests to wavelengths, we should look <strong>for</strong><br />

partition<strong>in</strong>gs of G with small W <strong>and</strong> small ratios |V i|<br />

|E i<br />

. We first establish the<br />

|<br />

upper bound <strong>for</strong> the number of edges |E i | <strong>in</strong> a subgraph G i with |V i | nodes. Let<br />

γ(g, p) be the maximum number of edges possible on a p-node subgraph of the<br />

request graph G(V, E) <strong>for</strong> a network P n with groom<strong>in</strong>g ratio g. Equation (9.2)<br />

<strong>and</strong> Inequality (9.4) imply<br />

n∑<br />

⌈ ⌉ n 2 − ɛ<br />

a p ≥ . (9.5)<br />

4g<br />

p=2<br />

Equation (9.3) implies<br />

n∑<br />

a p γ(g, p) ≥<br />

p=2<br />

n(n − 1)<br />

. (9.6)<br />

2<br />

Lemma 7 For p ≥ 2, γ(3, p) = 2p − 3.<br />

147


9.2 Lower bounds<br />

Proof :<br />

This lemma holds <strong>for</strong> p = 2 s<strong>in</strong>ce the request graph K 2 has a maximum<br />

of 1 edge. For p = 3 the maximum number of edges is 3, <strong>and</strong> the graph K 3<br />

achieves the equality. Analogously, <strong>for</strong> p = 4 we have a maximum of 5 edges,<br />

<strong>and</strong> the graph K 4 − e (the graph obta<strong>in</strong>ed by remov<strong>in</strong>g one edge from the graph<br />

K 4 ) achieves the equality. Now assume that the lemma holds <strong>for</strong> some p ≥ 4,<br />

that is, γ(3, p) = 2p − 3. We show that it also holds <strong>for</strong> p + 3. Let the vertices<br />

of a p + 3 node subgraph satisfy<strong>in</strong>g the groom<strong>in</strong>g ratio constra<strong>in</strong>t be u 0 < . . . <<br />

u p−1 < x 0 < x 1 < x 2 . In this subgraph we can have at most 2p − 3 edges of the<br />

type {u i , u j }, where 0 ≤ i < j ≤ p − 1 (the <strong>in</strong>ductive hypothesis); at most three<br />

edges of the type {u i , x j }, where 0 ≤ i ≤ p − 1 <strong>and</strong> 0 ≤ j ≤ 2; <strong>and</strong> additional<br />

three edges of the type {x j , x k }, where 0 ≤ j ≠ k ≤ 2. Thus this subgraph has<br />

at most 2p − 3 + 6 edges. Hence γ(3, p + 3) ≤ 2(p + 3) − 3 , so, by <strong>in</strong>duction , <strong>for</strong><br />

each p ≥ 2, γ(3, p) ≤ 2p − 3.<br />

We now show a subgraph of G which has p ≥ 3 nodes, 2p − 3 edges, <strong>and</strong><br />

satisfies the groom<strong>in</strong>g ratio constra<strong>in</strong>t. The nodes of this subgraph are u 0 < u 1 <<br />

... < u p−1 . The 2p − 3 edges are (u i , u i+1 ), <strong>for</strong> i = 0, 1, ..., p − 2, <strong>and</strong> (u i , u i+2 ), <strong>for</strong><br />

i = 0, 1, ..., p−3. To see that this subgraph satisfies the groom<strong>in</strong>g ratio constra<strong>in</strong>t,<br />

take an arbitrary l<strong>in</strong>k (j, j + 1) on P n such that u 0 ≤ j < u p−1 <strong>and</strong> the <strong>in</strong>dex<br />

i such that u i ≤ j < u i+1 . This l<strong>in</strong>k is crossed by at most three request from<br />

this subgraph: (u i , u i+1 ), (u i , u i+2 ), if i ≤ p − 3, <strong>and</strong> (u i−1 , u i+1 ), if i ≥ 1. Thus<br />

γ(3, p) ≥ 2p − 3.<br />

Theorem 10 A(P n , 3) ≥<br />

otherwise.<br />

Proof :<br />

There<strong>for</strong>e<br />

⌈ ⌈ ⌉⌉<br />

n(n−1)<br />

+ 3 n 2 −ɛ<br />

, where ɛ is 1 <strong>for</strong> n odd, <strong>and</strong> 0<br />

4 2 12<br />

By Lemma 7, Inequality (9.6) can be written as<br />

n∑<br />

n(n − 1)<br />

(2p − 3)a p ≥ . (9.7)<br />

2<br />

p=2<br />

n∑<br />

pa p ≥<br />

p=2<br />

n(n − 1)<br />

4<br />

+ 3 2<br />

n∑<br />

a p . (9.8)<br />

Thus by Equation (9.1) <strong>and</strong> Inequality (9.5) we have<br />

⌈ n(n − 1)<br />

A ≥ + 3 ⌈ ⌉⌉ n 2 − ɛ<br />

. (9.9)<br />

4 2 12<br />

p=2<br />

148


9.2 Lower bounds<br />

Lemma 8 For p ≥ 2, γ(4, p) = ⌊ ⌋<br />

7p−10<br />

3 .<br />

Proof :<br />

For p = 2, 3 <strong>and</strong> 4 complete graphs K 2 , K 3 <strong>and</strong> K 4 show that the<br />

equality holds. Now we assume that the lemma holds <strong>for</strong> some p ≥ 4, that is,<br />

γ(4, p) = ⌊ ⌋<br />

7p−10<br />

3 . We show that it also holds <strong>for</strong> p + 3. Let the vertices of a p + 3<br />

node subgraph satisfy<strong>in</strong>g the groom<strong>in</strong>g ratio constra<strong>in</strong>t be u 0 < . . . < u p−1 <<br />

x 0 < x 1 < x 2 . In this subgraph we can have at most ⌊ ⌋<br />

7p−10<br />

3 edges of the type<br />

{u i , u j }, where 0 ≤ i ≤ p − 1 (the <strong>in</strong>ductive hypothesis); at most four edges of<br />

the type {u i , x j }, where 0 ≤ i ≤ p − 1 <strong>and</strong> 0 ≤ j ≤ 2; <strong>and</strong> additional three<br />

edges of the type {x j , x k }, where 0 ≤ i ≠ j ≤ 2. Thus this subgraph has at<br />

most ⌊ ⌋ ⌊ ⌋<br />

7p−10<br />

3 + 7 edges. Hence γ(4, p + 3) ≤ 7(p+3)−10<br />

, so by <strong>in</strong>duction, <strong>for</strong> each<br />

3<br />

p ≥ 2, γ(4, p) ≤ ⌊ ⌋<br />

7p−10<br />

3 .<br />

We now show a subgraph of G which has p ≥ 4 nodes, ⌊ ⌋<br />

7p−10<br />

3 edges, <strong>and</strong><br />

satisfies the groom<strong>in</strong>g ratio constra<strong>in</strong>t. The nodes of this subgraph are u 0 <<br />

u 1 < ... < u p−1 . The edges are (u i , u i+1 ), <strong>for</strong> i = 0, 1, ..., p − 2, (u i , u i+2 ), <strong>for</strong><br />

i = 0, 1, ..., p − 3, <strong>and</strong> (u 3i , u 3(i+1) ), <strong>for</strong> i = 0, 1, ..., ⌊(p − 4)/3⌋; see Figure 9.1.<br />

The number of edges <strong>in</strong> this subgraph is 2p − 3 + ⌊(p − 4)/3⌋ + 1 = ⌊ ⌋<br />

7p−10<br />

3 . To<br />

see that this subgraph satisfies the groom<strong>in</strong>g ratio constra<strong>in</strong>t, take an arbitrary<br />

l<strong>in</strong>k (j, j + 1) on P n such that u 0 ≤ j < u p−1 <strong>and</strong> the <strong>in</strong>dex i such that u i ≤<br />

j < u i+1 .<br />

This l<strong>in</strong>k is crossed by at most four request from this subgraph:<br />

(u i , u i+1 ), (u i , u i+2 ), if i ≤ p − 3, (u i−1 , u i+1 ), if i ≥ 1, <strong>and</strong> (u 3⌊i/3⌋ , u 3(⌊i/3⌋+1) ), if<br />

3⌊i/3⌋ ≤ p − 4. Thus γ(4, p) ≥ ⌊ ⌋<br />

7p−10<br />

3 .<br />

u 0<br />

u 1<br />

... ...<br />

u 2<br />

u 3<br />

u 4<br />

u 5<br />

u<br />

p−k<br />

u<br />

p−k+1<br />

u p−k+2<br />

u p−3<br />

u p−2<br />

u p−1<br />

Figure 9.1: A construction <strong>for</strong> the graph on p nodes that satisfies the groom<strong>in</strong>g<br />

ratio constra<strong>in</strong>t of 4 <strong>and</strong> achieves the upper bound γ(4, p) on number of edges.<br />

Theorem 11 A(P n , 4) ≥<br />

otherwise.<br />

⌈<br />

3n(n−1)<br />

14<br />

+ 10 7<br />

⌈<br />

⌉⌉<br />

n 2 −ɛ<br />

, where ɛ is 1 <strong>for</strong> n odd, <strong>and</strong> 0<br />

16<br />

149


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

Proof :<br />

There<strong>for</strong>e<br />

By Lemma 8, Inequality (9.6) can be written as<br />

n∑<br />

⌊ ⌋ 7p − 10 n(n − 1)<br />

a p ≥ . (9.10)<br />

3<br />

2<br />

p=2<br />

n∑<br />

pa p ≥<br />

p=2<br />

3n(n − 1)<br />

14<br />

+ 10 7<br />

n∑<br />

a p . (9.11)<br />

Thus by Equation (9.1) <strong>and</strong> Inequality (9.5) we have<br />

⌈ 3n(n − 1)<br />

A ≥<br />

+ 10 ⌈ ⌉⌉ n 2 − ɛ<br />

. (9.12)<br />

14 7 16<br />

9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

The complete graph K n is said to have a G-decomposition if it is the union of<br />

edge disjo<strong>in</strong>t subgraphs each isomorphic to G. The G-decomposition problem is<br />

to determ<strong>in</strong>e the set of naturals N(G), such that K n has a G-decomposition if<br />

<strong>and</strong> only if n ∈ N(G). The solution of this problem <strong>for</strong> small graphs G with<br />

up to four nodes is given <strong>in</strong> [Bermond <strong>and</strong> Schönheim (1977)]. In this section<br />

we use some of the decomposition results <strong>for</strong> K n <strong>in</strong>to subgraphs isomorphic to<br />

K 4 − e <strong>in</strong> [Bermond <strong>and</strong> Schönheim (1977)] to f<strong>in</strong>d subgraph partitions <strong>for</strong> the<br />

request graph on P n . We show that the obta<strong>in</strong>ed subgraph partitions satisfy the<br />

groom<strong>in</strong>g ratio constra<strong>in</strong>t of g = 3 on P n .<br />

The nodes of K n are labeled from the set {0, 1, . . . , n−1} denoted by Z n as the<br />

number<strong>in</strong>g of nodes <strong>in</strong> P n . A sequence of nodes (a, b, c, d) where {a, b, c, d} ⊆ Z n ,<br />

represents a subgraph of K n with four nodes a, b, c, <strong>and</strong> d, three edges between<br />

the three consecutive pairs of nodes, <strong>and</strong> the edge between the first node <strong>and</strong><br />

the last one. We denote the set of graphs (a + j, b + j, c + j, d + j), j ∈ Z n , by<br />

(a, b, c, d)(mod n), but additions of node labels are done mod n. An over-brace<br />

between non-consecutive nodes a <strong>and</strong> c denotes the edge {a, c}. That is, ( { }} {<br />

a, b, c, d)<br />

represents the graph isomorphic to K 4 − e with edges {a, b}, {b, c}, {c, d}, {d, a}<br />

<strong>and</strong> {a, c}.<br />

The follow<strong>in</strong>g Lemmas 9-10 describe some direct constructions <strong>for</strong> the decomposition<br />

of K n <strong>in</strong>to subgraphs isomorphic to K 4 − e, given <strong>in</strong> [Bermond <strong>and</strong><br />

Schönheim (1977)].<br />

p=2<br />

150


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

Lemma 9 (Bermond <strong>and</strong> Schönheim (1977)) If n = 10k + 1 then K n has<br />

a K 4 − e decomposition. For k ≥ 4 the follow<strong>in</strong>g k(10k + 1) subgraphs <strong>for</strong>m a<br />

K 4 − e decomposition of K n :<br />

(1, { 1 + 2i, 2k + }} 2, 4k + i + 1), {<br />

i = 3, 4, . . . , ⌊ k⌋<br />

2<br />

(1, { 2k + 3 − 2i, 2k }} + 2, 5k + 2 − {<br />

i), i = 1, 2, . . . , ⌈ k⌉<br />

2<br />

( { 1, 3, }} 4k + 1, {<br />

6k)<br />

( { 1, 5, }} 2k + 2, {<br />

6k + 1)<br />

⎫<br />

⎪⎬<br />

(mod 10k + 1)<br />

Lemma 10 (Bermond <strong>and</strong> Schönheim (1977)) If n = 10k+6, the follow<strong>in</strong>g<br />

k(10k + 6) + 5k + 3 subgraphs <strong>for</strong>m a K 4 − e decomposition of K n :<br />

(1, { 2i, 2 + 2k, }} 4k + 3 + {<br />

⎫<br />

i), i = 1, 2, . . . , ⌈ k⌉<br />

⎪⎬<br />

2<br />

{ }} {<br />

(1, 2i + 2⌈ k (mod 10k + 6)<br />

2 ⌉, 2 + 2k, 4k + 3 + ⌈k 2 ⌉ + i), i = 1, 2, . . . , ⌊ k⌋ ⎪ ⎭<br />

2<br />

( { 1 + i, 2 + 2k }} + i, 5k + 4 + {<br />

i, 7k + 5 + i), i = 0, 1, . . . , 5k + 2.<br />

We are <strong>in</strong>terested <strong>in</strong> subgraphs which satisfy the groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 3<br />

on P n . Lemma 11 says that the graphs <strong>in</strong> the set (a, b, c, d)(mod n) satisfy the<br />

groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 2 on P n , if a < b < c < d.<br />

Lemma 11 Let (a, b, c, d)(mod n) be the set of graphs <strong>and</strong> i, i + 1 a pair of<br />

consecutive nodes <strong>in</strong> P n .<br />

⎪⎭<br />

If a < b < c < d then the edges of any graph <strong>in</strong><br />

(a, b, c, d)(mod n) cross the l<strong>in</strong>k (i, i + 1) on P n at most twice.<br />

Proof :<br />

If a < b < c < d, then a l<strong>in</strong>k (i, i + 1) on P n is crossed twice by the<br />

edges of subgraph (a, b, c, d), if a ≤ i < d, <strong>and</strong> is not crossed by any of the<br />

edges of (a, b, c, d), if i < a or i ≥ d. For a fixed <strong>in</strong>teger j ∈ Z n , let the graph<br />

(a + j, b + j, c + j, d + j) be denoted by (ā, ¯b, ¯c, ¯d), that is, ā = (a + j) mod n,<br />

etc. S<strong>in</strong>ce a < b < c < d, the nodes of the graph (ā, ¯b, ¯c, ¯d) satisfies one of the<br />

follow<strong>in</strong>g four possible cases ā < ¯b < ¯c < ¯d, ¯d < ā < ¯b < ¯c, ¯c < ¯d < ā < ¯b,<br />

<strong>and</strong> ¯b < ¯c < ¯d < ā. In each case, graph (ā, ¯b, ¯c, ¯d) is graph (a ′ , b ′ , c ′ , d ′ ) <strong>for</strong> some<br />

a ′ < b ′ < c ′ < d ′ , so it crosses a l<strong>in</strong>k (i, i + 1) on P n twice or does not cross it at<br />

all.<br />

If a < b < c < d, Lemma 11 implies that the edges of each graph <strong>in</strong><br />

( { }} {<br />

a, b, c, d)(mod n) cross any l<strong>in</strong>k on P n at most thrice. The follow<strong>in</strong>g holds <strong>in</strong><br />

151


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

Lemma 9, <strong>for</strong> k ≥ 4: 1 < 1 + 2i < 2k + 2 < 4k + i + 1, <strong>for</strong> 3 ≤ i ≤ ⌊ k 2 ⌋,<br />

1 < 2k + 3 − 2i < 2k + 2 < 5k + 2 − i, <strong>for</strong> 1 ≤ i ≤ ⌈ k ⌉, 1 < 3 < 4k + 1 < 6k<br />

2<br />

<strong>and</strong> 1 < 5 < 2k + 2 < 6k + 1. Analogously, the follow<strong>in</strong>g holds <strong>in</strong> Lemma 10, <strong>for</strong><br />

k ≥ 1: 1 < 2i < 2 + 2k < 4k + 3 + i, <strong>for</strong> 1 ≤ i ≤ ⌈ k 2 ⌉, 1 < 2i + 2⌈ k 2 ⌉ < 2 + 2k <<br />

4k + 3 + ⌈ k⌉ + i, <strong>for</strong> 1 ≤ i ≤ ⌊ k ⌋, <strong>and</strong> 1 + i < 2 + 2k + i < 5k + 4 + i < 7k + 5 + i,<br />

2 2<br />

<strong>for</strong> 0 ≤ i ≤ 5k + 2. By Lemma 11, it follows that the subgraph partitions <strong>in</strong><br />

Lemmas 9 <strong>and</strong> 10 admit the groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 3 on P n .<br />

We now show the upper bound <strong>for</strong> A(P n , 3). We denote by K n1 ,n 2<br />

the complete<br />

bipartite graph with n 1 <strong>and</strong> n 2 nodes <strong>for</strong> the two node classes of the graph,<br />

respectively. The edges of K n are partitioned <strong>in</strong>to a set of small subgraphs, <strong>in</strong>clud<strong>in</strong>g<br />

subgraphs isomorphic to K 2 (denoted by (a, b)), subgraphs isomorphic to<br />

K 3 (denoted by (a, b, c)), subgraphs isomorphic to the circle graph on four nodes<br />

(denoted by (a, b, c, d)), subgraphs isomorphic to K 4 − e (denoted by ( { }} {<br />

a, b, c, d)),<br />

<strong>and</strong> subgraphs isomorphic to K 2,3 (denoted by node partition {{a, b}, {c, d, e}}).<br />

We show that each subgraph of K n satisfies the groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 3 on<br />

P n . This is obvious <strong>for</strong> the subgraphs (a, b) <strong>and</strong> (a, b, c). If a < b < c < d, Lemma<br />

11 implies that the subgraphs (a, b, c, d) <strong>and</strong> ( { }} {<br />

a, b, c, d) satisfy the groom<strong>in</strong>g ratio<br />

constra<strong>in</strong>t g = 3 on P n . Figures 9.2-9.3 show constructions <strong>for</strong> subgraphs isomorphic<br />

to K 4 − e <strong>and</strong> K 2,3 respectively, that satisfy the groom<strong>in</strong>g ratio constra<strong>in</strong>t<br />

g = 3 on P n . Figure 9.2 (a)-(c), shows that subgraphs ( { }} {<br />

a, b, c, d) <strong>for</strong> a < b < d < c,<br />

b < a < c < d, <strong>and</strong> b < c < d < a satisfy the groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 3<br />

on P n . Figure 9.3 (a)-(c), shows that if a < b < c < d < e, then subgraphs<br />

{{b, d}{a, c, e}}, {{a, e}{b, c, d}}, <strong>and</strong> {{a, d}{b, c, e}} isomorphic to K 2,3 satisfy<br />

the groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 3 on P n . These facts will be used <strong>in</strong> the proofs<br />

of Lemmas 12 <strong>and</strong> 13.<br />

Lemmas 12 <strong>and</strong> 13 describe direct constructions <strong>for</strong> the subgraph partitions<br />

of K n that give the upper bound <strong>for</strong> A(P n , 3). The subgraph partitions described<br />

satisfy the groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 3 on P n , which follows either by Lemma<br />

11 or the constructions given <strong>in</strong> Figures 9.2 <strong>and</strong> 9.3. A wavelength is reserved<br />

<strong>for</strong> each subgraph of K n . The number of ADMs required on each wavelength is<br />

equal to the number of nodes on the subgraph allocated to this wavelength. The<br />

total number of ADMs is the sum of ADMs used on each wavelength.<br />

152


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

a b d c<br />

b<br />

a<br />

c<br />

d<br />

b<br />

c<br />

d<br />

a<br />

(a)<br />

(b)<br />

(c)<br />

Figure 9.2: Graphs isomorphic to K 4 − e where (a) a < b < d < c, (b) b < a <<br />

c < d, <strong>and</strong> (c) b < c < d < a.<br />

a<br />

b<br />

c<br />

d<br />

e<br />

a<br />

b c d e<br />

a<br />

b c d e<br />

(a)<br />

(b)<br />

(c)<br />

Figure 9.3: Graphs isomorphic to K 2,3 where (a) {{b, d}{a, c, e}}, (b)<br />

{{a, e}{b, c, d}}, <strong>and</strong> (c) {{a, d}{b, c, e}}, <strong>for</strong> a < b < c < d < e.<br />

153


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

Lemma 12 For 4 ≤ n ≤ 39, we have that<br />

Proof :<br />

A(P 4 , 3) ≤ 6, A(P 5 , 3) ≤ 10, A(P 6 , 3) ≤ 12, A(P 7 , 3) ≤ 19,<br />

A(P 8 , 3) ≤ 24, A(P 9 , 3) ≤ 30, A(P 10 , 3) ≤ 36, A(P 11 , 3) ≤ 47,<br />

A(P 12 , 3) ≤ 54, A(P 13 , 3) ≤ 64, A(P 14 , 3) ≤ 76, A(P 15 , 3) ≤ 87,<br />

A(P 16 , 3) ≤ 96, A(P 17 , 3) ≤ 114, A(P 18 , 3) ≤ 124, A(P 19 , 3) ≤ 139,<br />

A(P 20 , 3) ≤ 156, A(P 21 , 3) ≤ 168, A(P 22 , 3) ≤ 188, A(P 23 , 3) ≤ 205,<br />

A(P 24 , 3) ≤ 224, A(P 25 , 3) ≤ 244, A(P 26 , 3) ≤ 260, A(P 27 , 3) ≤ 285,<br />

A(P 28 , 3) ≤ 304, A(P 29 , 3) ≤ 328, A(P 30 , 3) ≤ 352, A(P 31 , 3) ≤ 377,<br />

A(P 32 , 3) ≤ 402, A(P 33 , 3) ≤ 430, A(P 34 , 3) ≤ 456, A(P 35 , 3) ≤ 485,<br />

A(P 36 , 3) ≤ 504, A(P 37 , 3) ≤ 544, A(P 38 , 3) ≤ 566, A(P 39 , 3) ≤ 597.<br />

K n , <strong>for</strong> 4 ≤ n ≤ 39.<br />

We exhibit case by case the subgraph partitions <strong>for</strong> the request graph<br />

1. A(P 4 , 3) ≤ 6: K 4 is the union of the subgraphs ( { }} {<br />

0, 1, 2, 3) <strong>and</strong> (1, 3). Thus<br />

2 wavelengths <strong>and</strong> 6 ADMs are sufficient to support the request graph K 4 .<br />

That is, 1 wavelength uses 4 ADMs <strong>for</strong> the subgraph isomorphic to K 4 − e<br />

<strong>and</strong> 1 wavelength uses 2 ADMs <strong>for</strong> the subgraph isomorphic to K 2 .<br />

2. A(P 5 , 3) ≤ 10: K 5 is the union of the subgraphs (0, 2, 4), (1, 3, 4), <strong>and</strong><br />

(0, 1, 2, 3). Thus 3 wavelengths <strong>and</strong> 10 ADMs are sufficient to support the<br />

request graph K 5 . That is, 2 wavelengths uses 3 ADMs each <strong>for</strong> the subgraphs<br />

isomorphic to K 3 , <strong>and</strong> 1 wavelength uses 4 ADMs <strong>for</strong> the subgraph<br />

isomorphic to C 4 (i.e., the circle graph on four nodes).<br />

3. A(P 6 , 3) ≤ 12: K 6 is the union of the subgraphs ( { 0, }} 1, 5, {<br />

3), ( 2, { }} 0, 4, {<br />

5) <strong>and</strong><br />

( 1, { }} 2, 3, {<br />

4). Thus 3 wavelengths <strong>and</strong> 12 ADMs are sufficient to support the<br />

request graph K 6 , such that each of the wavelengths uses 4 ADMs <strong>for</strong> the<br />

subgraphs isomorphic to K 4 − e.<br />

4. A(P 7 , 3) ≤ 19: K 7 is the union of the subgraphs K 5 (on the set of nodes<br />

{0, 2, 3, 4, 6}), ( { }} {<br />

1, 2, 5, 4), <strong>and</strong> K 2,3 (with node partition {{1, 5}, {0, 3, 6}}).<br />

Thus 5 wavelengths <strong>and</strong> 19 ADMs are sufficient to support the request<br />

graph K 7 . That is, 3 wavelengths use 10 ADMs <strong>for</strong> the subgraphs of K 5<br />

(from Case 2), 1 wavelength uses 4 ADMs <strong>for</strong> the subgraph isomorphic to<br />

K 4 − e, <strong>and</strong> 1 wavelength uses 5 ADMs <strong>for</strong> the subgraph K 2,3 .<br />

154


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

5. A(P 8 , 3) ≤ 24: K 8 is the union of the subgraphs ( 0, { }} 2, 4, {<br />

6), ( 1, { }} 3, 6, {<br />

7),<br />

( 6, { }} 1, 2, {<br />

5), ( { 7, }} 0, 3, {<br />

4), (0, 1, 4, 5) <strong>and</strong> (2, 3, 6, 7). Thus 6 wavelengths <strong>and</strong> 24<br />

ADMs are sufficient to support the request graph K 8 , such that 4 wavelengths<br />

uses 4 ADMs each <strong>for</strong> the subgraphs isomorphic to K 4 − e, <strong>and</strong> 2<br />

wavelengths uses 4 ADMs each <strong>for</strong> the subgraphs isomorphic C 4 .<br />

6. A(P 9 , 3) ≤ 30: K 9 is the union of the subgraphs K 6 (on nodes {1, 2, 3, 5, 6, 7}),<br />

(0, 4, 8) <strong>and</strong> K 6,3 (with node partition {{1, 2, 3, 5, 6, 7}, {0, 4, 8}}). The subgraph<br />

K 6,3 is the union of 3 subgraphs isomorphic to K 2,3 , with node partitions<br />

{{k, k + 4}, {0, 4, 8}}, <strong>for</strong> 1 ≤ k ≤ 3. Thus 7 wavelengths <strong>and</strong> 30<br />

ADMs are sufficient to support the request graph K 9 .<br />

That is, 3 wavelengths<br />

use 12 ADMs <strong>for</strong> the subgraphs of K 6 (from Case 3), 1 wavelength<br />

uses 3 ADMs <strong>for</strong> the subgraph isomorphic to K 3 , <strong>and</strong> 3 wavelengths uses 5<br />

ADMs each <strong>for</strong> the subgraphs of K 6,3 .<br />

7. A(P 10 , 3) ≤ 36: K 10 is the union of the subgraphs K 6 (on nodes {0, 2, 4, 6, 8,<br />

9}), K 4 (on nodes {1, 3, 5, 7}) <strong>and</strong> K 6,4 (with node partition {{0, 2, 4, 6, 8, 9},<br />

{1, 3, 5, 7}}). The subgraphs K 4 <strong>and</strong> K 6,4 are the union of the subgraphs<br />

( 1, { }} 0, 3, {<br />

6), ( { 1, }} 2, 5, {<br />

8), ( { 1, }} 4, 7, {<br />

9), ( 3, { }} 4, 5, {<br />

9), ( 3, { }} 2, 7, {<br />

8), <strong>and</strong> ( 5, { }} 0, 7, {<br />

6). Thus<br />

9 wavelengths <strong>and</strong> 36 ADMs are sufficient to support the request graph K 10 .<br />

That is, 3 wavelengths use 12 ADMs <strong>for</strong> the subgraphs of K 6 (from Case<br />

3), <strong>and</strong> 6 wavelengths uses 4 ADMs each <strong>for</strong> the subgraphs of K 4 <strong>and</strong> K 6,4 .<br />

8. A(P 11 , 3) ≤ 47: K 11 is the union of the subgraphs K 6 (on nodes {1, 2, 3, 6, 7,<br />

8}), K 5 (on nodes {0, 4, 5, 9, 10}), <strong>and</strong> K 6,5 (with node partition {{1, 2, 3, 6,<br />

7, 8}, {0, 4, 5, 9, 10}}). The subgraph K 6,5 is the union of 5 subgraphs isomorphic<br />

to K 2,3 , with node partitions {{0, 10}, {5k + 1, 5k + 2, 5k + 3}},<br />

<strong>for</strong> k ∈ {0, 1}, <strong>and</strong> {{k, k + 5}, {4, 5, 9}}, <strong>for</strong> 1 ≤ k ≤ 3. Thus 11 wavelengths<br />

<strong>and</strong> 47 ADMs are sufficient to support the request graph K 11 . That<br />

is, 3 wavelengths use 12 ADMs <strong>for</strong> the subgraphs of K 6 (from Case 3), 3<br />

wavelengths use 10 ADMs <strong>for</strong> the subgraphs of K 5 (from Case 2), <strong>and</strong> 5<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 6,4 .<br />

9. A(P 12 , 3) ≤ 54: K 12 is the union of the subgraphs K 10 (on nodes {1, 2, 3, 4,<br />

5, 6, 7, 8, 9, 11}), (0, 10, 11), <strong>and</strong> K 9,2 (with node partition {{1, . . . , 9, 11},<br />

155


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

{0, 10}}). The subgraph K 9,2 is the union of 3 subgraphs isomorphic to<br />

K 2,3 , with node partitions {{0, 10}, {3k + 1, 3k + 2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ 2.<br />

Thus 13 wavelengths <strong>and</strong> 54 ADMs are sufficient to support the request<br />

graph K 12 . That is, 9 wavelengths use 36 ADMs <strong>for</strong> the subgraphs of K 10<br />

(from Case 7), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph isomorphic to<br />

K 3 , <strong>and</strong> 3 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 9,2 .<br />

10. A(P 13 , 3) ≤ 64: K 13 is the union of the subgraphs K 10 (on nodes {1, . . . , 5,<br />

7, . . . , 11}), (0, 6, 12), <strong>and</strong> K 10,3 (with node partition {{1, . . . , 5, 7, . . . , 11},<br />

{0, 6, 12}}). The subgraph K 10,3 is the union of 5 subgraphs isomorphic to<br />

K 2,3 , with node partitions {{k, k + 6}, {0, 6, 12}}, <strong>for</strong> 1 ≤ k ≤ 5. Thus 15<br />

wavelengths <strong>and</strong> 64 ADMs are sufficient to support the request graph K 13 .<br />

That is, 9 wavelengths use 36 ADMs <strong>for</strong> the subgraphs of K 10 (from Case<br />

7), 1 wavelengths uses 3 ADMs <strong>for</strong> the subgraph isomorphic to K 3 , <strong>and</strong> 5<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 10,3 .<br />

11. A(P 14 , 3) ≤ 76: K 14 is the union of the subgraphs K 10 (on nodes {2, . . . , 10,<br />

13}), K 5 (on nodes {0, 1, 11, 12, 13}), <strong>and</strong> K 9,4 (with node partition {{2, . . . ,<br />

10}, {0, 1, 11, 12}}). The subgraph K 9,4 is the union of 6 subgraphs isomorphic<br />

to K 2,3 , with node partitions {{0, 11}, {3k + 2, 3k + 3, 3k + 4}}, <strong>and</strong><br />

{{1, 12}, {3k + 2, 3k + 3, 3k + 4}}, <strong>for</strong> 0 ≤ k ≤ 2. Thus 18 wavelengths <strong>and</strong><br />

76 ADMs are sufficient to support the request graph K 14 . That is, 9 wavelengths<br />

use 36 ADMs <strong>for</strong> the subgraphs of K 10 (from Case 7), 3 wavelengths<br />

use 10 ADMs <strong>for</strong> the subgraphs of K 5 (from Case 2), <strong>and</strong> 6 wavelengths<br />

uses 5 ADMs each <strong>for</strong> the subgraphs of K 9,4 .<br />

12. A(P 15 , 3) ≤ 87: K 15 is the union of the subgraphs K 13 (on nodes {1, 2,<br />

. . . , 12, 14}, (0, 13, 14), <strong>and</strong> K 12,2 (with node partition {{1, . . . , 12, }, {0,<br />

13}}). The subgraph K 12,2 is the union of 4 subgraphs isomorphic to K 2,3 ,<br />

with node partitions {{0, 13}, {3k + 1, 3k + 2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ 3. Thus<br />

20 wavelengths <strong>and</strong> 87 ADMs are sufficient to support the request graph<br />

K 15 . That is, 15 wavelengths use 64 ADMs <strong>for</strong> the subgraphs of K 13 (from<br />

Case 10), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph isomorphic to K 3 ,<br />

<strong>and</strong> 4 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 12,2 .<br />

156


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

13. A(P 16 , 3) ≤ 96: K 16 is the union of 24 subgraphs isomorphic to K 4 −e, given<br />

by Lemma 10, <strong>for</strong> k = 1. Thus 24 wavelengths <strong>and</strong> 96 ADMs are sufficient<br />

to support the request graph K 16 , such that each of the wavelengths uses 4<br />

ADMs <strong>for</strong> the subgraphs isomorphic to K 4 − e.<br />

14. A(P 17 , 3) ≤ 114: K 17 is the union of the subgraphs K 14 (on nodes {0, . . . , 6,<br />

10, . . . , 16}), (7, 8, 9), <strong>and</strong> K 14,3 (with node partition {{0, . . . , 6, 10, . . . , 16},<br />

{7, 8, 9}}). The subgraph K 14,3 is the union of 7 subgraphs isomorphic to<br />

K 2,3 , with node partitions {{k, k + 10}, {7, 8, 9}}, <strong>for</strong> 0 ≤ k ≤ 6. Thus 26<br />

wavelengths <strong>and</strong> 114 ADMs are sufficient to support the request graph K 17 .<br />

That is, 18 wavelengths use 76 ADMs <strong>for</strong> the subgraphs of K 14 (from Case<br />

11), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph isomorphic to K 3 , <strong>and</strong> 7<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 14,3 .<br />

15. A(P 18 , 3) ≤ 124: K 18 is the union of the subgraphs K 16 (on nodes {1, 2, . . . ,<br />

15, 17}), (0, 16, 17), <strong>and</strong> K 15,2 (with node partition {{1, 2, . . . , 15}, {0, 16}}).<br />

The subgraph K 15,2 is the union of 5 subgraphs isomorphic to K 2,3 , with<br />

node partitions {{0, 16}, {3k + 1, 3k + 2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ 4. Thus 30<br />

wavelengths <strong>and</strong> 124 ADMs are sufficient to support the request graph K 18 .<br />

That is, 24 wavelengths use 96 ADMs <strong>for</strong> the subgraphs of K 16 (from Case<br />

13), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph isomorphic to K 3 , <strong>and</strong> 5<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 15,2 .<br />

16. A(P 19 , 3) ≤ 139: K 19 is the union of the subgraphs K 16 (on nodes {0, . . . , 7,<br />

11, . . . , 18}), (8, 9, 10), <strong>and</strong> K 16,3 (with node partition {{0, 1, . . . , 7, 11, . . . ,<br />

18}, {8, 9, 10}}). The subgraph K 16,3 is the union of 8 subgraphs isomorphic<br />

to K 2,3 , with node partitions {{k, k + 11}, {8, 9, 10}}, <strong>for</strong> 0 ≤ k ≤ 7. Thus<br />

33 wavelengths <strong>and</strong> 139 ADMs are sufficient to support the request graph<br />

K 19 . That is, 24 wavelengths use 96 ADMs <strong>for</strong> the subgraphs of K 16 (from<br />

Case 13), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph isomorphic to K 3 ,<br />

<strong>and</strong> 8 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 16,3 .<br />

17. A(P 20 , 3) ≤ 156: K 20 is the union of the subgraphs K 16 (on nodes {2, . . . ,<br />

16, 19}), K 5 (on nodes {0, 1, 17, 18, 19}), <strong>and</strong> K 15,4 (with node partition<br />

157


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

{{2, . . . , 16}, {0, 1, 17, 18}}). The subgraph K 15,4 is the union of 10 subgraphs<br />

isomorphic to K 2,3 , with node partitions {{0, 17}, {3k+2, 3k+3, 3k+<br />

4}}, <strong>and</strong> {{1, 18}, {3k + 2, 3k + 3, 3k + 4}} <strong>for</strong> 0 ≤ k ≤ 4. Thus 37 wavelengths<br />

<strong>and</strong> 156 ADMs are sufficient to support the request graph K 20 . That<br />

is, 24 wavelengths use 96 ADMs <strong>for</strong> the subgraphs of K 16 (from Case 13),<br />

3 wavelengths use 10 ADMs <strong>for</strong> the subgraphs of K 5 , <strong>and</strong> 10 wavelengths<br />

uses 5 ADMs each <strong>for</strong> the subgraphs of K 15,4 .<br />

18. A(P 21 , 3) ≤ 168: K 21 is the union of the subgraphs ( { 1, 3, }} 11, {<br />

15)(mod 21)<br />

<strong>and</strong> ( { 1, }} 2, 7, {<br />

10)(mod 21), [Bermond <strong>and</strong> Schönheim (1977)]. By Lemma 11,<br />

each of the subgraphs admits the groom<strong>in</strong>g ratio constra<strong>in</strong>t g = 3 on P n .<br />

Thus 42 wavelengths <strong>and</strong> 168 ADMs are sufficient to support the request<br />

graph K 21 , such that each of the wavelengths uses 4 ADMs <strong>for</strong> the subgraph<br />

isomorphic to K 4 − e.<br />

19. A(P 22 , 3) ≤ 188: K 22 is the union of the subgraphs K 16 (on nodes {0, . . . , 7,<br />

14, . . . , 21}), K 6 (on nodes {8, . . . , 13}), <strong>and</strong> K 16,6 (with node partition<br />

{{0, . . . , 7, 14, . . . , 21}, {8, . . . , 13}}). The subgraph K 16,6 is the union of 16<br />

subgraphs isomorphic to K 2,3 , with node partitions {{k, k +14}, {8, 9, 10}},<br />

<strong>and</strong> {{k, k + 14}, {11, 12, 13}} <strong>for</strong> 0 ≤ k ≤ 7. Thus 43 wavelengths <strong>and</strong><br />

188 ADMs are sufficient to support the request graph K 22 . That is, 24<br />

wavelengths use 96 ADMs <strong>for</strong> the subgraphs of K 16 (from Case 13), 3 wavelengths<br />

use 12 ADMs <strong>for</strong> the subgraphs of K 6 , <strong>and</strong> 16 wavelengths uses 5<br />

ADMs each <strong>for</strong> the subgraphs of K 16,6 .<br />

20. A(P 23 , 3) ≤ 205: K 23 is the union of the subgraphs K 21 (on nodes {1, . . . , 21}),<br />

(0, 22), <strong>and</strong> K 21,2 (with node partition {{1, . . . , 21}, {0, 22}}). The subgraph<br />

K 21,2 is the union of 7 subgraphs isomorphic to K 2,3 , with node<br />

partitions {{0, 22}, {3k + 1, 3k + 2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ 6. Thus 50<br />

wavelengths <strong>and</strong> 205 ADMs are sufficient to support the request graph K 23 .<br />

That is, 42 wavelengths use 168 ADMs <strong>for</strong> the subgraphs of K 21 (from Case<br />

18),1 wavelength uses 2 ADMs <strong>for</strong> the subgraph isomorphic to K 2 , <strong>and</strong> 7<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 21,2 .<br />

158


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

21. A(P 24 , 3) ≤ 224: K 24 is the union of the subgraphs K 21 (on nodes {0, . . . , 9,<br />

13, . . . , 23}), K 4 (on nodes {10, 11, 12, 23}), <strong>and</strong> K 20,3 (with node partition<br />

{{0, . . . , 9, 13, . . . , 22}, {10, 11, 12}}). The subgraph K 20,3 is the union of 10<br />

subgraphs isomorphic to K 2,3 , with node partitions {{k, k+13}, {10, 11, 12}},<br />

<strong>for</strong> 0 ≤ k ≤ 9. Thus 54 wavelengths <strong>and</strong> 224 ADMs are sufficient to support<br />

the request graph K 24 . That is, 42 wavelengths use 168 ADMs <strong>for</strong><br />

the subgraphs of K 21 (from Case 18), 2 wavelengths use 6 ADMs <strong>for</strong> the<br />

subgraphs of K 4 (from Case 1), <strong>and</strong> 10 wavelengths uses 5 ADMs each <strong>for</strong><br />

the subgraphs of K 20,3 .<br />

22. A(P 25 , 3) ≤ 244: K 25 is the union of the subgraphs K 21 (on nodes {2, . . . , 22}),<br />

K 4 (on nodes {0, 1, 23, 24}), <strong>and</strong> K 21,4 (with node partition {{2, . . . , 22},<br />

{0, 1, 23, 24}}). The subgraph K 21,4 is the union of 14 subgraphs isomorphic<br />

to K 2,3 , with node partitions {{0, 23}, {3k + 1, 3k + 2, 3k + 3}} <strong>and</strong><br />

{{1, 24}, {3k + 2, 3k + 3, 3k + 4}}, <strong>for</strong> 0 ≤ k ≤ 6. Thus 58 wavelengths<br />

<strong>and</strong> 244 ADMs are sufficient to support the request graph K 25 . That is,<br />

42 wavelengths use 168 ADMs <strong>for</strong> the subgraphs of K 21 (from Case 18), 2<br />

wavelengths use 6 ADMs <strong>for</strong> the subgraphs of K 4 (from Case 1), <strong>and</strong> 14<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 21,4 .<br />

23. A(P 26 , 3) ≤ 260: K 26 is the union of 65 subgraphs isomorphic to K 4 − e,<br />

given by Lemma 10, <strong>for</strong> k = 2. Thus 65 wavelengths <strong>and</strong> 260 ADMs are sufficient<br />

to support the request graph K 26 , such that each of the wavelengths<br />

uses 4 ADMs <strong>for</strong> the subgraphs isomorphic to K 4 − e.<br />

24. A(P 27 , 3) ≤ 285: K 27 is the union of the subgraphs K 21 (on nodes {3, . . . , 23}),<br />

K 6 (on nodes {0, 1, 2, 24, 25, 26}), <strong>and</strong> K 21,6 (with node partition {{3, . . . , 23},<br />

{0, 1, 2, 24, 25, 26}}). The subgraph K 21,6 is the union of 21 subgraphs isomorphic<br />

to K 2,3 , with node partitions {{0, 24}, {3k + 3, 3k + 4, 3k + 5}},<br />

{{1, 25}, {3k + 3, 3k + 4, 3k + 5}}, <strong>and</strong> {{2, 26}, {3k + 3, 3k + 4, 3k + 5}},<br />

<strong>for</strong> 0 ≤ k ≤ 6. Thus 66 wavelengths <strong>and</strong> 285 ADMs are sufficient to support<br />

the request graph K 27 . That is, 42 wavelengths use 168 ADMs <strong>for</strong><br />

the subgraphs of K 21 (from Case 18), 3 wavelengths use 12 ADMs <strong>for</strong> the<br />

159


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

subgraphs of K 6 (from Case 3), <strong>and</strong> 21 wavelengths uses 5 ADMs each <strong>for</strong><br />

the subgraphs of K 21,6 .<br />

25. A(P 28 , 3) ≤ 304: K 28 is the union of the subgraphs K 26 (on nodes {1, 2, . . . , 25,<br />

27}), ( 0, { 1, }} 26, {<br />

27), <strong>and</strong> K 24,2 (with node partition {{2, . . . , 25}, {0, 26}}).<br />

The subgraph K 24,2 is the union of 8 subgraphs isomorphic to K 2,3 , with<br />

node partitions {{0, 26}, {3k + 2, 3k + 3, 3k + 4}}, <strong>for</strong> 0 ≤ k ≤ 7. Thus 74<br />

wavelengths <strong>and</strong> 304 ADMs are sufficient to support the request graph K 28 .<br />

That is, 65 wavelengths use 260 ADMs <strong>for</strong> the subgraphs of K 26 (from Case<br />

23), 1 wavelength uses 4 ADMs <strong>for</strong> the subgraph isomorphic to K 4 − e, <strong>and</strong><br />

8 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 24,2 .<br />

26. A(P 29 , 3) ≤ 328: K 29 is the union of the subgraphs K 26 (on nodes {0, . . . , 12,<br />

16, . . . , 28}), (13, 14, 15), <strong>and</strong> K 26,3 (with node partition {{0, 1, . . . , 12, 16,<br />

. . . , 28}, {13, 14, 15}}). The subgraph K 26,3 is the union of 13 subgraphs<br />

isomorphic to K 2,3 , with node partitions {{k, k + 16}, {13, 14, 15}}, <strong>for</strong><br />

0 ≤ k ≤ 12. Thus 79 wavelengths <strong>and</strong> 328 ADMs are sufficient to support<br />

the request graph K 29 . That is, 65 wavelengths use 260 ADMs <strong>for</strong><br />

the subgraphs of K 26 (from Case 23), 1 wavelength uses 3 ADMs <strong>for</strong> the<br />

subgraph isomorphic to K 3 , <strong>and</strong> 13 wavelengths uses 5 ADMs each <strong>for</strong> the<br />

subgraphs of K 26,3 .<br />

27. A(P 30 , 3) ≤ 352: K 30 is the union of the subgraphs K 28 (on nodes {1, . . . , 27,<br />

29}, (0, 28, 29), <strong>and</strong> K 27,2 (with node partition {{1, . . . , 27}, {0, 28}}). The<br />

subgraph K 27,2 is the union of 9 subgraphs isomorphic to K 2,3 , with node<br />

partitions {{0, 28}, {3k + 1, 3k + 2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ 8. Thus 84<br />

wavelengths <strong>and</strong> 352 ADMs are sufficient to support the request graph K 30 .<br />

That is, 74 wavelengths use 304 ADMs <strong>for</strong> the subgraphs of K 28 (from Case<br />

25), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph isomorphic to K 3 , <strong>and</strong> 9<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 27,2 .<br />

28. A(P 31 , 3) ≤ 377: K 31 is the union of the subgraphs K 29 (on nodes {1, . . . , 28,<br />

30}), ( { }} {<br />

0, 1, 29, 30), <strong>and</strong> K 27,2 (with node partition {{2, . . . , 28}, {0, 29}}).<br />

The subgraph K 27,2 is the union of 9 subgraphs isomorphic to K 2,3 , with<br />

node partitions {{0, 29}, {3k + 2, 3k + 3, 3k + 4}}, <strong>for</strong> 0 ≤ k ≤ 8. Thus 89<br />

160


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

wavelengths <strong>and</strong> 377 ADMs are sufficient to support the request graph K 31 .<br />

That is, 79 wavelengths use 328 ADMs <strong>for</strong> the subgraphs of K 29 (from Case<br />

26), 1 wavelength uses 4 ADMs <strong>for</strong> the subgraph isomorphic to K 4 − e, <strong>and</strong><br />

9 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 27,2 .<br />

29. A(P 32 , 3) ≤ 402: K 32 is the union of the subgraphs K 26 (on nodes {0, 1, . . . , 12,<br />

19, . . . , 31}), K 6 (on nodes {13, . . . , 18}), <strong>and</strong> K 26,6 (with node partition<br />

{{0, . . . , 12, 19, . . . , 31}, {13, . . . , 18}}). The subgraph K 26,6 is the union of<br />

26 subgraphs isomorphic to K 2,3 , with node partitions {{k, k+19}, {13, 14, 15}},<br />

<strong>and</strong> {{k, k + 19}, {16, 17, 18}}, <strong>for</strong> 0 ≤ k ≤ 12. Thus 94 wavelengths <strong>and</strong><br />

402 ADMs are sufficient to support the request graph K 32 . That is, 65<br />

wavelengths use 260 ADMs <strong>for</strong> the subgraphs of K 26 (from Case 23), 3<br />

wavelengths use 12 ADMs <strong>for</strong> the subgraphs of K 6 (from Case 3), <strong>and</strong> 26<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 26,6 .<br />

30. A(P 33 , 3) ≤ 430: K 33 is the union of the subgraphs K 30 (on nodes {0, 1, . . . , 14,<br />

18, . . . , 32}), (15, 16, 17), <strong>and</strong> K 30,3 (with node partition {{0, 1, . . . , 14, 18,<br />

. . . , 32}, {15, . . . , 17}}). The subgraph K 30,3 is the union of 15 subgraphs<br />

isomorphic to K 2,3 , with node partitions {{k, k + 18}, {15, 16, 17}}, <strong>for</strong><br />

0 ≤ k ≤ 14. Thus 100 wavelengths <strong>and</strong> 430 ADMs are sufficient to support<br />

the request graph K 33 . That is, 84 wavelengths use 352 ADMs <strong>for</strong> the subgraphs<br />

of K 30 (from Case 27), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph<br />

isomorphic to K 3 , <strong>and</strong> 15 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs<br />

of K 30,3 .<br />

31. A(P 34 , 3) ≤ 456: K 34 is the union of the subgraphs K 28 (on nodes {0, . . . , 13,<br />

20, . . . , 33}), K 6 (on nodes {14, . . . , 19}), <strong>and</strong> K 28,6 (with node partition<br />

{{0, . . . , 13, 20, . . . , 33}, {14, . . . , 19}}). The subgraph K 28,6 is the union of<br />

28 subgraphs isomorphic to K 2,3 , with node partitions {{k, k+20}, {14, 15, 16}}<br />

<strong>and</strong> {{k, k + 20}, {17, 18, 19}}, <strong>for</strong> 0 ≤ k ≤ 13. Thus 105 wavelengths <strong>and</strong><br />

456 ADMs are sufficient to support the request graph K 34 . That is, 74<br />

wavelengths use 304 ADMs <strong>for</strong> the subgraphs of K 28 (from Case 25), 3<br />

wavelengths use 12 ADMs <strong>for</strong> the subgraphs of K 6 , <strong>and</strong> 28 wavelengths<br />

uses 5 ADMs each <strong>for</strong> the subgraphs of K 28,6 .<br />

161


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

32. A(P 35 , 3) ≤ 485: K 35 is the union of the subgraphs K 32 (on nodes {0, . . . , 15,<br />

19, . . . , 34}), (16, 17, 18), <strong>and</strong> K 32,3 (with node partition {{0, 1, . . . , 15, 19,<br />

. . . , 34}, {16, 17, 18}}). The subgraph K 32,3 is the union of 16 subgraphs<br />

isomorphic to K 2,3 , with node partitions {{k, k + 19}, {16, 17, 18}}, <strong>for</strong><br />

0 ≤ k ≤ 15. Thus 111 wavelengths <strong>and</strong> 485 ADMs are sufficient to support<br />

the request graph K 35 . That is, 94 wavelengths use 402 ADMs <strong>for</strong> the subgraphs<br />

of K 32 (from Case 29), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph<br />

isomorphic to K 3 , <strong>and</strong> 16 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs<br />

of K 32,3 .<br />

33. A(P 36 , 3) ≤ 504: K 36 is the union of 126 subgraphs isomorphic to K 4 − e,<br />

given by Lemma 10, <strong>for</strong> k = 3. Thus 126 wavelengths <strong>and</strong> 504 ADMs are<br />

sufficient to support the request graph K 36 , such that each of the wavelengths<br />

uses 4 ADMs <strong>for</strong> the subgraphs isomorphic to K 4 − e.<br />

34. A(P 37 , 3) ≤ 544: K 37 is the union of the subgraphs K 34 (on nodes {0, . . . , 16,<br />

20, . . . , 36}), (17, 18, 19), <strong>and</strong> K 34,3 (with node partition {{0, 1, . . . , 16, 20,<br />

. . . , 36}, {17, 18, 19}}). The subgraph K 34,3 is the union of 17 subgraphs<br />

isomorphic to K 2,3 , with node partitions {{k, k + 20}, {17, 18, 19}}, <strong>for</strong><br />

0 ≤ k ≤ 16. Thus 123 wavelengths <strong>and</strong> 544 ADMs are sufficient to support<br />

the request graph K 37 . That is, 105 wavelengths use 456 ADMs <strong>for</strong><br />

the subgraphs of K 34 (from Case 31), 1 wavelength uses 3 ADMs <strong>for</strong> the<br />

subgraph isomorphic to K 3 , <strong>and</strong> 17 wavelengths uses 5 ADMs each <strong>for</strong> the<br />

subgraphs of K 34,3 .<br />

35. A(P 38 , 3) ≤ 566: K 38 is the union of the subgraphs K 36 (on nodes {1, . . . , 36}),<br />

(0, 37), <strong>and</strong> K 36,2 (with node partition {{1, . . . , 36}, {0, 37}}). The subgraph<br />

K 36,2 is the union of 12 subgraphs isomorphic to K 2,3 , with node<br />

partitions {{0, 37}, {3k + 1, 3k + 2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ 11. Thus 139<br />

wavelengths <strong>and</strong> 566 ADMs are sufficient to support the request graph K 38 .<br />

That is, 126 wavelengths use 504 ADMs <strong>for</strong> the subgraphs of K 36 (from<br />

Case 33), 1 wavelength uses 2 ADMs <strong>for</strong> the subgraph isomorphic to K 2 ,<br />

<strong>and</strong> 12 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 36,2 .<br />

162


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

36. A(P 39 , 3) ≤ 597: K 39 is the union of the subgraphs K 36 (on nodes {0, . . . , 17,<br />

21, . . . , 38}), (18, 19, 20), <strong>and</strong> K 36,3 (with node partition {{0, . . . , 17, 21, . . . ,<br />

38}, {18, 19, 20}}). The subgraph K 36,3 is the union of 18 subgraphs isomorphic<br />

to K 2,3 , with node partitions {{k, k+21}, {18, 19, 20}}, <strong>for</strong> 0 ≤ k ≤ 17.<br />

Thus 145 wavelengths <strong>and</strong> 597 ADMs are sufficient to support the request<br />

graph K 39 . That is, 126 wavelengths use 504 ADMs <strong>for</strong> the subgraphs of<br />

K 36 (from Case 33), 1 wavelength uses 3 ADMs <strong>for</strong> the subgraph isomorphic<br />

to K 3 , <strong>and</strong> 18 wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K 36,3 .<br />

Lemma 13 For n ≥ 40 we have that<br />

n A(P n , 3) ≤ ɛ<br />

n ≡ 0(mod 5)<br />

n ≡ 1(mod 5)<br />

n ≡ 2(mod 5)<br />

n ≡ 3(mod 5)<br />

n ≡ 4(mod 5)<br />

10, if n ≡ 1(mod 3)<br />

6n 2 −4n+ɛ<br />

15<br />

20, if n ≡ 2(mod 3)<br />

0, if n ≡ 0(mod 3)<br />

2n 2 −2n<br />

5<br />

2n 2 −n−6<br />

5<br />

16, if n ≡ 2(mod 3)<br />

6n 2 −5n+ɛ<br />

15<br />

6, if n ≡ 0(mod 3)<br />

−4, if n ≡ 1(mod 3)<br />

3, if n ≡ 1(mod 2)<br />

4n 2 −3n+ɛ<br />

10<br />

8, if n ≡ 0(mod 2)<br />

Proof : We consider separately the five cases def<strong>in</strong>ed by the value of n mod 5.<br />

1. For n ≡ 1(mod 5), A(P n , 3) ≤ 2n2 −2n<br />

5<br />

.<br />

Note that <strong>for</strong> n ≡ 1(mod 5) we have that n ≡ 1(mod 10) or n ≡ 6(mod 10).<br />

By Lemmas 9 (<strong>for</strong> n ≡ 1(mod 10)) <strong>and</strong> 10 (<strong>for</strong> n ≡ 6(mod 10)), the graph<br />

K n is the union of n2 −n<br />

subgraphs isomorphic to K<br />

10 4 − e. There<strong>for</strong>e n2 −n<br />

10<br />

wavelengths <strong>and</strong> 2n2 −2n<br />

ADMs are sufficient to support the request graph<br />

5<br />

K n .<br />

2. For n ≡ 0(mod 5), A(P n , 3) ≤ 6n2 −4n+ɛ<br />

15<br />

, where ɛ = 10, 20, <strong>and</strong> 0, <strong>for</strong><br />

n ≡ 1(mod 3), n ≡ 2(mod 3), <strong>and</strong> n ≡ 0(mod 3), respectively.<br />

We consider the cases n ≡ 1(mod 3), n ≡ 2(mod 3), <strong>and</strong> n ≡ 0(mod 3) as<br />

follows.<br />

163


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

(a) n ≡ 1(mod 3): K n is the union of the subgraphs K n−4 (on nodes<br />

{2, . . . , n−3}), K 4 (on nodes {0, 1, n−2, n−1}), <strong>and</strong> K n−4,4 (with node<br />

partition {{2, . . . , n − 3}, {0, 1, n − 2, n − 1}}). The subgraph K n−4,4 is<br />

the union of 2× n−4 subgraphs isomorphic to K<br />

3 2,3 , with node partitions<br />

{{j, j +n−2}, {3k +2, 3k +3, 3k +4}}, <strong>for</strong> 0 ≤ j ≤ 1, 0 ≤ k ≤ n−4 −1. 3<br />

S<strong>in</strong>ce n − 4 ≡ 1(mod 5), by Case 1 of this lemma the subgraph K n−4<br />

is the union of n2 −9n+20<br />

subgraphs isomorphic to K<br />

10 4 − e. By Case 1<br />

of Lemma 12 the subgraph K 4 is the union of two subgraphs. Thus<br />

3n 2 −7n+40<br />

wavelengths <strong>and</strong> 6n2 −4n+10<br />

ADMs are sufficient to support<br />

30 15<br />

the request graph K n . That is, n2 −9n+20<br />

wavelengths use 2n2 −18n+40<br />

10 5<br />

ADMs <strong>for</strong> the subgraphs of K n−4 , 2 wavelengths use 6 ADMs <strong>for</strong> the<br />

subgraphs of K 4 , <strong>and</strong> 2n−8<br />

3<br />

wavelengths uses 5 ADMs each <strong>for</strong> the<br />

subgraphs of K n−4,4 .<br />

(b) n ≡ 2(mod 3): K n is the union of the subgraphs K n−4 (on nodes<br />

{2, . . . , n−4, n−3}), K 5 (on nodes {0, 1, n−3, n−2, n−1}), <strong>and</strong> K n−5,4<br />

(with node partition {{2, . . . , n−4}, {0, 1, n−2, n−1}}). The subgraph<br />

K n−5,4 is the union of 2× n−5<br />

3<br />

subgraphs isomorphic to K 2,3 , with node<br />

partitions {{j, j+n−2}, {3k+2, 3k+3, 3k+4}}, <strong>for</strong> 0 ≤ j ≤ 1, 0 ≤ k ≤<br />

n−5<br />

−1. S<strong>in</strong>ce n−4 ≡ 1(mod 5), by Case 1 of this lemma the subgraph<br />

3<br />

K n−4 is the union of n2 −9n+20<br />

subgraphs isomorphic to K<br />

10 4 −e. By Case<br />

2 of Lemma 12 the subgraph K 5 is the union of three subgraphs. Thus<br />

3n 2 −7n+50<br />

wavelengths <strong>and</strong> 6n2 −4n+20<br />

ADMs are sufficient to support<br />

30 15<br />

the request graph K n . That is, n2 −9n+20<br />

wavelengths use 2n2 −18n+40<br />

10 5<br />

ADMs <strong>for</strong> the subgraphs of K n−4 , 3 wavelengths use 10 ADMs <strong>for</strong> the<br />

subgraphs of K 5 , <strong>and</strong> 2n−10<br />

3<br />

wavelengths uses 5 ADMs each <strong>for</strong> the<br />

subgraphs of K n−5,4 .<br />

(c) n ≡ 0(mod 3): K n is the union of the subgraphs K n−4 (on nodes<br />

{2, . . . , n − 5, n − 4, n − 3}), K 6 − e (on nodes {0, 1, n − 4, n − 3, n −<br />

2, n − 1}, where e = (n − 4, n − 3)), <strong>and</strong> K n−6,4 (with node partition<br />

{{2, . . . , n − 5}, {0, 1, n − 2, n − 1}}). The subgraph K n−6,4 is the<br />

union of 2 × n−6<br />

3<br />

subgraphs isomorphic to K 2,3 , with node partitions<br />

{{j, j +n−2}, {3k +2, 3k +3, 3k +4}}, <strong>for</strong> 0 ≤ j ≤ 1, 0 ≤ k ≤ n−6<br />

3 −1.<br />

164


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

S<strong>in</strong>ce n − 4 ≡ 1(mod 5), by Case 1 of this lemma the subgraph K n−4<br />

is the union of n2 −9n+20<br />

subgraphs isomorphic to K<br />

10 4 − e. By Case<br />

3 of Lemma 12 the subgraph K 6 − e is the union of three subgraphs.<br />

Thus 3n2 −7n+30<br />

wavelengths <strong>and</strong> 6n2 −4n<br />

ADMs are sufficient to support<br />

30 15<br />

the request graph K n . That is, n2 −9n+20<br />

wavelengths use 2n2 −18n+40<br />

10 5<br />

ADMs <strong>for</strong> the subgraphs of K n−4 , 3 wavelengths use 12 ADMs <strong>for</strong> the<br />

subgraphs of K 6 − e, <strong>and</strong> 2n−12<br />

3<br />

wavelengths uses 5 ADMs each <strong>for</strong> the<br />

subgraphs of K n−6,4 .<br />

3. For n ≡ 2(mod 5), A(P n , 3) ≤ 2n2 −n−6<br />

5<br />

.<br />

We consider the cases n ≡ 2(mod 10) <strong>and</strong> n ≡ 7(mod 10).<br />

(a) n ≡ 2(mod 10): We have that n ≡ 0(mod 2).<br />

K n is the union of<br />

the subgraphs K n−6 (on nodes {0, . . . , n−6 − 1, n−6 + 6, . . . , n − 1}),<br />

2 2<br />

K 6 (on nodes { n−6,<br />

. . . , n−6 + 5}) <strong>and</strong> K<br />

2 2 n−6,6 (with node partition<br />

{{0, . . . , n−6 n−6<br />

n−6<br />

−1, +6, . . . , n−1}, { , . . . , n−6 +5}}). The subgraph<br />

2 2 2 2<br />

K n−6,6 is the union of n − 6 subgraphs isomorphic to K 2,3 , with node<br />

partitions {{k, k+ n−6 n−6<br />

+6}, {<br />

2<br />

, n−6<br />

2 2<br />

n−6<br />

n−6<br />

+1, +2}}, <strong>and</strong> {{k, k+ +<br />

2 2<br />

6}, { n−6<br />

2<br />

+ 3, n−6<br />

2<br />

+ 4, n−6<br />

2<br />

+ 5}}, <strong>for</strong> 0 ≤ k ≤ n−6<br />

2<br />

− 1.<br />

(b) n ≡ 7(mod 10): We further consider the cases n ≡ 0(mod 3), n ≡<br />

1(mod 3) <strong>and</strong> n ≡ 2(mod 3).<br />

i. n ≡ 0(mod 3): K n is the union of the subgraphs K n−6 (on nodes<br />

{3, . . . , n − 4}), K 6 (on nodes {0, . . . , 2, n − 3, . . . , n − 1}), <strong>and</strong><br />

K n−6,6 (with node partition {{3, . . . , n−4}, {0, . . . , 2, n−3, . . . , n−<br />

1}}). The subgraph K n−6,6 is the union of n − 6 subgraphs isomorphic<br />

to K 2,3 , with node partitions {{j, j + n − 3}, {3k + 3, 3k +<br />

4, 3k + 5}}, <strong>for</strong> 0 ≤ j ≤ 2, 0 ≤ k ≤ n−6<br />

3<br />

− 1.<br />

ii. n ≡ 1(mod 3): K n is the union of the subgraphs K n−6 (on nodes<br />

{0, 1, 5, . . . , n−6, n−2, n−1}), K 6 (on nodes {2, . . . , 4, n−5 . . . , n−<br />

3}), <strong>and</strong> K n−6,6 (with node partition {{0, 1, 5, . . . , n − 6, n − 2, n −<br />

1}, {2, . . . , 4, n − 5 . . . , n − 3}}). The subgraph K n−6,6 is the union<br />

of n−6 subgraphs isomorphic to K 2,3 , with node partitions {{j, j+<br />

165


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

n − 7}, {3k + 5, 3k + 6, 3k + 7}}, <strong>for</strong> 2 ≤ j ≤ 4, 0 ≤ k ≤ n−10<br />

3<br />

− 1,<br />

<strong>and</strong> {{k, k + n − 2}, {j, j + 1, j + 2}}, <strong>for</strong> j ∈ {2, n − 5}, 0 ≤ k ≤ 1.<br />

iii. n ≡ 2(mod 3): K n is the union of the subgraphs K n−6 (on nodes<br />

{0, 4, . . . , n − 5, n − 1}), K 6 (on nodes {1, . . . , 3, n − 4 . . . , n − 2}),<br />

<strong>and</strong> K n−6,6 (with node partition {{0, 4, . . . , n−5, n−1}, {1, . . . , 3, n−<br />

4 . . . , n−2}}). The subgraph K n−6,6 is the union of n−6 subgraphs<br />

isomorphic to K 2,3 , with node partitions {{j, j + n − 5}, {3k +<br />

4, 3k + 5, 3k + 6}}, <strong>for</strong> 1 ≤ j ≤ 3, 0 ≤ k ≤ n−8<br />

3<br />

− 1, <strong>and</strong><br />

{{0, n − 1}, {j, j + 1, j + 2}}, <strong>for</strong> j ∈ {1, n − 4}.<br />

S<strong>in</strong>ce n ≡ 2(mod 5), we have that n − 6 ≡ 1(mod 5). By Case 1 of this<br />

lemma the subgraph K n−6 is the union of n2 −13n+42<br />

10<br />

subgraphs isomorphic<br />

to K 4 − e. By Case 3 of Lemma 12 the subgraph K 6 is the union of three<br />

subgraphs. Thus <strong>in</strong> each case n2 −3n+12<br />

wavelengths <strong>and</strong> 2n2 −n−6<br />

ADMs<br />

10 5<br />

are required <strong>for</strong> the request graph K n . That is, n2 −13n+42<br />

wavelengths use<br />

10<br />

2n 2 −26n+84<br />

ADMs <strong>for</strong> the subgraphs of K<br />

5 n−6 , 3 wavelengths use 12 ADMs<br />

<strong>for</strong> the subgraphs of K 6 , <strong>and</strong> n − 6 wavelengths uses 5 ADMs each <strong>for</strong> the<br />

subgraphs of K n−6,6 .<br />

4. For n ≡ 3(mod 5), A(P n , 3) = 6n2 −5n+ɛ<br />

15<br />

, where ɛ = 16, 6, <strong>and</strong> −4, <strong>for</strong><br />

n ≡ 2(mod 3), n ≡ 0(mod 3), <strong>and</strong> n ≡ 1(mod 3), respectively.<br />

We consider the cases n ≡ 2(mod 3), n ≡ 0(mod 3), <strong>and</strong> n ≡ 1(mod 3) as<br />

follows.<br />

(a) n ≡ 2(mod 3): K n is the union of the subgraphs K n−2 (on nodes<br />

{1, . . . , n − 2}), (0, n − 1), <strong>and</strong> K n−2,2 (with node partition ({{1,. . . ,n-<br />

2}, {0,n-1} }). The subgraph K n−2,2 is the union of n−2<br />

3<br />

subgraphs<br />

isomorphic to K 2,3 , with node partitions {{0, n − 1}, {3k + 1, 3k +<br />

2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ n−2 − 1. S<strong>in</strong>ce n ≡ 3(mod 5), by Case 1 of<br />

3<br />

this lemma the subgraph K n−2 is the union of n2 −5n+6<br />

subgraphs isomorphic<br />

to K 4 − e. Thus 3n2 −5n+28<br />

10<br />

wavelengths <strong>and</strong> 6n2 −5n+16<br />

ADMs<br />

30 15<br />

are sufficient to support the request graph K n . That is, n2 −5n+6<br />

wavelengths<br />

use 2n2 −10n+12<br />

10<br />

ADMs <strong>for</strong> the subgraphs of K<br />

5 n−2 , 1 wavelength<br />

166


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

uses 2 ADMs <strong>for</strong> the subgraph (0, n − 1), <strong>and</strong> n−2<br />

3<br />

wavelengths uses 5<br />

ADMs each <strong>for</strong> the subgraphs of K n−2,2 .<br />

(b) n ≡ 0(mod 3): K n is the union of the subgraphs K n−2 (on nodes<br />

{1, . . . , n − 3, n − 2}), (0, n − 2, n − 1), <strong>and</strong> K n−3,2 (with node partition<br />

{{1, . . . , n − 3}, {0, n − 1}}. The subgraph K n−3,2 is the union of n−3<br />

3<br />

subgraphs isomorphic to K 2,3 , with node partitions {{0, n − 1}, {3k +<br />

1, 3k + 2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ n−3 − 1. S<strong>in</strong>ce n ≡ 3(mod 5), by Case<br />

3<br />

1 of this lemma the subgraph K n−2 is the union of n2 −5n+6<br />

subgraphs<br />

10<br />

isomorphic to K 4 −e. Thus 3n2 −5n+18<br />

wavelengths <strong>and</strong> 6n2 −5n+6<br />

ADMs<br />

30 15<br />

are sufficient to support the request graph K n . That is, n2 −5n+6<br />

wavelengths<br />

use 2n2 −10n+12<br />

10<br />

ADMs <strong>for</strong> the subgraphs of K<br />

5 n−2 , 1 wavelength<br />

uses 3 ADMs <strong>for</strong> the subgraph (0, n − 2, n − 1), <strong>and</strong> n−3 wavelengths<br />

3<br />

uses 5 ADMs each <strong>for</strong> the subgraphs of K n−3,2 .<br />

(c) n ≡ 1(mod 3): K n is the union of the subgraphs K n−2 (on nodes<br />

{1, . . . , n − 4, n − 3, n − 2}), ( { }} {<br />

0, n − 3, n − 1, n − 2), <strong>and</strong> K n−4,2 (with<br />

node partition {{1, . . . , n − 4}, {0, n − 1}}). The subgraph K n−4,2 is<br />

the union of n−4<br />

3<br />

subgraphs isomorphic to K 2,3 , with node partitions<br />

{{0, n − 1}, {3k + 1, 3k + 2, 3k + 3}}, <strong>for</strong> 0 ≤ k ≤ n−4<br />

3<br />

− 1. S<strong>in</strong>ce<br />

n ≡ 3(mod 5), by Case 1 of this lemma the subgraph K n−2 is the union<br />

of n2 −5n+6<br />

subgraphs isomorphic to K<br />

10 4 −e. Thus 3n2 −5n+8<br />

wavelengths<br />

30<br />

<strong>and</strong> 6n2 −5n−4<br />

ADMs are sufficient to support the request graph K<br />

15 n .<br />

That is, n2 −5n+6<br />

wavelengths use 2n2 −10n+12<br />

ADMs <strong>for</strong> the subgraphs of<br />

10 5<br />

K n−2 , 1 wavelength uses 4 ADMs <strong>for</strong> the subgraph ( 0, { n − }} 3, n − 1, {<br />

n−<br />

2), <strong>and</strong> n−4<br />

3<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K n−4,2 .<br />

5. For n ≡ 4(mod 5), A(P n , 3) ≤ 4n2 −3n+ɛ<br />

10<br />

, where ɛ = 3, <strong>and</strong> 8 <strong>for</strong> n ≡<br />

1(mod 2), <strong>and</strong> n ≡ 0(mod 2) respectively.<br />

We consider the cases n ≡ 1(mod 2), <strong>and</strong> n ≡ 0(mod 2) as follows.<br />

(a) n ≡ 1(mod 2): K n is the union of the subgraphs K n−3 (on nodes<br />

{0, . . . , n−3<br />

2<br />

−1,<br />

n−3<br />

2<br />

n−3<br />

+3, . . . , n−1}), ( , n−3 n−3<br />

+1, +2), <strong>and</strong> K 2 2 2 n−3,3<br />

(with node partition {{0, . . . , n−3<br />

2<br />

− 1, n−3<br />

2<br />

+ 3, . . . , n − 1}, { n−3<br />

2 , n−3<br />

2<br />

+<br />

167


9.3 Upper bound <strong>for</strong> A(P n , 3)<br />

1, n−3<br />

2<br />

+ 2}}). The subgraph K n−3,3 is the union of n−3<br />

2<br />

subgraphs isomorphic<br />

to K 2,3 , with node partitions {{k, k + n−3<br />

2<br />

+ 3}, { n−3<br />

2 , n−3<br />

2<br />

+<br />

1, n−3<br />

2<br />

+ 2}}, <strong>for</strong> 0 ≤ k ≤ n−3<br />

2<br />

− 1. S<strong>in</strong>ce n − 3 ≡ 1(mod 5), by Case 1<br />

of this lemma the subgraph K n−3 is the union of n2 −7n+12<br />

10<br />

subgraphs<br />

isomorphic to K 4 − e. Thus n2 −2n+7<br />

10<br />

wavelengths <strong>and</strong> 4n2 −3n+3<br />

10<br />

ADMs<br />

are sufficient to support the request graph K n . That is, n2 −7n+12<br />

10<br />

wavelengths<br />

use 2n2 −14n+24<br />

5<br />

ADMs <strong>for</strong> the subgraphs of K n−3 , 1 wavelength<br />

uses 3 ADMs <strong>for</strong> the subgraph ( n−3<br />

2 , n−3<br />

2<br />

+ 1, n−3<br />

2<br />

+ 2), <strong>and</strong> n−3<br />

2<br />

wavelengths<br />

uses 5 ADMs each <strong>for</strong> the subgraphs of K n−3,3 .<br />

(b) n ≡ 0(mod 2): K n is the union of the subgraphs K n−3 (on nodes<br />

{0, . . . , n−4 n−4<br />

−1, +3, . . . , n−2, n−1}), K 2 2 4 (on nodes { n−4,<br />

. . . , n−4 +<br />

2 2<br />

2, n − 1}), <strong>and</strong> K n−4,3 (with node partition {{0, . . . , n−4 − 1, n−4 +<br />

2 2<br />

3, . . . , n−2}, { n−4,<br />

. . . , n−4 +2}}). The subgraph K 2 2 n−4,3 is the union of<br />

n−4<br />

subgraphs isomorphic to K<br />

2 2,3 , with node partitions {{k, k + n−4 +<br />

2<br />

3}, { n−4,<br />

n−4 n−4<br />

n−4<br />

+1, +2}}, <strong>for</strong> 0 ≤ k ≤ −1. S<strong>in</strong>ce n−3 ≡ 1(mod 5)<br />

2 2 2 2<br />

by Case 1 of this lemma the subgraph K n−3 is the union of n2 −7n+12<br />

10<br />

subgraphs isomorphic to K 4 −e. By Case 1 of Lemma 12 the subgraph<br />

K 4 is the union of two subgraphs. Thus n2 −2n+12<br />

wavelengths <strong>and</strong><br />

10<br />

4n 2 −3n+8<br />

ADMs are sufficient to support the request graph K<br />

10 n . That<br />

n<br />

is, 2 −7n+12<br />

wavelengths use 2n2 −14n+24<br />

ADMs <strong>for</strong> the subgraphs of<br />

10 5<br />

K n−3 , 2 wavelengths use 6 ADMs <strong>for</strong> the subgraphs of K 4 , <strong>and</strong> n−4<br />

2<br />

wavelengths uses 5 ADMs each <strong>for</strong> the subgraphs of K n−4,3 .<br />

To the best of our knowledge there is no known exact method <strong>for</strong> groom<strong>in</strong>g<br />

all-to-all <strong>in</strong>stances <strong>for</strong> networks P n with g > 2. The lower <strong>and</strong> upper bounds <strong>for</strong><br />

g = 3 presented <strong>in</strong> this chapter lead to an asymptotic ratio of 16<br />

15 ≈ 1.07.<br />

168


Chapter 10<br />

Traffic Groom<strong>in</strong>g on R<strong>in</strong>g<br />

Networks - General Instances<br />

In this chapter we study the traffic groom<strong>in</strong>g problem <strong>for</strong> unidirectional r<strong>in</strong>g network<br />

N with groom<strong>in</strong>g ratio g = 2. We consider <strong>in</strong>stances with unit size requests<br />

(traffic) <strong>and</strong> propose a heuristic algorithm <strong>for</strong> groom<strong>in</strong>g arbitrary <strong>in</strong>stances on<br />

such networks. We experimentally compare our algorithm with related groom<strong>in</strong>g<br />

algorithms <strong>for</strong> r<strong>in</strong>g networks <strong>in</strong> [Zhang <strong>and</strong> Qiao (2000)] <strong>and</strong> [Căl<strong>in</strong>escu <strong>and</strong><br />

Wan (2002)] <strong>for</strong> per<strong>for</strong>mance. The current state-of-art optic fiber technology<br />

support several hundreds of wavelengths per fiber, each <strong>in</strong> turn offer an enormous<br />

b<strong>and</strong>width (<strong>in</strong> the order of tens of Gigabyte), while a great deal of network<br />

traffic require just a fraction of the wavelength b<strong>and</strong>width to be satisfied. The<br />

wavelength channels are more efficiently used when several low rate requests are<br />

comb<strong>in</strong>ed to share the wavelength b<strong>and</strong>width, which also improves the network<br />

connectivity.<br />

The traffic groom<strong>in</strong>g problem was <strong>in</strong>troduced <strong>in</strong> Chapter 8 where we also<br />

mentioned that an ADM is needed <strong>for</strong> opto-electronic conversion at a node whenever<br />

a request is added or dropped at the node from the shared wavelength. In<br />

traffic groom<strong>in</strong>g we are given a set of requests to be satisfied on the network N<br />

with groom<strong>in</strong>g ratio g, where at each l<strong>in</strong>k the wavelength of N can be shared by<br />

no more than g requests (the groom<strong>in</strong>g ratio constra<strong>in</strong>t). Requests are satisfied<br />

by comb<strong>in</strong><strong>in</strong>g a subset of them <strong>in</strong>to a wavelength to honour the groom<strong>in</strong>g ratio<br />

169


10.1 General lower bounds<br />

constra<strong>in</strong>t. The traffic groom<strong>in</strong>g problem seek to satisfy any set of requests us<strong>in</strong>g<br />

m<strong>in</strong>imum number of ADMs <strong>and</strong> wavelengths.<br />

The traffic groom<strong>in</strong>g problem is NP-hard <strong>for</strong> r<strong>in</strong>g networks [Dutta et al. (June,<br />

2003)] with general <strong>in</strong>stances. For all-to-all <strong>in</strong>stances with unit size requests the<br />

groom<strong>in</strong>g problem has been optimally solved <strong>for</strong> r<strong>in</strong>g networks with groom<strong>in</strong>g<br />

ratio g ≤ 4 <strong>and</strong> g = 6 by different authors referred <strong>in</strong> Section 2.5. For arbitrary<br />

<strong>in</strong>stances a 3 -approximation algorithm is presented <strong>in</strong> [Căl<strong>in</strong>escu <strong>and</strong> Wan (2002)]<br />

2<br />

<strong>for</strong> m<strong>in</strong>imiz<strong>in</strong>g the ADM requirement on r<strong>in</strong>g networks with groom<strong>in</strong>g ratio g = 1.<br />

A more generic groom<strong>in</strong>g algorithm is presented <strong>in</strong> [Zhang <strong>and</strong> Qiao (2000)] <strong>for</strong><br />

r<strong>in</strong>g networks with arbitrary <strong>in</strong>stances <strong>and</strong> any groom<strong>in</strong>g ratio, g. We propose a<br />

groom<strong>in</strong>g algorithm <strong>for</strong> unidirectional r<strong>in</strong>gs with g = 2 <strong>and</strong> arbitrary <strong>in</strong>stances<br />

with unit size requests. Our proposed algorithm adapts the EDA-SF algorithm<br />

<strong>for</strong> unidirectional path networks with groom<strong>in</strong>g ratio 2, described <strong>in</strong> Section 8.2.3.<br />

We experimentally compare with the algorithms <strong>in</strong> [Căl<strong>in</strong>escu <strong>and</strong> Wan (2002);<br />

Zhang <strong>and</strong> Qiao (2000)] adapted <strong>for</strong> this network <strong>for</strong> per<strong>for</strong>mance, <strong>and</strong> show that<br />

our algorithm achieves better per<strong>for</strong>mance <strong>for</strong> most groom<strong>in</strong>g <strong>in</strong>stances.<br />

10.1 General lower bounds<br />

Given an <strong>in</strong>stance R <strong>for</strong> an n nodes r<strong>in</strong>g network N with groom<strong>in</strong>g ratio g, where<br />

the nodes <strong>and</strong> l<strong>in</strong>ks are labeled i, <strong>for</strong> 0 ≤ i ≤ n − 1. Let Γ o (k) <strong>and</strong> Γ i (k) be<br />

the number of requests <strong>in</strong> R that beg<strong>in</strong> <strong>and</strong> end at node k, when travers<strong>in</strong>g the<br />

nodes of the network N <strong>in</strong> ⌈clockwise direction, ⌉ <strong>for</strong> 0 ≤ k ≤ n − 1. Obviously,<br />

the node k requires at least max{Γo (k),Γ i (k)}<br />

number of ADMs, s<strong>in</strong>ce an ADM at<br />

g<br />

node k can be shared by at most g requests that beg<strong>in</strong> <strong>and</strong> end at k respectively.<br />

Thus, ∑ ⌈ ⌉<br />

n−1 max{Γo(k),Γi (k)}<br />

k=0<br />

, is the general lower bound <strong>for</strong> number of ADMs<br />

g<br />

required by the <strong>in</strong>stance R <strong>in</strong> N. This was also noted <strong>in</strong> [Căl<strong>in</strong>escu <strong>and</strong> Wan<br />

(2002); Gerstel et al. (1998a)] <strong>for</strong> r<strong>in</strong>g networks. The load, L, of a network is<br />

the maximum number of requests us<strong>in</strong>g any network l<strong>in</strong>k. Clearly, at least ⌈ L g ⌉<br />

wavelengths are needed <strong>for</strong> an <strong>in</strong>stance R <strong>in</strong>duc<strong>in</strong>g load L on the network, s<strong>in</strong>ce<br />

at most g requests can share a wavelength at any l<strong>in</strong>k.<br />

170


10.2 Groom<strong>in</strong>g <strong>Algorithms</strong><br />

10.2 Groom<strong>in</strong>g <strong>Algorithms</strong><br />

In this section we describe different algorithms <strong>for</strong> groom<strong>in</strong>g arbitrary <strong>in</strong>stances<br />

on unidirectional r<strong>in</strong>gs with groom<strong>in</strong>g ratio 2. In Section 10.3 we present our proposed<br />

algorithm that adapts the EDA-SF algorithm <strong>for</strong> path networks <strong>in</strong> Section<br />

8.2.3. We describe the algorithms of [Zhang <strong>and</strong> Qiao (2000)] <strong>and</strong> [Căl<strong>in</strong>escu <strong>and</strong><br />

Wan (2002)] <strong>in</strong> Section 10.4, <strong>and</strong> show how they are adapted <strong>for</strong> r<strong>in</strong>g networks<br />

with g = 2. The algorithms are experimentally compared <strong>for</strong> their groom<strong>in</strong>g<br />

per<strong>for</strong>mance <strong>in</strong> Section 10.5.<br />

10.3 Fixed edge with edge decomposition algorithm<br />

We are given an arbitrary <strong>in</strong>stance R with unit size requests on unidirectional<br />

r<strong>in</strong>g network N with groom<strong>in</strong>g ratio 2. Note that the <strong>in</strong>stances of a unidirectional<br />

r<strong>in</strong>g have all requests oriented <strong>in</strong> the same direction (clockwise direction) s<strong>in</strong>ce<br />

there is a unique path jo<strong>in</strong><strong>in</strong>g any pair of nodes. The request digraph D(V, A) is<br />

def<strong>in</strong>ed as follows. The nodes <strong>in</strong> V are nodes of the network N, <strong>and</strong> the arcs <strong>in</strong><br />

A represent the requests <strong>in</strong> R. Let R i be the subset of requests <strong>in</strong> R travers<strong>in</strong>g<br />

the l<strong>in</strong>k i ∈ N, <strong>for</strong> 0 ≤ i ≤ n − 1. For a fixed i the subset of requests R \ R i<br />

corresponds to the <strong>in</strong>stance on a unidirectional path network P n = N\i, obta<strong>in</strong>ed<br />

by remov<strong>in</strong>g the l<strong>in</strong>k i from the r<strong>in</strong>g network N.<br />

The fixed edge with edge decomposition (FE-EDA) algorithm takes as <strong>in</strong>put the<br />

request digraph D <strong>and</strong> partition the arcs of D <strong>in</strong>to valid subgraphs. A subgraph<br />

of D is a valid subgraph if no more than g arcs of the subgraph cross any l<strong>in</strong>k of N.<br />

We consider valid subgraphs on unidirectional r<strong>in</strong>gs with g = 2. A subgraph of<br />

D is a circuit subgraph if its underly<strong>in</strong>g graph is of degree 2. A circuit subgraph<br />

is a closed circuit if <strong>in</strong> the underly<strong>in</strong>g graph all nodes have degree 2, but an<br />

open circuit otherwise. The FE-EDA algorithm partition the arcs of D <strong>in</strong> two<br />

phases. Let i be a fixed l<strong>in</strong>k of N. The first phase uses Breadth First Search<br />

(BSF) <strong>and</strong> greedy approaches to partition arcs of D <strong>in</strong>to set of closed <strong>and</strong> open<br />

circuit subgraphs such that each circuit subgraph has one arc correspond<strong>in</strong>g to<br />

a request <strong>in</strong> R i . Each of such circuit subgraphs also consists of arcs that cross<br />

171


10.3 Fixed edge with edge decomposition algorithm<br />

any l<strong>in</strong>k of N no more than once. Thus pairs of circuit subgraphs obta<strong>in</strong>ed this<br />

way are comb<strong>in</strong>ed <strong>in</strong>to valid subgraphs us<strong>in</strong>g the weighted match<strong>in</strong>g algorithm<br />

<strong>in</strong> [Edmonds (1965a); Edmonds (1965b)]. By the end of the first phase all arcs<br />

of D that correspond to requests <strong>in</strong> R i have been considered. The second phase<br />

considers the rema<strong>in</strong><strong>in</strong>g D as the requests graph <strong>for</strong> unidirectional path network.<br />

The EDA-SF algorithm <strong>for</strong> path networks is used to partition the rema<strong>in</strong><strong>in</strong>g arcs<br />

<strong>in</strong>to valid subgraphs.<br />

The FE-EDA algorithm dist<strong>in</strong>guishes a l<strong>in</strong>k i ∈ N as the pivot l<strong>in</strong>k, <strong>and</strong> an<br />

arc <strong>in</strong> D that corresponds to request travers<strong>in</strong>g the pivot l<strong>in</strong>k is marked red, the<br />

arc is marked blue, otherwise. In addition, each arc of D is associated with an<br />

<strong>in</strong>teger value (arc length) which is equal to the number of l<strong>in</strong>ks of N traversed by<br />

the request correspond<strong>in</strong>g to this arc. The arcs of D are partitioned <strong>in</strong>to valid<br />

subgraphs of D us<strong>in</strong>g the follow<strong>in</strong>g four steps.<br />

1. For each red arc <strong>in</strong> D try to f<strong>in</strong>d a closed circuit conta<strong>in</strong><strong>in</strong>g this arcs as the<br />

only red arc. If exists, then remove the arcs of this closed circuit from D<br />

(described <strong>in</strong> Section 10.3.1).<br />

2. For each red arc rema<strong>in</strong><strong>in</strong>g <strong>in</strong> D f<strong>in</strong>d an open circuit conta<strong>in</strong><strong>in</strong>g this arc.<br />

Remove the arcs of this open circuit from D (described <strong>in</strong> Section 10.3.2).<br />

3. Merge pairs of circuit subgraphs obta<strong>in</strong>ed from Steps 1 <strong>and</strong> 2 <strong>in</strong>to subgraphs<br />

of D (described <strong>in</strong> Section 10.3.3).<br />

4. Partition the rema<strong>in</strong><strong>in</strong>g arcs of D (now D consists of only blue arcs) <strong>in</strong>to<br />

valid subgraphs us<strong>in</strong>g the EDA-SF algorithm <strong>in</strong> Section 8.2.3.<br />

10.3.1 F<strong>in</strong>d<strong>in</strong>g closed circuits<br />

Let (i, j) be a red arc of D. Start<strong>in</strong>g from the node j per<strong>for</strong>m a BFS traversal of<br />

D explor<strong>in</strong>g only the blue arcs to f<strong>in</strong>d a path p j,i from node j to node i us<strong>in</strong>g the<br />

blue arcs of D. If such path p j,i exists, then the set of arcs <strong>in</strong> p j,i ∪ (i, j) <strong>for</strong>m a<br />

closed circuit of D conta<strong>in</strong><strong>in</strong>g the red arc (i, j), where all other arcs of this circuit<br />

are blue arcs. Note that such closed circuit satisfies the requirements of Step 1<br />

of the FE-EDA algorithm that closed circuits should conta<strong>in</strong> exactly one red arc<br />

172


10.3 Fixed edge with edge decomposition algorithm<br />

of D. Moreover, s<strong>in</strong>ce none of the blue arcs may cross the pivot l<strong>in</strong>k it follows<br />

that the set of arcs on a closed circuit found this way cross the l<strong>in</strong>ks of N exactly<br />

once.<br />

10.3.2 F<strong>in</strong>d<strong>in</strong>g open circuits<br />

We f<strong>in</strong>d open circuits that <strong>for</strong>m connected subgraph components of D, by operat<strong>in</strong>g<br />

directly on requests of N correspond<strong>in</strong>g to the rema<strong>in</strong><strong>in</strong>g arcs of D, where the<br />

red arcs <strong>in</strong> D correspond to requests on N travers<strong>in</strong>g the pivot l<strong>in</strong>k <strong>and</strong> the blue<br />

arcs <strong>in</strong> D correspond to requests on N avoid<strong>in</strong>g the pivot l<strong>in</strong>k. In the follow<strong>in</strong>g we<br />

say red <strong>and</strong> blue request to refer to the correspond<strong>in</strong>g red <strong>and</strong> blue arc. We f<strong>in</strong>d<br />

a set of requests C r on N conta<strong>in</strong><strong>in</strong>g only one red requests where no two requests<br />

share any l<strong>in</strong>k of N greedily from given red request r = (i, j), <strong>in</strong> two phases as<br />

follows.<br />

1. Phase 1<br />

(a) Given the red request r = (i, j), C r ← {r}.<br />

(b) Let (i 1 , j 1 ), (i 2 , j 2 ), . . . , (i k , j k ), be the requests <strong>in</strong> clockwise orientation<br />

already added to C r . If there is a request (j k , x) between j k <strong>and</strong> i 1 ,<br />

then select the shortest possible request (with x closest to j k ). C r ←<br />

C r ∪ {(j k , x)}. Otherwise, go to Phase 2.<br />

(c) Repeat Step 1b.<br />

2. Phase 2<br />

(a) Let (i 1 , j 1 ), (i 2 , j 2 ), . . . , (i k , j k ), be the requests <strong>in</strong> clockwise orientation<br />

already added to C r . If there is a request (x, i 1 ) between j k <strong>and</strong> i 1 ,<br />

then select the shortest possible request (with x closest to i 1 ). C r ←<br />

C r ∪ {(x, i 1 )}. Otherwise, return C r .<br />

(b) Repeat Step 2a.<br />

The set of requests C r returned after Phase 2 above has the red request r as<br />

the only request us<strong>in</strong>g the pivot l<strong>in</strong>k, where any other request <strong>in</strong> C r avoids the<br />

pivot l<strong>in</strong>k (are blue requests). Moreover, any request added <strong>in</strong>to C r should share a<br />

173


10.3 Fixed edge with edge decomposition algorithm<br />

node with a request already <strong>in</strong> C r <strong>and</strong> share no l<strong>in</strong>k of N with any request already<br />

<strong>in</strong> C r . There<strong>for</strong>e the set C r correspond to a set of arcs of D that <strong>for</strong>m a connected<br />

circuit subgraph that has exactly one red arc. The arcs on this circuit subgraph<br />

cross the l<strong>in</strong>ks of N no more than once. Note that this circuit subgraph is an<br />

open circuit, s<strong>in</strong>ce otherwise a closed circuit conta<strong>in</strong><strong>in</strong>g the red arc correspond<strong>in</strong>g<br />

to the red request r could have been found by Step 1 of the FE-EDA algorithm.<br />

10.3.3 Merg<strong>in</strong>g circuit subgraphs <strong>in</strong>to valid subgraphs<br />

Step 3 merges pairs of circuits subgraphs obta<strong>in</strong>ed <strong>in</strong> Steps 1 <strong>and</strong> 2 of the FE-<br />

EDA algorithm to <strong>for</strong>m valid subgraphs of D us<strong>in</strong>g the weighted graph match<strong>in</strong>g<br />

algorithm <strong>in</strong> [Edmonds (1965a); Edmonds (1965b)]. Note that the set of arcs <strong>in</strong><br />

each circuit subgraph found by Steps 1 <strong>and</strong> 2 of the FE-EDA algorithm cross the<br />

l<strong>in</strong>ks of N no more than once, hence, the set of arcs on subgraphs obta<strong>in</strong>ed by<br />

merg<strong>in</strong>g pairs of such circuit subgraphs cross the l<strong>in</strong>k of N no more than twice<br />

as required. We def<strong>in</strong>e a complete weighted graph G = (V, E) where the nodes<br />

<strong>in</strong> V are the circuit subgraphs. The edge weight w({C i , C j }) = |V (C i ) ∩ V (C j )|<br />

<strong>for</strong> every pair of dist<strong>in</strong>ct circuits C i <strong>and</strong> C j . That is, the edge weight is equal to<br />

the number of common nodes between the adjacent pair of circuits. Let M be<br />

the maximum weight match<strong>in</strong>g <strong>for</strong> G <strong>and</strong> Q a set of unmatched nodes of G (note<br />

that |Q| ≤ 1). For every edge {C i , C j } ∈ M merge the pair of circuit subgraphs<br />

C i <strong>and</strong> C j <strong>in</strong>to a valid subgraph of D. Any unmatched node C k ∈ Q <strong>for</strong>ms a<br />

valid subgraphs of D.<br />

10.3.4 F<strong>in</strong>d<strong>in</strong>g valid subgraphs from blue arcs<br />

A request digraph D with only blue arcs corresponds to request digraph of path<br />

network P n obta<strong>in</strong>ed by remov<strong>in</strong>g the pivot l<strong>in</strong>k from N. The EDA-SF algorithm<br />

<strong>in</strong> Section 8.2.3, is used to partition blues arcs of D <strong>in</strong>to valid subgraphs of D.<br />

10.3.5 ADMs <strong>and</strong> wavelengths requirement<br />

Let {D i : 0 ≤ i ≤ W −1} be the set of valid subgraph partition<strong>in</strong>gs of D obta<strong>in</strong>ed<br />

by the FE-EDA algorithm. The number of wavelengths computed by the FE-<br />

174


10.4 Related algorithms<br />

EDA algorithm is W s<strong>in</strong>ce each valid subgraph is assigned a new wavelength.<br />

The number of ADMs computed by the FE-EDA algorithm ∑ W −1<br />

i=0<br />

|V (D i )|.<br />

10.4 Related algorithms<br />

In this section we describe two related algorithms proposed <strong>in</strong> [Zhang <strong>and</strong> Qiao<br />

(2000)] <strong>and</strong> [Căl<strong>in</strong>escu <strong>and</strong> Wan (2002)] <strong>for</strong> r<strong>in</strong>g networks with g ≥ 1 <strong>and</strong> g = 1<br />

respectively <strong>and</strong> arbitrary <strong>in</strong>stances with unit requests.<br />

We adapt these algorithms<br />

to r<strong>in</strong>g networks with g = 2 <strong>and</strong> compare with the FE-EDA algorithm <strong>for</strong><br />

per<strong>for</strong>mance.<br />

In [Zhang <strong>and</strong> Qiao (2000)] several groom<strong>in</strong>g algorithms <strong>for</strong> r<strong>in</strong>g networks with<br />

arbitrary groom<strong>in</strong>g ratios are presented.<br />

The algorithms <strong>in</strong> [Zhang <strong>and</strong> Qiao<br />

(2000)] grooms requests <strong>in</strong> two greedy phases: the phase that def<strong>in</strong>es circuits<br />

(circles) of requests from the <strong>in</strong>put <strong>in</strong>stance, referred to as algorithm IV, <strong>and</strong><br />

the phase that group the sets of circles found from previous phase <strong>in</strong>to sets of<br />

card<strong>in</strong>ality at most g, referred to as algorithm VI. The algorithms <strong>in</strong> [Zhang <strong>and</strong><br />

Qiao (2000)] consider r<strong>in</strong>g networks with arbitrary groom<strong>in</strong>g ratio g.<br />

In [Căl<strong>in</strong>escu <strong>and</strong> Wan (2002)] they present a 3 -approximation algorithm that<br />

2<br />

partitions the <strong>in</strong>stance of a unidirectional r<strong>in</strong>g network <strong>in</strong>to cha<strong>in</strong>s, such that any<br />

two requests <strong>in</strong> a cha<strong>in</strong> do not overlap at any l<strong>in</strong>k of the network. They refer<br />

to their algorithm as the preprocessed iterative match<strong>in</strong>g (PIM) algorithm. The<br />

algorithms <strong>in</strong> [Căl<strong>in</strong>escu <strong>and</strong> Wan (2002)] consider r<strong>in</strong>g networks with groom<strong>in</strong>g<br />

ratio g = 1.<br />

In the follow<strong>in</strong>g sections we describe the above algorithms <strong>and</strong> show how they<br />

are adapted to r<strong>in</strong>gs with groom<strong>in</strong>g ratio 2.<br />

10.4.1 <strong>Algorithms</strong> IV <strong>and</strong> VI<br />

1. Algorithm IV:<br />

The algorithm IV partitions requests on a r<strong>in</strong>g network <strong>in</strong>to circles by consider<strong>in</strong>g<br />

one network node a time. For requests <strong>in</strong>cident from the node i,<br />

0 ≤ i ≤ n − 1, a longest request is considered first <strong>and</strong> added either <strong>in</strong>to an<br />

175


10.4 Related algorithms<br />

exist<strong>in</strong>g circle, a new circle or a gap maker list. An exist<strong>in</strong>g circle is a nonempty<br />

set of requests such that each request <strong>in</strong> the set shares an end-node<br />

with at least one other request already <strong>in</strong> the set, <strong>and</strong> no two requests share<br />

any network l<strong>in</strong>k (overlap). A new circle is an empty set of requests. A<br />

request is a gap maker if cannot be added <strong>in</strong>to an exist<strong>in</strong>g circle because it<br />

does not share a node with requests on exist<strong>in</strong>g circles. A request is added<br />

<strong>in</strong>to an exist<strong>in</strong>g circle if it does not overlap <strong>and</strong> create a gap to the exist<strong>in</strong>g<br />

circle. It is added <strong>in</strong>to a new circle if it overlaps on every exist<strong>in</strong>g circle,<br />

<strong>and</strong> is added to the gap maker list if it creates a gap on every exist<strong>in</strong>g circle.<br />

The requests on the gap maker list are further considered to achieve either<br />

of the follow<strong>in</strong>g goals. The goal to m<strong>in</strong>imize the number of circles where<br />

we try to add a request from the gap maker list <strong>in</strong>to an exist<strong>in</strong>g circle. If it<br />

overlaps on every exist<strong>in</strong>g circle, we add the request <strong>in</strong>to a new circle. The<br />

goal to m<strong>in</strong>imize the number of end-nodes <strong>in</strong> circles where we try to add<br />

the request from the gap maker list <strong>in</strong>to an exist<strong>in</strong>g circle, if it overlaps or<br />

creates a gap <strong>in</strong> every exist<strong>in</strong>g circle, we add the request <strong>in</strong>to a new circle.<br />

2. Algorithm VI:<br />

The algorithm VI comb<strong>in</strong>e up to g circles to share a wavelength as follows.<br />

A new wavelength w is first assigned to an unsigned circle with largest<br />

number of end-nodes. While more circles rema<strong>in</strong> unassigned <strong>and</strong> w has less<br />

than g circles, f<strong>in</strong>d an unassigned circle result<strong>in</strong>g <strong>in</strong>to a maximum overlap<br />

of end-nodes with circles already assigned with wavelength w. Assign this<br />

circle with w.<br />

10.4.2 Preprocessed iterative match<strong>in</strong>g algorithm<br />

1. Preprocess<strong>in</strong>g phase:<br />

The preprocess<strong>in</strong>g phase f<strong>in</strong>ds a set of closed cha<strong>in</strong>s as follows. The l<strong>in</strong>k<br />

e is fixed about which requests <strong>in</strong> R are partitioned <strong>in</strong>to two sets, R e <strong>and</strong><br />

R ′ = R \ R e , with requests that traverse the l<strong>in</strong>k e <strong>and</strong> those that do not.<br />

An acyclic request digraph <strong>for</strong> R ′ , D AG (V, A), is def<strong>in</strong>ed as follows. The<br />

set V are the nodes of the r<strong>in</strong>g network <strong>and</strong> the arcs <strong>in</strong> A represents the<br />

requests <strong>in</strong> R ′ .<br />

176


10.4 Related algorithms<br />

For every request (i, j) ∈ R e , use the BSF traversal on D AG to f<strong>in</strong>d a path,<br />

p j,i , from node j to node i. If such path p j,i exists, then the request (i, j)<br />

<strong>and</strong> requests <strong>in</strong> R ′ correspond<strong>in</strong>g to arcs of p j,i is a closed cha<strong>in</strong>. Requests<br />

on this closed cha<strong>in</strong> are removed from the sets R e <strong>and</strong> R ′ .<br />

2. Iterative match<strong>in</strong>g phase:<br />

The iterative match<strong>in</strong>g phase f<strong>in</strong>ds a set of open cha<strong>in</strong>s from rema<strong>in</strong><strong>in</strong>g<br />

requests as follows. Each request rema<strong>in</strong><strong>in</strong>g <strong>in</strong> R e <strong>and</strong> R ′ <strong>for</strong>ms an open<br />

cha<strong>in</strong> with one request. Let P be the set of open cha<strong>in</strong>s def<strong>in</strong>ed this way.<br />

We def<strong>in</strong>e a graph F (P) called fit graph from the set P, such that there is<br />

a node <strong>in</strong> F (P) <strong>for</strong> each open cha<strong>in</strong> <strong>in</strong> P, <strong>and</strong> there is an edge between a<br />

pair of open cha<strong>in</strong>s if their correspond<strong>in</strong>g requests do not overlap at any<br />

l<strong>in</strong>k. While the fit graph F (P) <strong>for</strong> P has non-empty set of edges, we f<strong>in</strong>d<br />

a maximum match<strong>in</strong>g M <strong>for</strong> F (P), <strong>and</strong> merge each matched pair of cha<strong>in</strong>s<br />

<strong>in</strong>to a new cha<strong>in</strong> to obta<strong>in</strong> a new set P. If F (P) has no edges, then we<br />

output the set P of open cha<strong>in</strong>s.<br />

Note that the notions of circuit, circle <strong>and</strong> cha<strong>in</strong> used by the algorithms considered<br />

<strong>in</strong> this chapter are similar, s<strong>in</strong>ce each refers to a subset of requests where<br />

no two requests share any l<strong>in</strong>k of the network. Thus these terms can be used<br />

<strong>in</strong>terchangeably. Note also that Step 1 of the FE-EDA algorithm f<strong>in</strong>ds the set<br />

of closed circuits <strong>in</strong> the same way the PIM algorithm does <strong>in</strong> the preprocess<strong>in</strong>g<br />

phase. The FE-EDA algorithm differs, however, from the PIM algorithm, when<br />

f<strong>in</strong>d<strong>in</strong>g open circuits <strong>in</strong> which the <strong>for</strong>mer uses a greedy approach whereas the<br />

latter uses iterative match<strong>in</strong>g. In addition, unlike the PIM algorithm which considers<br />

all the rema<strong>in</strong><strong>in</strong>g requests by iterative match<strong>in</strong>g, the FE-EDA algorithm<br />

f<strong>in</strong>ds open circuits with respect to requests travers<strong>in</strong>g the pivot l<strong>in</strong>k, where any<br />

rema<strong>in</strong><strong>in</strong>g requests are considered us<strong>in</strong>g the EDA-SF algorithm.<br />

The algorithm VI <strong>and</strong> the weighted match<strong>in</strong>g algorithm <strong>in</strong> [Edmonds (1965a);<br />

Edmonds (1965b)] can be used to merge up to g sets of circuits to obta<strong>in</strong> a set<br />

of requests that satisfy the groom<strong>in</strong>g ratio constra<strong>in</strong>t of g. For our experiments<br />

we adapt the algorithms <strong>in</strong> [Zhang <strong>and</strong> Qiao (2000)] <strong>and</strong> [Căl<strong>in</strong>escu <strong>and</strong> Wan<br />

(2002)] to r<strong>in</strong>g networks with groom<strong>in</strong>g ratio g = 2 as follows. We consider<br />

the algorithm that comb<strong>in</strong>es algorithm IV <strong>and</strong> algorithm VI, denoted by A1-g2,<br />

177


10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

<strong>and</strong> the algorithm that comb<strong>in</strong>es algorithm IV <strong>and</strong> the weighted graph match<strong>in</strong>g<br />

algorithm [Edmonds (1965a); Edmonds (1965b)], denoted by A2-g2. Also we<br />

consider the algorithm that comb<strong>in</strong>es algorithm PIM <strong>and</strong> the weighted graph<br />

match<strong>in</strong>g algorithm [Edmonds (1965a); Edmonds (1965b)], denoted by PIM-g2.<br />

The algorithms FE-EDA <strong>and</strong> PIM-g2 both require a fixed l<strong>in</strong>k (i.e., pivot l<strong>in</strong>k)<br />

as part of the <strong>in</strong>put. Dist<strong>in</strong>ct choices of pivot l<strong>in</strong>ks may lead to different output<br />

results. For our experiments each algorithm iterates over two pivot l<strong>in</strong>ks, the l<strong>in</strong>k<br />

traversed by the least number <strong>and</strong> the maximum number of requests <strong>and</strong> outputs<br />

the best result.<br />

10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

We use r<strong>and</strong>omly generated <strong>in</strong>stances with BL-Uni<strong>for</strong>m, UL-Uni<strong>for</strong>m <strong>and</strong> Gaussian<br />

distributions of requests that are described <strong>in</strong> Section 2.4.1 <strong>for</strong> experiments.<br />

Note that <strong>for</strong> request <strong>in</strong>stances of unidirectional r<strong>in</strong>g networks no rout<strong>in</strong>g decisions<br />

are needed s<strong>in</strong>ce each request is routed on the unique path of the r<strong>in</strong>g<br />

between the request end-nodes. Tables 10.1, 10.2 <strong>and</strong> 10.3 show the average<br />

number of ADMs <strong>for</strong> BL-Uni<strong>for</strong>m, UL-Uni<strong>for</strong>m <strong>and</strong> Gaussian <strong>in</strong>stances <strong>for</strong> r<strong>in</strong>g<br />

networks with 16, 32 <strong>and</strong> 64 nodes <strong>and</strong> <strong>in</strong>stances with 512, 1024, 1536 <strong>and</strong> 2048<br />

requests. Table 10.4 shows the average number of wavelengths <strong>for</strong> each <strong>in</strong>stance<br />

type on 64-node r<strong>in</strong>g networks. The tables also show the average general lower<br />

bounds ADM-LB <strong>and</strong> W-LB <strong>for</strong> number of ADMs <strong>and</strong> wavelengths determ<strong>in</strong>ed<br />

us<strong>in</strong>g the general lower bounds relations <strong>in</strong> Section 10.1. The average is taken<br />

us<strong>in</strong>g ten r<strong>and</strong>om <strong>in</strong>stances.<br />

The algorithms A1-g2 <strong>and</strong> A2-g2 differ considerably on their ADMs per<strong>for</strong>mance<br />

where the A2-g2 algorithm that uses the maximum weight match<strong>in</strong>g algorithm<br />

has up to 5%, 7%, <strong>and</strong> 5% better ADMs per<strong>for</strong>mance <strong>for</strong> BL-Uni<strong>for</strong>m,<br />

UL-Uni<strong>for</strong>m <strong>and</strong> Gaussian <strong>in</strong>stances, than the A1-g2 algorithm which uses algorithm<br />

VI <strong>for</strong> merg<strong>in</strong>g circuits. The two algorithms, however, always computed<br />

the same number of wavelengths.<br />

178


10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

n |R| ADM-LB FE-EDA PIM-g2 A2-g2 A1-g2<br />

512 321 344 348 357 369<br />

16 1024 571 604 608 627 646<br />

1536 1020 1038 1045 1069 1084<br />

2048 1123 1159 1168 1199 1219<br />

512 317 398 408 424 446<br />

32 1024 607 715 730 747 779<br />

1536 903 1035 1065 1070 1122<br />

2048 1380 1481 1525 1511 1564<br />

512 330 469 479 508 527<br />

64 1024 618 845 871 921 960<br />

1536 935 1211 1253 1308 1363<br />

2048 1274 1599 1672 1701 1778<br />

Table 10.1: Average number of ADMs <strong>for</strong> <strong>in</strong>stances with BL-Uni<strong>for</strong>m distribution<br />

of requests.<br />

n |R| ADM-LB FE-EDA PIM-g2 A2-g2 A1-g2<br />

512 286 349 343 364 391<br />

16 1024 553 630 622 654 695<br />

1536 818 894 889 928 971<br />

2048 1081 1160 1155 1206 1247<br />

512 299 444 435 467 491<br />

32 1024 573 786 770 825 877<br />

1536 838 1072 1057 1131 1210<br />

2048 1106 1359 1343 1434 1533<br />

512 321 560 550 574 590<br />

64 1024 598 1002 982 1043 1081<br />

1536 872 1407 1378 1469 1527<br />

2048 1140 1765 1730 1852 1935<br />

Table 10.2: Average number of ADMs <strong>for</strong> <strong>in</strong>stances with UL-Uni<strong>for</strong>m distribution<br />

of requests.<br />

179


10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Nevertheless, the ADMs per<strong>for</strong>mance <strong>for</strong> the A2-g2 algorithm is not as good<br />

compared to that of the FE-EDA <strong>and</strong> PIM-g2 algorithms. For example, Table<br />

10.1 shows that the ADMs per<strong>for</strong>mance <strong>for</strong> the FE-EDA <strong>and</strong> PIM-g2 algorithms<br />

is up to 9% <strong>and</strong> 6% better than that of the A2-g2 algorithm <strong>for</strong> <strong>in</strong>stances with<br />

BL-Uni<strong>for</strong>m distribution of requests. For <strong>in</strong>stances with UL-Uni<strong>for</strong>m distribution<br />

of requests, on the other h<strong>and</strong>, Table 10.2 shows that the ADMs per<strong>for</strong>mance of<br />

the FE-EDA <strong>and</strong> PIM-g2 algorithms is up to 5.5% <strong>and</strong> 7.3% better than that of<br />

the A2-g2. The ADMs per<strong>for</strong>mance differences are small <strong>for</strong> all algorithms on<br />

<strong>in</strong>stances with Gaussian distribution of requests, where both the FE-EDA <strong>and</strong><br />

PIM-g2 algorithms have ADMs per<strong>for</strong>mance that is up to 3% better than that of<br />

the A2-g2 algorithm as Table 10.3 shows.<br />

The A2-g2 algorithm also have higher wavelengths requirement compared to<br />

that of the FE-EDA <strong>and</strong> PIM-g2 algorithms as Table 10.4 shows. For example, <strong>for</strong><br />

some BL-Uni<strong>for</strong>m <strong>in</strong>stances the A2-g2 uses a significant number of wavelengths<br />

that is up to 39% more than the number of wavelengths the FE-EDA algorithm<br />

uses. It is likely that such high wavelength requirement <strong>for</strong> the A2-g2 algorithm<br />

occurs when most requests do not mutually share their end-nodes, hence more<br />

circles are found by algorithm IV of [Zhang <strong>and</strong> Qiao (2000)], especially when<br />

consider<strong>in</strong>g requests on the gap maker list. This is because <strong>in</strong> our experiments we<br />

adopted the goal to m<strong>in</strong>imize the number of end-nodes <strong>in</strong> circles. The wavelength<br />

per<strong>for</strong>mance <strong>for</strong> the A2-g2 may improve if the goal to m<strong>in</strong>imize number of circles<br />

is adopted, but this may lead to poor ADMs per<strong>for</strong>mance.<br />

The FE-EDA <strong>and</strong> PIM-g2 algorithms gave an impressive ADMs per<strong>for</strong>mance,<br />

where the FE-EDA algorithm has best ADMs per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with BL-<br />

Uni<strong>for</strong>m distribution of requests, <strong>and</strong> on the other h<strong>and</strong>, the PIM-g2 algorithm<br />

has the best ADMs per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with UL-Uni<strong>for</strong>m distribution of<br />

requests. Table 10.1 shows that the ADMs per<strong>for</strong>mance of the FE-EDA algorithm<br />

is up to 5% better than that of the PIM-g2 algorithm <strong>for</strong> BL-Uni<strong>for</strong>m <strong>in</strong>stances.<br />

And Table 10.2 shows that the ADMs per<strong>for</strong>mance of the PIM-g2 algorithm<br />

is up to 2% better than that of the FE-EDA <strong>for</strong> UL-Uni<strong>for</strong>m <strong>in</strong>stances. For<br />

<strong>in</strong>stances with Gaussian distribution of requests, however, Table 10.3 shows that<br />

both FE-EDA <strong>and</strong> PIM-g2 algorithms have very close ADMs per<strong>for</strong>mance, where<br />

180


10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

n |R| ADM-LB FE-EDA PIM-g2 A2-g2 A1-g2<br />

512 276 303 301 312 328<br />

16 1024 534 566 564 579 595<br />

1536 794 830 828 848 867<br />

2048 1067 1110 1107 1131 1150<br />

512 273 297 295 304 320<br />

32 1024 534 569 566 579 597<br />

1536 794 831 829 847 867<br />

2048 1052 1093 1091 1109 1128<br />

512 273 298 297 303 316<br />

64 1024 533 568 564 580 596<br />

1536 810 853 850 874 892<br />

2048 1050 1097 1093 1112 1131<br />

Table 10.3: Average number of ADMs <strong>for</strong> <strong>in</strong>stances with Gaussian distribution<br />

of requests.<br />

Distribution |R| W-LB FE-EDA PIM-g2 A1-g2 & A2-g2<br />

512 74 78 75 99<br />

BL-Uni<strong>for</strong>m 1024 145 147 146 184<br />

1536 213 220 219 284<br />

2048 283 290 287 402<br />

512 137 150 146 151<br />

UL-Uni<strong>for</strong>m 1024 268 291 284 291<br />

1536 399 429 421 428<br />

2048 529 567 558 565<br />

512 132 134 133 134<br />

Gaussian 1024 260 263 262 264<br />

1536 393 398 397 400<br />

2048 518 523 522 525<br />

Table 10.4: Average number of wavelengths <strong>for</strong> different <strong>in</strong>stance types on 64-<br />

node r<strong>in</strong>g network.<br />

181


10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

Distribution FE-EDA PIM-g2 A1-g2 A2-g2<br />

UL-Uni<strong>for</strong>m 41.09 51.41 35.51 9.66<br />

Gaussian 43.05 47.79 37.95 16.11<br />

BL-Uni<strong>for</strong>m 13.45 15.69 24.82 7.18<br />

Table 10.5: Average time used (<strong>in</strong> seconds) <strong>for</strong> r<strong>in</strong>g network with 64 nodes <strong>and</strong><br />

<strong>in</strong>stance of 2048 requests (us<strong>in</strong>g 1.0GHZ ADM Duron Processor with 112.0MB<br />

RAM).<br />

the FE-EDA algorithm always used from 1 to 4 more ADMs than the number of<br />

ADMs the PIM-g2 algorithm used.<br />

Table 10.4 shows that the algorithms FE-EDA <strong>and</strong> PIM-g2 also have close<br />

wavelength per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with BL-Uni<strong>for</strong>m <strong>and</strong> Gaussian distribution<br />

of requests, where the FE-EDA algorithm always used from 1 to 3 more<br />

wavelengths than the number of wavelengths the PIM-g2 algorithm used. The<br />

wavelength per<strong>for</strong>mance differences <strong>for</strong> the FE-EDA <strong>and</strong> PIM-g2 algorithms is<br />

slightly high <strong>for</strong> UL-Uni<strong>for</strong>m <strong>in</strong>stances, where the FE-EDA used up to 10 more<br />

wavelengths than the number of wavelengths the PIM-g2 algorithm used.<br />

The large differences between the number of ADMs used by our algorithms<br />

<strong>and</strong> the number of ADMs computed by the general lower bound relation <strong>in</strong> Section<br />

10.1, ADM-LB, suggests that the general lower bound is either a very weak ADMs<br />

lower bound or some <strong>in</strong>stance types are potentially difficult to satisfy us<strong>in</strong>g m<strong>in</strong>imum<br />

number of ADMs. For example, <strong>for</strong> <strong>in</strong>stances with BL-Uni<strong>for</strong>m distribution<br />

of requests where the FE-EDA algorithm has the best ADMs per<strong>for</strong>mance, Table<br />

10.1 shows that the ADMs per<strong>for</strong>mance of the FE-EDA is up to 42% worse than<br />

the lower bound number of ADMs ADM-LB. Also <strong>for</strong> <strong>in</strong>stances with UL-Uni<strong>for</strong>m<br />

requests where the PIM-g2 algorithm has the best ADMs per<strong>for</strong>mance, Table 10.2<br />

shows that the ADMs per<strong>for</strong>mance of the PIM-g2 is up to 71% worse than the<br />

lower bound number of ADMs ADM-LB. For Gaussian <strong>in</strong>stances, though, both<br />

FE-EDA <strong>and</strong> PIM-g2 algorithms used number of ADMs that is rather close to<br />

the lower bound number of ADMs ADM-LB, differ<strong>in</strong>g by up to 10%, see Table<br />

10.3. Although the use of maximum weight match<strong>in</strong>g algorithm improved the<br />

182


10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

ADMs per<strong>for</strong>mance <strong>for</strong> the algorithms we considered, this came at an added cost<br />

of runn<strong>in</strong>g time as Table 10.5 shows, where algorithms FE-EDA, PIM-g2 <strong>and</strong><br />

A1-g2 (which apply the weighted match<strong>in</strong>g algorithm) are relatively slower than<br />

algorithm A2-g2 (that does not apply the weighted match<strong>in</strong>g algorithm).<br />

The wavelength per<strong>for</strong>mance of the FE-EDA <strong>and</strong> PIM-g2 algorithms compared<br />

favorably with the lower bound number of wavelength W-LB as Table 10.4<br />

shows, where FE-EDA <strong>and</strong> IPM-g2 algorithms used up to 10% <strong>and</strong> 6% more<br />

wavelengths than the lower bound number of wavelengths W-LB.<br />

We report additional numerical results <strong>for</strong> the groom<strong>in</strong>g algorithms considered<br />

by this chapter <strong>in</strong> Appendix A.5. We considered networks with 16, 32, 64 <strong>and</strong> 96<br />

nodes. The differences between the ADMs per<strong>for</strong>mance of different algorithms<br />

grow when the size of the <strong>in</strong>stance <strong>in</strong>creases <strong>for</strong> all <strong>in</strong>stance types we considered<br />

except <strong>for</strong> Gaussian <strong>in</strong>stances where the ADMs per<strong>for</strong>mance of the algorithms<br />

FE-EDA <strong>and</strong> PIM-g2 is similar (see Tables A.15, A.16, A.17 <strong>and</strong> A.18).<br />

We summarize the per<strong>for</strong>mance results <strong>for</strong> the algorithms FE-EDA, PIM-g2,<br />

A1-g2, <strong>and</strong> A2-g2 <strong>in</strong> the plots <strong>in</strong> Figures 10.1 <strong>and</strong> 10.2, <strong>for</strong> r<strong>in</strong>g networks with 64<br />

nodes <strong>and</strong> the BL-Uni<strong>for</strong>m <strong>and</strong> UL-Uni<strong>for</strong>m distribution of requests (note that<br />

we do not show the ADMs <strong>and</strong> wavelengths per<strong>for</strong>mance <strong>for</strong> Gaussian <strong>in</strong>stances<br />

because <strong>for</strong> the different algorithms the per<strong>for</strong>mance differences are small <strong>for</strong> most<br />

<strong>in</strong>stances we considered). The plots show that algorithm FE-EDA has overall the<br />

best ADMs per<strong>for</strong>mance, followed by the algorithms PIM-g2 <strong>and</strong> A2-g2. The<br />

good per<strong>for</strong>mance of the FE-EDA could be attributed to its use of the EDA-SF<br />

algorithm <strong>for</strong> path networks presented <strong>in</strong> Section 8.2.3.<br />

183


10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

1.575<br />

1.5<br />

# ADMs/ADM-LB<br />

1.425<br />

1.35<br />

1.275<br />

1.2<br />

1.125<br />

FE-EDA<br />

PIM-g2<br />

A2-g2<br />

A1-g2<br />

1.05<br />

151 301 451 601 751 901 1051 1201 1351 1501 1651<br />

ADM-LB<br />

(a)<br />

# WAVELENGTHS/W-LB<br />

1.55<br />

1.5<br />

1.45<br />

1.4<br />

1.35<br />

1.3<br />

1.25<br />

1.2<br />

1.15<br />

1.1<br />

1.05<br />

1<br />

FE-EDA<br />

PIM-g2<br />

A1-g2 & A2-g2<br />

101 201 301 401<br />

W-LB<br />

(b)<br />

Figure 10.1: ADMs <strong>and</strong> <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with BL-Uni<strong>for</strong>m<br />

distribution of requests on 64-node r<strong>in</strong>g network (a) ADMs (b) <strong>Wavelength</strong>s.<br />

184


10.5 Numerical results <strong>and</strong> per<strong>for</strong>mance evaluation<br />

# ADMs/ADM-LB<br />

1.875<br />

1.8<br />

1.725<br />

1.65<br />

1.575<br />

1.5<br />

1.425<br />

1.35<br />

1.275<br />

1.2<br />

1.125<br />

1.05<br />

FE-EDA<br />

PIM-g2<br />

A2-g2<br />

A1-g2<br />

151 301 451 601 751 901 1051 1201 1351 1501<br />

ADM-LB<br />

(a)<br />

1.2<br />

# WAVELENGTHS/W-LB<br />

1.15<br />

1.1<br />

FE-EDA<br />

PIM-g2<br />

A1-g2 & A2-g2<br />

1.05<br />

101 201 301 401 501 601 701<br />

W-LB<br />

(b)<br />

Figure 10.2: ADMs <strong>and</strong> <strong>Wavelength</strong> per<strong>for</strong>mance <strong>for</strong> <strong>in</strong>stances with UL-Uni<strong>for</strong>m<br />

distribution of requests on 64-node r<strong>in</strong>g network (a) ADMs (b) <strong>Wavelength</strong>s.<br />

185


Chapter 11<br />

Conclusion <strong>and</strong> Future work<br />

In this thesis we studied the WA problem <strong>for</strong> optical networks under different<br />

network constra<strong>in</strong>ts to m<strong>in</strong>imize number of wavelengths requirement. The r<strong>in</strong>g<br />

network which is one of popular topologies was studied with s<strong>in</strong>gle-fiber, conversion,<br />

multi-fiber, <strong>and</strong> multi-granularity wavelength models respectively. Tree of<br />

r<strong>in</strong>gs which are natural extension of r<strong>in</strong>g networks were studied with s<strong>in</strong>gle fiber<br />

model. We also studied tree networks <strong>and</strong> path networks with multi-fiber <strong>and</strong><br />

multi-granularity wavelength models respectively.<br />

For s<strong>in</strong>gle-fiber r<strong>in</strong>gs without wavelength conversion capability we described<br />

several greedy heuristics <strong>for</strong> the WA problem <strong>in</strong> Chapter 3. The heuristics were<br />

the adaptation of the algorithm <strong>for</strong> the RAP problem <strong>for</strong> structured programs<br />

which can be modeled by circular arc graphs. We implemented the heuristics <strong>and</strong><br />

experimentally compared their per<strong>for</strong>mance with the best per<strong>for</strong>mance heuristic<br />

<strong>for</strong> this problem proposed <strong>in</strong> [Carpenter <strong>and</strong> Cosares (2002)]. We showed<br />

a significant improvement over the previously proposed heuristics <strong>for</strong> the WA<br />

problem <strong>for</strong> r<strong>in</strong>gs. The heuristics we presented were also shown to guarantee a<br />

2-approximation factor. The best known factor is given by the r<strong>and</strong>omized algorithm<br />

<strong>in</strong> [Kumar (1998)] with a 1.37 + o(1)-approximation asymptotic bound.<br />

We extended the heuristics <strong>for</strong> s<strong>in</strong>gle-fiber r<strong>in</strong>gs without conversion to tree of<br />

r<strong>in</strong>gs without conversion <strong>and</strong> r<strong>in</strong>gs with cluster conversion capability <strong>in</strong> Chapter<br />

4 <strong>and</strong> 5, respectively. We proposed a heuristic <strong>for</strong> the WA problem <strong>for</strong> tree of<br />

r<strong>in</strong>gs <strong>and</strong> experimentally compared with the approximation algorithms <strong>in</strong> [Bian<br />

et al. (June 2004)] <strong>for</strong> per<strong>for</strong>mance. Our experiments showed that the approxi-<br />

186


mation algorithms had worst wavelength per<strong>for</strong>mance compared to heuristics <strong>in</strong><br />

all <strong>in</strong>stances considered. This leaves an important challenge to further study tree<br />

of r<strong>in</strong>gs networks.<br />

For r<strong>in</strong>gs with cluster wavelength conversion capability we proposed WA<br />

heuristics that comb<strong>in</strong>e the method used by heuristics <strong>for</strong> r<strong>in</strong>gs without conversion<br />

considered <strong>in</strong> Chapter 3, <strong>and</strong> the wavelength conversion framework used<br />

by the heuristics <strong>for</strong> r<strong>in</strong>gs with cluster conversion <strong>in</strong> [Cavendish <strong>and</strong> Sengupta<br />

(2002)]. We experimentally compared our algorithms with the best per<strong>for</strong>mance<br />

algorithm <strong>for</strong> r<strong>in</strong>gs with cluster conversion <strong>in</strong> [Cavendish <strong>and</strong> Sengupta (2002)].<br />

Our experiments showed a significant per<strong>for</strong>mance improvement <strong>for</strong> our heuristics<br />

<strong>in</strong> both number of wavelength <strong>and</strong> number of wavelength conversion requirements.<br />

We studied multi-fiber trees <strong>and</strong> multi-fiber r<strong>in</strong>gs <strong>in</strong> Chapter 6 <strong>and</strong> 7, respectively.<br />

For multi-fiber tree networks we considered the problem of m<strong>in</strong>imiz<strong>in</strong>g<br />

the overall number of fibers <strong>in</strong> the network to satisfy a given WA <strong>in</strong>stance. We<br />

proposed a 2-approximation algorithm <strong>for</strong> spider trees, a 3-approximation <strong>for</strong><br />

trees where any path has at most two nodes of degrees greater than 2, <strong>and</strong> a 4-<br />

approximation <strong>for</strong> trees where any path has at most three nodes of degrees greater<br />

than 2. In addition, we extended to a log n-approximation <strong>and</strong> n-approximation<br />

algorithm <strong>for</strong> k-ary trees <strong>and</strong> arbitrary trees respectively. We noted that the<br />

results <strong>for</strong> arbitrary trees are improved to a 4-approximation <strong>in</strong> [Chekuri et al.<br />

(2003)], <strong>and</strong> a 2-approximation algorithm <strong>for</strong> spider trees is <strong>in</strong>dependently given<br />

<strong>in</strong> [Potika et al. (Nicosia, Cyprus, Nov 8–10, 2001)]. The problem of m<strong>in</strong>imiz<strong>in</strong>g<br />

the overall number of fibers <strong>in</strong> a multi-fiber network require further consideration<br />

as network topologies other than trees <strong>and</strong> r<strong>in</strong>gs are yet to be considered.<br />

It was shown <strong>in</strong> [Li <strong>and</strong> Simha (2000)] that the WA problem is NP hard even<br />

<strong>for</strong> k-fiber r<strong>in</strong>gs with k ≥ 2. We extended the work <strong>in</strong> [Ramaswami <strong>and</strong> Sasaki<br />

(December 1998)] <strong>for</strong> s<strong>in</strong>gle-fiber r<strong>in</strong>gs with limited wavelength conversion capability<br />

to k-fiber r<strong>in</strong>gs with limited wavelength conversion capability to optimally<br />

satisfy any WA <strong>in</strong>stance. We showed that <strong>for</strong> a s<strong>in</strong>gle-fiber r<strong>in</strong>g network if only<br />

one node has a degree 2 wavelength conversion capabilities then there exists an<br />

<strong>in</strong>stance with load L which cannot be satisfied us<strong>in</strong>g L wavelengths. We proposed<br />

a dual-fiber r<strong>in</strong>g network with only one node equipped with degree 2 wavelength<br />

conversion capability such that any WA <strong>in</strong>stance with load L is satisfied us<strong>in</strong>g L<br />

187


wavelengths. In addition, we proposed a dual-fiber r<strong>in</strong>g network with two nodes<br />

equipped with degree 1 wavelength conversion capabilities such that any WA <strong>in</strong>stance<br />

with load L is satisfied us<strong>in</strong>g L wavelengths. We extended both results to<br />

k-fiber r<strong>in</strong>gs with arbitrary k > 2.<br />

In contrast to the preced<strong>in</strong>g chapters, <strong>in</strong> Chapters 8, 9, <strong>and</strong> 10 we considered<br />

networks with multi-granularity wavelengths <strong>in</strong> which more than one connection<br />

requests may share a wavelength. We studied the traffic groom<strong>in</strong>g problem <strong>for</strong><br />

unidirectional path networks with groom<strong>in</strong>g ratio 2 <strong>in</strong> Chapter 10, <strong>and</strong> proposed<br />

two heuristic algorithms <strong>for</strong> arbitrary <strong>in</strong>stances with unit requests us<strong>in</strong>g <strong>in</strong>terval<br />

partition <strong>and</strong> graph edge decomposition methods. We experimentally compared<br />

the two algorithms <strong>for</strong> their groom<strong>in</strong>g per<strong>for</strong>mance <strong>and</strong> showed that the graph<br />

edge decomposition method leads to the overall better groom<strong>in</strong>g per<strong>for</strong>mance. It<br />

also achieved optimal groom<strong>in</strong>g results <strong>for</strong> <strong>in</strong>stances with fixed length requests.<br />

We extended our heuristics to unidirectional path networks with groom<strong>in</strong>g ratio<br />

g > 2 through recursion.<br />

For unidirectional path networks with all-to-all <strong>in</strong>stances of unit requests we<br />

established a lower bound <strong>for</strong> groom<strong>in</strong>g ratio 3 <strong>and</strong> 4 respectively, <strong>and</strong> an upper<br />

bound <strong>for</strong> the case of groom<strong>in</strong>g ratio 3 <strong>in</strong> Chapter 9. The lower <strong>and</strong> upper<br />

bounds <strong>for</strong> unidirectional paths with groom<strong>in</strong>g ratio 3 imply an asymptotic ratio<br />

of 1.07. We considered the groom<strong>in</strong>g problem <strong>for</strong> unidirectional r<strong>in</strong>g networks<br />

with groom<strong>in</strong>g ratio 2 <strong>in</strong> Chapter 10. We proposed an algorithm <strong>for</strong> groom<strong>in</strong>g<br />

arbitrary <strong>in</strong>stances with unit requests, that comb<strong>in</strong>ed greedy <strong>and</strong> graph edge<br />

decomposition methods. Two related algorithms were described <strong>and</strong> adapted<br />

<strong>for</strong> groom<strong>in</strong>g arbitrary <strong>in</strong>stances with unit requests on unidirectional r<strong>in</strong>gs with<br />

groom<strong>in</strong>g ratio 2. We experimentally compared the two algorithms with our<br />

heuristic <strong>for</strong> per<strong>for</strong>mance. Our experiments showed improved per<strong>for</strong>mance <strong>for</strong><br />

our algorithm <strong>for</strong> most <strong>in</strong>stances, particularly, achieved best per<strong>for</strong>mance on all<br />

<strong>in</strong>stances with uni<strong>for</strong>m bounded length requests - which correspond to uni<strong>for</strong>m<br />

<strong>in</strong>stances <strong>for</strong> bidirectional r<strong>in</strong>g networks. These algorithms can be extended to<br />

unidirectional r<strong>in</strong>gs with arbitrary groom<strong>in</strong>g ratios by adapt<strong>in</strong>g the extension<br />

method used <strong>in</strong> Chapter 8. We remark that extend<strong>in</strong>g the heuristics <strong>for</strong> traffic<br />

groom<strong>in</strong>g on networks with groom<strong>in</strong>g ratio 2 to high groom<strong>in</strong>g ratios may lead<br />

to worse solution as the groom<strong>in</strong>g ratio <strong>in</strong>creases. Future work <strong>in</strong> this direction<br />

188


is to seek new approaches <strong>for</strong> groom<strong>in</strong>g arbitrary <strong>in</strong>stances on networks with<br />

higher groom<strong>in</strong>g ratios. In addition, unidirectional path networks with higher<br />

groom<strong>in</strong>g ratios <strong>and</strong> all-to-all <strong>in</strong>stances require further consideration s<strong>in</strong>ce unlike<br />

unidirectional r<strong>in</strong>g networks with all-to-all <strong>in</strong>stances where exact methods are<br />

know <strong>for</strong> several higher groom<strong>in</strong>g ratio constra<strong>in</strong>ts [Bermond <strong>and</strong> Ceroi (2003);<br />

Bermond et al. (2003); Hu (January, 2002); Bermond <strong>and</strong> Coudert (May 2003);<br />

Dutta <strong>and</strong> Rouskas (January, 2002); Bermond et al. (2005)], there are no known<br />

exact methods <strong>for</strong> the <strong>for</strong>mer <strong>for</strong> higher groom<strong>in</strong>g ratio constra<strong>in</strong>ts other than 2.<br />

189


Appendix A<br />

Appendix<br />

In this appendix we report more experimental results <strong>for</strong> different algorithms<br />

considered <strong>in</strong> this thesis. The source code <strong>for</strong> our experiments is posted at<br />

http://www.dcs.kcl.ac.uk/staff/radzik/PhDstudents/Justo/thesisweb.html, where<br />

you can download <strong>and</strong> experiment yourself. In Appendix A.1 we report numerical<br />

results <strong>for</strong> WA algorithms <strong>for</strong> r<strong>in</strong>g networks considered <strong>in</strong> Chapter 3. Appendix<br />

A.2 gives numerical results <strong>for</strong> WA algorithms <strong>for</strong> tree of r<strong>in</strong>gs networks<br />

discussed <strong>in</strong> Chapter 4. And <strong>in</strong> Appendix A.3 we report numerical results <strong>for</strong><br />

WA algorithms <strong>for</strong> r<strong>in</strong>g networks with cluster conversion capabilities considered<br />

<strong>in</strong> Chapter 5.<br />

Furthermore, we report numerical results <strong>for</strong> traffic groom<strong>in</strong>g algorithms considered<br />

<strong>in</strong> Chapter 8 <strong>and</strong> 10 <strong>for</strong> path <strong>and</strong> r<strong>in</strong>g networks with general <strong>in</strong>stances<br />

of unit size requests. For path networks we report numerical results <strong>in</strong> Appendix<br />

A.4, <strong>and</strong> <strong>for</strong> r<strong>in</strong>g networks we report the results <strong>in</strong> Appendix A.5.<br />

The numerical results show the average number (of wavelengths, ADMs <strong>and</strong><br />

wavelength conversions) taken from ten r<strong>and</strong>om <strong>in</strong>stances.<br />

190


A.1 Undirected r<strong>in</strong>gs<br />

A.1 Undirected r<strong>in</strong>gs<br />

In this section we report numerical results <strong>for</strong> WA algorithms <strong>for</strong> r<strong>in</strong>g networks<br />

considered <strong>in</strong> Chapter 3. We consider r<strong>in</strong>g networks with 16 to 128 nodes us<strong>in</strong>g<br />

<strong>in</strong>stances with Uni<strong>for</strong>m <strong>and</strong> Gaussian distribution of requests described <strong>in</strong><br />

Section 2.4.1. The <strong>in</strong>stances are routed us<strong>in</strong>g the shortest path <strong>and</strong> the load<br />

balanc<strong>in</strong>g rout<strong>in</strong>g decisions described <strong>in</strong> Section 2.4.2. Tables A.1, A.2, A.3,<br />

<strong>and</strong> A.4 show the numerical results <strong>for</strong> networks with different number of nodes.<br />

We show the average number of wavelengths used by the algorithms LPA, RPA,<br />

m<strong>in</strong>FPA, maxFPA, IFPA, m<strong>in</strong>2P, I2P, FCV, IFCV, LG, <strong>and</strong> RG, <strong>and</strong> the lower<br />

bound number of wavelengths W-LB <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-SP, Uni<strong>for</strong>m-LB,<br />

Gaussian-SP <strong>and</strong> Gaussian-LB distribution of requests.<br />

191


A.1 Undirected r<strong>in</strong>gs<br />

Distribution W-LB LPA RPA m<strong>in</strong>FPA maxFPA IFPA m<strong>in</strong>2P I2P FCV IFCV LG RG<br />

41 41 41 41 41 41 41 41 41 41 41 43<br />

81 81 82 81 82 81 82 81 82 81 82 83<br />

154 154 154 154 154 154 154 154 154 154 154 157<br />

Uni<strong>for</strong>m-SP 301 301 301 301 301 301 301 301 301 301 301 305<br />

368 368 368 369 368 368 369 368 369 368 369 374<br />

446 446 446 446 447 446 446 446 446 446 447 449<br />

509 509 509 509 510 509 509 509 510 509 512 515<br />

577 577 577 577 577 577 581 577 577 577 579 584<br />

42 42 43 42 43 42 44 42 43 42 43 46<br />

81 82 82 82 82 81 84 82 82 81 82 87<br />

159 160 161 161 161 159 165 162 161 159 161 170<br />

Uni<strong>for</strong>m-LB 320 320 321 320 321 320 330 324 321 320 322 337<br />

395 395 396 397 396 395 407 400 397 395 396 415<br />

477 477 478 479 477 477 490 485 479 477 479 500<br />

554 554 554 556 556 554 570 562 557 554 556 578<br />

637 637 637 638 639 637 651 645 639 637 640 663<br />

95 95 95 95 95 95 95 95 95 95 95 95<br />

187 187 187 187 187 187 187 187 187 187 187 187<br />

371 371 371 371 371 371 371 371 371 371 371 371<br />

Gaussian-SP 743 743 743 743 743 743 743 743 743 743 743 743<br />

925 925 925 925 925 925 925 925 925 925 925 925<br />

1109 1109 1109 1109 1109 1109 1109 1109 1109 1109 1109 1109<br />

1288 1288 1288 1288 1288 1288 1288 1288 1288 1288 1288 1288<br />

1482 1482 1482 1482 1482 1482 1482 1482 1482 1482 1482 1482<br />

55 55 57 55 56 55 56 55 56 55 55 60<br />

106 107 111 107 107 107 110 108 107 107 107 114<br />

214 214 225 215 216 214 217 215 215 214 214 227<br />

Gaussian-LB 426 426 452 429 432 426 434 429 429 426 426 448<br />

527 527 553 534 535 527 541 532 532 527 527 550<br />

639 640 667 644 648 640 653 648 644 640 640 666<br />

751 751 793 759 762 751 767 760 757 751 751 781<br />

847 847 887 856 856 847 861 856 853 847 847 879<br />

Table A.1: Average number of wavelengths <strong>for</strong> 16-node r<strong>in</strong>g network. The <strong>in</strong>stances<br />

have 128, 256, 512, 1024, 1280, 1536, 1792 <strong>and</strong> 2048 requests.<br />

192


A.1 Undirected r<strong>in</strong>gs<br />

Distribution W-LB LPA RPA m<strong>in</strong>FPA maxFPA IFPA m<strong>in</strong>2P I2P FCV IFCV LG RG<br />

43 44 44 44 44 43 44 43 44 43 44 46<br />

78 79 79 79 78 78 80 78 79 78 80 83<br />

147 148 148 148 148 147 150 148 150 148 150 156<br />

Uni<strong>for</strong>m-SP 292 292 292 292 294 292 295 292 294 292 296 304<br />

356 356 357 356 360 356 367 359 360 357 361 374<br />

430 430 431 431 434 430 439 431 432 430 434 444<br />

497 497 498 498 499 497 507 500 500 498 502 516<br />

570 571 571 572 572 570 583 572 574 571 578 590<br />

41 42 42 43 43 41 43 42 43 42 42 46<br />

81 83 85 85 84 82 87 85 86 84 84 90<br />

158 159 161 163 163 160 169 165 163 161 162 173<br />

Uni<strong>for</strong>m-LB 313 315 317 319 320 315 334 329 321 316 318 340<br />

388 390 392 397 396 390 413 407 397 393 395 420<br />

464 466 468 470 470 466 491 486 473 468 472 500<br />

542 543 546 549 551 544 573 565 551 546 550 582<br />

616 618 620 625 623 618 654 643 626 621 623 660<br />

95 95 95 95 95 95 95 95 95 95 95 95<br />

187 187 187 187 187 187 187 187 187 187 187 187<br />

372 372 372 372 372 372 372 372 372 372 372 372<br />

Gaussian-SP 744 744 744 744 744 744 744 744 744 744 744 744<br />

935 935 935 935 935 935 935 935 935 935 935 935<br />

1116 1116 1116 1116 1116 1116 1116 1116 1116 1116 1116 1116<br />

1308 1308 1308 1308 1308 1308 1308 1308 1308 1308 1308 1308<br />

1487 1487 1487 1487 1487 1487 1487 1487 1487 1487 1487 1487<br />

54 54 57 55 54 54 55 54 54 54 54 59<br />

107 107 111 108 108 107 109 107 108 107 107 115<br />

213 214 223 215 216 214 219 215 215 214 214 227<br />

Gaussian-LB 425 426 450 427 427 426 434 430 427 426 426 447<br />

538 538 564 546 538 538 549 544 544 538 538 561<br />

637 637 671 645 644 637 648 644 643 637 637 664<br />

760 761 797 761 773 761 782 767 761 761 761 789<br />

852 852 891 854 867 852 865 857 855 852 852 880<br />

Table A.2: Average number of wavelengths <strong>for</strong> 32-node r<strong>in</strong>g network. The <strong>in</strong>stances<br />

have 128, 256, 512, 1024, 1280, 1536, 1792 <strong>and</strong> 2048 requests.<br />

193


A.1 Undirected r<strong>in</strong>gs<br />

Distribution |R| W-LB LPA RPA m<strong>in</strong>FPA maxFPA m<strong>in</strong>2P FCV LG RG<br />

128 43 44 44 44 44 44 44 44 46<br />

256 78 79 79 80 81 80 81 81 83<br />

512 150 151 153 152 153 153 155 155 159<br />

Uni<strong>for</strong>m-SP 1024 285 287 288 290 293 295 295 294 303<br />

1280 349 352 351 351 358 363 359 359 374<br />

1536 422 425 426 428 433 441 434 432 447<br />

1792 488 490 492 493 501 511 498 502 518<br />

2048 557 559 559 560 564 575 569 570 589<br />

128 41 43 44 43 43 44 44 43 46<br />

256 79 82 83 84 84 85 85 83 89<br />

512 153 157 159 163 162 166 165 159 171<br />

Uni<strong>for</strong>m-LB 1024 306 310 314 320 320 332 323 315 338<br />

1280 381 387 391 398 397 415 400 392 421<br />

1536 458 464 466 475 477 501 480 470 502<br />

1792 533 538 543 550 553 578 556 546 583<br />

2048 604 609 613 624 623 654 626 617 659<br />

128 95 95 95 95 95 95 95 95 95<br />

256 189 189 189 189 189 189 189 189 189<br />

512 374 374 374 374 374 374 374 374 374<br />

Gaussian-SP 1024 745 745 745 745 745 745 745 745 745<br />

1280 925 925 925 925 925 925 925 925 925<br />

1536 1120 1120 1120 1120 1120 1120 1120 1120 1120<br />

1792 1308 1308 1308 1308 1308 1308 1308 1308 1308<br />

2048 1491 1491 1491 1491 1491 1491 1491 1491 1491<br />

128 55 55 57 55 55 56 55 55 60<br />

256 107 107 113 109 107 109 108 107 115<br />

512 214 214 227 215 219 221 215 214 227<br />

Gaussian-LB 1024 426 427 447 428 437 435 428 427 444<br />

1280 542 542 571 549 545 553 547 542 563<br />

1536 637 638 670 644 653 650 642 638 653<br />

1792 768 768 810 778 780 783 776 768 796<br />

2048 850 851 894 858 863 863 856 850 881<br />

Table A.3: Average number of wavelengths <strong>for</strong> 64-node r<strong>in</strong>g network. The <strong>in</strong>stances<br />

have 128, 256, 512, 1024, 1280, 1536, 1792 <strong>and</strong> 2048 requests.<br />

194


A.1 Undirected r<strong>in</strong>gs<br />

n Distribution |R| W-LB LPA RPA m<strong>in</strong>FPA maxFPA m<strong>in</strong>2P FCV LG RG<br />

512 143 147 147 151 153 153 152 149 157<br />

Uni<strong>for</strong>m-SP 1024 282 286 286 290 294 298 295 292 304<br />

1536 422 425 427 426 437 441 436 433 449<br />

2048 557 560 564 570 571 592 578 571 593<br />

512 157 163 165 168 168 173 169 165 177<br />

Uni<strong>for</strong>m-LB 1024 307 314 318 324 323 340 329 318 341<br />

1536 454 462 467 477 478 498 482 468 499<br />

96 2048 608 618 623 637 635 665 642 625 667<br />

512 372 372 372 372 372 372 372 372 372<br />

Gaussian-SP 1024 746 746 746 746 746 746 746 746 746<br />

1536 1114 1114 1114 1114 1114 1114 1114 1114 1114<br />

2048 1486 1486 1486 1486 1486 1486 1486 1486 1486<br />

512 212 212 223 213 213 214 213 212 224<br />

Gaussian-LB 1024 424 424 445 426 426 435 425 424 444<br />

1536 663 663 693 664 668 679 664 663 690<br />

2048 879 880 920 888 891 893 884 880 914<br />

512 152 154 156 154 158 155 157 157 162<br />

Uni<strong>for</strong>m-SP 1024 290 293 294 296 302 304 303 299 312<br />

1536 420 424 426 428 437 444 438 433 449<br />

2048 553 557 560 568 574 584 580 570 591<br />

512 155 162 163 166 167 169 168 162 174<br />

Uni<strong>for</strong>m-LB 1024 307 316 319 326 330 336 330 319 342<br />

1536 452 462 466 481 480 503 484 469 501<br />

128 2048 607 618 624 639 640 667 648 625 667<br />

512 374 374 374 374 374 374 374 374 374<br />

Gaussian-SP 1024 750 750 750 750 750 750 750 750 750<br />

1536 1121 1121 1121 1121 1121 1121 1121 1121 1121<br />

2048 1489 1489 1489 1489 1489 1489 1489 1489 1489<br />

512 214 214 223 215 214 219 215 214 226<br />

Gaussian-LB 1024 427 427 446 429 433 435 429 427 446<br />

1536 638 638 668 638 642 652 639 638 664<br />

2048 861 862 903 863 862 875 863 862 894<br />

Table A.4: Average number of wavelengths <strong>for</strong> 96-node <strong>and</strong> 128-node r<strong>in</strong>g networks.<br />

The <strong>in</strong>stances have 512, 1024, 1536, <strong>and</strong> 2048 requests.<br />

195


A.2 Undirected tree of r<strong>in</strong>gs<br />

A.2 Undirected tree of r<strong>in</strong>gs<br />

In this section we report numerical results <strong>for</strong> WA algorithms <strong>for</strong> tree of r<strong>in</strong>gs<br />

networks considered <strong>in</strong> Chapter 4. We consider tree of r<strong>in</strong>gs with 10 r<strong>in</strong>gs, where<br />

number of nodes on each r<strong>in</strong>g is chosen uni<strong>for</strong>mly at r<strong>and</strong>om from the <strong>in</strong>tervals<br />

8 − 16 <strong>and</strong> 16 − 32. We use <strong>in</strong>stances with Uni<strong>for</strong>m <strong>and</strong> Gaussian distribution of<br />

requests described <strong>in</strong> Section 2.4.1. The <strong>in</strong>stances are routed us<strong>in</strong>g the shortest<br />

path <strong>and</strong> the load balanc<strong>in</strong>g rout<strong>in</strong>g decisions described <strong>in</strong> Section 2.4.2. Tables<br />

A.5 <strong>and</strong> A.6 show the numerical results <strong>for</strong> networks where the number of nodes<br />

<strong>for</strong> each r<strong>in</strong>g is chosen uni<strong>for</strong>mly at r<strong>and</strong>om from the <strong>in</strong>terval 8 − 16 <strong>and</strong> 16 − 32<br />

respectively. We show the average number of wavelengths used by the algorithms<br />

LP-DFS, APX, LG, <strong>and</strong> RG, <strong>and</strong> the lower bound number of wavelengths W-<br />

LB, <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-SP, Uni<strong>for</strong>m-LB, Gaussian-SP <strong>and</strong> Gaussian-LB<br />

distribution of requests.<br />

196


A.2 Undirected tree of r<strong>in</strong>gs<br />

Distribution |R| W-LB LP-DFS APX LG RG<br />

128 51 53 77 53 53<br />

256 81 82 124 82 83<br />

Uni<strong>for</strong>m-SP 512 178 182 266 182 182<br />

1024 339 342 506 342 342<br />

2048 728 731 1080 731 731<br />

2560 944 999 1263 999 999<br />

3072 963 1064 1202 1064 1064<br />

4096 1214 1345 1519 1345 1345<br />

128 45 46 72 46 46<br />

256 83 85 127 84 85<br />

Uni<strong>for</strong>m-LB 512 178 180 268 180 180<br />

1024 321 325 475 324 325<br />

2048 812 815 1194 815 815<br />

2560 788 808 1045 807 809<br />

3072 1134 1250 1391 1250 1250<br />

4096 1333 1475 1660 1475 1476<br />

128 17 18 31 18 19<br />

256 34 37 67 36 36<br />

Gaussian-SP 512 66 68 131 68 67<br />

1024 123 127 253 125 126<br />

2048 252 260 512 258 257<br />

2560 471 471 673 472 472<br />

3072 354 367 600 370 370<br />

4096 464 482 796 484 486<br />

128 16 17 31 17 17<br />

256 29 30 57 31 31<br />

Gaussian-LB 512 57 61 120 60 60<br />

1024 111 116 233 117 114<br />

2048 205 219 448 219 212<br />

2560 439 445 615 444 444<br />

3072 333 355 549 356 360<br />

4096 439 468 722 473 471<br />

Table A.5: Average number of wavelengths <strong>for</strong> tree of r<strong>in</strong>gs where the number of nodes<br />

<strong>for</strong> each r<strong>in</strong>g is chosen uni<strong>for</strong>mly at r<strong>and</strong>om from the <strong>in</strong>terval 8 − 16. The <strong>in</strong>stances<br />

have 128, 256, 512, 1024, 2048, 2560, 3072, <strong>and</strong> 4096 requests.<br />

197


A.2 Undirected tree of r<strong>in</strong>gs<br />

Distribution |R| W-LB LP-DFS APX LG RG<br />

512 170 178 205 178 178<br />

1024 364 379 432 378 379<br />

1536 542 556 639 556 557<br />

Uni<strong>for</strong>m-SP 2048 795 819 941 819 820<br />

2560 880 911 1048 910 912<br />

3072 1149 1201 1420 1201 1201<br />

4096 1330 1489 1700 1488 1488<br />

512 177 185 213 184 186<br />

1024 351 362 417 362 362<br />

Uni<strong>for</strong>m-LB 1536 522 543 627 542 543<br />

2048 669 730 836 729 730<br />

2560 1043 1083 1227 1083 1084<br />

3072 1101 1155 1362 1154 1155<br />

4096 1303 1458 1686 1456 1458<br />

512 72 74 105 76 76<br />

1024 127 133 207 143 137<br />

Gaussian-SP 1536 192 201 311 209 202<br />

2048 251 261 403 279 264<br />

2560 323 345 520 363 346<br />

3072 490 506 820 508 508<br />

4096 663 673 1116 674 674<br />

512 58 66 94 66 67<br />

1024 115 130 182 133 132<br />

Gaussian-LB 1536 168 185 272 189 188<br />

2048 222 246 350 254 249<br />

2560 268 306 423 310 307<br />

3072 427 443 693 450 444<br />

4096 567 585 916 595 587<br />

Table A.6: Average number of wavelengths <strong>for</strong> tree of r<strong>in</strong>gs where the number of nodes<br />

<strong>for</strong> each r<strong>in</strong>g is chosen uni<strong>for</strong>mly at r<strong>and</strong>om from the <strong>in</strong>terval 16 − 32. The <strong>in</strong>stances<br />

have 512, 1024, 1536, 2048, 2560, 3072, <strong>and</strong> 4096 requests<br />

198


A.3 Undirected r<strong>in</strong>gs with cluster wavelength conversion capabilities<br />

A.3 Undirected r<strong>in</strong>gs with cluster wavelength<br />

conversion capabilities<br />

In this section we report numerical results <strong>for</strong> WA algorithms <strong>for</strong> r<strong>in</strong>g networks<br />

with cluster wavelength conversion capabilities considered <strong>in</strong> Chapter 5. We<br />

consider r<strong>in</strong>g networks with 16 to 96 nodes us<strong>in</strong>g <strong>in</strong>stances with Uni<strong>for</strong>m <strong>and</strong><br />

Gaussian distribution of requests described <strong>in</strong> Section 2.4.1. The <strong>in</strong>stances are<br />

routed us<strong>in</strong>g the shortest path <strong>and</strong> the load balanc<strong>in</strong>g rout<strong>in</strong>g decisions described<br />

<strong>in</strong> Section 2.4.2. Tables A.7, A.8, A.9, <strong>and</strong> A.10 show the numerical results<br />

<strong>for</strong> networks with different number of nodes. We show the average number of<br />

wavelengths (W) <strong>and</strong> wavelength conversions (C) used by the algorithms SPR,<br />

m<strong>in</strong>FP-WC, LP-WC, <strong>and</strong> IFP-WC, <strong>and</strong> the lower bound number of wavelengths<br />

W-LB, <strong>for</strong> <strong>in</strong>stances with Uni<strong>for</strong>m-SP, Uni<strong>for</strong>m-LB, Gaussian-SP <strong>and</strong> Gaussian-<br />

LB distribution of requests.<br />

199


A.3 Undirected r<strong>in</strong>gs with cluster wavelength conversion capabilities<br />

SPR m<strong>in</strong>FP-WC LP-WC IFP-WC<br />

Distribution |R| W-LB W C W C W C W C<br />

128 42 42 13 42 0 42 0 42 0<br />

256 84 84 27 84 0 84 0 84 0<br />

512 153 154 56 154 15 154 0 153 3<br />

Uni<strong>for</strong>m-SP 1024 295 295 102 295 20 295 0 295 7<br />

1536 446 446 142 446 23 446 0 446 13<br />

2048 580 580 200 580 22 580 0 580 11<br />

2560 731 731 202 731 0 731 0 731 0<br />

3072 852 852 283 855 0 852 0 852 0<br />

128 42 42 16 43 0 42 0 42 0<br />

256 81 82 34 82 0 81 0 81 0<br />

512 160 161 66 161 6 161 0 160 0<br />

Uni<strong>for</strong>m-LB 1024 314 314 114 316 6 314 0 314 1<br />

1536 479 480 189 482 5 480 0 479 0<br />

2048 631 631 226 632 4 631 0 631 0<br />

2560 793 793 307 794 0 793 0 793 0<br />

3072 949 949 358 952 0 949 0 949 0<br />

128 95 95 2 95 0 95 0 95 0<br />

256 187 187 2 187 0 187 0 187 0<br />

512 377 377 2 377 98 377 0 377 1<br />

Gaussian-SP 1024 741 741 3 741 206 741 0 741 0<br />

1536 1113 1113 3 1113 328 1113 0 1113 0<br />

2048 1475 1475 2 1475 404 1475 0 1475 0<br />

2560 1847 1847 4 1847 0 1847 0 1847 0<br />

3072 2213 2213 3 2213 0 2213 0 2213 0<br />

128 52 53 11 52 0 52 0 52 0<br />

256 108 110 26 109 0 109 0 109 0<br />

512 216 221 55 217 2 217 0 217 0<br />

Gaussian-LB 1024 432 442 112 436 6 432 0 432 0<br />

1536 637 649 162 642 8 637 0 637 0<br />

2048 842 858 203 846 14 842 0 842 0<br />

2560 1094 1119 294 1099 0 1094 0 1094 0<br />

3072 1265 1292 306 1281 0 1265 0 1265 0<br />

Table A.7: Average number of wavelengths (W) <strong>and</strong> conversions (C) <strong>for</strong> 16-node r<strong>in</strong>g<br />

network. The <strong>in</strong>stances have 128, 256, 512, 1024, 1536, 2048, 2560 <strong>and</strong> 3072 requests.<br />

200


A.3 Undirected r<strong>in</strong>gs with cluster wavelength conversion capabilities<br />

SPR m<strong>in</strong>FP-WC LP-WC IFP-WC<br />

Distribution |R| W-LB W C W C W C W C<br />

128 41 42 14 42 0 42 0 41 0<br />

256 78 79 35 79 0 79 0 78 0<br />

512 156 157 66 156 0 157 0 156 0<br />

Uni<strong>for</strong>m-SP 1024 288 291 143 290 1 288 0 288 0<br />

1536 425 427 215 426 2 425 0 425 0<br />

2048 565 569 306 567 2 566 0 565 0<br />

2560 703 707 352 705 2 703 0 703 0<br />

3072 835 840 430 837 2 836 0 835 0<br />

128 41 42 20 43 1 42 0 42 0<br />

256 79 81 40 82 1 80 0 79 1<br />

512 158 161 82 162 1 160 0 159 0<br />

Uni<strong>for</strong>m-LB 1024 309 315 173 316 1 311 0 311 0<br />

1536 462 469 246 470 1 465 0 464 0<br />

2048 617 628 347 625 0 618 0 619 0<br />

2560 777 788 425 786 1 778 0 780 0<br />

3072 925 936 523 936 1 927 0 927 0<br />

128 95 95 1 95 0 95 0 95 0<br />

256 187 187 1 187 0 187 0 187 0<br />

512 375 375 3 375 0 375 0 375 0<br />

Gaussian-SP 1024 749 749 3 749 0 749 0 749 0<br />

1536 1113 1113 1 1113 0 1113 0 1113 0<br />

2048 1486 1486 3 1486 0 1486 0 1486 0<br />

2560 1856 1856 1 1856 0 1856 0 1856 0<br />

3072 2225 2225 3 2225 0 2225 0 2225 0<br />

128 53 54 12 54 0 54 0 54 0<br />

256 109 111 26 110 0 110 0 110 0<br />

512 210 213 46 212 0 210 0 210 0<br />

Gaussian-LB 1024 427 436 106 432 0 428 0 428 0<br />

1536 646 657 164 651 0 646 0 646 0<br />

2048 850 867 214 863 0 851 0 850 0<br />

2560 1049 1068 242 1057 0 1050 0 1050 0<br />

3072 1278 1305 316 1287 0 1279 0 1279 0<br />

Table A.8: Average number of wavelengths (W) <strong>and</strong> conversions (C) <strong>for</strong> 32-node r<strong>in</strong>g<br />

network. The <strong>in</strong>stances have 128, 256, 512, 1024, 1536, 2048, 2560 <strong>and</strong> 3072 requests.<br />

201


A.3 Undirected r<strong>in</strong>gs with cluster wavelength conversion capabilities<br />

SPR m<strong>in</strong>FP-WC LP-WC IFP-WC<br />

Distribution |R| W-LB W C W C W C W C<br />

128 42 43 18 43 1 43 0 42 1<br />

256 77 78 37 78 1 78 0 77 0<br />

512 153 156 84 155 1 154 0 153 1<br />

Uni<strong>for</strong>m-SP 1024 282 288 167 286 2 284 0 283 1<br />

1536 417 424 255 421 2 418 0 417 1<br />

2048 559 568 343 564 4 561 0 560 2<br />

2560 694 703 436 696 2 695 0 694 1<br />

3072 829 840 536 832 2 831 0 829 2<br />

128 41 43 22 44 0 42 0 42 1<br />

256 79 83 42 85 1 83 0 81 1<br />

512 154 161 94 162 2 158 0 159 1<br />

Uni<strong>for</strong>m-LB 1024 309 319 192 323 2 313 0 316 1<br />

1536 456 469 290 471 2 461 0 465 1<br />

2048 610 627 378 631 2 615 0 622 0<br />

2560 759 780 486 780 2 765 0 772 1<br />

3072 914 935 586 935 3 919 0 927 1<br />

128 93 93 2 93 0 93 0 93 0<br />

256 189 189 1 189 0 189 0 189 0<br />

512 377 377 1 377 0 377 0 377 0<br />

Gaussian-SP 1024 746 746 2 746 0 746 0 746 0<br />

1536 1121 1121 2 1121 0 1121 0 1121 0<br />

2048 1486 1486 2 1486 0 1486 0 1486 0<br />

2560 1859 1859 2 1559 0 1859 0 1859 0<br />

3072 2228 2228 2 2228 0 2228 0 2228 0<br />

128 56 57 13 57 0 57 0 56 0<br />

256 108 110 26 109 0 109 0 108 0<br />

512 214 218 49 216 0 215 0 215 0<br />

Gaussian-LB 1024 422 428 102 424 0 422 0 422 0<br />

1536 643 657 165 647 0 644 0 644 0<br />

2048 838 856 204 843 0 838 0 838 0<br />

2560 1048 1072 254 1061 0 1048 0 1048 0<br />

3072 1277 1306 318 1287 0 1277 0 1277 0<br />

Table A.9: Average number of wavelengths (W) <strong>and</strong> conversions (C) <strong>for</strong> 64-node r<strong>in</strong>g<br />

network. The <strong>in</strong>stances have 128, 256, 512, 1024, 1536, 2048, 2560 <strong>and</strong> 3072 requests.<br />

202


A.3 Undirected r<strong>in</strong>gs with cluster wavelength conversion capabilities<br />

SPR m<strong>in</strong>FP-WC LP-WC IFP-WC<br />

Distribution |R| W-LB W C W C W C W C<br />

128 42 43 18 43 1 43 0 42 0<br />

256 78 80 37 81 1 79 0 78 1<br />

512 147 151 82 152 1 149 0 147 0<br />

Uni<strong>for</strong>m-SP 1024 282 289 173 286 2 285 0 283 2<br />

1536 419 428 269 425 3 422 0 420 1<br />

2048 555 565 353 562 3 558 0 555 2<br />

2560 693 707 468 699 3 697 0 695 2<br />

3072 819 835 551 826 4 823 0 819 2<br />

128 42 44 23 46 2 46 0 44 1<br />

256 78 81 43 84 1 81 0 80 1<br />

512 156 164 95 167 1 161 0 162 1<br />

Uni<strong>for</strong>m-LB 1024 308 320 195 325 2 315 0 320 2<br />

1536 457 472 295 478 3 465 1 473 1<br />

2048 608 630 397 636 3 618 0 627 2<br />

2560 751 774 499 780 4 760 1 772 2<br />

3072 907 934 600 939 4 916 1 931 2<br />

128 94 94 1 94 0 94 0 94 0<br />

256 189 189 1 189 0 189 0 189 0<br />

512 375 375 1 375 0 375 0 375 0<br />

Gaussian-SP 1024 749 749 2 749 0 749 0 749 0<br />

1536 1124 1124 2 1124 0 1124 0 1124 0<br />

2048 1486 1486 3 1486 0 1486 0 1486 0<br />

2560 1861 1861 2 1861 0 1861 0 1861 0<br />

3072 2234 2234 3 2234 0 2234 0 2234 0<br />

128 55 55 11 55 0 55 0 55 0<br />

256 107 109 24 108 0 107 0 107 0<br />

512 211 215 48 213 0 212 0 212 0<br />

Gaussian-LB 1024 425 432 101 426 0 425 0 425 0<br />

1536 642 655 162 647 0 642 0 642 0<br />

2048 847 863 207 858 0 847 0 847 0<br />

2560 1050 1069 254 1063 0 1050 0 1050 0<br />

3072 1286 1314 330 1306 0 1287 0 1287 0<br />

Table A.10: Average number of wavelengths (W) <strong>and</strong> conversions (C) <strong>for</strong> 96-node r<strong>in</strong>g<br />

network. The <strong>in</strong>stances have 128, 256, 512, 1024, 1536, 2048, 2560 <strong>and</strong> 3072 requests.<br />

203


A.4 Traffic groom<strong>in</strong>g on path networks - General Instances<br />

A.4 Traffic groom<strong>in</strong>g on path networks - General<br />

Instances<br />

In this section we report numerical results <strong>for</strong> traffic groom<strong>in</strong>g algorithms <strong>for</strong><br />

unidirectional path networks with groom<strong>in</strong>g ratio 2 <strong>and</strong> <strong>in</strong>stances with unit size<br />

requests considered <strong>in</strong> Chapter 8. We consider path networks with 16 to 96<br />

nodes us<strong>in</strong>g <strong>in</strong>stances with BL-Uni<strong>for</strong>m, UL-Uni<strong>for</strong>m <strong>and</strong> Gaussian distribution<br />

of requests described <strong>in</strong> Section 2.4.1. No rout<strong>in</strong>g decisions are needed <strong>for</strong> path<br />

networks s<strong>in</strong>ce every pair of nodes has a unique path. Tables A.11, A.12, A.13,<br />

<strong>and</strong> A.14 show the numerical results <strong>for</strong> path networks with different number of<br />

nodes. We show the average number of ADMs (ADM) <strong>and</strong> wavelengths (W) used<br />

by the algorithms EDA-SF, EDA-LF, IPA-MWM, IPA-LWM, <strong>and</strong> IPA-SGM, <strong>and</strong><br />

the lower bound number of ADMs ADM-LB <strong>and</strong> wavelengths W-LB, <strong>for</strong> <strong>in</strong>stances<br />

with UL-Uni<strong>for</strong>m, BL-Uni<strong>for</strong>m, <strong>and</strong> Gaussian distribution of requests.<br />

EDA<br />

IPA<br />

EDA-SF EDA-LF IPA-MWM IPA-LWM IPA-SGM<br />

Distribution |R| W-LB ADM-LB ADM W ADM W ADM W ADM W ADM W<br />

128 34 102 119 34 123 35 125 34 129 34 156 34<br />

256 70 203 221 71 230 70 239 70 248 70 308 70<br />

512 141 401 421 141 450 142 456 141 471 141 610 141<br />

UL-Uni<strong>for</strong>m 1024 274 790 809 275 859 275 870 274 895 274 1206 274<br />

1536 416 1187 1205 416 1280 416 1284 416 1318 416 1812 416<br />

2048 560 1588 1608 561 1689 561 1701 560 1743 560 2421 560<br />

128 37 103 109 37 112 37 114 37 117 37 144 37<br />

256 73 204 212 73 219 73 220 73 226 73 289 73<br />

512 145 404 413 145 421 145 427 144 434 144 580 144<br />

Gaussian 1024 288 803 812 288 827 288 833 288 846 287 1149 288<br />

1536 432 1204 1215 433 1239 432 1240 432 1253 432 1701 432<br />

2048 576 1604 1616 576 1648 576 1645 576 1664 576 2286 576<br />

128 30 98 109 30 112 30 122 30 126 30 148 30<br />

256 58 190 202 58 214 58 227 58 234 58 291 58<br />

512 111 372 384 111 409 111 430 111 442 111 570 111<br />

BL-Uni<strong>for</strong>m 1024 226 741 754 226 798 226 826 226 851 226 1140 226<br />

1536 334 1105 1119 334 1181 334 1214 334 1243 334 1699 334<br />

2048 439 1466 1480 439 1548 439 1593 439 1634 439 2254 439<br />

Table A.11: Average number of ADMs (ADM) <strong>and</strong> wavelengths (W) <strong>for</strong> 16-node<br />

path network. The <strong>in</strong>stances have 128, 256, 512, 1024, 1536 <strong>and</strong> 2048 requests.<br />

204


A.4 Traffic groom<strong>in</strong>g on path networks - General Instances<br />

EDA<br />

IPA<br />

EDA-SF EDA-LF IPA-MWM IPA-LWM IPA-SGM<br />

Distribution |R| W-LB ADM-LB ADM W ADM W ADM W ADM W ADM W<br />

128 34 108 137 35 139 35 149 34 154 34 174 34<br />

256 66 203 251 67 256 68 273 66 279 66 328 66<br />

512 136 401 465 137 484 138 515 136 531 136 646 136<br />

UL-Uni<strong>for</strong>m 1024 268 788 865 269 915 270 969 268 999 268 1263 268<br />

1536 397 1173 1256 398 1334 399 1418 397 1463 397 1877 397<br />

2048 598 1759 1840 600 1948 600 2083 598 2144 598 2811 598<br />

128 36 104 109 37 113 36 115 36 118 36 145 36<br />

256 72 203 211 73 217 72 219 72 224 72 288 72<br />

512 144 403 413 144 423 144 426 144 433 144 577 144<br />

Gaussian 1024 290 805 816 290 834 290 838 290 850 290 1143 290<br />

1536 433 1205 1216 433 1242 433 1241 433 1257 433 1730 433<br />

2048 645 1801 1814 646 1839 646 1847 645 1866 645 2566 645<br />

128 29 103 129 29 130 29 142 29 144 29 165 29<br />

256 54 192 228 55 232 55 260 54 266 54 310 54<br />

512 107 373 422 108 437 108 492 107 505 107 610 107<br />

BL-Uni<strong>for</strong>m 1024 209 732 786 210 825 211 932 209 959 209 1193 209<br />

1536 314 1090 1146 314 1212 314 1359 314 1397 313 1779 313<br />

2048 469 1631 1686 470 1782 470 1988 469 2045 469 2663 469<br />

Table A.12: Average number of ADMs (ADM) <strong>and</strong> wavelengths (W) <strong>for</strong> 32-node<br />

path network. The <strong>in</strong>stances have 128, 256, 512, 1024, 1536 <strong>and</strong> 2048 requests.<br />

205


A.4 Traffic groom<strong>in</strong>g on path networks - General Instances<br />

EDA<br />

IPA<br />

EDA-SF EDA-LF IPA-MWM IPA-LWM IPA-SGM<br />

Distribution |R| W-LB ADM-LB ADM W ADM W ADM W ADM W ADM W<br />

128 33 117 158 34 157 34 169 33 173 33 189 33<br />

256 69 217 291 71 290 72 315 69 320 69 353 69<br />

512 130 408 525 132 532 132 584 130 594 130 677 130<br />

UL-Uni<strong>for</strong>m 1024 263 794 983 266 1005 266 1095 263 1122 263 1313 263<br />

1536 396 1184 1409 400 1455 400 1583 396 1629 396 1951 396<br />

2048 531 1574 1832 535 1900 535 2059 531 2127 531 2579 531<br />

128 37 104 111 37 113 37 115 37 119 37 147 37<br />

256 74 206 212 74 218 74 220 74 226 74 290 74<br />

512 144 403 412 145 422 144 425 144 434 144 577 144<br />

Gaussian 1024 288 803 815 289 833 289 835 288 847 288 1143 288<br />

1536 431 1203 1215 432 1239 432 1240 431 1255 431 1725 431<br />

2048 580 1607 1619 580 1645 580 1645 580 1663 580 2285 580<br />

128 28 115 151 29 151 29 166 28 168 28 185 28<br />

256 55 204 269 57 269 56 302 55 308 55 341 55<br />

512 105 387 488 108 494 107 565 105 575 105 654 105<br />

BL-Uni<strong>for</strong>m 1024 202 735 885 205 907 204 1048 202 1075 202 1252 202<br />

1536 302 1094 1273 306 1316 305 1524 302 1567 302 1852 302<br />

2048 403 1450 1641 406 1705 407 1996 403 2043 403 2458 403<br />

Table A.13: Average number of ADMs (ADM) <strong>and</strong> wavelengths (W) <strong>for</strong> 64-node<br />

path network. The <strong>in</strong>stances have 128, 256, 512, 1024, 1536 <strong>and</strong> 2048 requests.<br />

206


A.4 Traffic groom<strong>in</strong>g on path networks - General Instances<br />

EDA<br />

IPA<br />

EDA-SF EDA-LF IPA-MWM IPA-LWM IPA-SGM<br />

Distribution |R| W-LB ADM-LB ADM W ADM W ADM W ADM W ADM W<br />

128 34 129 171 37 171 37 180 34 185 34 198 34<br />

256 67 226 313 70 313 70 338 67 343 67 374 67<br />

512 131 418 566 135 572 134 626 131 636 131 702 131<br />

UL-Uni<strong>for</strong>m 1024 264 805 1052 267 1065 268 1170 264 1191 264 1343 264<br />

1536 390 1191 1516 395 1542 395 1697 390 1733 390 1991 390<br />

2048 525 1578 1960 529 2015 528 2209 525 2264 525 2635 525<br />

128 38 105 112 38 115 38 115 38 118 38 147 38<br />

256 73 204 213 73 218 73 220 73 225 73 287 73<br />

512 142 401 411 143 421 143 423 142 431 142 563 142<br />

Gaussian 1024 289 805 815 290 831 290 835 289 847 289 1136 289<br />

1536 430 1202 1212 430 1233 431 1229 430 1256 430 1716 430<br />

2048 577 1604 1616 577 1643 577 1645 577 1663 577 2263 577<br />

128 28 126 166 30 166 30 178 28 182 28 200 28<br />

256 53 216 295 57 294 56 327 53 332 53 364 53<br />

512 101 392 526 104 528 104 605 101 615 101 683 101<br />

BL-Uni<strong>for</strong>m 1024 202 749 963 207 972 206 1122 202 1145 202 1291 202<br />

1536 302 1103 1377 306 1400 306 1623 302 1659 302 1906 302<br />

2048 397 1457 1767 402 1812 402 2117 397 2172 397 2514 397<br />

Table A.14: Average number of ADMs (ADM) <strong>and</strong> wavelengths (W) <strong>for</strong> 96-node<br />

path network. The <strong>in</strong>stances have 128, 256, 512, 1024, 1536 <strong>and</strong> 2048 requests.<br />

207


A.5 Traffic Groom<strong>in</strong>g on r<strong>in</strong>g networks - General Instances<br />

A.5 Traffic Groom<strong>in</strong>g on r<strong>in</strong>g networks - General<br />

Instances<br />

In this section we report numerical results <strong>for</strong> traffic groom<strong>in</strong>g algorithms <strong>for</strong><br />

unidirectional r<strong>in</strong>g networks with groom<strong>in</strong>g ratio 2 <strong>and</strong> <strong>in</strong>stances with unit size<br />

requests considered <strong>in</strong> Chapter 10. We consider r<strong>in</strong>g networks with 16 to 96<br />

nodes us<strong>in</strong>g <strong>in</strong>stances with BL-Uni<strong>for</strong>m, UL-Uni<strong>for</strong>m <strong>and</strong> Gaussian distribution<br />

of requests described <strong>in</strong> Section 2.4.1. No rout<strong>in</strong>g decisions are needed <strong>for</strong> unidirectional<br />

r<strong>in</strong>g networks s<strong>in</strong>ce every pair of nodes has a unique path. Tables<br />

A.15, A.16, A.17, <strong>and</strong> A.18 show the numerical results <strong>for</strong> r<strong>in</strong>g networks with<br />

different number of nodes. We show the average number of ADMs (ADM) <strong>and</strong><br />

wavelengths (W) used by the algorithms FE-EDA, PIM-g2, A2-g2, <strong>and</strong> A1-g2,<br />

<strong>and</strong> the lower bound number of ADMs ADM-LB <strong>and</strong> wavelengths W-LB, <strong>for</strong><br />

<strong>in</strong>stances with UL-Uni<strong>for</strong>m, BL-Uni<strong>for</strong>m, <strong>and</strong> Gaussian distribution of requests.<br />

208


A.5 Traffic Groom<strong>in</strong>g on r<strong>in</strong>g networks - General Instances<br />

PIM-g2 FE-EDA A1-g2 A2-g2<br />

Distribution |R| W-LB ADM-LB ADM W ADM W ADM W ADM W<br />

128 35 79 111 36 114 37 123 37 117 37<br />

256 68 150 191 70 196 70 219 72 205 72<br />

512 136 285 341 140 346 141 386 142 362 142<br />

UL-Uni<strong>for</strong>m 1024 271 555 625 276 631 277 698 279 658 279<br />

1536 403 822 896 407 902 409 984 414 942 414<br />

2048 526 1083 1155 531 1162 533 1248 538 1207 538<br />

2560 661 1343 1434 669 1440 670 1536 675 1494 675<br />

3072 789 1608 1690 795 1697 797 1795 804 1751 804<br />

128 35 74 87 35 88 35 98 35 91 35<br />

256 67 142 159 68 160 68 179 69 165 69<br />

512 133 275 299 134 301 134 323 135 309 135<br />

Gaussian 1024 262 537 573 265 576 266 607 269 591 269<br />

1536 390 789 824 393 828 393 858 394 839 394<br />

2048 518 1050 1089 521 1091 522 1127 524 1110 524<br />

2560 647 1307 1348 650 1351 651 1391 652 1370 652<br />

3072 775 1568 1614 780 1618 781 1661 784 1638 784<br />

128 23 82 101 23 100 23 111 26 105 26<br />

256 42 164 186 43 182 42 197 52 189 52<br />

512 83 330 356 84 351 83 377 110 361 110<br />

BL-Uni<strong>for</strong>m 1024 159 593 631 159 625 159 666 189 646 189<br />

1536 231 848 893 233 886 232 935 263 913 263<br />

2048 306 1132 1176 310 1167 307 1236 351 1213 351<br />

2560 385 1522 1559 392 1551 393 1619 493 1600 493<br />

3072 469 1903 1934 490 1928 495 2013 634 1994 634<br />

Table A.15: Average ADMs <strong>and</strong> wavelengths <strong>for</strong> 16-node r<strong>in</strong>g network. The <strong>in</strong>stances<br />

have 128, 256, 512, 1024, 1536, 2048, 2560 <strong>and</strong> 3072 requests.<br />

209


A.5 Traffic Groom<strong>in</strong>g on r<strong>in</strong>g networks - General Instances<br />

PIM-g2 FE-EDA A1-g2 A2-g2<br />

Distribution |R| W-LB ADM-LB ADM W ADM W ADM W ADM W<br />

128 38 89 144 40 147 41 153 41 148 41<br />

256 69 162 249 72 254 74 271 74 260 74<br />

512 137 301 443 144 452 146 491 146 470 146<br />

UL-Uni<strong>for</strong>m 1024 268 575 766 277 780 280 873 283 827 283<br />

1536 401 841 1059 412 1076 416 1211 417 1134 417<br />

2048 466 975 1205 479 1226 485 1381 488 1291 488<br />

2560 662 1375 1622 674 1641 680 1854 685 1733 685<br />

128 34 75 89 35 90 35 99 35 92 35<br />

256 68 142 160 68 161 69 172 69 164 69<br />

512 133 274 297 134 300 134 319 135 306 135<br />

Gaussian 1024 263 536 568 265 570 265 596 267 580 267<br />

1536 390 796 834 392 836 393 868 395 850 395<br />

2048 455 937 979 460 983 460 1024 463 1004 463<br />

2560 650 1313 1362 656 1366 656 1407 659 1386 659<br />

128 23 93 125 23 124 24 134 30 130 30<br />

256 41 160 219 41 217 42 242 47 235 47<br />

512 79 331 417 81 403 80 450 107 425 107<br />

BL-Uni<strong>for</strong>m 1024 152 630 749 159 731 157 792 201 760 201<br />

1536 224 967 1109 232 1074 228 1158 315 1110 315<br />

2048 257 1094 1259 261 1219 261 1306 349 1252 349<br />

2560 365 1542 1726 380 1679 370 1775 488 1717 488<br />

Table A.16: Average ADMs <strong>and</strong> wavelengths <strong>for</strong> 32-node r<strong>in</strong>g network. The <strong>in</strong>stances<br />

have 128, 256, 512, 1024, 1536, 2048 <strong>and</strong> 2560 requests.<br />

210


A.5 Traffic Groom<strong>in</strong>g on r<strong>in</strong>g networks - General Instances<br />

PIM-g2 FE-EDA A1-g2 A2-g2<br />

Distribution |R| W-LB ADM-LB ADM W ADM W ADM W ADM W<br />

128 36 104 165 39 166 42 171 43 165 43<br />

256 71 180 304 77 310 80 321 81 312 81<br />

512 135 321 549 146 560 149 590 150 575 150<br />

UL-Uni<strong>for</strong>m 1024 269 604 284 982 1005 291 1082 290 1045 290<br />

1536 400 875 1369 420 1397 429 1520 426 1460 426<br />

2048 530 1141 1738 561 1772 570 1946 569 1860 569<br />

2560 659 1409 2069 691 2105 698 2341 699 2231 699<br />

128 36 77 91 37 93 37 101 37 95 37<br />

256 67 141 159 68 161 68 175 68 165 68<br />

512 132 275 298 133 301 134 323 135 310 135<br />

Gaussian 1024 263 536 571 266 573 267 602 268 586 268<br />

1536 390 795 828 392 832 393 862 395 845 395<br />

2048 520 1056 1094 522 1097 523 1135 525 1116 525<br />

2560 648 1311 1348 650 1352 651 1390 654 1369 654<br />

128 22 105 148 22 148 24 155 31 150 31<br />

256 40 187 269 42 265 42 289 58 277 58<br />

512 75 335 472 76 462 79 517 102 498 102<br />

BL-Uni<strong>for</strong>m 1024 146 671 901 149 870 152 969 214 926 214<br />

1536 216 1017 1301 224 1241 224 1371 334 1309 334<br />

2048 280 1313 1686 291 1606 289 1778 424 1699 424<br />

2560 351 1524 1989 358 1909 358 2125 460 2035 460<br />

Table A.17: Average ADMs <strong>and</strong> wavelengths <strong>for</strong> 64-node r<strong>in</strong>g network. The <strong>in</strong>stances<br />

have 128, 256, 512, 1024, 1536, 2048 <strong>and</strong> 2560 requests.<br />

211


A.5 Traffic Groom<strong>in</strong>g on r<strong>in</strong>g networks - General Instances<br />

PIM-g2 FE-EDA A1-g2 A2-g2<br />

Distribution |R| W-LB ADM-LB ADM W ADM W ADM W ADM W<br />

128 35 118 172 39 174 42 178 45 169 45<br />

256 70 195 326 78 328 81 338 83 328 83<br />

512 137 339 601 150 612 154 636 157 621 157<br />

UL-Uni<strong>for</strong>m 1024 269 618 1099 290 1118 298 1183 297 1155 297<br />

1536 397 895 1561 431 1590 440 1697 439 1652 439<br />

2048 533 1179 1992 570 2035 582 2188 577 2117 577<br />

2560 663 1446 2399 709 2449 723 2643 718 2553 718<br />

128 34 75 89 35 90 35 98 36 92 36<br />

256 68 142 161 69 162 69 177 70 166 70<br />

512 133 274 300 134 302 135 323 136 310 136<br />

Gaussian 1024 261 533 564 263 567 265 591 265 576 265<br />

1536 389 795 829 391 831 392 867 394 847 394<br />

2048 520 1063 1102 523 1104 524 1144 526 1125 526<br />

2560 656 1340 1391 660 1394 661 1433 663 1411 663<br />

128 21 118 162 22 160 24 165 34 159 34<br />

256 39 195 287 42 288 43 302 57 294 57<br />

512 75 342 515 77 513 80 564 100 550 100<br />

BL-Uni<strong>for</strong>m 1024 144 629 941 145 927 151 1052 183 1021 183<br />

1536 213 901 1333 213 1304 218 1506 260 1455 260<br />

2048 279 1172 1712 280 1665 283 1945 335 1872 335<br />

2560 345 1444 2085 346 2020 350 2363 408 2277 408<br />

Table A.18: Average ADMs <strong>and</strong> wavelengths <strong>for</strong> 96-node r<strong>in</strong>g network. The <strong>in</strong>stances<br />

have 128, 256, 512, 1024, 1536, 2048 <strong>and</strong> 2560 requests.<br />

212


Bibliography<br />

V. Auletta, I. Caragiannis, L. Gargano, C. Kaklamanis, <strong>and</strong> P. Persiano. Sparse<br />

<strong>and</strong> limited wavelength conversion <strong>in</strong> all-optical tree networks. Theoretical<br />

Computer Science, 270(2):361–399, 2002. 2.5<br />

V. Auletta, I. Caragiannis, C. Kaklamanis, <strong>and</strong> P. Persiano. R<strong>and</strong>omized path<br />

colour<strong>in</strong>g on b<strong>in</strong>ary trees. In Lecture notes <strong>in</strong> Computer Science, editor, 3rd<br />

International Workshop on Approximation <strong>Algorithms</strong> <strong>for</strong> Comb<strong>in</strong>atorial Optimization<br />

Problems(APPROX’00), 1913:60–71, Spr<strong>in</strong>ger-Verlag, 2000. 2.5<br />

Y. Aumann <strong>and</strong> Y. Rabani. Improved bounds <strong>for</strong> all optical rout<strong>in</strong>g. In Proc. of<br />

the 6th Annual ACM-SIAM Symposium on Discrete <strong>Algorithms</strong> (SODA ’95),<br />

pages 567–576, January, 1995. 2.5<br />

J. Bermond, L. Braud, <strong>and</strong> D. Coudert. Traffic groom<strong>in</strong>g on the path. SIROCO,<br />

June 2005. 2.5, 2.6, 8, 8.3, 9, 9.1, 9.2<br />

J. Bermond <strong>and</strong> S. Ceroi. M<strong>in</strong>imiz<strong>in</strong>g sonet adms <strong>in</strong> unidirectional wdm r<strong>in</strong>gs<br />

with groom<strong>in</strong>g ratio 3. Networks, 41:83–86, 2003. 2.5, 11<br />

J. Bermond, C. Colbourn, D. Coudert, G. Ge, A. L<strong>in</strong>g, <strong>and</strong> X. Muñoz.<br />

Traffic groom<strong>in</strong>g <strong>in</strong> unidirectional wdm r<strong>in</strong>gs with groom<strong>in</strong>g ratio c = 6.<br />

SIAM/SIDMA, 19(2):523–542, 2005. 2.5, 11<br />

J. Bermond, C. Colbourn, A. L<strong>in</strong>g, <strong>and</strong> M. Yu. Groom<strong>in</strong>g <strong>in</strong> unidirectional r<strong>in</strong>gs:<br />

k 4 − e designs. Discrete Mathematics (to appear). 2.5<br />

213


BIBLIOGRAPHY<br />

J. Bermond <strong>and</strong> D. Coudert. Traffic groom<strong>in</strong>g <strong>in</strong> unidirectional wdm r<strong>in</strong>g networks<br />

us<strong>in</strong>g design theory. IEEE ICC, Anchorage, Alaska, May 2003. 2.5,<br />

11<br />

J. Bermond, D. Coudert, <strong>and</strong> X. Muñoz. Traffic groom<strong>in</strong>g <strong>in</strong> unidirectional wdm<br />

r<strong>in</strong>g networks: the all-to-all unitary case. In the 7th IFIP Work<strong>in</strong>g Conference<br />

on <strong>Optical</strong> Network Design <strong>and</strong> Modell<strong>in</strong>g (ONDM’03), pages 1135–1153, 2003.<br />

2.5, 11<br />

J. Bermond <strong>and</strong> J. Schönheim. g-decomposition of k n where g has four vertices<br />

or less. Discrete Mathematics, 19:113–120, 1977. 9.1, 9.3, 9, 10, 18<br />

Z. Bian, Q. Gu, <strong>and</strong> X. Zhou. <strong>Wavelength</strong> assignment on bounded degree trees<br />

of r<strong>in</strong>gs. Technical Report TR 2004-01, School of Comput<strong>in</strong>g Science, Simon<br />

Fraser University, January 2004. 2.5, 4<br />

Z. Bian, Q Gu, <strong>and</strong> X. Zhou. Tight bounds <strong>for</strong> wavelength assignment on tree<br />

of r<strong>in</strong>gs. Technical Report TR 2004-05, School of Comput<strong>in</strong>g Science, Simon<br />

Fraser University, June 2004. 2.5, 2.6, 4, 4.4, 4.4, 11<br />

I. Caragiannis, C. Kaklamanis, A. Ferreira, S. Pérennes, <strong>and</strong> H. Rivano. Fractional<br />

path colour<strong>in</strong>g with applications to wdm networks. In 28th International<br />

Colloquium on Automata, Languages <strong>and</strong> Programm<strong>in</strong>g (ICALP’01), Lecture<br />

notes <strong>in</strong> Computer Science, pages 732–743, Spr<strong>in</strong>ger-Verlag, 2001. 2.5<br />

I. Caragiannis, C. Kaklamanis, <strong>and</strong> P. Persiano. Symmetric communication <strong>in</strong><br />

all-optical tree networks. Parallel Process<strong>in</strong>g Letters, 10(4):305–313, 2000. 2.5<br />

I. Caragiannis, C. Kaklamanis, <strong>and</strong> P. Persiano. <strong>Wavelength</strong> rout<strong>in</strong>g <strong>in</strong> all-optical<br />

tree networks: A survey. Bullet<strong>in</strong> of the European Association <strong>for</strong> Theoretical<br />

Computer Science, 76, 2002. 2.5, 2.5<br />

T. Carpenter <strong>and</strong> S. Cosares. Dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slott<strong>in</strong>g on r<strong>in</strong>g networks.<br />

DIMACS Technical Report 97-02, 1997. 3.4<br />

T. Carpenter <strong>and</strong> S. Cosares. Compar<strong>in</strong>g heuristics <strong>for</strong> dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slot<br />

assignment on r<strong>in</strong>g networks. Telecommunication Systems, 21(2–4):319–337,<br />

2002. 2.5, 2.6, 3, 3.3.2, 3.4, 3.4.1, 3.5, 5.2.2, 11<br />

214


BIBLIOGRAPHY<br />

D. Cavendish. On the complexity of rout<strong>in</strong>g <strong>and</strong> wavelength assignment <strong>in</strong> wdm<br />

r<strong>in</strong>gs with limited wavelength conversion. Proceed<strong>in</strong>gs of Asian-Pacific <strong>Optical</strong><br />

<strong>and</strong> Wireless Communications Conference <strong>and</strong> Exhibit, Nov 12-16, 2001,<br />

Beij<strong>in</strong>g, Ch<strong>in</strong>a. 2.5, 5.1<br />

D. Cavendish <strong>and</strong> B. Sengupta. Rout<strong>in</strong>g <strong>and</strong> wavelength assignment <strong>in</strong> wdm<br />

r<strong>in</strong>g networks with heterogeneous wavelength conversion capabilities. IEEE<br />

Infocom, 2002. 2.5, 2.6, 5, 5.1, 5.3, 11<br />

G. Căl<strong>in</strong>escu, O. Frieder, <strong>and</strong> P. Wan. M<strong>in</strong>imiz<strong>in</strong>g electronic l<strong>in</strong>e term<strong>in</strong>als <strong>for</strong><br />

automatic r<strong>in</strong>g protection <strong>in</strong> general wdm optical networks. IEEE Journal of<br />

Selected area on Communications, 20(1):183–189, January 2002. 2.5<br />

G. Căl<strong>in</strong>escu <strong>and</strong> P. Wan. Traffic partition <strong>in</strong> wdm/sonet r<strong>in</strong>gs to m<strong>in</strong>imize sonet<br />

adms. J. Comb. Optim., 6(4):425–453, 2002. 2.5, 2.6, 10, 10.1, 10.2, 10.4, 10.4.2<br />

C. Chekuri, M. Mydlarz, <strong>and</strong> F. Shepherd. Multicommodity dem<strong>and</strong> flow <strong>in</strong> a<br />

tree (extended abstract). To appear <strong>in</strong> Proceed<strong>in</strong>gs of the 30th ICALP, 2003.<br />

2.5, 6, 11<br />

C. Cheng. Improved approximation algorithm <strong>for</strong> the dem<strong>and</strong> rout<strong>in</strong>g <strong>and</strong> slott<strong>in</strong>g<br />

problem with unit dem<strong>and</strong>s on r<strong>in</strong>gs. SIAM Journal on Discrete Mathematics,<br />

17(3):384–402, 2004. 2.5<br />

A. Chiu <strong>and</strong> E. Modiano. Traffic groom<strong>in</strong>g algorithms <strong>for</strong> reduc<strong>in</strong>g electronic<br />

multiplex<strong>in</strong>g costs <strong>in</strong> wdm r<strong>in</strong>g networks. IEEE/OSA Journal of Lightwave<br />

Technology, 18:2–12, January 2000. 2.5<br />

V. Chvátal. A greedy heuristic <strong>for</strong> the set cover<strong>in</strong>g problem. Mathematics of<br />

Operation Research, 4:233–235, 1979. 2.5<br />

C. Colbourn <strong>and</strong> J. D<strong>in</strong>itz. editors. the crc h<strong>and</strong>book of comb<strong>in</strong>atorial designs.<br />

CRC Press, 1996. 2.5<br />

C. Colbourn <strong>and</strong> P. Wan. M<strong>in</strong>imiz<strong>in</strong>g drop cost <strong>for</strong> sonet/wdm networks with 1 8<br />

wavelength requirements. Networks, 37:107–116, 2001. 2.5<br />

215


BIBLIOGRAPHY<br />

R. Cole, K. Ost, <strong>and</strong> S. Schirra. Edge-color<strong>in</strong>g bipartite multigraphs <strong>in</strong> o(e·log d)<br />

time. Comb<strong>in</strong>atorica, 21(1):5–12, 2001. 6.1, 2<br />

S. Cosares <strong>and</strong> I. Saniee. An optimization problem related to balanc<strong>in</strong>g loads on<br />

sonet r<strong>in</strong>gs. Telecommunication Systems, 3, 1994. 2.4.2<br />

X. Deng, G. Li, W. Zang, <strong>and</strong> Y. Zhou. A 2-approximation algorithm <strong>for</strong> path<br />

colour<strong>in</strong>g on a restricted class of tree of r<strong>in</strong>gs. Journal on <strong>Algorithms</strong>, 47(1):<br />

1–13, 2003. 2.5, 4<br />

D. Dor <strong>and</strong> M. Tarsi. Graph decomposition is np-complete: A complete proof of<br />

holyer’s conjecture. SIAM J. Comput., 26(4):1166–1187, 1997. 8.2<br />

R. Dutta, S. Huang, <strong>and</strong> G. Rouskas. Traffic groom<strong>in</strong>g <strong>in</strong> path, star, <strong>and</strong> tree<br />

networks: Complexity, bounds, <strong>and</strong> algorithms. SIGMETRICS’03, June, 2003.<br />

2.5, 8, 10<br />

R. Dutta <strong>and</strong> G. Rouskas. On optimal traffic groom<strong>in</strong>g <strong>in</strong> wdm r<strong>in</strong>gs. IEEE<br />

Journal on selected areas <strong>in</strong> communications, 20(1), January, 2002. 2.5, 11<br />

J. Edmonds. Maximum match<strong>in</strong>g <strong>and</strong> a polyhedron with 0,1 - vertices. Journal<br />

of Research of the National Bureau of St<strong>and</strong>ards, 69(B):125–130, 1965a. 8.2,<br />

8.2.2, 8.2.2, 2, 3, 8.2.3.2, 8.4, 10.3, 10.3.3, 10.4.2<br />

J. Edmonds. Paths, trees, <strong>and</strong> flowers. Canadian Journal on Mathematics, pages<br />

449–467, 1965b. 8.2, 8.2.2, 8.2.2, 2, 3, 8.2.3.2, 8.4, 10.3, 10.3.3, 10.4.2<br />

T. Eilam, S. Moran, <strong>and</strong> S. Zaks. Lightpath arrangement <strong>in</strong> survivable r<strong>in</strong>gs to<br />

m<strong>in</strong>imize the switch<strong>in</strong>g cost. IEEE Journal of Selected Area on Communications,<br />

20(1):172–182, January 2002. 2.5<br />

L. Epste<strong>in</strong> <strong>and</strong> A. Lev<strong>in</strong>. Better bounds <strong>for</strong> m<strong>in</strong>imiz<strong>in</strong>g sonet adms. In 2nd Workshop<br />

on Approximation <strong>and</strong> Onl<strong>in</strong>e algorithms, Bergen, Norway, September<br />

2004. 2.5<br />

T. Erlebach. Approximation algorithms <strong>and</strong> complexity results <strong>for</strong> path colour<strong>in</strong>g<br />

problems <strong>in</strong> trees of r<strong>in</strong>gs. In Proceed<strong>in</strong>gs of the 26th International Symposium<br />

216


BIBLIOGRAPHY<br />

on Mathematical Foundations of Computer Sc<strong>in</strong>ce (MFCS 2001), LNCS, 2136:<br />

351–362, Spr<strong>in</strong>ger-Verlag, 2001. 2.5<br />

T. Erlebach <strong>and</strong> K. Jansen. Call schedul<strong>in</strong>g <strong>in</strong> trees, r<strong>in</strong>gs <strong>and</strong> meshes. In Proc. of<br />

30th Hawaii International Conference on System <strong>and</strong> Sciences, pages 221–222,<br />

1997a. 2.2.2, 2.5<br />

T. Erlebach <strong>and</strong> K. Jansen. Schedul<strong>in</strong>g of virtual connections <strong>in</strong> fast networks. In<br />

Proc. of 4th Workshop on parallel Systems <strong>and</strong> <strong>Algorithms</strong> (PASA ’96), World<br />

Scientific, pages 13–32, 1997b. 2.2.2<br />

T. Erlebach, K. Jansen, C. Kaklamanis, M. Mihail, <strong>and</strong> P. Persiano. Optimal<br />

wavelength rout<strong>in</strong>g on directed fiber trees. Theoretical computer science, 221(1-<br />

2):119–137, 1999. 2.5, 2.5<br />

T. Erlebach, A. Pagourtzis, K. Potika, <strong>and</strong> S. Stefanakos. Resource <strong>allocation</strong><br />

problems <strong>in</strong> multifiber wdm tree networks. To appear <strong>in</strong>: Proceed<strong>in</strong>gs of the<br />

29th Workshop on Graph Theoretic Concepts <strong>in</strong> Computer Science (WG 2003),<br />

Elspeet, The Netherl<strong>and</strong>s, June 2003. c○Spr<strong>in</strong>ger Verlag, 2003. 2.5, 6<br />

T. Erlebach <strong>and</strong> S. Stefanakos. <strong>Wavelength</strong> conversion <strong>in</strong> networks of bounded<br />

treewidth. TIK-Report Nr. 132, ETH Zurich, pages 1–9, April, 2002. 2.5<br />

A. Ferreira, S. Pérennes, A. Richa, H. Rivano, <strong>and</strong> N. Stier. On the design of<br />

multifiber wdm networks. In AlgoTel’02, Mze, France, pages 25–32, May 2002.<br />

2.2.2.1<br />

M. Flamm<strong>in</strong>i, L. Moscardelli, M. Shalom, <strong>and</strong> S. Zaks. Approximat<strong>in</strong>g the traffic<br />

groom<strong>in</strong>g problem. 16th Annual International Symposium on <strong>Algorithms</strong> <strong>and</strong><br />

Computation (ISAAC), Sanya, Ha<strong>in</strong>an, Ch<strong>in</strong>a, December 2005. 2.5<br />

M. Garey, D. Johnson, G. Miller, <strong>and</strong> C. Papadimitriou. The complexity of<br />

colour<strong>in</strong>g circular arcs <strong>and</strong> chords. SIAM J.Alg. Disc. Math., 1(2):216–227,<br />

1980. 2.5, 3.1<br />

217


BIBLIOGRAPHY<br />

L. Gargano <strong>and</strong> U. Vaccaro. Rout<strong>in</strong>g <strong>in</strong> all-optical networks: Algorithmic <strong>and</strong><br />

graph-theoretic problems. In Numbers, In<strong>for</strong>mation <strong>and</strong> Complexity, I. Althofer<br />

et al. (Eds.), Kluwer Academic Publisher, pages 555–578, Feb. 2000.<br />

1<br />

O. Gerstel, P. L<strong>in</strong>, <strong>and</strong> G. Sasaki. Cost effective traffic grrom<strong>in</strong>g <strong>in</strong> wdm r<strong>in</strong>gs. In<br />

INFOCOM’98, Seventeenth Annual Jo<strong>in</strong>t Conference of the IEEE Computer<br />

<strong>and</strong> Communications Societies, 1998a. 2.5, 10.1<br />

O. Gerstel, P. L<strong>in</strong>, <strong>and</strong> G. Sasaki. <strong>Wavelength</strong> assignment <strong>in</strong> a wdm r<strong>in</strong>g to<br />

m<strong>in</strong>imize cost of embedded sonet r<strong>in</strong>gs. In INFOCOM’98, Seventeenth Annual<br />

Jo<strong>in</strong>t Conference of the IEEE Computer <strong>and</strong> Communications Societies, pages<br />

69–77, 1998b. 2.5<br />

M. Golumbic. Algorithmic graph theory <strong>and</strong> perfect graphs. Academic Press,<br />

Inc, San Diego, Canada, 1980. 2.5, 3.1, 3, 3.3.1, 2, 3.3.2, 3, 7.1, 8.2, 1<br />

M. Gurusamy <strong>and</strong> C. Siva Ram Murthy. WDM optical networks concepts, design<br />

<strong>and</strong> algorithms. Prentice Hall PTR Upper Saddle River, New Jersey 07458,<br />

ISBN 0-13-060637-5, 2002. 1, 2.2.2.2<br />

L. Hendren, G. Gao, E. Altman, <strong>and</strong> C. Mukerji. A register <strong>allocation</strong> framework<br />

based on hierarchical cyclic <strong>in</strong>terval graphs. ACAPS Technical Memo 33<br />

(Revised), 1993. 3, 3.1, 1, 3.2, 3.2<br />

J. Hu. Optimal traffic groom<strong>in</strong>g <strong>for</strong> wavelength-division-multplex<strong>in</strong>g r<strong>in</strong>gs with<br />

all-to-all uni<strong>for</strong>m traffic. OSA Journal of <strong>Optical</strong> network<strong>in</strong>g, 1(1):32–42, January,<br />

2002. 2.5, 11<br />

A. Itai <strong>and</strong> M. Rodeh. F<strong>in</strong>d<strong>in</strong>g a m<strong>in</strong>imum circuit <strong>in</strong> a graph. Proc. 9th ACM<br />

Symposium <strong>in</strong> Theory of Comput<strong>in</strong>g, pages 1–10, 1977. 8.2<br />

G. Justo. Path multi-colour<strong>in</strong>g <strong>in</strong> branched trees. Technical Report TR-03-02,<br />

Department of Computer Science, K<strong>in</strong>g’s College London, 2003. 2.6<br />

G. Justo <strong>and</strong> T. Radzik. <strong>Wavelength</strong> assignment <strong>in</strong> multifiber r<strong>in</strong>gs with limited<br />

conversion. Technical Report TR-04-06 Department of Computer Science -<br />

KCL, July, 2004. 2.6<br />

218


BIBLIOGRAPHY<br />

G. Justo <strong>and</strong> T. Radzik. Improved heuristics <strong>for</strong> static wavelength assignment <strong>in</strong><br />

undirected r<strong>in</strong>gs with heterogeneous wavelength conversion capability. Technical<br />

Report TR-05-05 Department of Computer Science - KCL, July, 2005a.<br />

2.6<br />

G. Justo <strong>and</strong> T. Radzik. Improved heuristics <strong>for</strong> wavelength assignment <strong>in</strong> undirected<br />

r<strong>in</strong>gs <strong>and</strong> tree of r<strong>in</strong>gs. Technical Report TR-05-04 Department of Computer<br />

Science - KCL, July, 2005b. 2.6<br />

G. Justo <strong>and</strong> T. Radzik. Traffic groom<strong>in</strong>g on r<strong>in</strong>g networks. Technical Report<br />

TR-06-06 Department of Computer Science - KCL, June, 2006. 2.6<br />

G. Justo <strong>and</strong> T. Radzik. Traffic groom<strong>in</strong>g on path network. Technical Report<br />

TR-06-02 Department of Computer Science - KCL, March, 2006. 2.6<br />

C. Kaklamanis <strong>and</strong> P. Persiano. Efficient wavelength rout<strong>in</strong>g on directed fiber<br />

trees. In Proceed<strong>in</strong>gs of the 4th Annual European Symposium on <strong>Algorithms</strong><br />

ESA ’96, LNCS, 1136:460–470, Spr<strong>in</strong>ger-Verlag, 1996. 2.5<br />

I. Karapetian. On colour<strong>in</strong>g of arc graphs. Dokladi of the Academy of Science of<br />

the Armenian SSR, 70:306–311, 1980. 2.5<br />

R. Klas<strong>in</strong>g. Methods <strong>and</strong> problems of wavelength-rout<strong>in</strong>g <strong>in</strong> all-optical networks.<br />

In Proc. of the MFCS’98 Workshop on Communication, Brno, Czech Republic,<br />

pages 1–9, August, 1998. 2.2.1<br />

J. Kle<strong>in</strong>berg <strong>and</strong> A. Kumar. <strong>Wavelength</strong> conversion <strong>in</strong> optical networks. In Proc.<br />

of the 10th Annual ACM-SIAM Symposium on Discrete <strong>Algorithms</strong> (SODA<br />

’99), pages 566–575, January, 1999. 2.5<br />

V. Kumar. Approximat<strong>in</strong>g circular arc colour<strong>in</strong>g <strong>and</strong> b<strong>and</strong>width <strong>allocation</strong> <strong>in</strong> alloptical<br />

r<strong>in</strong>g networks. In Proc. of the 1st International Workshop on Approximation<br />

<strong>Algorithms</strong> <strong>for</strong> Comb<strong>in</strong>atorial Optimization Problems (APPROX’98),<br />

pages 147–158, 1998. 2.5, 11<br />

V. Kumar <strong>and</strong> E. Schwabe. Improved access to optical b<strong>and</strong>width <strong>in</strong> trees. Proceed<strong>in</strong>gs<br />

of the 8th Annual ACM-SIAM Symposium on Discrete <strong>Algorithms</strong><br />

(SODA ’97), pages 437–444, January, 1997. 2.5<br />

219


BIBLIOGRAPHY<br />

T. Lee, K. Lee, <strong>and</strong> S. Park. Optimal rout<strong>in</strong>g <strong>and</strong> wavelength assignment <strong>in</strong> wdm<br />

r<strong>in</strong>g networks. IEEE Journal on Selected Areas <strong>in</strong> Communications, 18(10),<br />

2000. 2.5<br />

G. Li <strong>and</strong> R. Simha. On the wavelength assignment problem <strong>in</strong> multifiber wdm<br />

star <strong>and</strong> r<strong>in</strong>g networks. In Proceed<strong>in</strong>gs of ICALP, 2000. 2.5, 7, 11<br />

H. Liu <strong>and</strong> F. Tobagi. A novel efficient technique <strong>for</strong> traffic groom<strong>in</strong>g <strong>in</strong> wdm sonet<br />

with multiple l<strong>in</strong>e speeds. IEEE International Conference on Communications,<br />

3:1694–1698, June, 2004. 2.5<br />

L. Margara <strong>and</strong> J. Simon. <strong>Wavelength</strong> assignment problem on all-optical networks<br />

with k fibers per l<strong>in</strong>k. In Proceed<strong>in</strong>gs of ICALP, pages 768–779, 2000. 2.5, 7<br />

K. Mehlhorn <strong>and</strong> S. Näher. Leda: A plat<strong>for</strong>m <strong>for</strong> comb<strong>in</strong>atorial <strong>and</strong> geometric<br />

comput<strong>in</strong>g. Cambridge University Press, 1999. 2.4.3<br />

M. Mihail, C. Kaklamanis, <strong>and</strong> S. Rao. Efficient access to optical b<strong>and</strong>width. In<br />

proceed<strong>in</strong>gs of the 36th Annual Symposium of Foundations of Computer Science<br />

(FOCUS’95), pages 548–557, 1995. 2.5<br />

T. Nishizeki <strong>and</strong> K. Kashiwagi. On the 1.1 edge-colour<strong>in</strong>g of multigraphs. SIAM<br />

Journal on Discrete Mathematics, 3(3):391–410, August 1990. 2.5, 4, 3, 4.6<br />

C. Nomikos, A. Pagourtzis, <strong>and</strong> S. Zachos. Rout<strong>in</strong>g <strong>and</strong> path multicolour<strong>in</strong>g. In<br />

In<strong>for</strong>mation Process<strong>in</strong>g Letters, volume 80(5), pages 249–256, 2001. 2.5, 2.6, 6,<br />

6.1, 6.2<br />

E. Potika, C. Nomikos, A. Pagourtzis, <strong>and</strong> S. Zachos. Path multi-colour<strong>in</strong>g <strong>in</strong><br />

weighted graphs. Proc. 8th Panhellenic Conference on In<strong>for</strong>matics, I:178–186,<br />

Nicosia, Cyprus, Nov 8–10, 2001. 2.6, 6, 11<br />

W. Press, S. Teukolsky, W. Vetterrl<strong>in</strong>g, <strong>and</strong> B. Flannery. Numerical recipes <strong>in</strong> C.<br />

The Art of Scientific Comput<strong>in</strong>g, Second Edition ISBN 0-521-43108-5, 1992.<br />

2.4.3<br />

220


BIBLIOGRAPHY<br />

Y. Rabani. Path colour<strong>in</strong>g on the mesh. In Proc. of the 37th IEEE Symposium on<br />

Foundations of Computer Science (FOCS 96), pages 400–409, October, 1996.<br />

2.5<br />

P. Raghavan <strong>and</strong> E. Upfal. Efficient rout<strong>in</strong>g <strong>in</strong> all-optical networks. In AIAA<br />

Journal. In proceed<strong>in</strong>gs of the 26th Annual ACM Symposium on the Theory of<br />

Comput<strong>in</strong>g, Montreal, Quebec, Canada, pages 134–143, 1994. 2.2.1, 2.5<br />

R. Ramaswami <strong>and</strong> G. Sasaki. Multiwavelength optical networks with limited<br />

wavelength conversion. In ACM/IEEE Trans. Network<strong>in</strong>g, 6(6):744–754, December<br />

1998. 2.5, 2.6, 7, 7, 7.1, 5, 7.1, 6, 7, 7.1, 1, 11<br />

A. Schrijver, P. Seymour, <strong>and</strong> P. W<strong>in</strong>kler. The r<strong>in</strong>g load<strong>in</strong>g problem. Siam<br />

Journal of Discrete Mathematics, 11(1):1–14, February 1998. 2.4.2<br />

M. Shalom <strong>and</strong> S. Zaks. A 10/7 + ɛ approximation scheme <strong>for</strong> m<strong>in</strong>imiz<strong>in</strong>g the<br />

number of adms <strong>in</strong> sonet r<strong>in</strong>gs. In First Annual International Conference on<br />

Broadb<strong>and</strong> Networks, San-Jose, cali<strong>for</strong>nia, USA, October 2004. 2.5<br />

C. Shannon. A theorem on colour<strong>in</strong>g the l<strong>in</strong>es of a network. J. Math. Phys,, 28:<br />

148–151, 1949. 2.5, 4, 2, 4.6<br />

S. Stefanakos <strong>and</strong> T. Erlebach. Rout<strong>in</strong>g <strong>in</strong> all-optical r<strong>in</strong>g networks revisited.<br />

IEEE, 2004. 2.4.2<br />

A. Tucker. Colour<strong>in</strong>g a family of circular arc graphs. SIAM Journal on Applied<br />

Mathematics, 29:493–502, 1975. 3.4<br />

G. Wilfong <strong>and</strong> P. W<strong>in</strong>kler. R<strong>in</strong>g rout<strong>in</strong>g <strong>and</strong> wavelength translation. In Proc. of<br />

the 9th Annual ACM-SIAM Symposium on Discrete <strong>Algorithms</strong> (SODA ’98),<br />

pages 333–341, January, 1998. 2.5, 2.5<br />

X. Yang <strong>and</strong> B. Ramamurthy. Dynamic rout<strong>in</strong>g <strong>in</strong> translucent wdm optical networks.<br />

IEEE, 2002. 1<br />

X. Yang <strong>and</strong> B. Ramamurthy. Sparse regeneration <strong>in</strong> a translucent wdm optical<br />

network. In Proceed<strong>in</strong>gs, SPIE Asia-Pacific <strong>Optical</strong> <strong>and</strong> Wireless Communications,<br />

Beij<strong>in</strong>g Ch<strong>in</strong>a, Nov. 2001. 1<br />

221


BIBLIOGRAPHY<br />

S. Zaks. On the complexity of the traffic groom<strong>in</strong>g problem. Workshop on Graph<br />

Classes, Width parameters <strong>and</strong> Optimization, Prague, 2005. 2.5<br />

X. Zhang <strong>and</strong> C. Qiao. An effective <strong>and</strong> comprehensive approach <strong>for</strong> traffic<br />

groom<strong>in</strong>g <strong>and</strong> wavelength assignment <strong>in</strong> sonet/wdm r<strong>in</strong>gs. IEEE/ACM Trans.<br />

On Network<strong>in</strong>g, 8(5), 2000. 2.5, 2.6, 10, 10.2, 10.4, 10.4.2, 10.5<br />

222

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!