Path Computation Algorithms For Dynamic Service Provisioning in SDH Networks
Path Computation Algorithms For Dynamic Service Provisioning in SDH Networks
Path Computation Algorithms For Dynamic Service Provisioning in SDH Networks
Abstract— Synchronous Digital Hierarchy (SDH) is a time divi- are provisioned manually by the service providers by logging
sion multiplexing technology widely used in transport networks to into management systems and doing provisioning related activ-
provide bandwidth services. Dynamic service provisioning refers ities using them. They have to take into account the requested
to the arrival of service requests one-by-one randomly with no
prior information on future requests. This requires the use of demand, required QoS, available network resources and the
on-line algorithms which automatically compute the path to be ability to accommodate future requests before starting the
taken to satisfy the given service request. This problem involves a work of provisioning a requested service. This implies manual
tradeoff between minimizing the number of requests that are re- path computation and maintenance of huge inventory details.
jected and minimizing the total bandwidth that is utilized. Many Then the configuration on the network elements involved has
earlier works have addressed path computation algorithms, but
they treat each link as having some integer units of bandwidth. to be done. These processes being manual, are tedious and
They do not take into account the multiplexing structure defined more error prone. It might not result in optimal usage of
by SDH which imposes restrictions on the allocation of bandwidth network resources. The time required to provision a service
and the fact that higher order trails (logical connections) have will be more. But minimizing service turn-on times is the
to be established to support any bandwidth requirement. In key to accommodate more service requests in less time which
this work, these factors are considered in the path computation
algorithms. The network is treated as a graph containing physical results in maximizing the revenue for service providers.
links and logical trails and weights are assigned to them before The solution to this problem is to have automatic provision-
computing a path with the least cost. Weights are assigned such ing systems. Operators should be able to give the end-points of
that the trails are given higher preference to physical links the service and the bandwidth required and the system should
so that existing trails are used wherever possible. This avoids be able to provision the bandwidth automatically by calcu-
unnecessary creation of new trails. The performance is evaluated
for different values of weights. An improvement in the form of lating the appropriate path such that the network resources
dynamically adjusting the weights of links and trails is done are optimally utilized. Network Management Systems (NMS)
and its performance is shown to be better than having constant or Provisioning Management Systems (PMS) which have the
weights. complete network topology and the inventory details should
be able to perform the provisioning operation. Firstly the
I. I NTRODUCTION
NMS/PMS should be able to get the inventory details from the
In the current environment of high speed communications, database or the Element Management Systems (EMS) or the
network operators and service providers are constantly flooded Network Elements (NE) directly and it should be able to issue
with bandwidth requirements. This has led to the development configuration commands to them to provision the requested
of different transport technologies like PDH, SONET/SDH, capacity in the network elements involved. The other task
WDM/DWDM, ATM, DSL etc. Also, the need for providing is to find the best path to be used to satisfy the requested
differentiated services with different Quality of Service (QoS) service taking into account the capacity that is already in
requirements is being seen as a good opportunity by service use, free capacity available such that more future requests
providers to increase their revenue[1]. In this scenario, it is can be accommodated and the network resources are utilized
envisaged that there will be a large number of service requests optimally. This second aspect is the focus of this work.
with different QoS requirements which implies there will be The remainder of this paper is organized as follows. Section
a constant change in configuration of the network. This is II gives details regarding related work. Section III describes the
compounded by the fact that the service providers will try to path computation problem in SDH networks by describing the
use the available network resources efficiently before investing unique aspects that need to be considered. Section IV describes
in further resources. the details of the various algorithms proposed in this paper and
Service providers require faster provisioning of services to their limitations if any. Also, it describes how the algorithms
satisfy more customer requests in less time. Typically, services can be extended for computing dedicated protection paths in
207
Fig. 1. SDH Multiplexing Structure
the network elements present and links inter-connecting them cannot be assumed to have simply some integer units of
with integer units of capacity. This allows to them to formulate capacity and the free capacity cannot be obtained simply by
the problem mathematically and numerical solutions are thus subtracting the alloted capacity from the maximum capacity
possible. In some cases, weights are associated with the links and allocations cannot be made until the free capacity becomes
taking into account different constraints and traffic engineering zero. In SDH, higher order containers like VC-4 have to be
parameters. Those algorithms then attempt to compute paths used to create trails between the source and destination nodes
such that they take the shortest route or a route that minimizes before provisioning any bandwidth between two points. This
the network resources consumed. For protection paths, the aim means that even to have a E1 bandwidth which maps to VC-12
is to use the existing protection routes as much as possible by in SDH between two points, a single VC-4 trail or a sequence
sharing in such a way their corresponding working paths are of VC-4 trails have to be available already or have to be
not affected by a single failure. established newly.
But when it comes to provisioning in transport networks When a VC-12 (approximately 2 Mbps) is provisioned in a
particularly SONET/SDH networks, links cannot be simply newly created VC-4 trail, then that trail cannot support a future
considered to have certain integer units of capacity as the VC-4 request since the full capacity is not available any more.
multiplexing structure defined by those technologies has to Similarly, it can accommodate only two future VC-3 requests
be followed while provisioning the requested services. The since out of a maximum of 3 VC-3s that can be multiplexed
multiplexing structure defined by SDH[16] is shown in Fig. 1. to form a VC-4, the first one is broken to accommodate the
The common G.703[17] signals such as E1, E4, DS1, DS3 requested VC-12 service. If 3 VC-12s are provisioned in the 3
etc. are mapped into their corresponding virtual containers VC- different VC-3s, then that VC-4 trail cannot accommodate any
12, VC-4, VC-11, VC-3. The lower order virtual containers further VC-3 requests even though only 3 * 2 = 6 Mbps out of
like VC-11, VC-12, VC-2 are pointed to by their tributary unit the potential 140 Mbps for a VC-4 is currently alloted since
(TU) pointers. These are then multiplexed into tributary unit all VC-3s are broken. Similar restrictions apply for other rates
groups (TUG) which are then multiplexed into higher order like VC-2 and VC-11. Also in SDH, any arbitrary bandwidth
virtual containers like VC-3 and VC-4. They are pointed to by cannot be provisioned in a trail. Only those standard rates
their administrative unit (AU) pointers and then multiplexed defined in SDH are allowed. So the requests cannot be in
into administrative unit groups (AUG) which are in turn numerical units of bandwidth, but in one of those standard
multiplexed into one of the possible Synchronous Transport rates.
Modules (STM) which are the units of transmission in SDH. In summary, the existing path computation algorithms can-
Similar structure exists for SONET as well. not be used as such for SDH networks for the following two
Because of this multiplexing structure of SDH, each link reasons:
208
1) In SDH systems, trails have to be present or created
newly before provisioning any service.
2) SDH defines a strict multiplexing structure which has
to be followed while provisioning a service. All service
requests must fit into one of the standard rates supported
by SDH.
This paper deals with path computation algorithms for SDH
taking into account the above two considerations.
209
The algorithms described use the weights as calculated • If no path can be found in the graph containing only trails,
above in finding the paths. Dijkstra’s shortest path algorithm it finds a path in the graph containing only links without
is used to find the weighted shortest path in the graph of taking account all the trails that are already present
the network. Shortest path here refers to the path such that
Algorithm 2
the sum of the weights of the links and trails constituting
it is the minimum. A simple algorithm is described initially. The main reason for the limitations of Algorithm 1 is that
Then two more algorithms which address the limitations of it performs the same sequences of steps twice once on the
the earlier algorithms are described to get better results. The graph containing only trails and again on the graph containing
path computation algorithms described below find a working only links. This can be overcome by a forming a single graph
path for the requested service. Extension to these algorithms containing both the trails and links that are present. There
to find dedicated protection paths is provided finally. must be differentiation between trails and links so that trails
are preferred to links wherever possible. This is achieved by
Algorithm 1 assigning weights for trails as described earlier as a fraction
1) Find the shortest path in the graph containing only of the sum of the weights of the links traversed by it. The
logical trails modified algorithm is given below:
2) If no path exists, go to Step 4 1) Find the shortest path in the graph containing both links
3) If capacity is available in all the trails along the path and trails
found 2) If no path exists, then report failure and stop
then 3) If capacity is available in all the links and trails along
provision the requested capacity and adjust free the path
capacity in the trails along the path found then
stop create trails wherever required or use existing
else trails and provision the requested capacity in
eliminate those trails where capacity is not them and adjust free capacity
available and go to Step 1 else
4) Find the shortest path in the graph containing only eliminate those links and trails where capacity
physical links is not available and go to Step 1
5) If no path exists, then report failure and stop The shortest path computed by this algorithm will have a
6) If capacity is available in all the links along the path combination of both trails and links. New trails will be created
found whenever links are found and the trails will be used as such
then whenever they are found. This will result in an optimal path
create trails wherever required or use existing containing already created trails that can be used and new trails
trails and provision the requested capacity in that are created when they need to be done so. The value of α
them and adjust free capacity will affect the behavior of the algorithm in terms of the number
else of requests accepted and the total bandwidth consumed.
eliminate those links and trails where capacity Limitations of Algorithm 2
is not available and go to Step 4 • When more than one shortest path exists between two
This algorithm follows a greedy approach. It tries to find the nodes, one of them is chosen for this request and all the
shortest path in the graph containing only trails so that no new future requests which require those nodes in the path. In
trails need to be created. If no path exists in that graph, then this way, it overloads one path instead of distributing the
it finds the shortest path in the graph containing only physical load
links. If there are trails present along the links constituting • It does not take into account the free capacity available
that path, then they are used else new trails are created. The in the links
requested capacity is provisioned on the trails found or created • It does not give weightage to a trail where a low rate like
and the free capacity is adjusted accordingly. If capacity is VC-12 can be accommodated as such when compared to
not available in any of the trails or links found, then they a trail in which a VC-3 or a VC-2 needs to be broken
are eliminated and the process is repeated until either a path to accommodate the requested rate. This may result in
that can accommodate the requested capacity is found or no creation of new trails later when VC-3 or VC-2 requests
more paths can be found in which case the service request is come in the future. In other words, this might result in
rejected. fragmentation of the capacity in the trails present
Limitations of Algorithm 1 Algorithm 3
• It tries to find a path in the graph containing only trails The main reason for the limitations of Algorithm 2 is that
even though it may be circuitous thus consuming more the weights are constant for the links and trails. In other
bandwidth words, the weights once assigned are not changed. As a
210
result, the algorithm is not adaptive to the changing network • If a VC-3 has to be broken, then β is set to 1 since all
characteristics. The weights have to be dynamically changed possible containers have to be broken
for the algorithm to be truly reflective of the current state of • If a VC-3 need not be broken, then this is the most
the network. This will lead to better results in terms of the desirable case and β is set to a value less than 1 (referred
optimal utilization of the network resources. as β3 )
For links, the dynamic weight adjustment has to be based For a VC-3 to be created it must be multiplexed into a VC-
on the free capacity available in a link. Link weight has to 4. So a VC-4 always have to be broken to service a VC-3
be increased and not decreased so that it doesn’t become less request. So β is always set to 1 in this case. But the use of
than the weight of a trail created on that link. One form of an existing trail and the creation of a trail for accommodating
dynamic weight adjustment for a link l is: this VC-3 request has to be differentiated. This is inherently
done since the weight of the trail will be used in the earlier
c(l)
w(l) = wi (l) + ∗ wi (l) (2) case which will be less than the weight of the link which will
cmax (l) be used in the latter case.
where wi (l) is the initial weight associated with the link For a VC-4 request, a new trail has to be created always
l, c(l) is the capacity used in the link l and cmax (l) is the whose cost will be covered as the weight of the links involved
maximum possible capacity of the link l. The weight of the in its creation.
link now reflects the capacity used and the capacity available
Provisioning of capacity in trails
in the link. The link weight increases whenever new trails are
created in that link. As a result, this link will not be chosen Once the path is computed then the requested capacity has
when another link with a lesser capacity utilization compared to be provisioned in the trails that belong to that path. To
to this is available. This will result in the balancing of the load achieve this, the next free slot for each rate in the trail is
across many links that are possible candidates for the shortest maintained. For VC-4 rate, the only value that is possible is
path. 1. For VC-3 it is from 1 to 3, for VC-2 it is from 1 to 21, for
However for trails, free capacity is not the most important VC-12 it is from 1 to 63 and for VC-11 it is from 1 to 84.
criteria for dynamically adjusting weights. Instead the weight Whenever a trail is created the free slot for all the rates are
of the trail can be reduced when there is no need for breaking set to 1. Subsequently, the slots are alloted sequentially. When
higher rate containers like VC-3 and VC-2. This will avoid high rate containers have to be broken to accommodate a low
fragmentation of the available bandwidth in trails and new rate request, then the free slot for those high rates according
trails need not be created whenever service requests for higher to the multiplexing structure are increased by 1. For example,
rates are made in the future. This is achieved for a trail t as: if a VC-12 request is made and a new trail created for it, then
the free slots for VC-3 and VC-2 are increased by 1. Then
w(t) = β ∗ α ∗ w(l) (3) the free slot for VC-12 is also increased by 1. Now if a VC-
l∈L 3 request needs to be accommodated in this trail, the second
VC-3 will be alloted to this request and the free VC-3 slot
where β is a number between 0 and 1 such that the weight
value is increased to 3. Now if successive VC-12 requests are
of the trail is reduced when there is no need to break high rate
made that have to be accommodated in this trail, they will be
containers. Since different rates of bandwidth follow different
alloted values from 2 to 21 which is the maximum value that
multiplexing route in SDH, maintaining a single weight for
is possible as a result of breaking the first VC-3. If another
all rates will not reflect the correct status on breaking for
VC-12 request is made, it will be alloted the slot 43 since the
each rate. So different dynamic weights for different rates are
second VC-3 is already alloted for a VC-3 request. Similar
maintained for each trail and the weight corresponding to the
mechanism is used when provisioning requests for other rates
requested rate is used in the path computation step.
are made.
According to the SDH multiplexing structure, for a VC-12
and VC-11 to be created it must be multiplexed into a VC-2, Provisioning of capacity in links
then into a VC-3 and finally into a VC-4. The dynamic weight
For links, provisioning involves creation of VC-4 trails
adjustment for VC-12 and VC-11 rates in a trail is:
along that link. In SDH, the standard transport rates defined are
• If both VC-3 and VC-2 have to be broken, then β is set STM-1, STM-4, STM-16, STM-64 and STM-256. The number
to 1 since all possible containers have to be broken after STM indicates the number of VC-4 trails that can be
• If VC-3 need not be broken but a VC-2 has to be broken, created on that link. Whenever new trails are created on the
then β is set to a value less than 1 (referred as β2 ) link, the free capacity is reduced accordingly. New trails can
• If both VC-3 and VC-2 need not be broken, then this is be created until the free capacity becomes 0.
the most desirable case and β is set to a value less than
that chosen in the previous case (referred as β1 ) Extension to support dedicated protection paths
For a VC-2 to be created it must be multiplexed into a VC- The algorithms described above compute a path for the
3 and then into a VC-4. The dynamic weight adjustment for given service request between two nodes for the requested
VC-2 rate in a trail is: capacity. This is typically the working path for the given
211
service request. But customers typically want high availability treated equally. For example, a VC4 is equivalent to 63 VC12s.
for the services they take from the service providers. This is So, an execution that rejects a VC4 request due to lack of
achieved by protecting the service through some other route capacity and accepts less than 63 future VC12 requests will
so that even when the working path fails, the service can show better performance when compared to an execution that
be continued in a protection path. There are two types of accepts the VC4 request and rejects the future VC12 requests.
protection: dedicated and shared. A dedicated protection path To overcome this problem, the requests that are accepted have
is exclusively reserved for one working path and protects only to be weighted according to the relative bandwidth to get
that path. This is commonly referred to as 1+1 protection. a better indication of the performance. This is achieved by
Shared protection refers to the case where one protection keeping VC12 as the base and multiplying each VC4 request
path is shared among many working paths such that any one by 63, VC3 request by 21 and VC2 request by 3.
working path failure is overcome by this protection path. But In each experiment the following parameters are considered:
this can protect only one working path at the maximum. This 1) Weighted number of service requests accepted.
is commonly referred to as 1+N protection. This is employed 2) Number of service requests rejected.
when network resources are not at a premium and when it 3) Number of trails created.
can be assumed that not all working paths will fail at the 4) Percentage of the total bandwidth consumed to satisfy
same time. the accepted requests.
To find a dedicated protection path for a given service The experiments are run with the above configuration for
request in addition to finding a working path, the above evaluating Algorithm 1. For evaluating Algorithm 2, the value
algorithms can be used as follows: of α in (1) is varied from 0.1 to 1.0 with increments of 0.1. For
1) Use one of the algorithms to find a working path. evaluating Algorithm 3, the values for β1 , β2 and β3 are varied
2) Eliminate the edges which are part of the working path from 0.3 to 0.7, 0.4 to 0.8 and 0.5 to 0.9 respectively. The
(if the protection path has to be edge disjoint) and experiments are run for the three networks 10 times each with
the nodes which are path of the working path (if the different sets of random service requests. The results obtained
protection path has to be node disjoint) from the graph. in one of the 10 iterations for the four parameters mentioned
3) Use the same algorithm used earlier to get a path which above are shown in Figs. 3-6 for Network 1, Figs. 7-10 for
can be used as the protection path. Network 2 and Figs. 11-14 for Network 3. Similar results were
The above algorithm is similar to the sequential algorithm obtained in the other 9 iterations as well.
used in [14]. From the results obtained, it is found that the Algorithm
2 gives better results by minimizing the number of requests
V. P ERFORMANCE R ESULTS rejected, trails created and total bandwidth utilized than Al-
The performance of the described algorithms are evaluated gorithm 1 for almost all the values of α between 0.1 and
and the results obtained are provided in this section. The 1.0. This shows that the greedy approach of Algorithm 1 is
experiments were performed on the three following networks: not able to perform as well when compared to Algorithm 2
where the problem is solved by considering a single graph
• Network 1: 70 nodes, 103 links
containing both trails and links and the best path as a whole
• Network 2: 14 nodes, 21 links (National Science Foun-
is found. Further, the Algorithm 3 with dynamic adjustment of
dation (NSF) network)
weights is able to perform better when compared to Algorithm
• Network 3: 47 nodes, 82 links (a national service provider
2 which uses constant weights. This is due to the balancing
(VSNL) network)
of load achieved by means of dynamic adjustment of weights
The service requests are randomly generated and the per- which results in the optimal usage of network resources. But,
formance of the algorithms are evaluated by running 10 in certain cases it can be observed that Algorithm 1 is giving
iterations, each with different sets of service requests for all the better results when compared to Algorithm 2 and Algorithm
three networks, which are simulated. In each iteration, service 3 for lower values of α. So very low values for α are not
requests are generated as follows: desirable.
1) Per iteration some number of requests are generated such Also it is found that the values of 0.6 to 0.9 for α results
that a small fraction of them are rejected. in the minimum number of requests being rejected while the
2) Source node and destination node are chosen randomly weighted number of requests accepted is maximum. At the
for each service request. same time, the number of trails created is also lesser for these
3) The bandwidth requirement is generated in the following values of α. For some values of α other than 0.6 to 0.9, the
proportion: VC4 - 4%, VC3 - 10%, VC2 - 6%, VC12 number of trails created is less when compared with those for
- 80%. This is roughly the distribution of bandwidth α between 0.6 and 0.9. In these cases, the number of requests
requirements for services received by a well-known accepted is less and so the number of trails created is also
national service provider (VSNL). less. But when the number of trails created proportional to the
The number of requests rejected is an important parameter number of requests accepted is considered, the values of α
that has to be evaluated. However, since different service between 0.6 and 0.9 is better when compared to other values
requests are for different bandwidth rates, they cannot be of α. The same holds for the percentage of total bandwidth
212
Algorithm 1 Algorithm 1
7800 Algorithm 2 66 Algorithm 2
WEIGHTED NUMBER OF REQUESTS ACCEPTED
62
7600
60
7500
58
7400
56
7300
54
7200
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
ALPHA ALPHA
Fig. 3. Weighted number of requests accepted in Network 1 Fig. 6. Bandwidth utilized in Network 1
1800
Algorithm 1 Algorithm 1
120 Algorithm 2 Algorithm 2
NUMBER OF REQUESTS REJECTED (out of 1500)
80 1650
60 1600
1550
40
1500
20
1450
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
ALPHA ALPHA
Fig. 4. Number of requests rejected in Network 1 Fig. 7. Weighted number of requests accepted in Network 2
860 70
Algorithm 1 Algorithm 1
Algorithm 2 Algorithm 2
NUMBER OF REQUESTS REJECTED (out of 400)
800 40
30
780
20
760
10
740
0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
ALPHA ALPHA
Fig. 5. Number of trails created in Network 1 Fig. 8. Number of requests rejected in Network 2
213
80 90
Algorithm 1 Algorithm 1
Algorithm 2 Algorithm 2
70
70
60
65
50
60 40
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
ALPHA ALPHA
Fig. 9. Number of trails created in Network 2 Fig. 12. Number of requests rejected in Network 3
85 300
Algorithm 1 Algorithm 1
Algorithm 2 Algorithm 2
PERCENTAGE OF TOTAL BANDWIDTH UTILIZED
75
285
280
70
275
65
270
60 265
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
ALPHA ALPHA
Fig. 10. Bandwidth utilized in Network 2 Fig. 13. Number of trails created in Network 3
4260
Algorithm 1 Algorithm 1
Algorithm 2 Algorithm 2
WEIGHTED NUMBER OF REQUESTS ACCEPTED
4200 50
4180
48
4160
46
4140
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
ALPHA ALPHA
Fig. 11. Weighted number of requests accepted in Network 3 Fig. 14. Bandwidth utilized in Network 3
214
used. This is consistent for both Algorithm 2 and Algorithm The algorithms are evaluated for different sets of weights
3. Though, there is a trend showing better performance for and their performance is presented. It is found that when
increasing values of α, it is not uniform. We observed that the weights are dynamically varied according the state of the
this is a random behavior which depends on the network used network and the resources available, the performance is better.
and the service requests given in those cases. Then a simple extension is proposed for finding dedicated
Among the different combination of values for β1 , β2 and protection paths for those working paths which need to be
β3 in Algorithm 3, the combinations 0.5, 0.6, 0.7 and 0.6, protected. But not every working path will require a dedicated
0.7, 0.8 and 0.7, 0.8, 0.9 are found to give better results for protection path. Sharing of protection paths will result in the
the four parameters mentioned above when compared to the optimal usage of network resources.
other two combinations. But the difference among the different The extension of these algorithms for supporting shared
combinations is not very prominent. protection paths will be studied as a future extension. It
From these results, it can be inferred that links and trails should be able to take into account the inherent protection
must be differentiated. Trails must be given higher preference capabilities provided in SDH protection mechanisms like
than links so that already created trails are used as much Multiplex Section Protection (MSP)[18], Multiplex Section
as possible. This is achieved by means of assigning lesser - Shared Protection Ring (MS-SPRing)[18] and Subnetwork
weights to trails when compared to links. If the fraction α is Connection Protection (SNCP)[18].
too less, then it tries to use the existing trails always and this
R EFERENCES
results in consuming more bandwidth and congesting some
of the links. If the fraction α is very large, then new trails [1] W. Fawaz et al., “Service Level Agreement and Provisioning in Optical
Networks,” IEEE Communications Magazine, Jan. 2004, pp. 36-43
are created very frequently and this results in fragmentation [2] A. E. Ozdaglar and D. P. Bertsekas, “Routing and Wavelength Assign-
of bandwidth. The values of 0.6 to 0.9 for α are found to ment in Optical Networks,” IEEE/ACM Trans. Networking, vol. 11, pp.
give the optimal results for all the three networks. For the 259- 272, Apr. 2003.
[3] H. Zang, C. Ou and B. Mukherjee, “Path-Protection Routing and
algorithms to be more reactive to the service requests made and Wavelength Assignment (RWA) in WDM Mesh Networks Under Duct-
the bandwidth available, the weights have to be dynamically Layer Constraints,” IEEE/ACM Trans. Networking, vol. 11, pp. 248-258,
varied. For trails, the criteria used is the necessity for breaking Apr. 2003.
[4] X. Chu, B. Li and Z. Zhang, “A Dynamic RWA Algorithm in a
higher capacity containers in the SDH multiplexing structure. Wavelength-Routed All-Optical Network with Wavelength Converters,”
For links, the criteria used is the number of trails created in the Proc. IEEE INFOCOM, 2003, pp. 1795-1804.
links involved. Dynamically changing weights in this manner [5] M. Alanyali and E. Ayanoglu, “Provisioning Algorithms for WDM
Optical Networks,” IEEE/ACM Trans. Networking, vol. 7, pp. 767-778,
results in better usage of network resources and also more Oct. 1999.
requests are accepted. The values of 0.6 to 0.9 for β1 , β2 and [6] S. Janardhanan et al., “A Routing and Wavelength Assignment (RWA)
β3 are found to give better results when compared to other Technique to Minimize the Number of SONET ADMs in WDM Rings,”
Proc. HICSS, vol. 2, pp. 1-10, Jan. 2006.
values. This is again due to the fact that lesser values result [7] H. Liu et al., “Distributed Route Computation and Provisioning in
in more bandwidth utilization whereas very large values result Shared Mesh Optical Networks,” IEEE Journal on Selected Areas in
in fragmentation of bandwidth. Communications, vol. 22, pp. 1626-1639, Nov. 2004.
[8] S. Das, “Topology Discovery and Path Provisioning in SONET Rings
Since these algorithms are centralized, the issue of scalabil- Using GMPLS,” Proc. WOCN, 2006.
ity is a critical one. The time taken to compute a path in the [9] G. Shen and W. D. Grover, “Performance of Protected Working Capacity
70 nodes, 103 edges network is always less than 1 second on Envelopes based on p-cycles: Fast, Simple, and Scalable Dynamic
Service Provisioning of Survivable Services,” Proc. SPIE, vol. 5626,
a Pentium 4 (3 GHz) PC. Since this network is fairly large pp. 519-533, Nov. 2004.
and time taken is very low, these algorithms can be used in [10] M. Kodialam and T. V. Lakshman, “Dynamic Routing of Bandwidth
provisioning systems. The shortest path computation is done Guaranteed Tunnels with Restoration,” Proc. IEEE INFOCOM, 2000,
pp. 902-911.
using Dijkstra’s shortest path algorithm whose running time is [11] C. Ou et al., “Survivable Virtual Concatenation for Data Over
O((E+V ) log V ) when implemented using binary heap. Since SONET/SDH in Optical Transport Networks,” IEEE/ACM Trans. Net-
it does not increase exponentially with increasing network size, working, vol. 14, pp. 218-231, Feb. 2006.
[12] A. Gersht, S. Kheradpir and A. Shulman, “Dynamic Bandwidth-
these algorithms will be able to compute a shortest path for Allocation and Path-Restoration in SONET Self-Healing Networks,”
much larger networks in acceptable times. IEEE Trans. Reliability, vol. 45, pp. 321-331, Jun. 1996.
[13] H. Katz, G. F. Sawyers and J. L. Ginger, “SDH Management Network:
VI. C ONCLUSION Architecture, Routing and Addressing,” Proc. IEEE GLOBECOM, 1993,
pp. 223-228.
In this paper, new path computation algorithms are pre- [14] N. Ansari et al., “QoS Provision with Path Protection for Next Gener-
sented for service provisioning in SDH networks. These ation SONET,” Proc. IEEE ICC, 2002, pp. 2152-2156.
[15] A. Jukan and H. R. van As, “Service-Specific Resource Allocation in
algorithms differ from the conventional path computation WDM Networks with Quality Constraints,” IEEE Journal on Selected
algorithms in that they take into account the multiplexing Areas in Communications, vol. 18, pp. 2051-2061, Oct. 2000.
structure defined by SDH which imposes restrictions on the [16] ITU-T Recommendation G.707, Network node interface for the syn-
chronous digital hierarchy (SDH), G.707.
allocation of bandwidth and the fact that higher order trails [17] ITU-T Recommendation G.703, Physical/electrical characteristics of
(logical connections) have to be established to support any hierarchical digital interfaces, G.703.
bandwidth requirement. The assignment of weights to links [18] ITU-T Recommendation G.841, Types and characteristics of SDH
network protection architectures, G.841.
and trails to find an optimal path is described.
215