1 Introduction

The dynamic growth of end users and an increasing use of applications such as VoD, HDTV, and cloud computing requires a large-capacity network. It is estimated that the annual growth of traffic in the IP backbone network will be kept at a level of 24–53% in the near future [1]. The traditional wavelength-division multiplexing (WDM) networks provide transport possibilities for bandwidths of 10, 40, or 100 Gb/s. A fixed frequency grid that divides the spectrum of the links into fixed frequency slots equal to 50 GHz leads to inefficient use of the spectrum. On the one hand, the traffic of the 400 Gbps and greater cannot be transmitted on a single wavelength, and on the other hand, too small traffic volume in the connection cannot fill the entire capacity of the wavelength. To eliminate the drawbacks of WDM, an elastic optical network (EON) has been proposed. In these networks, the used orthogonal frequency modulation (OFDM) allows servicing connections with any high bit-rate transmission, distributing the data stream into a few or several orthogonal low-data bit-rate subcarriers. Orthogonal subcarriers overlap in the frequency domain leading to efficient use of the network spectrum [2]. The Routing and Spectrum Assignment (RSA) problem for the EON network, apart from the optimized objective function, should also provide spectrum continuity constraints, spectrum contiguity constraints, and non-overlapping spectra constraints for adjacent connections. If the set of requests is known in advance, the RSA problem is defined as static, but when requests arrive randomly the RSA problem is dynamic. For the static RSA problem, the objective is to maximize utilization of slots [3] or to minimize the number of slots [4], whereas for the dynamic RSA problem, the objective is to minimize the bandwidth blocking probability. However, if it is possible to use different modulation formats, the RSA problem is converted to a Routing, Modulation Level and Spectrum Allocation (RMLSA) problem [5].

In [6] the RMLSA problem is formulated, where apart from classical constraints imposed on the spectrum, the constraint imposed on the transmission distance has been taken into account. The solution to this problem involves solving the basic RSA problem, in which the path length is optimized under the spectrum continuity constraints and non-overlapping spectra constraints for adjacent connections on the links of the network for the fixed modulation level. To solve the basic RSA problem, three heuristic algorithms have been proposed: the first is based on Dijkstra’s algorithm, the second is based on a set of k shortest paths, and the third algorithm generates tree solutions analogous to trees generated by branch-and-bound algorithms. Also, in [7] the RMLSA problem is considered for unicast and anycast requests. To solve the RMLSA problem for unicast requests, two algorithms similar to those in [6] are used. Then the algorithms for unicast requests are used in the algorithms for anycast requests. In turn, in [4] the static RSA problem is formulated as an integer linear programming (ILP) problem. In order to solve this problem, a heuristic algorithm based on metrics collision has been proposed if an ILP solution is not achievable. In [3], the RMLSA problem is formulated, in which the objective function minimizes the most used spectrum slots while meeting non-overlapping spectra of the connections on the links. To solve this problem, several approaches have been proposed from optimal and decomposition ILP algorithms to a sequential heuristic algorithm with appropriate ordering policies. In [8], the problem of serving dynamic traffic has been analyzed, where the required number of slots of the connections varies in time. To solve this problem a heuristic algorithm, which is based on spectrum expansion/contraction schemes is used. In turn, in [9] a dynamic RSA problem is considered, where the traffic on the connections of the network is variable in time. To solve this problem, an algorithm based on a set of k shortest paths, whose lengths are determined by the number of links, has been used. In [10] the RMLSA problem in flexible optical networks for different classes of traffic with additional requirements of survivability in the failure was considered. The essence of the algorithm is the ability to process traffic classes to make adaptive decision to choose the backup path. Another scheme of spectrum allocation in EON, called the Dispersion-Adaptive First-Last Fit Spectrum Allocation Scheme, decreases the connection-blocking probability and is given in [11]. The main idea of this approach is to assign longer lightpath requests from the smallest indexed spectrum slot (with a lesser dispersion effect) and shorter lightpath requests from the largest indexed spectrum slot (with a higher dispersion effect).

The main contribution of this work is a proposal of two algorithms for solving the RMLSA problem. The first of these algorithms is based on a set of paths, calculated off-line, between each pair of nodes, in which the optimality of the objective function is weakened, while the second is a modification of Dijkstra’s algorithm, which combines utilization of the network links.

The remainder of the paper is organized as follows: in the second section formulation of the RMLSA problem is presented. In the third section heuristic algorithms for solving this problem are proposed. In the fourth section the obtained results are compared with the results obtained on the basis of well-known algorithms, and in the fifth section a summary and conclusions are shown.

Fig. 1
figure 1

The required number of slots depending on the modulation level

2 The formulation of the RMLSA problem

The RSA problem can be considered as static or dynamic. In both problems the spectrum continuity constraints, spectrum contiguity constraints, and non-overlapping spectrum constraints for connections on links of the network must be met. To eliminate interference between adjacent connections on the network links, a guard band, generally equal to one slot, is required [2]. OFDM signal spectrum in Hz or the number of slots depends on the bitrate request, the symbol rate, and the level of modulation, i.e. the number of bits per baud [6]. It should be noted that with increasing modulation level, for a fixed symbol rate, the number of slots required for a request for a given bit rate decreases. Moreover, for a fixed modulation level, the maximum transmission distance usually depends on the OFDM transmission system. According to the half-distance law, the maximum transmission distance decreases by half with modulation level increasing by one [5]. It follows that the maximum transmission distance can be achieved with a minimal modulation level, but the price for this is the maximum number of OFDM signal slots for a given bit rate of the arriving request.

Let the considered network be the graph

figure b

where N is the set of nodes, and E is the set of arcs, each of which maps the unidirectional link. Further, let D be the set of link weights \(d_{ij}\) defining the actual lengths of these links. On the other hand, \(F= \{ {f_1 ,f_2 ,...,f_{|F|}}\}\) is a set of |F| slots defined on each network link. Let R be the symbol rate (in baud), while G (Hz) is a guard band between adjacent OFDM signals. Moreover, let M be the set of modulation formats, such that for m format \(m\in M\), where m is the modulation level, there is a maximum transmission distance \(TD_{\max } (m)\) supported by the transmission system. The arriving request to the network is characterized by triplet (s, d, C), where s and d are the source and the destination node, respectively. C is the bit rate of the arriving request. The relationship between bit rate C of the request and spectrum B of the OFDM signal, assuming that the sub-carriers have the same modulation format with m bits per symbol, can be written as [6]:

$$\begin{aligned} B=( {\lceil {C/{2mR}} \rceil +1} )R \end{aligned}$$
(1)

where \(n=\lceil {C/{2mR}}\rceil \) is required number of slots (sub-carriers) and R is the symbol rate (in Baud).

Figure 1 shows dependence of the required number of slots versus the modulation level, for fixed values of \(R=6 \, \hbox {GBaud}\). From the figure, it follows that the smallest spectrum (in slots) for a requests with bit rate \(C = 50, 100\) and \(150 \, \hbox {Gb}/\hbox {s}\) can be obtained for the highest modulation level.

Let \(S_{i, j}\) be the spectrum (in slots) and \(L_{i, j}\) is the number of sets of available slots on the link between a pair of nodes i and j. Spectrum \(S_{i, j}\) can be presented as sum \(L_{i, j}\) of the sets of available slots: \(S_{i, j} =\bigcup \limits _l {S_{i, j}^l } =\bigcup \limits _l {(a_{i, j}^l ,b_{i, j}^l )}\), where \(a_{i, j}^l\) and \(b_{i,j}^l\) are the first and the last slot of the l-th set. On the other hand, the aggregated spectrum \(S_p\) of path p is defined as the intersection of the spectrum of links: ij, i.e. \(S_p =\bigcap \limits _{i, j\in p} {S_{i, j}}\). In [6] the RMLSA problem is defined on the assumption that the spectrum is modeled as spectrum segments. The following is an analogous formulation, assuming that the spectrum of the links is modeled as slots. Before determining the RMLSA problem the variables adopted in this problem should be defined:

\(x_{i j}:\) :

binary variable equal to 1 if the request is routed on link ij and 0 otherwise,

\(x_{i j}^l:\) :

binary variable equals 1 when the request is routed on link ij and is carried in the l th set \((a_{i j}^l, b_{i j}^l )\) of available slots.

\(f_{a}\), \(f_{b}\)::

variables define the first and last slot of the spectrum needed for the arriving request, on links of the path selected, respectively,

\(c_{i,j}^k:\) :

variable, which takes the values from set \(\{0,1\}\). If the k-th slot (where k ranges from 1 to |F|) on link ij belongs to the range \(({f_a, \, f_b})\) then \(c_{i,j}^k =1\) and 0 otherwise.

The following is the RMLSA problem for the slot representation of the network spectrum.

$$\begin{aligned} {\hbox {Min}}\sum _{(i,j)\in E} {x_{i, j} d_{i j} } \quad \quad \end{aligned}$$
(2)

The objective function (2) minimizes the actual length of the path.

$$\begin{aligned} \quad \sum _{ j} {x_{i , j} \le 1\quad \quad } \forall _{i \in N} \quad \end{aligned}$$
(3)

Constraints (3) ensure that from node i to node j only one link (\(\hbox {x}_{ij} =1\)) may exit if node j is on the path selected and no link (\(\hbox {x}_{ij} =0\)) exit if node j is not on this path.

$$\begin{aligned} \sum _i {x_{i, j} } -\sum _i {x_{j, i} } =\left\{ {\begin{array}{ll} -1,&{} \quad j=s \\ 1,&{}\quad j=d \\ 0,&{}\quad j\ne s,\,d \\ \end{array}} \right. \quad \quad \forall _{j \in N} \end{aligned}$$
(4)

Equation (4) ensures an equilibrium state.

$$\begin{aligned} \sum _{l=1}^{L_{ij} } {x_{i, j}^l } =x_{ij} \quad \quad \forall _{i, j \in E} \end{aligned}$$
(5)

Equation (5) guarantees that only one set of available slots on link of the path being selected is used.

$$\begin{aligned} f_b -f_a +1= \lceil {C/{2mR}} \rceil +G \end{aligned}$$
(6)

Equation (6) determines the required number of slots depending on the bit-rate of traffic for an arriving request.

$$\begin{aligned} \sum _{l=1}^{L_{i,j} } {\,\sum _{k=1}^{| F |} {\,x_{i, j}^l c_{i, j}^k } } =f_b -f_a +1\quad \quad \forall i,j\in E \end{aligned}$$
(7)

Equation (7) provides the non-overlapping spectrum constraints. On each link ij of the path being selected \(f_b -f_a +1\) slots are occupied from set \((a_{i j}^l ,b_{i j}^l)\) of available slots.

$$\begin{aligned} \left( {c_{i,j}^k -c_{i,j}^{k+1} -1} \right) \,( {-| F |} )\ge \mathop {\sum c_{i,j}^{k^{{\prime }}} }\limits _{k^{{\prime }}\in ( {k+2,\,| F |} )\quad \,} \quad \quad \forall i,j\in E \end{aligned}$$
(8)

Inequalities (8) are the spectrum contiguity constraints. If link ij on the path with the spectrum from \(f_a\) to \(f_b\) uses the k-th slot and does not use the (\(k+1\)) slot, it cannot use the (\(k+2\)) slot [12], which means that the value of the variable \(c_{i,j}^{k+1} =0\) enforces that the sum of the right side of the inequality is equal to 0.

$$\begin{aligned} \sum _{(i, j)\in E} {x_{i, j} d_{i j} } \le TD_{\max } (m) \end{aligned}$$
(9)

Inequality (9) limits the actual path length to the maximum transmission distance \(TD_{\max } (m)\) for modulation level m. The considered problem, due to the non-linear constraint (6), is a non-linear integer programming problem.

For the problem considered in [6], an iterative algorithm has been proposed. Each iteration includes three steps. The algorithm starts the first iteration from the maximum level of modulation \(m= |M|\). In the first step, the required spectrum (in slots) is determined. Then for this spectrum, in step 2, the basic problem (2)–(8) is solved. If there is no path with the required spectrum the request is rejected, otherwise, in step 3 constraint (9) is checked for the obtained path.

The basic step of the RMLSA problem is step 2, in which the basic RSA problem is solved. Algorithms for solving this problem are generally based on two approaches [6, 7]. The first of them, k shortest path algorithm (kSP), uses a set of k shortest paths for each pair of nodes, calculated off-line by Yen’s algorithm [13]. For a given request, aggregated spectrum paths are searched on the basis of the first fit (FF) procedure, starting with the shortest path. If there are no \(n+G\) adjacent slots, where n is the required number of slots for an incoming request and G is a guard band, the request is rejected. The second approach, called the modified shortest path (MSP) algorithm, uses Dijkstra’s algorithm. This modification is based on introducing aggregated spectrum links on path being selected and check, based on the first fit procedure, if the aggregated spectrum enables the connection. Algorithm \(\hbox {MSP}(\hbox {D},\,\hbox {p},\, f_a,\,f_b)\) for the matrix weights D and modulation level m determines path p and the index of slots \(f_{a}\) and \(f_{b}\).

3 The solution to the RMLSA problem

To solve the considered RMLSA problem two algorithms have been proposed in this paper. The first, denoted as the Improved kSP algorithm, is described in Sect. 3.1, whereas the second, denoted as the MSP2 algorithm, is described in Sect. 3.2. The Improved kSP algorithm is a modified version of the k shortest paths algorithm while the MSP2 algorithm is a modified version of Dijkstra’s algorithm [6, 7]. It should be noted that the proposed algorithms solve the complete RMLSA problem. In both of the proposed algorithms, the routing problem and spectrum assignment is performed in parallel during the path selection. Using the classification given in [14], the Improved kSP algorithm can be classified as fixed alternate routing, while the MSP2 algorithm can be classified as adaptive routing. The spectrum allocation in both algorithms is performed on the basis of the first fit policy. In turn, the modulation level in the Improved kSP algorithm depends on the actual length of path selected, while in the MSP2 algorithm, the modulation level minimizes the number of slots for incoming requests.

3.1 Improved kSP algorithm

Before the Improved kSP algorithm is shown, it should be noted that the blocking request occurs when any path between the s node and the d node is without the required contiguous spectrum slots. Thus, introducing weakening of the objective function (2) and selecting the k shortest paths, where path lengths are determined by the number of links, we reduce the blocking probability of the arriving request. Of course, routing connection on the shortest path, whose length is determined by the number of links, may require a slightly larger bandwidth, because the paths can sometimes be longer than the shortest path. To determine the set of the shortest paths whose lengths are determined by the number of links, the algorithm based on Latin multiplication [15] has been used. The computational complexity function of this algorithm, when it determines the paths from the shortest path until the Hamiltonian path (if they occur), is \(O(|N|^{3})\). It should be explained that in the Improved kSP algorithm, the paths of equal length, determined by number links, should be sorted in ascending order according to an increase in the actual length. For an arriving traffic request with C b/s, subsequent paths are tried, starting with the shortest path. For path p, aggregated spectrum \(S_p\) is determined, and then based on the actual length of the path, the modulation level and the required number of slots are determined. Aggregated spectrum \(S_p\) is searched on the basis of the first fit procedure. In the absence of the required number of slots on the first path the next path is tried, etc. If there is no path with the required number of contiguous slots the request is rejected. The computational complexity of the proposed algorithm is O(k|N| |F|). Below, the Improved kSP algorithm for the RMLSA problem has been presented.

figure c

3.2 Modified shortest path 2 algorithm

MSP2 uses utilization of the network links, so loaded links are omitted on the calculated paths. The maximum transmission distance depends on the transmission system OFDM. Taking into account half-distance law, \(TD_{\max } (m)\) can be written as \(TD_{\max } (m)={TD_{\max } (1)}/{2^{m-1}}\) [6]. It should be noted that the highest level of modulation \(m= |M|\) achieves the highest spectral efficiency that leads to the smallest number of slots for the fixed traffic (See Fig. 1). For path p with length dist(p) the transmission distance with modulation level equal to m is limited as follows: \(TD_{\max } (m+1)\prec disp (p)\le TD_{\max } (m)\) for \(m=1,2,..., |M|-1\) and \(disp (p) \le TD_{\max } ({|M|} )\) for \(m = |M|\). Let it be hypothetically assumed that between the pair of nodes s and d there are two paths: \(p_{1}\) and \(p_{2}\) with similar actual lengths. Each contains only two links. The first path \(p_{1}: s-i-d\) has the total length \(\hbox {dist}(p_{1})\) equal to 300 km and the second path \(p_{2}: s-j-d\) has the total length \(\hbox {dist}(p_{2})\) equal to 325 km. The available spectra (in slots) on links of the first path are as follows: \(S_{s, i} = ({60,80})\) and \(S_{i, d} = ({45,80})\), hence the aggregated spectrum of this path is equal to \(S_{p_1} = ({60, 80})\cap ({45, 80} ) = ( {60, 80} )\). The available spectra on links of the second path are as follows: \(S_{s, j} = ({30,150})\) and \(S_{j, d} = ({40,150})\), hence the aggregated spectrum of this path is equal to \(S_{p_2 } = ({30, 150})\cap ({40, 150})= ({40, 150})\). On each of these paths the request of n = 15 slots with the same modulation level m can be completed. The MSP algorithm chooses the shorter path \(s-i-d\), while the algorithm taking into account the network link utilization should choose the longer path \(s-j-d\), provided that the \(\hbox {dist}(p_{2})\) does not exceed the \(TD_{\max } (m)\), for the same modulation level m as for path \(p_1\). Choosing a longer path exceeding \(TD_{\max } (m)\) would require reducing the level of modulation m and increasing the number of slots n for the same traffic C (See Fig. 1). Therefore, the weight of links must be determined so as to change its value slightly and simultaneously take into account the utilization of network links U, defined here as the number of occupied slots A to the total number of slots |F| supported by the transmission system. For this purpose, it is assumed that the link weights in the network equal to \(d_{i, \, j}\) should be multiplied by a coefficient that takes into account utilization of the network links, i.e. \(d_{i,\, j}^{ {\prime }} =d_{i,\,j} ({1+\frac{1}{|N| ({|F |-A_{i, j}})}}) =d_{i,\,j} ({1+\frac{1}{|N| |F| \, ({1-U_{i, \, j}} )}})\). Figure 2 shows the value of this coefficient depending on the number of occupied slots for \(|F|=350\) and \(|N|=14\). This figure shows that the value of this coefficient slightly increases with the utilization of the link.

Fig. 2
figure 2

The coefficient of the network link depending on the number of occupied slots

Now the proposed MSP2 algorithm, which solves the RMLSA problem can be presented. This algorithm is an iterative algorithm. Each iteration includes three steps. In the first step, for the bit-rate traffic request C b/s, the required number of slots with the maximum modulation level is determined. Then, in step 2, the basic optimization problem is solved by the \(\hbox {MSP}(\hbox {p},\, f_a, \, f_b)\) algorithm for the two matrices of weights: the first \(D= [{d_{i,\,j}}] \, i,j=1,2,...n, \, i \ne j\) defines the actual lengths of the links between pairs of nodes while the other \(D^{{\prime }} = [ {d_{ i,\,j}^{ {\prime }}}] \, i,j=1,2,...n, \, i\ne j\) determines the modified lengths, which take into account the utilization of the network links. For both weight matrices in the MSP2 algorithm the first fit procedure is used for searching the aggregated bandwidth path. In the third step of the MSP2 the comparison dist(p) and \(dist( {p^{ {\prime }}} )\) with the \(TD_{\max } (m)\) for a given modulation level m is performed. If \(dist(p)\le TD_{\max } (m)\) and \(dist( {p^{ {\prime }}} ) \le TD_{\max } (m)\) path \(p^{ {\prime }}\) is assumed for the solution and otherwise when \(dist(p)\le TD_{\max } (m)\) and \(dist( {p^{ {\prime }}} )>TD_{\max } (m)\) path p is assumed for the solution. In the last case, when \(dist( p ) >TD_{\max } (m)\) and \(dist({p^{ {\prime }}} ) >TD_{\max } (m)\) modulation level m is reduced and goes to the next iteration.

Table 1 Number of blocked requests depending on the load of the network with \(|N|=14\)
Table 2 Number of blocked requests depending on the load of the network with \(|N|=16\)

Below, an outline of the proposed MSP2 algorithm is presented. From this outline it can be seen that the maximum number of iterations is limited by the number of levels of modulation to several. The computational complexity of MSP, in the case of the first fit procedure, is \(O(| F|| N |^{2})\), and therefore, computational complexity of the MSP2 algorithm is \(O(| M || F || N |^{2})\).

figure d
Fig. 3
figure 3

Network structure: a the NSFNET b the GRID

4 Obtained results

In this section the results obtained on the basis of the proposed algorithms have been compared with the results obtained on the basis of two well-known algorithms. The proposed MSP2 algorithm is compared with the MSP algorithm while the Improved kSP algorithm is compared with the kSP algorithm for \(k = 4\) and 6 paths. Studies were carried out for two different networks whose topological structures are shown in Fig. 3. The first (Fig. 3a) contains 14 nodes connected by 22 edges, while the second contains 16 nodes connected by 24 edges (Fig. 3b). Each edge represents a pair of oppositely directed unidirectional links, and each accommodates |F| slots. The numbers on the graph edges determine their actual length. Verification of the algorithms was carried out on the basis of the Monte Carlo method. In the simulation model it has been assumed that the stream of requests from node s to node d is the Poisson with parameter \(\lambda \). The duration of the connections is exponential with parameter \(\mu =1\). Traffic bitrates are uniformly distributed from 50 to 200 Gb/s, with an average bitrate equal to \({\overline{C}} =125 \, \hbox {Gb}/\hbox {s}\). The average traffic between each pair of nodes (in Erlangs) is described as \(\rho =\lambda /\mu \). In this paper it is assumed that the symbol rate is equal to \(R = 6 \, \hbox {Gbaud}\). Knowing the number of node pairs in the network, and the average traffic between each of them, total load of the network (in Erlangs) can be determined. In this work it is assumed that modulation level m for each subcarrier m on path p depends on path length dist(p) and maximum transmission distance \(TD_{\max }(m)\) supported by the transmission system. It was assumed that the maximum transmission distance is limited to 375, 750, 1500 km for modulation level \(m = 4, 3, 2 \, \hbox {bits}\), respectively, and over 1500 km for \(m = 1 \, \hbox {bit}\) [7].

Fig. 4
figure 4

The blocking probability of bandwidth for the NSFNET network containing 14 nodes

Fig. 5
figure 5

The blocking probability of bandwidth for GRID network containing 16 nodes

The results are recorded for the model steady state that occurs after arrival of 1000 requests to the network for each network load and each considered topological structure. The end of simulation is determined by the number of requests arriving at the network that is equal to 50,000 for each of considered structure. In order to estimate the obtained simulation results for each network load the run was repeated 30 times. The confidence interval was calculated for confidence factor \(1-\alpha \) equal to 0.95. Tables 1 and 2 show the number of blocked requests depending on the load, expressed in Erlangs, for the two network structures: NSFNET and GRID, respectively. It should be noted that for the NSFNET network the MSP algorithm rejects a significantly greater number of requests than the proposed MSP2 algorithm for each load. Similarly, for the GRID network, the difference is much greater in favor of the MSP2 algorithm. Such a large difference in the number of rejected requests by both algorithms for both networks results from the fact that for the GRID network the number of pairs of nodes for which there are paths of similar length within the same range of transmission distance \(({TD_{\max } (m+1)}, {TD_{\max }(m)} \rangle \) (for the fixed m) is much higher than for the NSFNET network.

Fig. 6
figure 6

The average path length for the NSFNET network containing 14 nodes

Fig. 7
figure 7

The average path length for the GRID network containing 16 nodes

Fig. 8
figure 8

Spectrum utilization ratio for the NSFNET network containing 14 nodes

Fig. 9
figure 9

Spectrum utilization ratio for GRID network containing 16 nodes

Also, the Improved kSP algorithm rejects significantly fewer requests than the well-known kSP algorithm for both tested networks. In this case, such a big difference results from the fact that the proposed algorithm chooses the shortest path for the arriving requests measured by the number of links. Considering that the blocking request in the network occurs because there are no contiguous spectrum slots for all links of the path, reduction of the number of links on the paths (the weakening of the objective function) between pairs of nodes decreases the number of rejected requests in the network. Moreover, Table 1 shows that for NSFNET the number of rejected requests by the kSP algorithm is smaller for \(k = 6\) than for \(k = 4\) for the given network load. Analogous dependence was obtained for the Improved kSP except the two last rows. For the kSP algorithm this relationship has been confirmed also in [7] for the pan-European Nobel-EU network. However, Table 2 shows that for the GRID network the number of rejected requests by the kSP algorithm is greater for \(k = 6\) than for \(k = 4\). Also, the Improved kSP algorithm for this network provides a greater number of rejected requests for \(k = 6\) than for \(k = 4\). The reason for this is that the path lengths in the sets of paths for \(k = 4\) and \(k = 6\) calculated for both algorithms in the GRID network. In the kSP algorithm the actual path lengths are taken into account, where the length is a multiple of the number of links, each of which is 300 km. In turn, in the Improved kSP algorithm the path lengths are measured by the number of links. In both algorithms, the increase in the number of paths from \(k = 4\) to \(k = 6\) causes the opportunity to choose a longer paths with a larger number of links. However, requests directed on these paths are rejected due to lack of contiguous spectrum slots for both smaller and larger load of the network (see Table 2).

Figures 4 and 5 illustrate the probability of blocking the network bandwidth defined as the volume of rejected traffic to the total traffic offered to the network. Figure 4 shows that the MSP2 algorithm, for total load equal to 182 Erl., rejects nearly half less traffic than the MSP algorithm, while the Improved kSP algorithm rejects nearly two orders less traffic, for \(k = 4\), and more than two orders less traffic, for \(k = 6\), than the kSP algorithm for the same network load. From the Fig. 5 it follows that greater differences in the bandwidth blocked by the test algorithms exist for the GRID networks. The MSP2 algorithm, for traffic 240 Erl., rejects nearly three orders less traffic than the MSP algorithm while the Improved kSP algorithm also rejects more than two orders less traffic, for \(k = 4\), and a nearly one order less traffic, for \(k = 6\), than the kSP algorithm for the same load. Figures 6 and  7 show the average path length, measured by the number of links, after using the compared algorithms for both networks. From these figures it can be noted that the path lengths decrease with increasing network load for both pairs of algorithms: MSP and MSP2 algorithms and for the Improved kSP and kSP algorithms. With little network load the longer paths can be chosen both by algorithms based on the Dijkstra algorithm and algorithms based on the set of the shortest paths, as the utilization of network links is low (See Figs. 8 and 9); however, with an increase in the network load (greater utilization) longer paths that occupy more bandwidth are rejected increasing the bandwidth blocking probability. Only the shorter paths are chosen. In addition, the average path lengths for greater loads (above 182 Erl. for the NSFNET network and above 240 Erl. for GRID network) are slightly higher for MSP and MSP2 algorithms than for kSP and the Improved kSP algorithms. This is because the algorithms based on the Dijkstra algorithm generally choose longer paths than algorithms based on a set of the shortest paths calculated off-line (measured by number of links). In Figs. 8 and 9 the spectrum utilization ratio depending on the load is shown for both networks NSFNET and GRID, respectively. Spectrum utilization ratio is defined as the average number of occupied slots on all network links divided by the total number of slots on the network links and is calculated for each of the 30 runs. The average number of occupied slots covers all changes of spectrum (connection and disconnection) in the network.

5 Summary and conclusions

In this work, we have focused on the dynamic routing in elastic optical networks whose aim is to minimize the bandwidth blocking probability or the number of rejected requests. The considered RMLSA problem involves minimizing the path length while meeting the spectrum continuity constraints, spectrum contiguity constraints and non-overlapping spectra constraints for the connection on network links, as well as selecting the modulation level.

Very detailed studies show that both of the proposed algorithms provide less bandwidth blocking probability than well-known algorithms. For the NSFNET network with small load, the proposed MSP2 algorithm rejects almost half less traffic and for the GRID network nearly three orders less traffic than the known MSP algorithm. It should be noted that the difference in the volume of the rejected traffic depends on the network topology. Also, the Improved kSP algorithm rejects a much smaller volume of traffic than the kSP algorithm; however, the volume of rejected traffic is less dependent on the topological structure of the network. Comparing the two proposed algorithms directly, it should be noted that the Improved kSP algorithm (for \(k = 4, 6\)) rejects less traffic in the NSFNET network than the MSP2 algorithm, and the MSP2 algorithm rejects less traffic in the GRID network than the kSP algorithm (for \(k = 4, 6\)) for the same load of the network. Further study should take into account the dynamic routing algorithms ensuring the survivability of the network.