1 Introduction

The proliferation of services requiring large bandwidth such as High Definition Television (HDTV), Video on Demand (VoD) or cloud computing services have resulted in a dynamic increase of IP traffic in the networks. The appearance of new applications increases the traffic IP from month to month. Therefore, network operators expect transport networks capable of handling huge traffic while maintaining network scalability. It is obvious that the failure of even a single link in such a network can cause disruptions in the transmission of traffic for many users of the network. Resilience to link failure in the Elastic Optical Network (EON) can be achieved, as in Wavelength-Division Multiplexed (WDM) networks, with protection or restoration mechanisms. These mechanisms can be implemented on both link and path level. Protection uses backup resources and features shorter recovery time of the bandwidth, while the recovery mechanisms are more attractive from an economic point of view.

In [1], an offline Routing and Spectrum Allocation (RSA) problem with Dedicated Path Protection (DPP) in EON is proposed. In turn, in [2] two algorithms have been proposed that solve the offline RSA problem with working path protection. The first one is with shared backup path protection and the second one is with dedicated backup path protection. Also in [3] the RSA problem with a shared and dedicated backup path protection was considered with and without tunable transponders. For each case an Integer Linear Programming (ILP) optimization model was proposed and solved to minimize required spare capacity and the maximum number of slots used in the network. In [4], an online problem of Shared Backup Path Protection (SBPP) was used to increase the usage of spectrum compared to DPP. In this protection, two backup paths, calculated for two link-disjoint working paths, share the backup spectrum on the link adjacent to these paths. Another approach, called squeezed bandwidth protection, is used in [5], where only a fraction of the working traffic is protected, therefore reducing the spectrum of the backup path. In [6] the modulation-adaptive link-disjoint path selection problem was formulated as an ILP problem and it was shown to be an NP-complete problem. In turn, in [7] a scalable exact mathematical model for a network with a shared and dedicated path protection has been proposed. This model minimizes spectrum requirements for the protection in the network and takes into account such practical constraints as modulation format, regenerators and shared risk link groups.

In [8] an online RSA problem with an SBPP in EON was considered. The algorithm solving this problem is based on Spectrum Window Planes (SWPs), where the weight of each SWP edge is equal to the required number of slots for the request. The working path is the shortest path, measured by the number of links (in hops) from the paths calculated by Dijkstra’s algorithm for all SWPs. The backup path protection is calculated in an analogous way on the basis of SWPs, however, the weight of each SWP edge depends on the number of backup paths sharing the same slots of this edge. The basic drawback of this algorithm is the long calculation time resulting from a large number of SWPs for the arriving request. Also in [9] an online RSA problem with a shared backup path protection is solved based on the Primary First-Fit Modified Backup Last-Fit algorithm. The working path in this algorithm is selected from a set of k-shortest paths sorted in ascending order by actual lengths. To determine the slots for the arriving request First–Fit (F–F) spectrum allocation policy is used. After determining the working path, the backup path protection is also determined from the set of k-shortest paths calculated for the graph from which the working path was temporarily removed. From the k-paths, the path with the smallest penalty function is selected. The penalty function depends on the position of the solution with respect to the end of the spectrum (in slots) and the number of required slots for the request. To determine the penalty function the Last–Fit (L–F) spectrum allocation policy is used. In the absence of a working or backup path, the request is rejected. Primary F–F Modified Backup L–F has been used to verify the algorithm proposed in this article.

Algorithms with a dedicated or shared path protection provide traffic protection between each pair of nodes in case of a single-link failure in the network. Half of the traffic can be realized in the case of a single-link failure by considering Dual Path Allocation [10], which is a case of multipath routing. In this solution, half of the traffic for each request is sent on one of the two link-disjoint paths, while the other half is sent on the other path. After any single-link failure in the network, at least half of the traffic for each connection in the network is realized.

This article focuses on the DPA problem. The article contains the DPA optimization problem and algorithm, called Modified DPA algorithm, solving this problem. Formulation of the DPA problem, Modified DPA algorithm and obtained results are the main contribution of this article.

The Modified DPA algorithm was compared with DPA [10], P-DPP [11] algorithms and with Primary F–F Modified Backup L–F algorithm [9]. The Modified DPA algorithm rejects fewer requests and provides significantly less bandwidth blocking probability than other algorithms.

The further plan of the article is as follows. The second part presents dual path allocation and multipath routing, while the third part presents the optimization problem for the dual path allocation. The fourth part contains an algorithm solving the considered optimization problem. The fifth part shows obtained results and discussion, for example of networks. The sixth part contains a summary and conclusions.

2 Dual Path Allocation and Multipath Routing Problems

The Routing, Modulation Level and Spectrum Allocation (RMLSA) algorithm calculates a single path meeting the spectrum continuity and contiguity constraints, non-overlapping spectra constraints and optimizes modulation level. In the absence of a single path that meets these constraints, multipath routing is taken into account in which the required bandwidth for requests is realized using the minimum number of paths determined with or without pre-computed paths [13, 15].

For example, in [12] for the incoming request, the algorithm determines the set of candidate paths starting from the shortest path. Then, in this set, the algorithm attempts to identify the minimum number of paths for incoming requests by using different combinations.

However, in [13] two algorithms have been proposed. In the first, without pre-computed paths, the algorithm tries to realize the bandwidth for the request on the shortest path, but if there are no available slots on this path it reserves all contiguous slots and calculates the next shortest path. However, in a case where the differential delay between the new path and any paths that have been reserved is larger than the predefined value, the computation is terminated. In the second algorithm, the paths are selected from the pre-computed set of k paths, which are ordered in increasing delay.

In [14], the algorithm selects paths for the request from a pre-computed set of link-disjoint paths, ordered in increasing number of hops, for each pair of nodes. From this set two or three paths are selected for the request. The algorithm selects the paths in such a way as to realize the predefined part of the bandwidth for the request after a single-link failure in the network.

In [15] the algorithm determines the k-shortest paths for each request. Then, based on these k-paths, the algorithm determines 1, 2, 3 element subsets of paths, each of which can realize the requested bandwidth. Subsets for which differential delay is greater than the adopted threshold are not considered further. For each of the other subsets, a coefficient is determined, which is a function of the number of slots and cost of each subset path. The solution is the subset for which the obtained coefficient is the smallest.

In the case of DPA, which is a case of multipath routing, half of the traffic for the request is sent on the first shortest path and the other half of the traffic is sent using the second shortest path link-disjoint to the first [10]. There is no difference between which half of the traffic will be sent on the first and which on the second path. F–F allocation policy is used to allocate spectrum on both paths. After the failure of any link in the network, half of the traffic for each request where one of the paths contains a damaged link is realized.

The advantage of multipath routing and DPA is minimizing the bandwidth blocking probability and increasing the utilization of spectrum in the network. The drawback, however, compared to single path routing, is the use of an additional guard band (in slots) and increased spectrum fragmentation. However, it should be noted that minimizing the number of paths in multipath routing reduces the number of guard bands and the spectrum fragmentation in the network. In the DPA problem, the number of paths is limited to two. Most multipath routing algorithms do not take into account the possibility of single-link failure in the network.

Algorithm 1 in [14] allows to maintain more than 50% of bandwidth after a single-link failure, implementing the request on three link-disjoint paths, while DPA realizes 50% bandwidth after a single-link failure.

3 Optimization Problem for Dual-Path Allocation

In the DPA approach, half of the traffic of the arriving request is directed to the first path, while the other half is directed to the second path, link-disjoint to the first. Therefore, the formulated optimization problem includes the determination of two link-disjoint paths, \( p_{1}^{{}} \) and \( p_{2}^{{}} \) with the shortest total length under the following constraints: the spectrum continuity constraint on the links of both paths, the non-overlapping of spectra constraint for adjacent connections on the links of both paths and spectrum contiguity constraint on the links of both paths for each connection. In addition, optimization of the level of modulation is considered in this problem. Since both paths may have different lengths (in km), they may require different modulation formats with different modulation levels. The necessary notation in the formulated optimization problem is introduced below.

Network graph is denoted by Ɠ(N, E), where N denotes set of nodes and E denotes a set of links (unidirectional). D denotes the set of link lengths and \( F = \{ f_{1} ,f_{2} , \ldots ,f_{\left| F \right|} \} \) denotes a set of slices (slots) supported on the network links, where \( f_{i} \) corresponds to i-th slot. The network is equipped with Bandwidth-Variable Wavelength Cross-connects (BV-WXCs) and Bandwidth-Variable Transponders (BV-Ts) which can support different modulation formats: BPSK, QPSK, 8-QAM and 16-QAM [16]. Moreover, M is the set of modulation levels for used modulation format and G is the guard band (in slots) between contiguous connections on the network links. The triple (s,d,C) denotes the arriving request from source s to destination d with traffic of C bps.

Indices:

  • i, j∈N—nodes in the network;

  • \( l \in 1, \ldots ,{\text{L}}_{{{\text{i}}{\text{j}}}} \), where \( {\text{L}}_{{{\text{i}}{\text{j}}}} \) is the number of sets of available slots on the link i, j;

  • k∈Fk-th spectrum slot on the link.

Constants:


  • \( d_{ij} \in D \)—link lengths between a pair of nodes i and j;

  • \( TD_{\hbox{max} } (m) \)—the maximum transmission distance with the modulation m.

Variables:

  • \( x_{i\,j}^{{}} \),\( y_{i\,j}^{{}} \)—binary variables related with the path \( p_{1}^{{}} \) and \( p_{2}^{{}} \) respectively. Variables \( x_{i\,j}^{{}} \) are equal 1 if traffic C/2 (bps) is sent on link i, j and 0 otherwise. Variables \( y_{i\,j}^{{}} \) are defined in the same way for the path \( p_{2}^{{}} \);

  • \( x_{i\,j}^{l} \), \( y_{i\,j}^{l} \)—binary variables related with the path \( p_{1}^{{}} \) and \( p_{2}^{{}} \) respectively. Variables \( x_{i\,j}^{l} \) are equal to 1 when the C/2 traffic is sent on link i, j in the l th set of available slots, Variables \( y_{i\,j}^{l} \) are defined in the same way for the path \( p_{2}^{{}} \);

  • \( a_{i\,j}^{l} \), \( b_{i\,j}^{l} \)—variables defining the first and the last slot of l set available slots on link i, j;

  • f1a, f1b—variables defining the first and the last slot of the spectrum for request on all links of the path \( p_{1}^{{}} \) and variables f2a, f2b specified in the same way for the path \( p_{2}^{{}} \);

  • \( c_{i,j}^{k} \), \( e_{i,j}^{k} \)—binary variables related with the path \( p_{1}^{{}} \) and \( p_{2}^{{}} \) respectively. Variables \( c_{i,j}^{k} = 1 \) if the k-th slot on link \( i,\,j \in p_{1}^{{}} \) belongs to \( \left\langle {f_{1a} ,\;f_{1b} } \right\rangle \) and 0 otherwise. The variables \( e_{i,j}^{k} \) are defined in the same way for the path \( p_{2}^{{}} \);

  • \( m_{1} ,\,m_{2} \in M \)—variables defining the modulation levels for the modulation formats used on the path \( p_{1}^{{}} \) and \( p_{2}^{{}} \), respectively.

Assuming that each sub-carrier of signal on the path has the same symbol rate R (baud) with \( m \in M \) modulation level the required number of slots n can be determined as [17]:

$$ n = \left\lceil {{C \mathord{\left/ {\vphantom {C {2mR}}} \right. \kern-0pt} {2mR}}} \right\rceil $$
(1)

The considered DPA problem can be considered to be an extension to the classic problem of Routing, Modulation Level and Spectrum Allocation (RMLSA) [17]. The formulated problem can be written as follows:

$$ Min\left( {\sum\limits_{{(i,{\kern 1pt} {\kern 1pt} j) \in E}} {x_{{i,{\kern 1pt} j}} d_{{i{\kern 1pt} j}} } + \sum\limits_{{(i,{\kern 1pt} {\kern 1pt} j) \in E}} {y_{{i,{\kern 1pt} j}} d_{{i{\kern 1pt} j}} } } \right)\quad \quad $$
(2)

The problem objective (2) is to minimize the total length of both paths.

$$ \sum\limits_{i} {x_{i,\,j} } - \sum\limits_{i} {x_{{j,{\kern 1pt} i}} } = \left\{ \begin{aligned} - 1,\quad j = s \hfill \\ 1,\quad j = d \hfill \\ 0{\kern 1pt} ,\quad j \ne s,\;d \hfill \\ \end{aligned} \right.\quad \forall_{{j{\kern 1pt} \, \in {\kern 1pt} \,N}} $$
(3a)
$$ \sum\limits_{i} {y_{i,\,j} } - \sum\limits_{i} {y_{{j,{\kern 1pt} i}} } = \left\{ \begin{aligned} - 1,\quad j = s \hfill \\ 1,\quad j = d \hfill \\ 0{\kern 1pt} ,\quad j \ne s,\;d \hfill \\ \end{aligned} \right.\quad \forall_{{j{\kern 1pt} \, \in {\kern 1pt} \,N}} $$
(3b)

Equations (3a) and (3b) ensure an equilibrium state for the path \( p_{1}^{{}} \) and \( p_{2}^{{}} \), respectively.

$$ \sum\limits_{{{\kern 1pt} j}} {x_{{i{\kern 1pt} ,{\kern 1pt} j}} \le 1\quad \quad } \forall_{{i{\kern 1pt} \, \in {\kern 1pt} \,N}} $$
(4a)
$$ \sum\limits_{{{\kern 1pt} j}} {y_{{i{\kern 1pt} ,{\kern 1pt} j}} \le 1\quad \quad } \forall_{{i{\kern 1pt} \, \in {\kern 1pt} \,N}} $$
(4b)

Inequality (4a) ensures that from the i-th node one can only exit to the j-th node on path \( p_{1}^{{}} \). Similarly, the inequality (4b) ensures that from the i-th node one can only exit to the j-th node on the path \( p_{2}^{{}} \).

$$ \sum\limits_{l = 1}^{{L_{ij} }} {x_{{i,{\kern 1pt} j}}^{l} } = x_{ij} \quad \forall_{{i,\,j{\kern 1pt} \, \in {\kern 1pt} \,E}} $$
(5a)
$$ \sum\limits_{l = 1}^{{L_{ij} }} {y_{{i,{\kern 1pt} j}}^{l} } = y_{ij} \quad \forall_{{i,\,j{\kern 1pt} \, \in {\kern 1pt} \,E}} $$
(5b)

Equations (5a) and (5b) ensure use one set of available slots on each link of both paths.

$$ f_{1b} - f_{1a} + 1 = \left\lceil {{{({C \mathord{\left/ {\vphantom {C 2}} \right. \kern-0pt} 2})} \mathord{\left/ {\vphantom {{({C \mathord{\left/ {\vphantom {C 2}} \right. \kern-0pt} 2})} {2m_{1} R}}} \right. \kern-0pt} {2m_{1} R}}} \right\rceil + G $$
(6a)
$$ f_{2b}^{{}} - f_{2a}^{{}} + 1 = \left\lceil {{{\left( {{C \mathord{\left/ {\vphantom {C 2}} \right. \kern-0pt} 2}} \right)} \mathord{\left/ {\vphantom {{\left( {{C \mathord{\left/ {\vphantom {C 2}} \right. \kern-0pt} 2}} \right)} {2m_{2} R}}} \right. \kern-0pt} {2m_{2} R}}} \right\rceil + G $$
(6b)

Equation (6a) and (6b) determine, on the basis of (1), the number of slots for request on path \( p_{1}^{{}} \) and \( p_{2}^{{}} \) respectively.

$$ x_{ij} + y_{ij} \le 1\quad \forall_{{i,\,j{\kern 1pt} \, \in {\kern 1pt} \,E}} $$
(7)

Inequality (7) ensures that path \( p_{1}^{{}} \) is a link-disjoint with \( p_{2}^{{}} \).

$$ f_{1a} - a_{i,\,j}^{l} \ge \left| F \right|\left( {x_{ij} + x_{i,\,j}^{l} - 2} \right)\quad \forall i,j \in E,\forall l\quad b_{i,\,j}^{l} - f_{1b} \ge \left| F \right|\left( {x_{ij} + x_{i,\,j}^{l} - 2} \right)\quad \forall i,j \in E,\forall l $$
(8a)
$$ f_{2a} - a_{i,\,j}^{l} \ge \left| F \right|\left( {y_{ij} + y_{i,\,j}^{l} - 2} \right)\quad \forall i,j \in E,\forall l\quad b_{i,\,j}^{l} - f_{2b} \ge \left| F \right|\left( {y_{ij} + y_{i,\,j}^{l} - 2} \right)\quad \forall i,j \in E,\forall l $$
(8b)

Equations (8a) and (8b) provide the non-overlapping spectrum constraints for path \( p_{1}^{{}} \) and \( p_{2}^{{}} \) respectively. In the case where half of the request is realized on the link \( i,\;j \in p_{1}^{{}} \) in the l-th set of available slots the inequalities (8a) take the form: \( f_{1a} \ge a_{i,\,j}^{l} \), \( b_{i,\,j}^{l} \ge f_{1b} \). However, for the other sets of available slots \( \bar{l} \in 1,\;2, \ldots ,\;l - 1,\;l + 1, \ldots ,\;L_{ij} \), on which the request is not realized (\( x_{ij} = 1,\;x_{i,\,j}^{{\bar{l}}} = 0 \)) the same set of inequalities can be written as: \( a_{i,\,j}^{{\bar{l}}} - f_{1a} \le \left| F \right| \), \( f_{1b} - b_{i,\,j}^{{\bar{l}}} \le \left| F \right| \). If the request is not realized on link i, j, i.e. \( x_{ij} = 0,\;x_{i,\,j}^{l} = 0 \), inequalities (8a) take the form: \( a_{i,\,j}^{l} - f_{1a} \le 2\left| F \right| \), \( f_{1b} - b_{i,\,j}^{l} \le 2\left| F \right| \). The right sides of these inequalities are equal to \( 2\left| F \right| \), which means that these inequalities are deactivated. Analogous relationships occur for each link \( i,\;j \in p_{2}^{{}} \).

$$ \left( {c_{i,j}^{k} - c_{i,j}^{k + 1} - 1} \right)\;\left( { - \left| F \right|} \right) \ge \sum\limits_{{k^{'} \in \left( {k + 2,\;\left| F \right|} \right)}} {c_{i,j}^{{k^{'} }} } \quad \forall i,j \in E,\;\forall k $$
(9a)
$$ \left( {e_{i,j}^{k} - e_{i,j}^{k + 1} - 1} \right)\;\left( { - \left| F \right|} \right) \ge \sum\limits_{{k^{'} \in \left( {k + 2,\;\left| F \right|} \right)}} {e_{i,j}^{{k^{'} }} } \quad \forall i,j \in E,\;\forall k $$
(9b)

Inequalities (9a) and (9b) are the spectrum contiguity constraints for path \( p_{1}^{{}} \) and \( p_{2}^{{}} \) respectively. If connection on path \( p_{1}^{{}} \) with the spectrum from \( f_{1a} \) to \( f_{1b} \) uses the k-th slot on link i, j (\( c_{i,j}^{k} \) = 1), where \( i,\;j \in p_{1} \), and does not use the k + 1 slot on this link i, j (\( c_{i,j}^{k + 1} \) = 0), it cannot use k + 2 slot. Since the left side of the inequality (9a) is equal to 0, it must be forced to \( c_{i,j}^{{k^{'} }} = 0\; \) for \( k^{'} \in \left( {k + 2,\;\left| F \right|} \right) \). Analogously for the path \( p_{2}^{{}} \), i.e. when \( e_{i,j}^{k} = 1 \) and \( e_{i,j}^{k + 1} = 0 \), variable values \( e_{i,j}^{{k^{'} }} = 0\; \) for \( k^{'} \in \left( {k + 2,\;\left| F \right|} \right) \).

$$ \sum\limits_{{(i,{\kern 1pt} {\kern 1pt} j) \in E}} {x_{{i,{\kern 1pt} j}} d_{{i{\kern 1pt} j}} } \le TD_{\hbox{max} } (m_{1} )\quad \forall m_{1} \in M $$
(10a)
$$ \sum\limits_{{(i,{\kern 1pt} {\kern 1pt} j) \in E}} {y_{{i,{\kern 1pt} j}} d_{{i{\kern 1pt} j}} } \le TD_{\hbox{max} } (m_{2} )\quad \forall m_{2} \in M $$
(10b)

Inequalities (10a) and (10b) limit the actual length of paths \( p_{1}^{{}} \) and \( p_{2}^{{}} \) to the maximum transmission distances \( TD_{\hbox{max} } (m_{1} ) \) and \( TD_{\hbox{max} } (m_{2} ) \) respectively, where \( m_{1} ,\,m_{2} \in M \).

It should be noted that the required numbers of slots on the right side of both Eq.: (6a) and (6b), calculated on the basis of (1), are non-linear functions of modulation levels \( m_{1} \) and \( m_{2} \), respectively, that occur as variables. Fixing of variables \( m_{1} \) and \( m_{2} \) will eliminate non-linearity from Eqs. (6a) and (6b), which causes problem (2)–(10b) to be an ILP problem. Of course, to calculate the solution, this problem should be repeated for all values \( m_{1} ,\,m_{2} \in M \). However, it should be noted that based on this model, an exact solution can be calculated only for a single request.

Because such a problem cannot be solved in real time even for small networks, it is necessary to determine a heuristic algorithm with a polynomial function of computational complexity, which will be presented in the next part of the article.

4 Optimization Problem Solution

To solve the formulated optimization problem, two link-disjoint paths minimizing their total length must be calculated. Each of them must enable sending half of the traffic for the request, i.e. C/2 bps between nodes s and d with the constraints (3a)–(10b). In the proposed algorithm, which is a heuristic, both paths are calculated one by one. Let us assume that the Modified Shortest Path algorithm is given. This algorithm named as MSP(D,p,l(p)fa, fb, m), solves the RSA problem with simultaneous optimization of the modulation level m, where \( m \in M \) [17]. The RSA problem in this algorithm is solved by modified Dijkstra’s algorithm. For the arriving request with C bps, the shortest path p is calculated based on the matrix of weights D, where \( l(p) \) denotes the number of links of calculated path. The spectrum assignment, from slot \( f_{a} \) to slot \( f_{b} \), is carried out in parallel during the process of path calculation, based on F–F. Optimization of the modulation level is made in an iterative way starting from the highest value m (Fig. 4 in [17]). In the proposed algorithm, named as Modified Dual-path Allocation algorithm (Modified DPA), it was assumed that two link-disjoint paths are calculated on the basis of two weight matrices which causes the weakening of the objective function (2). The first matrix is \( D^{'} = [d_{{i,{\kern 1pt} j}}^{'} ] \), where: \( d_{i,\;j}^{\,'} = {{d_{i,\;j} } \mathord{\left/ {\vphantom {{d_{i,\;j} } {\left( {1 - {{A_{i,\,j} } \mathord{\left/ {\vphantom {{A_{i,\,j} } {\left| F \right|}}} \right. \kern-0pt} {\left| F \right|}}} \right)}}} \right. \kern-0pt} {\left( {1 - {{A_{i,\,j} } \mathord{\left/ {\vphantom {{A_{i,\,j} } {\left| F \right|}}} \right. \kern-0pt} {\left| F \right|}}} \right)}} = {{d_{i,\;j} } \mathord{\left/ {\vphantom {{d_{i,\;j} } {\left( {1 - U_{i,\,j} } \right)}}} \right. \kern-0pt} {\left( {1 - U_{i,\,j} } \right)}} \), \( A_{i,\,j} \) denotes the number of occupied slots on link i, j and \( U_{i,\;j}^{\,} \) denotes utilization of the link i, j. The second matrix is \( D^{''} = [d_{i,\,j}^{''} ] \), where: \( d_{i,\;j}^{\,''} = 1 \) for \( d_{i,\;j} < \infty \) and \( d_{i,\;j}^{\,''} = \infty \) for \( d_{i,\;j}^{\,} = \infty \). The calculation of both paths for the arriving request proceeds according to the following scheme. The shortest paths \( p\,_{1}^{'} \) and \( p\,_{1}^{''} \) are calculated based on the matrices \( D^{\,'} \) and \( D^{\,''} \), respectively by the MSP algorithm with F–F spectrum allocation policy. Of course, the optimization of the modulation level m in MSP is based on actual link lengths from matrix D. If \( l\left( {p\,_{1}^{''} } \right) < l\left( {p\,_{1}^{'} } \right) \), then \( p_{1}^{{}} \) is assumed to be \( p\,_{1}^{''} \), i.e. \( p_{1}^{{}} \leftarrow p\,_{1}^{''} \), otherwise \( p_{1}^{{}} \leftarrow p\,_{1}^{'} \). Then, links \( i,{\kern 1pt} j \in p_{1}^{{}} \) are blocked in \( D^{\,'} \) and \( D^{\,''} \), i.e. \( \forall (i,j) \in p_{1}^{{}} {\kern 1pt} \;d\,_{{}}^{'} (i,j) \leftarrow \infty ,\;\,d\,_{{}}^{''} (i,j) \leftarrow \infty \). Now path \( p_{2}^{{}} \) can be calculated. Similarly to the previous path \( p_{1} \), the shortest paths \( p\,_{2}^{'} \) and \( p\,_{2}^{''} \) are calculated based on matrices \( D^{\,'} \) and \( D^{\,''} \) respectively by the MSP with F–F spectrum allocation policy. If \( l\left( {p\,_{2}^{''} } \right) \, < \, l\left( {p\,_{2}^{'} } \right) \, \) then \( p_{2}^{{}} \leftarrow p\,_{2}^{''} \), otherwise \( p_{2}^{{}} \leftarrow p\,_{2}^{'} \). The assumption of weights depending on the utilization of links in the matrix \( D^{\,'} \) ensures that the calculated paths contain less-loaded links, which causes the balancing of the load on network links. In turn, the calculation of the shortest paths, based on the matrix \( D^{\,''} \), increases the possibility of finding paths with the required number of adjacent slots. This reduces the blocking probability for arriving requests and reduces the bandwidth blocking probability. The use of the matrices \( D^{\,'} \) and \( D^{\,''} \) ensures that from two paths with equal numbers of links the one is selected for which the sum of link weights depending on the load is smaller.

However, this way of calculating the paths is not compatible with the optimized objective function (2) in the formulated optimization problem. In addition, the paths in the proposed algorithm are calculated one by one. In turn, the minimization of the actual total length of both paths (2) optimizes the bandwidth occupied in the network by using more efficient modulations (with a higher level of modulation) on both paths, which also leads to minimizing the bandwidth blocking probability of the network.

figure a

The proposed Modified DPA differs significantly from those in [12,13,14,15], which are briefly presented in chapter two. The main difference is that multipath routing is used when a request on a single path cannot be realized [13, 15], while in the proposed algorithm all traffic is immediately divided into two equal parts and each of them is directed to one of two link-disjoint paths. In addition, the algorithms in [12,13,14,15] are based on sets of K-shortest paths from which the required number of paths is selected for the request, while in the proposed algorithm the paths are selected one by one. The exception is the first algorithm in [13], which takes into account the next shortest paths. K-element path sets, with the exception of [14], are selected only on the basis of the length of the links in the network, while in the proposed algorithm the paths are calculated based on the length and load of links in the network. The proposed Modified DPA also takes into account the number of hops on the selected paths. In addition, most of the presented algorithms do not take into account the failure of a single link in the network, while in the proposed algorithm at least half of the traffic is realized between each pair of nodes after a single link failure. Only the algorithm in [14] is based on pre-computed sets of link-disjoint paths ordered in increasing number of hops, thus predefined part of the bandwidth in the case of a single link failure is realized. It should be added, however, that algorithms in [13, 15] take into account the differential delay between paths, which was omitted in the proposed algorithm.

The complexity of Modified DPA depends on the MSP. The complexity of MSP is \( O(\left| M \right|\left| F \right|\left| N \right|^{2} ) \), where \( O(\left| F \right|\left| N \right|^{2} ) \) is the complexity of Modified Dijkstra’s algorithm [17]. Hence, complexity of Modified DPA is \( O(4\left| M \right|\left| F \right|\left| N \right|^{2} ) \). In turn, the P-DDP and DPA algorithms require a double use of the MSP algorithm, hence their computational complexity functions are \( O(2\left| M \right|\left| F \right|\left| N \right|^{2} ) \). Whereas the Primary F–F Modified Backup L–F algorithm requires two times the use of Yen’s k shortest paths algorithm with a computational complexity function equal to \( O(k\left| N \right|^{3} ) \) [18], the computational complexity of the Primary F–F Modified Backup L–F algorithm is \( O(2k(\left| F \right| + \left| N \right|^{3} )) \).

5 Obtained Results and Discussion

This chapter contains a comparison of the Modified DPA algorithm with P-DPP, DPA and Primary F–F Modified Backup L–F algorithms. The research was conducted for two different networks: the first one is NSFNet, which contains 14 nodes connected by 44 unidirectional links [17], while the second one is a pan-European Nobel-EU network (Euro 28), which contains 28 nodes connected by 82 unidirectional links [19].

In the NSFNet the link lengths are long and range from 600 to 4800 km, while in the Euro 28 the link lengths are shorter and range from 145 km to 1052 km. Figure 1a shows the structure of the NSFNet network, while Fig. 1b shows the structure of the Euro 28 network. The number of slots supported on each link of both networks is \( \left| F \right| \) = 320. Algorithms were tested based on the Monte Carlo simulation. In this model, the stream of arriving requests is a Poissonian with parameter \( \lambda \), which determines the average number of requests in unit of time, while the connection holding times are exponential distributed with mean equal to \( \overline{t} {{ = 1} \mathord{\left/ {\vphantom {{ = 1} \mu }} \right. \kern-0pt} \mu } \). For each arriving request a pair of nodes with a uniform distribution is generated. The load of the network is defined as \( \rho = {{\lambda \;\overline{t} = \lambda } \mathord{\left/ {\vphantom {{\lambda \;\overline{t} = \lambda } \mu }} \right. \kern-0pt} \mu }{\kern 1pt} \, \) and is expressed in Erl. Assuming that \( \overline{t} = 1 \) the traffic offered to the network is equal to the average number of requests in unit time, with an average bit-rate of requests equal to \( \overline{C} \) Gb/s. The bit-rates C of requests are random with uniform distribution from 20 to 200 Gb/s. Modulation rate is equal to R = 1 Gbaud.

Fig. 1
figure 1

Network topology for a NSFNet, b Euro 28

In this article, the maximum transmission distance \( TD_{\hbox{max} } \left( m \right){\kern 1pt} \), for m = 1, after using BPSK is specified as \( TD_{\hbox{max} } \left( 1 \right){\kern 1pt} \) > 1500 km, for m = 2 after using QPSK is limited as 750 km < \( TD_{\hbox{max} } \left( 2 \right){\kern 1pt} \) ≤ 1500 km, for m = 3 after using 8-QAM is limited as 375 km < \( TD_{\hbox{max} } \left( 3 \right){\kern 1pt} \) ≤ 750 km and for m = 4 after using 16-QAM is limited as \( TD_{\hbox{max} } \left( 4 \right){\kern 1pt} \) ≤ 375 km [19].

In the research dynamic scenario where connections are made and disconnected was assumed. The results are saved after removing the first 1000 requests when a steady state is reached.

The end of the simulation occurs after the arrival of 50,000 requests for each of the considered networks. Simulation results are averaged over a set of 30 elements for every load of the network and 95% confidence intervals are calculated. In Fig. 2a and Fig. 2b the number of rejected requests depending on the load for both networks are shown. Figure 2a shows that for the NSFNet the Modified DPA for loads up to 30 Erl. rejects slightly more requests than the number of requests based on the mathematical model. Modified DPA rejects 71 requests while the mathematical model rejects 66 requests. However, the proposed algorithm rejects the least requests among the tested algorithms for each network load. For example, for network load equal to 15 Erl., the proposed algorithm rejects an average of 71 requests, while the DPA algorithm rejects 180 requests. In turn, the Primary F–F Modified Backup L–F algorithm with shared backup path protection rejects up to 2035 requests for the same load and P-DPP rejects 5145 requests. Similar dependencies for the number of rejected requests were obtained for the Euro 28 network. For loads up to 30 Erl. Modified DPA rejects a few more requests than the number of requests based on the mathematical model. However, this difference is greater than for NSFNet. For example, for a network load of 15 Erl., this difference is equal to 87 requests, while for NSFNet it is equal to only 5 requests. For 15 Erl., the proposed algorithm rejects 318 requests, while the DPA algorithm rejects many more requests, i.e. 456. In turn, for the same load, Primary F–F Modified Backup L–F rejects up to 1791 requests and P-DPP rejects 6942 requests.

Fig. 2
figure 2

The number of rejected requests for a NSFNet, b Euro 28

However, above 30 Erl. for both networks Modified DPA rejects fewer requests than the mathematical model. This is because the mathematical model takes into account only the length of links, while the proposed algorithm takes into account both the length and the utilization of the network links. Therefore, for higher network load Modified DPA bypasses more loaded links, which results in slightly fewer requests being rejected.

The results presented in Fig. 2 show that the proposed algorithm exceeds the other tested algorithms. P-DPP and Primary F–F Modified Backup L–F are algorithms with traffic protection. In the first of them, the traffic of C b/s is directed to the working path and traffic of C/2 b/s to the partial dedicated path protection. In turn, in the second, traffic of C b/s is directed to the working path and after a link failure C b/s is directed to the shared path protection. Thus, both algorithms require bandwidth (in slots) for traffic much larger than C b/s, which means that for the same network load the number of rejected requests by these algorithms is much higher than for Modified DPA. In the case of DPA and Modified DPA algorithms, all traffic of C b/s is divided into two equal parts and directed on two link-disjoint paths. In the DPA, these paths are calculated, as in the mathematical model, only on the basis of the link lengths. Because Modified DPA bypasses the more loaded links, it rejects fewer requests than DPA.

The calculated confidence intervals are shown for the number of rejected requests when the network load is 25 Erl. For the NSFNet network, these values are respectively: P-DPP: 12,206.8 ± 50.0, DPA: 2436.4 ± 30.6, Modified DPA: 1698.0 ± 25.1, and for Primary F–F Modified Backup L–F: 5676.8 ± 39.4; while for the Euro 28 network: P-DPP: 12,878.1 ± 44.7, DPA: 3021.1 ± 31.8, Modified DPA: 2456.8 ± 27.4 and for Primary F–F Modified Backup L–F: 4578.9 ± 38.8.

It should be noted that the percentages of confidence intervals relative to the average values for P-DPP and Primary F–F Modified Backup L–F are definitely smaller than for DPA and Modified DPA in both networks. This indicates a smaller dispersion of the number of rejected requests relative to the average value (smaller standard deviation) for P-DPP and Primary F–F Modified Backup L–F than for the other two algorithms.

In Fig. 3a, b the bandwidth blocking probabilities for NSFNet and Euro 28, respectively are shown. Bandwidth blocking probability is estimated as the sum of the traffic over rejected requests divided by the total traffic for all arriving requests. For loads up to 30 Erl. the bandwidth blocking probability is a little higher for Modified DPA than the bandwidth blocking probability obtained from the mathematical model for both networks, which results from the number of rejected requests (Fig. 2a, b). However, Modified DPA provides the least bandwidth blocking probability among the tested algorithms for all network loads. From Fig. 3a it follows that for NSFNet with a load of 15 Erl. the bandwidth blocking probability is equal to 2.2 × 10−3 after using Modified DPA and it is two times smaller than after using the DPA and over 26 times smaller than after using Primary F–F Modified Backup L–F. It should be noted that this value of bandwidth blocking probability is close to the acceptable values. For a smaller network load, the differences between the DPA and Modified DPA are slightly smaller. For example, for network load equal to 5 Erl., the bandwidth blocking probability after using Modified DPA is equal to 1.2 × 10−6 while after using DPA it is equal to 2.1 × 10−6. However, for the same load the differences between Modified DPA and Primary F–F Modified Backup L–F increase. Bandwidth blocking probability for Modified DPA is over three orders smaller than for Primary F–F Modified Backup L–F. In turn, Fig. 3b shows that the bandwidth blocking probability for network load of 15 Erl. is equal to 9.4 × 10−3 after using the Modified DPA and is equal to 1.3 × 10−2 after using DPA. Moreover, it should be clearly emphasized that for all network loads the bandwidth blocking probability after using Modified DPA is many times smaller than after using the Primary F–F Modified Backup L–F algorithm.

Fig. 3
figure 3

Bandwidth Blocking Probability for a NSFNet, b Euro 28

Figure 4a shows the spectrum utilization ratio for the NSFNet network, Fig. 4b for the Euro 28 network. Figure 4a shows that for loads from 15 Erl. to 45 Erl. the spectrum utilization ratio for the proposed Modified DPA is slightly less than for the DPA.

Fig. 4
figure 4

Spectrum utilization ratio for a NSFNet, b Euro 28

In the case of the Euro 28 network for all network loads, the spectrum utilization ratios for Modified DPA and DPA are practically the same. The spectrum utilization ratio has an interesting course for the P_DPP algorithm. For small loads, up to 25 Erl. for NSFNet and up to 20 Erl. for the Euro 28 network, the spectrum utilization ratio runs above the spectrum utilization ratio for the Modified DPA and DPA algorithms. This course of the spectrum utilization ratio for the P_DPP algorithm results from the fact that for a small load and small bandwidth blocking probability, the slots are occupied for the stream of C b/s on the working path and for the stream of 0.5 Cb/s on the protection path for each request. However, for higher load, the bandwidth blocking probability increases and requests are more often rejected, hence the spectrum utilization ratio grows much more slowly than for DPA and Modified DPA.

In order to better compare the tested algorithms, the analysis of both networks for a specific case, the so-called case study, was shown. Case studies for both networks were made for the load of 15 Erl., which means that 15 requests arrive in unit time, each with an average traffic of 110 Gb/s. The total traffic for these requests is equal to 15,110 Gb/s = 1650 Gb/s. The average number of rejected requests in unit time is defined as the product of the request blocking probability for a load of 15 Erl. and the number of arriving requests in unit time. For NSFNet average numbers of rejected requests in unit time are equal to: 1.54, 0.054, 0.02, 0.61 for P_DPP, DPA, Modified DPA and Primary F–F Modified Backup L–F, respectively and 0.019 for the mathematical model. Similarly, traffic rejected by the network per unit time can be calculated. This amount is equal to the product of the bandwidth blocking probability for a load of 15 Erl. and the total traffic in a unit time. For NSFNet traffic rejected by the network in unit time is equal to: 241.9, 9.0, 3.7, 97.6 Gb/s for P_DPP, DPA, Modified DPA and Primary F–F Modified Backup L–F, respectively and 3.46 Gb/s for the mathematical model.

A similar analysis can be presented for the Euro 28. The average number of rejected requests in unit time is equal to: 2.08, 0.13, 0.095, 0.53 for the algorithms: P_DPP, DPA, Modified DPA and Primary F–F Modified Backup L–F, respectively and 0.069 for the mathematical model. In turn, traffic rejected by the network in unit time is equal to: 301.7, 21.9, 15.5, 84.8 Gb/s for the algorithms: P_DPP, DPA, Modified DPA and Primary F–F Modified Backup L–F, respectively, and 11.80 Gb/s for the mathematical model.

The presented case studies for both networks clearly show that the proposed Modified DPA rejects the least requests and the smallest traffic among the tested algorithms.

In order to answer the question as to whether the proposed Modified DPA is scalable, the average path calculation time was determined for four networks: NSFNet, Euro 28, Network 40 and Network 50. The third and fourth network is described by a Gabryiel graph, supplemented so that between each pair of nodes there are at least two edge disjoint paths. Network 40 contains 40 nodes and 65 edges, while Network 50 contains 50 nodes and 82 edges. Both networks were generated on the area of a square with a side of 1000 km. Each edge in both graphs represents a pair of opposed unidirectional links. The link lengths in Network 40 are from 7 km to 425 km with an average of 157.4 km, while in Network 50 they are from 7 km to 342 km with an average of 133.0 km. Node degrees in Network 40 vary from 4 to 10, while in Network 50 from 4 to 12, where the degree of the node is defined as the sum of the incoming and outgoing links from that node. All networks were loaded with such traffic as to obtain bandwidth blocking probability equal to 0.05. The values of this traffic are 25 Erl. for NSFNet, 23 Erl. for Euro 28, 65 Erl. for Network 40 and 55 Erl. for Network 50. The average path calculation times for each network at a given load are: 0.304, 0.562, 1.18 and 1.46 ms for NSFNet, Euro 28, Network 40 and Network 50, respectively. It can be seen that the path calculation time, depending on the number of nodes, is close to the linear relationship, which proves the usefulness of the proposed Modified DPA for larger networks.

6 Summary and Conclusions

In the article the Dual Path Allocation problem was considered. In the DPA problem, all traffic of arriving requests is broken into two equal parts, which are directed along two link-disjoint paths. In the case of any link failure in the network, half of the traffic for each supported request is realized. The article proposes the formulation of the optimization problem in which the total path lengths are minimized while maintaining the constraints characteristic for the basic RSA problem, i.e. spectrum continuity constraint on the links of both paths, the non-overlapping of spectra constraint for adjacent connections on the links of both paths and spectrum contiguity constraint on the links of both paths for each connection. In the formulated optimization problem the optimization of the modulation level is also considered. Due to the fact that the considered optimization problem is the linear integer programming problem, a heuristic algorithm, based on the modified Dijkstra’s algorithm, was proposed. To ensure the minimization of the bandwidth blocking probability, the proposed algorithm for arriving requests takes into account the shortest path with the minimum number of hops and the shortest path calculated for the link weights which depend on the link loads and the actual link lengths. The proposed algorithm was compared to the mathematical model and three other algorithms: the first of them P-DPP implementing the P-DPP mechanism, the second DPA algorithm, realizing half of the traffic for each request after single-link failure, and the third, Primary F–F Modified Backup L–F is an algorithm with the shared backup path protection that protects all traffic.

The research was carried out for two different networks: the first NSFNet and the second the Euro 28 network. The conducted simulation tests prove that for the NSFNet and Euro 28 network, the proposed Modified DPA rejects a smaller number of requests and provides a smaller bandwidth blocking probability than other analyzed algorithms. It should be emphasized that this bandwidth blocking probability is much lower than after using the DPA algorithm and many times smaller than after using the Primary F–F Modified Backup L–F for all network loads. However, for smaller network loads, Modified DPA rejects more requests than the mathematical model.