Study and Analysis of Routing and Spectrum Allocation (RSA) and Routing, Modulation and Spectrum Allocation (RMSA) Algorithms in Elastic Optical Networks (EONs)

Study and Analysis of Routing and Spectrum Allocation (RSA) and Routing, Modulation and Spectrum Allocation (RMSA) Algorithms in Elastic Optical Networks (EONs)

Author’s Accepted Manuscript Study and Analysis of Routing and Spectrum Allocation (RSA) and Routing, Modulation and Spectrum Allocation (RMSA) Algori...

9MB Sizes 0 Downloads 44 Views

Author’s Accepted Manuscript Study and Analysis of Routing and Spectrum Allocation (RSA) and Routing, Modulation and Spectrum Allocation (RMSA) Algorithms in Elastic Optical Networks (EONs) Forough Shirin Abkenar, Akbar Ghaffarpour Rahbar www.elsevier.com/locate/osn

PII: DOI: Reference:

S1573-4277(16)30074-1 http://dx.doi.org/10.1016/j.osn.2016.08.003 OSN418

To appear in: Optical Switching and Networking Received date: 11 September 2015 Revised date: 7 July 2016 Accepted date: 18 August 2016 Cite this article as: Forough Shirin Abkenar and Akbar Ghaffarpour Rahbar, Study and Analysis of Routing and Spectrum Allocation (RSA) and Routing, Modulation and Spectrum Allocation (RMSA) Algorithms in Elastic Optical Networks (EONs), Optical Switching and Networking, http://dx.doi.org/10.1016/j.osn.2016.08.003 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting galley proof before it is published in its final citable form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

*Manuscript Click here to view linked References

Study and Analysis of Routing and Spectrum Allocation (RSA) and Routing, Modulation and Spectrum Allocation (RMSA) Algorithms in Elastic Optical Networks (EONs) Forough Shirin Abkenara , Akbar Ghaffarpour Rahbarb,∗ a

Computer Networks Research Lab, Electrical Engineering Technologies Research Center, Sahand University of Technology, Tabriz, Iran. b Computer Networks Research Lab, Electrical Engineering Technologies Research Center, Sahand University of Technology, Tabriz, Iran.

Abstract With the growth of Internet users’ traffic demands, the efficient and cost-effective usage of bandwidth and spectrum in optical networks plays an important role in improving service provisioning. An Elastic Optical Network (EON) is a new generation of optical networking that can provide high flexibility and scalability in spectrum allocation and data rate accommodation to support different traffic types. In fact, EON can allocate the available resources in a network according to users’ demands. Besides, EON generates elastic optical paths (the paths with variable bit rates) and divides available spectrum flexibly according to the traffic demands of users. This study reviews and analyzes one of the most important topics in EON namely Routing and Spectrum Allocation (RSA). In fact, RSA selects the most appropriate resources according to the conditions of the resources and flexibility assigns them to the connection demands. RSA can be divided into two categories: without adjusting modulation format (simply referred to as RSA) and with adjusting modulation format (called Routing, Modulation and Spectrum Allocation (RMSA)). In this article, we review all available RSA and RMSA algorithms proposed for EON, analyze and compare them through both quality of performance and computational complexity aspects for the first time. Keywords: Elastic optical networks, Flexibility, Routing and spectrum allocation (RSA) algorithms, Routing, modulation and spectrum allocation (RMSA) algorithms.

1. Introduction Elastic Optical Network (EON) is the new generation of optical networks which tries to allocate available resources to clients’ demands optimally and prohibits the resource wastage. In EON, light-path is an optical path established between a given source-destination pair which supports a determined data rate. One of the most important issues in EON is Routing and Spectrum Allocation (RSA) problem. Different algorithms have been introduced to ∗

Corresponding author Email addresses: [email protected] (Forough Shirin Abkenar), [email protected] (Akbar Ghaffarpour Rahbar) Preprint submitted to Elsevier

July 7, 2016

address this challenge. In EON, the network spectrum is divided into a set of Frequency Slots (FSs). A RSA algorithm tries to allocate FSs to each demand efficiently so that Blocking Probability (BP) of demands is reduced. There are two important constraints in RSA related to the FS concept as the continuity and contiguity of spectrum resources. According to the continuity constraint, an FS has to be free on all links of a light-path. According to the contiguity constraint, the available FSs, which have to be allocated to a connection demand, must have contiguity in all links of the relevant light-path. Under RSA, the continuous and contiguous constraints must be guaranteed. Another important concept in EON is Guard-Band (GB) that is used between a continuous number of FSs to separate demands for prohibiting of demands collision. RSA algorithms are divided into two categories as [1][2][3]: • without adjusting modulation format (simply referred to as RSA in this paper). • with adjusting modulation format (called Routing, Modulation and Spectrum Allocation (RMSA)). A light-path may be impaired and RSA has to consider the impairment conditions. Hence, when RSA becomes impairment-aware, a transponder can make the modulation level of its subcarrier slots adaptive to the Quality of Transmission (QoT) of a light-path. Therefore, impairment-aware RSA is essentially a RMSA problem [4]. We categorize both of the RSA and RMSA algorithms into two groups: those that support static traffic and those that support dynamic traffic. There are some surveys published about EON. Paper [3] provides a comprehensive survey on OFDM-based elastic optical network technologies, including basic principles of Orthogonal Frequency-Division Multiplexing (OFDM), Optical OFDM (O-OFDM) technologies, the architectures of OFDM-based elastic core optical networks, and related enabling technologies. The main focus of [3] is on OFDM, modulation formats, and transmission systems in EON. In addition, routing and spectrum assignment has been explained very briefly. Moreover, the main advantages and issues of OFDM-based elastic core optical networks that are under research have been discussed. Authors in [5] have reviewed the flexibility feature of EON and briefly introduced its research areas (i.e., performance, cost, energy efficiency and control plane requirements). In [6], all aspects of EON (i.e., basic concepts of EON, network and node models, RSA, fragmentation and defragmentation, energy efficiency) have been studied. RSA section has been divided into two categories: (1) routing; and (2) Spectrum Allocation (SA). Different types of routing mechanisms and SA mechanisms have been reviewed in routing section and SA section, respectively. In [7], the authors have divided RSA algorithms into offline, online, fragmentation-aware, grooming-aware ones and so on. This category is different from the presented category in our paper. However, no analysis or comparison has been presented for these algorithms. The contribution of [8] is to identify, classify and analyze three basic building blocks for enabling flexible networking solutions: (1) physical layer technological aspects; (2) network optimization which involves spectrum fragmentation concept, RSA types, the cost in EON, grooming concept, . . . ; and (3) control plane. Authors in [8] have compared RSA with Routing and Wavelength Assignment (RWA). Table 1 expresses the main issues of the mentioned papers and the our paper issues, briefly. 2

Table 1: Survey papers

Survey Main Issue Published year [3] Modulation formats and transmission system of OFDM 2012 Performance, cost, energy efficiency and control plane requirements of [5] 2013 EON Basic concepts of EON, network and node models, RSA fragmentation [6] 2015 and defragmentation, energy efficiency RSA algorithms (offline, online, fragmentation-aware, grooming-aware) [7] 2014 , but without any analysis and comparison physical layer technological aspects; network optimization involving spectrum fragmentation concept, RSA types, cost in EON, and [8] Accepted for publication grooming concept; and control plane Studying, classifying, analysis and comparison of RSA and RMSA in Our paper both quality of performance and computational complexity aspects

The main objective of this paper is to review the existing RSA and RMSA algorithms in EON. For the first time, this paper compares the proposed RSA and RMSA algorithms in detail, separately and from different aspects. Hence, we have separated RSA and RMSA algorithms and divided each of them into two categories: (1) algorithms that support static traffic; and (2) algorithms that support dynamic traffic. In addition, we have gathered them and expressed their main objectives and features in separate tables. Finally, we have compared them from different aspects such as fundamental basis, computational complexity and traffic states. There are several abbreviations in this paper. All of them have been mentioned in Table 2. Table 2: Abbreviations

Abbreviation AFA-CA AFA-JAU AR ARMSA AUR-ESS BA-EEM BFS BFSA BLSA CAP CA-SA EEM-RSA EON FA FAR FBP FF FFSA

Explanation Adaptive Frequency Assignment-Collision Avoidance Adaptive Frequency Assignment-Joint Anycast and Unicast Adaptive Routing Adaptive RMSA Adaptive Unconstrained Routing-Exhaustive Spectrum Search Blocking Aware-EEM Breadth First Search Best Fit Spectrum Assignment Balanced Load Spectrum Allocation Common Available Pattern Collision-Aware Spectrum Allocation Energy-Efficient Manycast-RSA Elastic Optical Network Fragmentation-Aware Fixed Adaptive Routing Flow Blocking Probability First Fit First Fit Spectrum Assignment 3

FI FLF FR FS GA GMPLS HC-MCAP HQ H-SSRSMLA IARSA ILP KSP LB LCM LFA LQ LSS MCAP MFS MF-TSP MHLT MI MPP MPT MPTG MR MRSA MSF MSP MTLT MUB MuPPetS-EON NBP OFDM O-OFDM PADR PCF P-EEM PLG PRSA PSPADR QoS

Fairness Index First-Last Fit Fixed Routing Frequency Slot Genetic Algorithm Generalized Multi-Protocol Label Switching Hop Constraint-MCAP High Quality Heuristic-SSRSMLA Impairment-Aware Routing and Subcarrier Allocation Integer Linear Programming k Shortest Path Lower Band Link Coexistence Matrix Light-path Fragmentation Low Quality Largest Spectrum Saving Most Common Available Patterns Most Slot First Multi-Flow TSP Maximum Heaviest Link TSC Minimum Interference MultiPath Provisioning Maximum Path TSC Multipath routing algorithm with Traffic Grooming Minimum Residual Maximum Reuse Spectrum Allocation Most Slot First Modified Shortest Path Maximum Total Link TSC Maximum Usable Bandwidth Multi Population Pattern Searching-EON Normalized Blocking Probability Orthogonal Frequency Division Multiplexing Optical-OFDM Progressive Allocation and Dynamic Reallocation Power Consumption Function Pure-EEM Pattern Layered Graph Pattern-layered RSA Partial Sharing, Progressive Allocation and Dynamic Reallocation Quality of Service

4

QoT QPF QPS RMLSA RMSA RMSA/MS RMSA/PC RS RSA RSA-DPP RSA-JAU RSMLA RSVP RWA RWSA SA SB SFPS SM-RSA SP SPF SPRESSO SP-RWSA SPSR SPV SSRSMLA TS TSC TSP

Quality of Transmission QoS Provisioning based on Fragmentation QoS Provisioning based on Squeezing Routing, Modulation Level and Spectrum Assignment Routing, Modulation and Spectrum Allocation RMSA/Maximum Spectrum RMSA/Power Consumption Random Spectrum Routing and Spectrum Allocation RSA/Dedicated Path Protection RSA/Joint Anycast and Unicast Route, Spectrum and Modulation Level Assignment Resource reSerVation Protocol Routing and Wavelength Assignment Routing, Wavelength assignment, and Spectrum Allocation Spectrum Assignment Spectrum Block Sorted Feasible Paths Searching Survivable Multipath-RSA Shortest Path Shortest Path First SPectrum REaLLOcation (SPRE (LLO) → (SSO)) Shortest Path-RWSA Shortest Path with maximum Spectrum Reuse Spectrum-constraint Path Vector Split-Spectrum RSMLA Tabu Search Time-Spectrum Consecutiveness TranSPonder

The remainder of this work is organized as follows. Fundamental concepts of EON are reviewed in Section 2. In Section 3, different RSA methods are explained. In Section 4, the RMSA concept and related algorithms are expressed. Section 5 compares the RSA and RMSA algorithms proposed for EON, separately. Section 6 provides future works for RSA and RMSA. Finally, Section 7 concludes this review paper. 2. Basic Concepts in EON In this section, some important concepts of EON will be reviewed briefly including FSs, continuity and contiguity constraints, network and node models and basic function.

5

Figure 1: [1]Spectral resource designation schemes: (a) current ITU-T DWDM frequency grid with different channel spacings (CSs); (b) single slot on the rigid approach; (c)double-sided half slot approach.

Figure 2: [9]Architecture of an EON network.

2.1. Frequency Slots (FSs) in EON EON uses FSs to accommodate sub-wavelength, super-wavelength, and multiple data rate traffic demands. As seen in Fig. 1a, fixed grid networks have rigid nature to allocate resources to existing demands. The FS concept has been introduced to cover the rigid nature of current frequency grids. The EON can assign the necessary amount of contiguous FSs to demands. There are two flexible spectrum resource designation schemes as follows [1]: • Single slot on the grid approach: In this method, the frequency f on the International Telecommunication Union-Telecommunication Standardization Sector (ITU-T) frequency grid uses a channel spacing fcs and a frequency number n. In addition, f is interpreted as a spectral slot having a frequency segment in range 193.1 + (n ± 12 )fcs . An ITU-T frequency number n corresponds to a FS number. The allocation of contiguous frequency slots is depicted in Fig. 1b. A frequency segment can contain various widths. Therefore, a frequency segment is specified using three parameters of a slot as: width fslot (which is equal to fcs ), the lowest FS number nl and the highest FS number nh [1]. The center frequency fc and the width of the frequency segment fw are showed with h) fc = 193.1+( (nl +n )fslot and fw = (nh −nl +1)fcs . The single slot on the grid approach 2 is not good for wide channel spacing frequency grid because fc deviates from wider channel spacing frequency grid by 12 fcs [1]. • Double-sided half slot: This approach is similar to single slot, however in doublesided, fslot is equal to 12 fcs . Thus, this method can suffer from wide channel spacing frequency grid. As seen in Fig. 1c, the numbering system of FSs is different in this approach [1]. Existing flex-grid networks split available optical spectrum into a set of FSs that have a better spectrum width related to DWDM ITU-T grid 50 GHz. The size of current FSs are 6.25 GHz, 12.5 GHz and 25 GHz. In flex-grid networks, the spectrum is divided into a set of FSs. 6

2.2. Continuity and Contiguity Constraints in EON There are two important constraints in RSA, related to the FS concept, are the continuity and contiguity of spectrum resources.According to the continuity, an FS has to be free in all the links of a light-path. According to the contiguity constraint, the available FSs must have contiguity in all links of the light-path. Spectrum contiguity is the most important difference between EON and WDM networks. The spectrum contiguity increases the complexity of existing RSA approaches. In the RSA, the continuous constraint and contiguous constraint must be guaranteed. 2.3. Network and Node Architecture of EON Figure 2 shows EON network model. EON consists of two important components: bandwidth Variable Transponders (BV-Transponders) and Bandwidth Variable Wavelength Cross-Connections (BV-WXCs). A BV-WXC is enumerated as an EON node. These components enable EON to flexibly allocate resources. A BV-Transponder generates an optical signal according to traffic demand. Hence, it can provide efficient use of available spectrum resources [9]. The BV-WSSs receive the spectrums and perform multiplexing/demultiplexing and switching functions using integrated spatial optics. The splitting of spectrums can be based on the micro-electro-mechanical systems (MEMS) or liquid crystal on silicon (LCoS) technologies [9][10][11]. 2.4. Basic Function in EON In the following, the basic concepts of EON are introduced [1][2][9][12][13]. • Sub-wavelength accommodation: If the required bandwidth of a demand is less than a full wavelength capacity and cannot completely fill it, this state is called stranded bandwidth issue. For solving this problem, EON uses efficient sub-wavelength granularity fractional bandwidth) and allocates resources according to traffic demands [9]. • Super-wavelength accommodation: If the required bandwidth of a demand is more than a wavelength capacity, multiple contiguous wavelengths are combined together to construct a super-wavelength. Then, the demand is transmitted by this super-wavelength. Note that the concept of super-wavelength is different from the Virtual Concatenation (VC). In VC, the wavelengths that are not contiguous can be concatenated together, but in EON, the wavelengths that construct super-wavelength must be contiguous to save the spectrum [9]. • Multiple data rate accommodation: Since the nature of EON is flexible, it can direct the accommodation of mixed data bit rates on a fiber [9]. EON uses three functions which are [14]: • Segmentation: SLICE allocates the bandwidth according to users’ demands. Thereby, reducing the consumed spectral resources. Hence, the free bandwidth can be used by other optical paths [14]. 7

• Variation: the capacities of optical paths are adjusted dynamically according to the required capacity of paths that is variable at different time periods of the day and night. The free resources can be used by other optical paths [14]. • Aggregation: to reduce the consumption of bandwidth resources, EON aggregates multiple requests as a super-wavelength request and transmits it through the core network [14][15]. On the other hand, EON allocates resources to requests according to the volume of clients’ traffic, allocates just-right amount of bandwidth to demands adaptively, and considers the distance of optical paths (the number of end-to-end node hops) to allocate resources adaptively. These concepts imply bit rate adaptation, bandwidth adaptation, and distance adaptation, respectively [14]: • Bit rate adaptation: when the volume of client traffic changes, the capacity of the optical link is adjusted accordingly [14]. • Bandwidth adaptation: there are different optical paths with different capacities. The amount of allocated bandwidth to an arrived request is exactly adapted to that request requirement [14]. • Distance adaptation: there are different optical paths with different end-to-end node hops. Each of these paths has its transmission and filtering-related impairments. EON is capable to select an appropriate modulation level adopted to distance [14]. In [16], the distance-adaptive spectrum allocation in EON has been considered. Since a signal traverses through multiple EON nodes and is filtered by them, the width of the spectrum is narrow and spectrum utilization is reduced. Hence, the authors in [16] have used appropriate modulation formats according to transmission reach in order to address the mentioned narrowing issue. 3. Routing and Spectrum Allocation (RSA) in EON RSA plays an important role in EON. When different demands with various resource requirements arrive, the RSA algorithms have to check all the available conditions and select the best option for each demand so that the maximum number of clients’ demands have been served. There are different parameters which construct the main objective of RSA. These parameters are different in various conditions. For example, some of the RSA algorithms try to alleviate BP, while some others want to improve resource usage or energy efficiency. Totally, RSA is divided into two subproblems: routing and SA. Many approaches have been proposed to solve the RSA problem. Some of them try to address routing subproblem, some of them consider SA and some others focus on both issues. Generally, the main objective of existing methods, which is common between them, is efficient and cost-effective usage of resources according to client demands. Routing, Wavelength assignment, and Spectrum Allocation (RWSA); routing based on spectrum segment [17]; and some other algorithms have been proposed to solve this problem. In the following, we review the RSA algorithms under two categories: (1) the algorithms that support static traffic and (2) the algorithms that support dynamic traffic. 8

Table 3: [19]Required variables for RWSA formulation

Variables A E G(N, A) K li N R W Zew Zeji

Description a set of auxiliary links the set of point-to-point single-fiber links auxiliary graph number of routes as potential solutions line rate a set of auxiliary nodes request wavelength slots the discrete spectrum availability information the spectrum availability information for each wavelength slot j on an edge e along path i

3.1. RSA Algorithms Supporting Static Traffic One type of traffic is static traffic, which is known in advance and the traffic information is given in a constant matrix, where the duration of each demand is considered as infinity. The RSA algorithms designed for static traffic find the appropriate routes and then assign the appropriate resources to the demands according to the matrix. 3.1.1 Routing, Wavelength Assignment, and Spectrum Allocation (RWSA) Algorithm Since spectrum contiguity increases the complexity of existing RSA approaches, a new concept called channel is introduced. A channel comprises multiple contiguous FSs and is assigned to each request. Using channel allocation can reduce the mentioned complexity because the FSs are contiguous in the channel. However, in the assignment based on FSs, first FSs have to be contiguous and then they can be assigned to demands. This RSA problem is divided into two sub-problems: demand routing sub-problem and spectrum allocation sub-problem [18]. The objective of RWSA is to maximize spectral efficiency. An EON network may support a set of line rates, for example {10Gb/s, 40Gb/s, 100Gb/s, 400Gb/s, 1Tb/s}. The RWSA problem is divided into two subproblems. The first subproblem is to find the set of line rates for a request such that total capacity of line rates is at least equal to the requested data rate. This sub-problem is referred to rate selection algorithm. The second subproblem is how to establish light-paths at the specific line rates between a source-destination pair such that the total required spectrum in the network is minimized. This problem is named routing and channel allocation [19]. In the rate selection algorithm, the combination of line rates, which requires the minimum amount of spectrum is selected. Then, routing and channel allocation segment uses GreedyRWSA, KPaths-RWSA or Shortest Path RWSA (SP-RWSA) to schedule light-paths at lowernumber wavelengths (i.e., the wavelength with lower indexes) such that the total occupied spectrum is minimized [19]. Table 3 shows the required variables for the RWSA algorithms [19].

9

Greedy-RWSA: Greedy-RWSA operates based on spectrum requirements. Algorithm 1 shows the procedure of the Greedy-RWSA algorithm. To calculate the spectrum requirements, a cost function is introduced. Let U = H sd × xli be the mentioned cost function, where H sd represents the distance between source node s and destination node d, and xli indicates the spectral width required to support data line rate li . After finding the new set of requests and ordering the set of requests according to the cost function (U), the GreedyRWSA algorithm solves the routing and channel allocation subproblem. At the same time using an auxiliary graph and the Breadth First Search (BFS) algorithm, the path between the source and destination nodes is checked. If there exists more than one path, the shortest path is selected. The Greedy finds K potential solutions for each request that indicates the algorithm can find K routes on K unique wavelengths. Finally, the RWSA algorithm selects the path with the shortest physical distance. If K = 1, only the first shortest path is selected. When K increases, a shorter path among available paths is given higher priority. Thus, the routing becomes a composition of adaptive and shortest path routing [19]. Algorithm 1: Greedy-RWSA (R, Zew , W, K) 1 : foreach request do Calculate the cost f unction (U ). Order the requests according to these calculated cost f unctions. end 2 : Construct the auxiliary graph (G(N, A)). 3 : F ind K − shortest paths between source node s and destination node d by BF S (G(N, A), s, d). 4 : F ind the shortest path among all calculated K − shortest paths. 5 : if K = 1 then return the f irst shortest path as P AT H and k = 1. else return the shortest path as P AT H and the number of this shortest path as k. end

KPaths-RWSA: Algorithm 2 shows the procedure of the KPaths-RWSA algorithm. After finding the new set of requests and ordering the set of requests according to the cost function (U), the KPaths-RWSA algorithm solves the routing and channel subproblem at the same time by finding K shortest paths. In Greedy-RWSA, K paths are found on the first available K wavelengths and a wavelength is not repeated more than once. In KPaths-RWSA, K shortest paths are found at the first. In order to reduce the complexity of the RWSA problem, the spectrum is discredited in the frequency domain, and the smallest unit of a spectrum is referred to as a wavelength slot. Thus, the allocated spectrum can also be defined in terms of the number of consecutive wavelength slots. No more than one light-path can occupy a 10

wavelength slot (spectrum) at the same time; however, a light-path may occupy more than one consecutive wavelength slots depending on the offered line rate. The wavelength of a light-path is defined as the lowest indexed wavelength slot occupied by the light-path. The available wavelength slots of paths are sorted in a set. Then, the path, where its available wavelength slot is minimum, is selected. Hence, a wavelength may be repeated on more than one path [19]. Algorithm 2: KPaths-RWSA (R, Zew , W ) 1 : foreach request do Calculate the cost f unction (U ). Order the requests according to these calculated cost f unctions. end 2 : K − ShortestP ath(G(V, E), s, d, K). 3 : forall the K paths do forall the W wavelengths do F ind the available required number of consecutive wavelength slots which are starting f rom the lowest slot on the available spectrum of each path. end end 4 : return the path with the lowest available wavelength slot.

SP-RWSA: after finding the new set of requests and ordering the set of requests according to the cost function (U), the SP-RWSA algorithm solves the routing and channel subproblem at the same time. This algorithm is the same as KPaths-RWSA in which K = 1 [19]. According to achieved performance results from [19], RWSA can improve spectrum utilization, network cost and energy consumption in OFDM networks compared with WDM networks. 3.1.2 Adaptive Frequency Assignment-Collision Avoidance (AFA-CA) Algorithm Another algorithm that tries to solve the RSA problem is AFA-CA heuristic algorithm that supports static traffic and performs routing and resource assignment according to a given traffic matrix. The aim of AFA-CA is to minimize the allocated frequency spectrum width in the network. The main idea behind the AFA-CA is to assign the contiguous FSs to requests without happening any overlap in contiguous spectrums [20]. Algorithm 3 shows the procedure of AFA-CA. Demands are processed in decreasing order of requested number of FSs, i.e., the algorithm starts the process with the demand that has requested the most number of FSs. There is a function called MinFS that analyzes all candidate paths of the considered demand d and searches for the lowest indexed FS that can be selected for demand d. Using MinFS, the request with the lowest index of FS is selected. If there are some requests with the same lowest index, the demand with the lowest 11

Algorithm 3: AFA-CA Algorithm [20] 1 : n ← max{number of requested F Ss} 2 : Construct the demand set by ordering the demands in decreasing order of requested F Ss. 3 : forall the demands in demand set do Select the demand with the lowest index of F S. end 4 : Allocate the demand to calculated path. 5 : Remove the demand f rom demand set. 6 : if the demand set is empty then Go to(Step 7) else Go to(Step 3) end 7 : n←n−1 8 : if n < 1 then Terminate else Go to(Step 2) end

average length of the path is selected. Again, if there are some requests with the same lowest average length, the demand with the shortest path is selected. Then, the satisfied demand is removed from the demand set and the process continuous until the demand set becomes empty. After that, the value of the maximum number of requested FSs is reduced and new requests are considered. The AFA-CA continues until it allocates bandwidth to all traffic demands in the network [20]. According to the achieved performance results in [20], AFA-CA can reduce the number of FSs of occupied frequency spectrum. In addition, AFA-CA can reduce the computation time compared to other algorithms like Most Slot First (MSF) (see Section 4.2.5) and FA-FF. 3.1.3 Shortest Path with Maximum Spectrum Reuse (SPSR) Algorithm One of the most important aims of an RSA problem should be the minimization of the amount of used spectrum (i.e., the number of subcarriers). One way for this minimization is to reuse subcarriers. The SPSR algorithm makes it possible to reuse subcarriers, and in this way, it can reduce the maximum number of required subcarriers. The SPSR combines the shortest path routing and Maximum Reuse Spectrum Allocation (MRSA) algorithms. In addition, SPSR supports static traffic and performs routing and resource assignment according to a given traffic matrix. Algorithm 4 shows the procedure of the MRSA algorithm. According to MRSA, the requests of spectrum paths are ordered based on the size of traffic demands. The larger 12

traffic demands have high priority because subcarrier consecutiveness constraint makes it hard to find available consecutive subcarriers for large traffic demands. Only the fiber-disjoint spectrum paths may reuse the same subcarriers. The MRSA uses the first-fit algorithm to find available consecutive subcarriers as displayed in Lines 5 and 9 in Algorithm 4 [21][22]. Algorithm 4: MRSA Algorithm [21][22] 1 : Sort the spectrum path requests in descending order of the traffic demands. 2 : while there exists non − zero traf f ic demands do 3:J ←∅ 4 : T ake the request with the maximum demands (say tj ). 5 : Accommodate tj using the f irst available consecutive subcarriers. 6 : J ← J ∪ pj 7 : forall the the remaining requests having non − zero traf f ic demands do 8 : if pi is disjoint with all paths in J then 9 : Accommodate < pi , ti > using the f irst available consecutive subcarriers 10 : J ← J ∪ pi . end end end According to the results obtained from [21] and [22], SPSR cannot achieve load balancing in the network. On the other hand, in SPSR, the shortest path routing can potentially reduce the overall path overlapping. 3.1.4 Balanced Load Spectrum Allocation (BLSA) Algorithm BLSA determines routing with balancing load within a network in order to minimize the maximum number of required subcarriers. The BLSA comprises three steps as path generation, path selection, and spectrum allocation [21][22]: 1. Path generation: the k-shortest path algorithm is used to generate k (where k ≥ 1) paths [21][22]. 2. Path selection: the path is selected based on load balancing within all the fibers in the network for each spectrum path [21][22]. 3. Spectrum allocation: The MRSA algorithm is used to accommodate all of the spectrum paths [21][22]. Path overlapping is an important issue in these algorithms. For defining the overlapping concept assume that there are two requests. Request 1 and request 2 need two subcarriers and one subcarrier, respectively. The subcarriers of each request have to be consecutive. However, the assigned subcarriers to different requests must be separated by guard-bands. 13

If there is no guard-band between allocated subcarriers to request 1 and request 2, these requests are called overlapped. There are two definitions in these algorithms as Lower Band (LB) and Maximum Subcarrier (MS). LB is the load on the most congested fiber that determines the minimum number of sub-carriers on a fiber, and MS is the maximum subcarrier number on a fiber. Performance results in [21] and [22] show that BLSA can achieve load balancing in the network. However, the longer path routing in BLSA increases the overall path overlapping. Hence, the overall path overlapping in BLSA is high. In fact, although BLSA has a smaller lower bound, the gap of MS between BLSA and its LB is larger and it is due to the longer routing paths [21][22]. 3.1.5 Survivable Multipath Routing and Spectrum Allocation (SM-RSA) Algorithm In MultiPath Provisioning (MPP), one data stream is split into multiple low-rate streams and each stream passes through separate routes. When a failure occurs on one of the assigned paths to a connection, traffic is automatically carried out on another path. Hence, multipath provisioning naturally provides partial protection with high efficiency. Partial protection means guaranteeing a part of the requested bandwidth, rather than the full amount, at the event of a link failure [23][24]. SM-RSA uses the advantages mentioned for MPP. In fact, the aim of SM-RSA is to accommodate a given set of demands using MPP to minimize the number of utilized spectrums [25]. To accommodate a connection demand using MPP, two or more link-disjoint paths have to be determined. This phase is performed by using the Bhandari’s link-disjoint paths algorithm [26]. This algorithm computes the largest number of link-disjoint paths with the least total cost for a given pair of source and destination nodes. After that, the required subcarriers on each path is allocated to the demand so that the bandwidth and protection requirements of this demand are satisfied. In addition, the utilized spectrum is minimized. Hence, MPP splits the incoming demand into multiple low-rate demands and can minimize the utilized spectrum [25]. Performance evaluation results in [25] show that SM-RSA can minimize the utilized spectrum. In addition, SM-RSA can reserve more subcarriers than required. 3.1.6 Minimum Interference (MI) Routing Algorithms One important issue in RSA is Fragmentation which means separating the available spectrum into small non-contiguous spectrum blocks and allocating/de-allocating these blocks on demands [3][7]. Most approaches on RSA focus on mitigating the spectrum fragmentation effects generated by elastic allocation through rerouting mechanism. However, the high equipment cost or the disruption of active traffic due to the reallocation of these schemes are the main drawbacks for rerouting schemes. In addition, existing approaches consider the spectrum fragmentation on link level. However, a fragmentation procedure limits the capacity of resources due to the continuity constraint. The main aim of MI algorithms is to mitigate the spectrum fragmentation on path level by achieving minimum interference. The MI algorithms use maxflow value to evaluate the severity of the path level spectrum fragmentation. The MI algorithms obtain minimum interference through the choice of paths that will decrease the maxflow values of all other source-destination pairs (i.e., (s, d)) as small as possible. In addition, critical links are identified as the links that whenever a request is 14

Figure 3: [27]An example of MI

routed to them, the maxflow values of one or more (s, d) pairs decrease. To find the best path first of all, the links are weighted according to their critically using Eq. 1, where αsd indicates the importance of an (s, d) pair. Then, a weighted graph is generated by using the mentioned weighted links. After that, the Dijkstra algorithm is run to find the best path. Figure 3 shows an example of MI. There is a request from S2 to D2 requiring two FSs. First of all, MI comprises available patterns to find the best resources. As seen in this figure, there are two available paths for this request which are (4, 5, 6, 7) and (4, 2, 7), but since the first path has the minimum interference related to the second one, choosing it reduces maxflow of the (4, 2, 7) to zero. Hence, (4, 5, 6, 7) is chosen [27]. ∑∑ w(l) = αsd (1) (s,d) l∈Csd

There are two algorithms based on MI described in the following [27]: MI-RSA algorithm: The MI-RSA algorithm has been comprised of four steps as: • Step 1: the request with r required slots is received [27]. • Step 2: the weighting procedure is performed according to Eq. 1. In addition, Eq. 2 is used to normalize the weights. [27]. ′

w (l) = logw(l) α

(2)

• Step 3: the Dijkstra algorithm is applied to the weighted topology with link capacities greater than the number of requested slots to compute a lowest weighted sum path [27]. • Step 4: if the shortest path can be found by the Dijkstra algorithm, the first r shared continues slots are selected. Otherwise, the request is blocked [27]. Minimum Interference Pattern-layered RSA with First-Fit spectrum allocation (MI-PRSA-FF): In order to reduce the probability of rejection due to the spectrum consecutiveness constraint, the MI-RSA is combined with PRSA-FF. Here, a pattern refers to the exact continuous number of slots assigned to meet their needs of the current request. The PRSA-FF develops the original physical topology into virtual pattern-layered topologies.

15

The MI-PRSA-FF involves four steps. Steps one and two are the same in MI-RSA and steps three and four are as follows [27]: • Step 3: the weighted graph is converted to virtual pattern-layered topologies [27]. • Step 4: the Dijkstra algorithm is applied to a weighted pattern layered topology and the path is computed sequentially from the first layer to the last layer. Next, the path with the lowest weighted sum is selected. If there is more than one lowest weighted sum path, the first path is chosen [27]. Performance results in [27] show that MI-RSA and MI-PRSA-FF can reduce the Flow Blocking Probability (FBP). 3.1.7 Quality of Service (QoS)-based RSA One important issue in the EON domain is QoS provisioning. Two QoS-based algorithms have been presented in [28] which are called QoS Provisioning based on Squeezing (QPS) and QoS Provisioning based on Fragmentation (QPF), and use two important mechanisms of EON as squeezing and fragmentation, respectively in order to support QoS in EON. Both QPS and QPF classify the incoming demands into High Quality (HQ) and Low Quality (LQ) requests and theat them in specific policies. QPS and QPF have common parts. One of them is the Floyd-Warshal routing mechanism that tries to order all available paths between each s-d pairs. Then, the available routes (i.e., np ) are classified into two categories which are HQ’s paths (i.e., nHQ ) and LQ’s paths (i.e., nLQ ) and are calculated by Eq. 3 and Eq. 4, respectively. The FF and R are used as spectrum assignment mechanisms. The main step of each algorithm is different which are described in the following. nHQ = ⌈α × np ⌉

(3)

nLQ = np − nHQ

(4)

QoS Provisioning based on Squeezing (QPS): The QPS algorithm uses the squeezing mechanism to alleviate the blocking probability of HQ traffic. When a request is squeezed, it means that the request is transformed to another path, where it is likely that the available FSs of the new path are less than the required FSs of the request. In this situation, some FSs of the request will be lost. To prevent the HQ traffic loss, QPS applies the squeezing mechanism only for LQ requests. QPS threats differently in related to incoming requests [28]: • If a HQ request arrives, QPS tries to find available resources in nHQ . If it could not find any resources, it searches in nLQ to find required resources. If QPS could not find the available FSs among nLQ , it tries to squeeze the LQ requests on the other available paths and assign the released resources to HQ. If the squeezing is impossible, QPS decides to preempt LQ requests and assigns their resources to HQ. Finally, if there are not any available resources, HQ will be blocked [28].

16

Figure 4: An example of QoS-based algorithms: (a) First situation of links; (b) QPS; (c) QPF.

• If a LQ request arrives, QPS tries to find available resources in nLQ . If it could not any available resources, it searches in nHQ to find available FSs with the low index, but when a HQ request arrives and needs the occupied resources with LQ, the LQ request has to release them [28]. QoS Provisioning based on Fragmentation (QPF): The QPF algorithm is based on the fragmentation mechanism. Fragmentation of a request means to fragment the request to multiple lower-rate requests and route the fragments through different paths. QPF tries to provide the best conditions for serving HQ requests, and hence when there is no sufficient resource for an incoming HQ request, the QPF tries to search for LQ paths. All steps in QPF are similar to QPS, except that QPF fragments the LQ requests instead of squeezing them [28]. Figure 4 illustrates an example of both QPS and QPF. The first situation of links has been shown in Fig. 4a, where HQ request could use the LQ links (i.e., link 5). When a HQ request arrives, there is no available SB for this request neither in HQ links nor LQ links. Hence, QPS and QPF have to release appropriate SBs for this new request. According to Fig. 4b, QPS selects the assigned LQ request on Link 5 and squeezes it on available SBs on link 6. However, the squeezed request needs 6 slots and there are 5 slots on link 6. It means one slot of the squeezed request will be lost. However, QPF tries to fragment the LQ request on link 5 to two new requests and assigns the available SBs on both links 6 and 7 to these fragments. QPF has been shown in Fig. 4c. It is noticeable that there is loss in QPS in some situations. Performance evaluation in [28] shows that QPS has less BP than QPF. However, QPS yields to the loss in LQ requests but there is no loss in QPF. In addition, FF-based mechanisms yield better performance than R-based ones. 3.2. RSA Algorithms that Support Dynamic Traffic These algorithms support dynamic traffic, where the traffic conditions are changed in time. Hence, these algorithms have to update their information and adapt themselves to 17

new conditions to select appropriate routes and assign the appropriate resources to demands. 3.2.1 Routing Based on Spectrum Segment Representation Improving both transmission capacity and flexibility of bandwidth is a significant issue in optical networks. Hence, a flexible architecture based on O-OFDM is introduced to cope with this issue. The advantages of O-OFDM are high capacity, high spectrum efficiency, and flexibility of bandwidth. There are two representation approaches for spectrum: slot-based representation and segment representation, where segment representation is more flexible than slot-based approach. Since the variety of optical components resolutions and spectral widths of all signals is high, determining spectrum width is so difficult. Hence, the aim is to present spectrum based on the segments algorithm that is showed by continuous spectrum segments [17]. The algorithm based on segments comprises routing and spectrum aggregation, spectrum selection and signaling process in which all of them are based on spectrum segments. Routing and spectrum aggregation includes three routing algorithms, and spectrum selection consists of three selection schemes that will be described in the following. Traffic process can be divided into two processes [17]: • Traffic routing: Traffic routing is implemented in a source node and is configured with real-time traffic arrivals. The main aim of traffic routing is to determine solutions of dynamic RSA. The traffic demands that are not accepted by the RSA algorithm are blocked. This situation is defined as routing blocking. The aim of RSA is to maximize the amount of capacity of established demands or minimize the probability of routing blocking [17]. • Signaling: Signaling is processed between distribution nodes and includes reservation of spectrum resources, traffic transmission, and traffic release. Failure in the signaling process is considered as signaling blocking [17]. In the following, the mentioned routing algorithms and selection schemes are described: • Routing and spectrum aggregation: routing determines a route (or candidate routes) for a bandwidth variable light-path, while spectrum aggregation explores routed paths and calculates the aggregated spectrum over the path. Three algorithms of routing and spectrum aggregation (RSA) are as following [17]: 1. Fixed shortest path Routing (FR): each node configures a fixed and constant precalculated routing table and there is no requirement for dynamic state information of a link. The routing table includes the shortest path for each Source-Destination (SD) pair. When a request arrives, the routing controller in a source node searches the routing table according to SD addresses and selects the shortest pre-calculated path. FR is a two-phase approach. Its phases are the routing process and spectrum aggregation [17]. 2. Fixed Alternate Routing (FAR): FAR is proposed to improve the efficiency of blocking. It can be implemented by calculating at least three candidate paths. Then, each SD candidate path is sorted (e.g., according to hop number or transmission reach). Constructing the FAR routing table is difficult. The FAR uses 18

the k-shortest path algorithm to configure a routing table. The FAR is a two-step approach. At the first step, when a request arrives, the routing controller searches the pre-calculated routing table and selects the ordered path. At the second step, it processes the spectrum aggregation for each candidate path, alternatively [17]. 3. Adaptive Routing (AR): AR is a single-phase approach which considers routing and spectrum aggregation simultaneously. The AR depends on the timely update of the network status. The AR based on the segment is modified from the modified Dijkstra Shortest Path (MSP) algorithm. The MSP algorithm does not consider Filtering-Guard Band (FGB) and could not support these different spectrum selection approaches in the segment-based networks. Algorithm 5 shows the procedure of AR/MSP algorithm [17]. Algorithm 5: AR/MSP Algorithm [17] Input : Integers in the topology with nodes N and links E. A new demand with SD (s, d) and the occupied bandwidth B arrives. Output: The routing path from s to d (P(s,d) ) with aggregated available spectrum S(s,d) . 1 : Initialize the visited nodes set: M ← s 2 : while d ̸∈ M do Search j ∈ N − M (i.e., unvisited nodes) with the minimum cost of j. if j is f ound then Run(M SP ) else return Blocking end end 3 : return Required P(s,

d)

and S(s,

d) .

• Spectrum selection: spectrum selection includes: (i) selecting one available segment from aggregated spectrum; and (ii) determining one appropriate starting/ending frequency. Spectrum selection step is independent of the previous segment described in routing and spectrum aggregation steps. Two issues must be considered in spectrum selection: (i) avoidance of spectral collision; and (ii) avoidance of spectral fragmentation. The spectrum selection approaches based on segment include [17]: 1. Segment-based First-Fit (FF) approach: FF selects the first idle segment and assigns the starting frequency to it. FF selects frequency segments in the lowfrequency domain and reduces the probability of spectrum fragmentation, but the collision is a significant problem in FF. Note that different nodes may choose the same spectrum segment simultaneously, and this may lead to signal blocking [17]. 2. Segment-based Random Spectrum (RS) approach: RS selects the spectrum segment and the side of the spectrum (i.e., left or right) randomly. Compared with 19

FF, the RS tends to choose different segments hence, it can reduce the probability of spectrum collision. Of course, RS splits the spectrum into more fragments, thus increasing the routing blocking [17]. 3. Minimum Residual spectrum (MR) approach: MR considers spectrum defragmentation and the segment that has minimal but sufficient bandwidth is selected. Other segments with more continuous bandwidth are kept for future requirements. The time complexity of MR is O(k), where k is the segment number [17]. • Signal processing: signal processing consists of (i) reserving the spectral bandwidth on each link over the path (traffic adjustment process); (ii) transmitting data; and (iii) releasing optical path. It expands Open Shortest Path First-Traffic Engineering (OSPF-TE) and Reservation Protocol-Traffic Engineering (RSVP-TE) protocols. Computation processes for routing, spectrum aggregation, and spectrum selection is performed in a source node in computation time (tC ). The setup process starts (with the propagation delay (tD )) to reserve spectral segments from the source node to a destination node. As soon as an intermediate node receives a RSVP (RESV) message, it considers the local spectrum resources and configures its BV-WSSs to bypass the signal (with processing and configuration time (tp )). Otherwise, a RSVP (RESVERR) message is returned back to the source node and the relevant demand is blocked because of signaling blocking [17]. According to the performance results in [17], FF and MR exhibit more spectrum collision at light-traffic and fewer spectrum collision at heavy-traffic. In addition, the signaling blocking rate of RS rises slightly because the increasing spectrum utilization in RS causes more collisions. In fact, at heavy-traffic situations, more traffic is blocked in the routing process. Hence, signaling blocking rates of FF, RS, and MR are all decreased. 3.2.2 Light-path Fragmentation Algorithm (LFA) A connection request must be fragmented in some situations. The Light-path Fragmentation Algorithm (LFA) uses idle transponders (TSPs) in source and destination nodes, fragments a high-rate connection to multiple low-rate connections, and then assigns them to fragmented network spectrum [29]. If the required number of FSs exceeds the size of the available spectral gap in candidate paths between source and destination nodes, the request is blocked. Otherwise, it is possible to divide the request into multiple independent lowrate signals and allocate them into multiple contiguous spectral gaps. This operation can originate from Generalized Multi-Protocol Label Switching (GMPLS) protocol. Establishing multiple light-paths for a single request implies that a TSP must be assigned to source and destination of each light-path [29]. For an incoming request, the LFA mechanism first checks whether there is at least one TSP in both source and destination. After this verification, LFA selects k shortest paths and then calculates minimum number of required FSs for the connection request. There must be spectral gaps for each k-candidate path to guarantee contiguous FSs. Then, LFA orders the available spectral gaps for each candidate path in a descending order. After that, LFA checks whether the connection request can be assigned to each of the candidate paths. At the last step, LFA first fragments the request into two fragments (i.e., light-paths) and checks 20

Figure 5: [29]An example of LFA

whether the fragment assignments to light-paths are in contiguous manner. Note that this algorithm is an iteration-based algorithm that increases the number of fragments in each iteration. Hence, at the next iteration, the number of light-paths is increased to three. This procedure continues until the number of fragments becomes equal to the maximum allowed fragments (maxfrag allowed) [29]. The bandwidth of each fragmentation is determined initially and depends on the available spectral gaps width on each candidate path. The fragmentation algorithm uses a SP-FF algorithm to assign the spectrum to requests [29]. Figure 5 shows an example of LFA. At the first time, all slots are occupied by the existing requests (i.e., Fig. 5a). After a time duration and according to Fig. 5b, one of the connections is terminated and then its released resources are available for the next coming requests. As seen in Fig. 5b, when a new connection arrives, since there are not enough number of available slots, the LFA fragments it into two fragments and assigns the available resources to them [29]. Performance evaluations in [29] show that LFA can improve average blocking bandwidth, average transponder utilization, and blocking probability. In fact, by fragmentation of demands into multiple lower-rate demands, available spectral gaps can be allocated. In addition, using TSPs in the source and destination nodes makes the fragmentation of incoming call possible and simple. 3.2.3 Adaptive Unconstrained Routing-Exhaustive Spectrum Search (AUR-ESS) Algorithm The AUR-ESS solves the RSA subproblems jointly. Algorithm 6 shows the procedure of AUR-ESS. Let NFSR be the number of FSs required by a light-path and S be the whole number of existing FSs. First, AUR-ESS determines feasible routes in the given physical network. Then, AUR-ESS determines the firstSlot and lastSlot available FSs according to NFSR. After that, AUR-ESS constructs an auxiliary graph of the physical network. If all the FSs from firstSlot to lastSlot in the fiber that connect two nodes of the physical network are not used by another light-path, the two nodes are connected together by a symbol link in the auxiliary graph. Then, AUR-ESS searches for the shortest path using the Dijkstra algorithm. If the shortest path can be found, two states may happen: (i) If the hop number of this path is equal to the hop number of the pre-calculated shortest path in the physical network, the computed path in the auxiliary graph and the evaluated set of FSs are selected as the route and spectrum assignment, respectively, and then the algorithm finishes; (ii) Otherwise, add the route and the evaluated FSs to set (L). After that, AUR-ESS searches in L to find a route with the lowest number of hop counts and selects it as the route and choose the FSs of the selected route as spectrum that has to be assigned [30]. 21

Algorithm 6: AUR-ESS [30] 1 : Set the list of feasible routes and spectrum assignments, L = Ø. 2 : Determine feasible routes in a physical network. 3 : for i = 0 to S − N F SR do Determine the f irstSlot and lastSlot available FSs according to N F SR. Build an auxiliary graph of the network. Search for the shortest path in the auxiliary graph using the Dijkstra Algorithm. if A shortest path is available then if the number of hops of the path in the auxiliary graph is equal to the number of hops of a precalculated shortest path in the physical network then Select that path computed in the auxiliary graph as the route. Select the evaluated set of f requency slots as the spectrum assignment. F inish the algorithm. else Add the route and the evaluated f requency slot set to L. end end end 4 : if L = Ø then Reject the light − path establishment request. else Search L f or the route with the lowest number of hops. Select this combination as the route and spectrum assignment to be used. end 5 : End the algorithm. Performance evaluations in [30] show that AUR-ESS can improve blocking probability compared with FR + Most Used algorithm (MU), FR + Least Used algorithm (LU), FR + FF, and so on. However, AUR-ESS has more computing time compared with the mentioned algorithms (i.e., FR + MU, FR + LU, FR + FF, . . . ). On the other hand, AUR-ESS and FAR + Least Unusable Spectrum First algorithm (LUSF) have the same performance. However, computation time in FAR+LUSF is more than AUR-ESS.

22

3.2.4 The Most Common Available Patterns (MCAP) Algorithm The MCAP algorithm is based on GMPLS, where the GMPLS-enabled service is according to resource reservation protocol (RSVP). There are three types of service blocking in GMPLS-enabled optical network as [31]: • Routing Blocking (RB): If a path cannot be found between a source and destination pair in the route computation phase, the RB occurs [31]. • Forward Blocking (FB): The next phase after finding the appropriate route phase is forwarding phase. If in the forwarding phase from a source to a destination, the resources on the computed route are not available, the FB occurs [31]. • Backward Blocking (BB): If the outdated information or reservation collision occurs in backward phase, the BB occurs [31]. All the previous dynamic RSA algorithms focus on reducing the RB or FB without considering the BB. However, MCAP tries to reduce the BB. The MCAP involves two schemes: (i) Most Common Available Patterns routing algorithm with Hop Constraint (HCMCAP), which is a pattern-layered and graph-based algorithm; and (ii ) Collision-Aware Spectrum Allocation (CA-SA) scheme. The basic idea of MCAP is to find the route with the most available patterns for a specific request and select the pattern with minimum backward collision probability [31]. The graph G = (V, E) shows the topology of network, where V and E are the set of nodes and the set of edges, respectively. The matrix A = (amn )|E|×|E| is the adjacency matrix of G. There are some other notations described as follows [31]: • Pattern (Pt.): An allocation of the required FSs for a connection request. For example, for a request requiring b FSs, we have Pt.i = {fi , fi+1 , . . . , fi+b−1 }. Hence, there are |F | − b + 1 candidate patterns [31]. • Pattern Layered Graph (PLG): the layered graph is a copy of the physical topology instantiated in each candidate pattern. For example, link e presents in P LGl only if the Pt.l in e is available. The matrix Al = (almn )|E|×|E| is the adjacency matrix of P LGl [31]. • Link Coexistence Matrix (LCM) of PLG: The L × E matrix to present the PLG, where L is the number of patterns, with the entry defined in Eq. 5: { 1, where e exists in P LGl (5) cle = 0, otherwise • Connectivity matrix (R): This matrix is used to check the connectivity of a given node pair, which could be derived from the powers of the adjacency matrix (A) of the graph as Eq. 6 [31]: R = (rmn )N ×N 23

(6)

{

where rmn = (k)

, where amn =

∑N h=1

N −1 1, if and only if Σk=1 amn > 0; 0, otherwise (k)

(7)

(k−1)

amh ahn .

As mentioned before, MCAP uses the HC-MCAP and CA-SA algorithms as routing and spectrum assignment algorithms, respectively. These algorithms are expressed in the following. Most Common Available Patterns Routing Algorithm with Hop Constraint (HC-MCAP): The aim of MCAP is to find the path with maximum available patterns. MCAP uses the best-first and breadth-first searches in order to provide more options for the spectrum allocation (SA) approach to reduce the potential collision. It uses the best first because the vertex with the most Common Available Patterns (CAPs) from the source in the new frontier (it is based on BFS, and therefore, uses frontier to check adjacent nodes) is selected to be processed next. The breadth-first search is used because the new frontier consists of vertices that can be tried next and these vertices are one edge away from the explored vertices. In addition, the connectivity of source and destination nodes in each pattern layer will be checked before CAP searching. Moreover, CAP is used to indicate the set of available patterns (see Algorithm 7 [31]). In Algorithm 7, a hop counter H is considered to avoid selecting a long path than a shortest-hop path. The value of H is set to min(hmin + h∗ , N − 1), where hmin is the hops of the shortest path between node pair (m, n) and h∗ is the allowable number of extra hops, which should optimally be a function of hmin . In addition, for a ∑ given set of links (E ∗ ), the ∏ number of elements in CAP is calculated as |CAP [e|e ∈ E ∗ ]| = l e∈E ∗ cle . According to the HC-MCAP algorithm, first the existing graph G is transformed to PLG according to the required bandwidth of request (i.e., bst ). After that, the algorithm checks all available paths hop by hop. In fact, the HC-MCAP starts from the source node and checks all of its neighbors according to the breadth-first search algorithm. The HC-MCAP re-iterates this checking to achieve the destination node. Finally, HC-MCAP selects the path with the most CAP and no longer than H. If there is no path with mentioned conditions, the request is blocked [31]. Collision-Aware Spectrum Allocation (CA-SA) Algorithm: According to the HCMCAP routing algorithm, a path with the greatest number of available patterns is chosen under HC. In CA-SA, the collision probability of pattern (FSs) is checked. If the collision probability of that pattern is high, the pattern is not selected and the request is blocked. Otherwise, that pattern is reserved for the request [31]. Figure 6 illustrates an example of CA-SA. As seen in this figure, there are two vectors which are FSCV and PCV that show the collision level of FSs and patterns, respectively. Each link between nodes i and j is illustrated by eij . Parameter fk shows FS k. Paramee ter F SCVk ij shows the collision level of fk on link eij . Notation P t. k represents Pattern ´ k. P CVPi t. k and P CVPi t. k are the collision level and updated collision level of P t. k for request i (Req. i), respectively. Each pattern equals to the number of required FSs that 24

Algorithm 7: HC-MCAP [31] Input : G(V, E). Request (s, t, bst ). Spectrum Utilization. Output: Route with the most CAP and no longer than H hops. 1 : P LG Generation Transform G to PLG according to bst . Check the connectivity of P LGl through Eq. 6 to simplify the LCM. 2 : Initialization N ← {s}, Q ← V − {s}; 3 : Iterative Searching while Q is not empty do Check all available paths hop by hop by using BF S algorithm. end 4 : if the route is not f ound then Block this request. else return the route. end

a request needs. The value of 0 represents that there is no collision. Parameter Amax shows that there is collision. Finally, each value between 0 and Amax determines that there may be a collision. According to Fig. 6, the third FS of existing link between nodes 2 and 3 (i.e., f3e23 ) has been occupied because its FSCV equals to Amax , while the other FSs are free. When Req. 1 requiring two FSs arrives at time (t1 ), there are three available patterns in e12 , which have equal probability to be reserved (i.e., P t. 1 = {f1 , f2 }, P t. 2 = {f2 , f3 }, P t. 3 = {f3 , f4 }) with probability 13 for each one. Hence, we have P CVP1t. 1 = P CVP1t. 2 = P CVP1t. 3 = 0. After leaving the Path. message of Req. 1 from node 1, FSCV is updated as (F SCV1e12 = 13 , F SCV2e12 = 31 + 31 = 23 , F SCV3e12 = 13 + 13 = 23 , F SCV4e12 = 13 ). After leaving the Path. message of Req. 1 from ´ ´ ´ node 2, parameter PCV is updated as P CVP1t. 1 = 0 and P CVP1t. 2 = P CVP1t. 3 = Amax , ´ ´ because P CVP1t. 2 = max{P CVP1t. 2 , max{F SCV2e23 , F SCV3e23 }}. Parameter P CVP1t. 3 is calculated in the same way. This procedure is continued. Finally, P t. 1 because of its minimum PCV is chosen and locked by Resv. message, which implies lower collision probability. The mentioned procedure is performed within time period between t1 and t5 . In addition, Req. 2 requiring one FS from node 2 to 3 arrives at t3 . P t. 1 (f1e23 ), P t. 2 (f2e23 ), and P t. 4 (f4e23 ) are available with P CVP2t. 1 = 1, P CVP2t. 2 = 1 and P CVP2t. 4 = 0, respectively. Then, F SCV e23 are updated as F SCV1e23 = 1 + 13 = 43 . So, after arriving the Path. at node 3, P t. 4 is chosen and F SCV e23 are updated [31]. 25

Figure 6: [31]An example of CA-SA

Performance evaluation results in [31] show that MCAP provides good load balancing and reduces backward blocking probability under a network at light-load and heavy-load traffic under highly dynamic traffic [31]. 3.2.5 Fairness-Aware Dynamic Spectrum Allocation Algorithm The users’ traffic demands grow significantly. In addition, as discussed before, the spectrum fragmentation reduces the possibility of finding available allocation for contiguous FSs that require larger bandwidth. Hence, making fairness conditions for demands is so important. One solution to address theses issues is to classify the traffic into different classes according to the number of FSs they require. Therefore, two important factors are expressed as ”normalized blocking probability (NBP)” and ”Fairness Index (FI)” [32]”: • Normalized Blocking Probability: to achieve traffic service fairness, the blocking performance of a request of size n should be equal to the blocking performance of n requests of size 1 [32]: 1 − (1 − p1 )n = pn

(8)

where pi is blocking probability (BP) of traffic with size i. Therefore, the Normalized Blocking Probability (NBP) of class n is calculated by Eq. 9 [32]. pen = 1 −

√ n 1 − pn

(9)

• Fairness Index: the Fairness Index (FI) can be redefined as Eq. 10, where N is the number of classes. FI is a number between 0 and 1; and the closer to 1, the better the fairness is [32]. FI =

(Σni=1 pei )2 , i = 1, 2, . . . N N (Σni=1 pei 2 )

There are two fairness-aware schemes that are described as follows [32]:

26

(10)

Progressive Allocation and Dynamic Reallocation (PADR) scheme: The PADR scheme first divides the whole spectrum into C equal Spectrum Blocks (SBs). A SB is a block of a few available contiguous subcarrier slots in the optical spectrum. When a request with class emphi arrives, the PADR searches for available SBs among C SBs. If appropriate SBs are found, the PADR selects one of them according to a predefined selection policy (e.g., FF). Otherwise, if there are SBs that have not been dedicated to any class, the PADR assigns one SB to class i. Otherwise, the request is blocked. Then, PADR calculates the NBP. If the gap between the minimum NBP (corresponding to class m) and the maximum NBP (corresponding to class n) is larger than a given threshold, the PADR reallocates one SB, which is currently dedicated to class m, to class n. Algorithm 8 shows the PADR scheme [32]. Algorithm 8: PADR Scheme [32] 1 : Divide the whole spectrum into C equal SBs. 2 : When a request belonging to class i arrives: Find available SBs that are dedicated to class i 3 : if available allocations are f ound then Select one among them according to FF. else if there are no SBs that have been dedicated to any class then Assign one SB to class i. else Request is blocked. end 4 : Calculate NBP. 5 : Check the gap between minimum NBP and maximum NBP.

Partial Sharing, Progressive Allocation and Dynamic Reallocation (PSPADR) scheme: Since the spectrum block dedication happens in PADR, the resource utilization is low in PADR. The PSPADR can solve this issue. The basic idea of PSPADR is to divide the whole spectrum into two parts. One for PADR of each class and the other for sharing among all classes. When a request arrives, the PADR and sharing parts are scanned and blocking occurs when available resources cannot be found in both parts. Algorithm 9 shows the PSPADR scheme [32]. Algorithm 9: PSPADR Scheme [32] 1 : Divide the sharing part into C equal SBs. 2 : When a request belonging to class i arrives: Find available SBs that are dedicated to class i 3 : Search for available allocation in the sharing part. 4 - 6 : Same as 3 - 5 in PADR.

27

Performance evaluation results in [32] show that both PADR and PSPADR can improve blocking probability. 3.2.6 Dynamic RSA with Mixed Line Rates Dynamic RSA is one of the most important issues in RSA. To solve this problem efficiently, the proposed approach in [33] is divided the RSA problem into its subproblems. A new approach, called Sorted Feasible Paths Searching (SFPS), finds the shortest feasible paths for dynamic traffic demands. Finally, two spectrum allocation methods named fixed segmentation and adaptive segmentation are used to allocate the spectrum segments efficiently to demands. Sorted Feasible Paths Searching (SFPS): There is a container to save the feasible paths as Q. The main objective is to find feasible paths from source node s to destination node d. Hence, SFPS searches the feasible paths starting at s and saves these paths in a container as Q. Initially, Q stores only one path Pss and then, the other paths are checked and added to Q. In each iteration, a feasible path Psu is extracted from Q. If node u is not d, adjacent links of node u are explored to generate new feasible paths by increasing the size of Psu with these links and the newly generated feasible paths are inserted into Q; otherwise, return to feasible path Pst . To speed up the searching process and guarantee the optimality of the solution, the paths in Q are sorted in increasing order of their estimated cost. The estimated cost of a path Psu is defined as Eq. 11. f (Psu ) = cost(Psu ) + M Cut ,

(11)

where cost(Psu ) is the actual cost of path Psu , and M Cut is the cost of the shortest path from u to t without considering any constraint [33]. Figure 7 shows an illustration of SFPS. A new traffic demand (TD) is routed from source node A to destination node E through data rate (d = 100Gb/s). The cost, distance, and available spectrum segments of a link are labeled on the link in Fig. 7a. The maximum signal transmission distance of the traffic demand is 1500 Km. Initially and according to Fig. 7b, path PAA is added to set Q. Fig. 7c shows the first iteration, which PAA is extracted from Q, the neighbor links of node A are checked to find feasible path. Then, these feasible paths (i.e., PAB and PAC ) are added to Q. In the second iteration, since PAC has the minimum estimated cost, it is extracted from Q and augmented by exploring the neighboring links of node A, and the feasible paths PAB = A → C → B and PAE = A → C → E are inserted into Q (i.e., Fig. 7d). Finally, the desired shortest path PAE = A → C → E is selected and the algorithm terminates [33]. Fixed Segmentation (FS): There is a new description in FS called spectral window (W). Spectral window is shown by the starting and ending slots (i.e., fstart , fend ). The basic idea of FS is to partition the W of all links into several spectrum segments sets. Each spectrum segments set (W Sbr ) is used to serve the demand of bandwidth requirement of br . When a special request with bri arrives, FS first searches W Sbri . If the appropriate resource is not found, FS tries to find the feasible spectrum segment in the other W Sbr s. Hence, the

28

Figure 7: [33]Illustration of SFPS

partitioning in FS is performed in a fixed way. It means that each W Sbr has a fixed spectrum bandwidth [33]. Adaptive Segmentation (AS): As mentioned, FS has a fixed spectrum bandwidth while this is not suitable for dynamic traffic. Hence, AR improves the performance of FS. With the arrival of traffic demands, AS partitions the spectrum of all links adaptively into different portions. Let BS show the blank spectrum set. Initially BS = fstart , fend and W Sbr = ∅. When a traffic demand with a bandwidth requirement of T Dbr arrives, AS searches W ST Dbr , BS, and W Sbr (br ̸= T Dbr ) sequentially to find a feasible spectrum segment. When a traffic demand leaves, AR will first release the spectrum segment used by traffic demand and then update the BS [33]. Required results from [33] show that SFPS+FS and SFPS + AR reduce spectrum fragmentation related to SFPS + FF. In addition, at light-load traffic FS has better performance than AR but, under heavy-load traffic it is vice versa. This is because at light-load traffic, the network resource is enough and FS uses only the spectrum segments assigned to the traffic type. But, as the traffic load becomes heavy, FS assigns the spectrum segments that do not belong to the traffic demand. Moreover, FS and AR have better blocking probability than FF. In comparison between SFPS + FS, SFPS + AR, Spectrum-constraint Path Vector searching algorithm (SPV), Modified Shortest Path algorithm (MSP) and k Shortest Path algorithm (KSP) (see Section 4.2.1), it has been shown that at light-load traffic, the SFPSbased algorithms have better blocking probability. But, at heavy-load traffic all algorithms have the same performance. In addition, KSP has the lowest computational time. The MSP, SFPS-based algorithms and SPV are in the next ranks, sequentially. 3.2.7 First-Last Fit Spectrum Allocation The First-Last Fit spectrum allocation is another RSA algorithm that supports dynamic traffic. We refer to this algorithm as FLF for simplicity. The main goal of FLF is to minimize the the number of used subcarrier slots. Hence, FLF divides the whole existing slots into multiple sub slots and calls them partitions. Partitioning is performed by the largest degree first (LDF) algorithm which is based on graph coloring method. Partitioning phase is the first phase of FLF and is called partitioning phase. The second phase refers to partition assignment. This mechanism is called FLF and selects the available lowest index slots in 29

Figure 8: [34]An example of FLF: (a) Physical topology of the sample network; (b) Virtual topology of the sample network; (c) Performing FLF on the sample network.

the odd number partition from the list of available slots. For an even number partition, it attempts to choose the highest indexed slots from the list of available slots [34]. Figure 8 depicts an example of FLF. Figure 8a and Fig. 8b show the physical topology of sample network and its virtual topology, respectively. There are three connection groups (CGs) as CG 1 on link 1, CG 2 on links 1 and 2 and CG3 on links 1 and 3. CG 1, CG 2 and CG 3 need 3, 2 and 1 slots, respectively. As seen in Fig. 8c, FLF first begins with the lowest index in partition 1 (i.e., slot 1) and assigns it and slot 2 to CG 2. Then, it selects the highest slot in partition 2 (i.e., slot 6) and allocates slots 6, 7, and 8 to CG 1. Finally, FLF chooses the lowest available index in partition 3, which is slot 9, for assigning to CG 3. At the end, it is seen that three contiguous slots have not been assigned and can be used for the next incoming requests [34]. According to the acquired results in [34], FLF has better performance than nonpartitioned procedures. In addition, FLF could improve the spectrum usage even more than the best resource assignment mechanism (i.e., FF). 4. Routing, Modulation Level and Spectrum Allocation (RMSA) in EON As mentioned before, impairment-aware RSA is essentially a Routing, Modulation-level, and Spectrum Assignment (RMSA) problem [4]. Some algorithms have been proposed for RMSA. The RMSA algorithms are categorized into the algorithms that support static traffic and the algorithms that support dynamic traffic. 4.1. RMSA Algorithms that Support Static Traffic As mentioned before, the algorithms that are based on static traffic find the appropriate routes according to the given static traffic matrix, and then assign the appropriate resources to the demands according to this given matrix.

30

4.1.1 Routing and Modulation Level and Spectrum Allocation (RMLSA) Algorithm RMLSA is used for resource allocation in EON networks. The RMLSA supports static traffic and is appropriate for unicast traffic. There are three kinds of RMLSA [35]: • Joint RMLSA algorithm: This algorithm pre-calculates K paths by using the Kshortest path algorithm, selects an appropriate modulation level for each path, and allocates spectrum. Note that some joint RMLSA algorithms do not need to precalculate paths, but joint RMLSA in [35] needs to calculate it. All of these routing, modulation level and spectrum allocation processes are according to integer linear programming (ILP) formulation that are performed simultaneously [35][36]. • Decomposing the (RML + SA) problem: This algorithm first finds the best path set for each connection and its modulation level according to an ILP formulation and then allocates spectrum similar to the joint RMLSA algorithm [35][36]. • Heuristic RMLSA: Since both of the above algorithms cannot be solved efficiently for large networks, it is necessary to design a heuristic RMLSA. A heuristic RMLSA could be based on a meta-heuristic algorithm such as Simulated Annealing, called SimAn. The SimAn finds an order of demands and then allocates resources according to their costs and requests [35][36]. For small networks, both joint and decomposed RMLSA algorithms are good enough. But which one of these two RMLSA algorithms performs well depends on the network situation. In fact, the performance results of both joint and decomposed algorithms are similar to each other, but only the decomposed RMLSA reduces the average running time. For large networks, heuristic RMLSA is appropriate and other algorithms cannot be used [35]. 4.1.2 Multicast-Capable RMSA Traffic multicasting is widely used in different applications such as teleconferencing, IP television, and stock exchanges. There is recently a growing demand to support scientific applications that can transfer huge amounts of data to a few geographically dispersed users. Since multicasting can reduce repeated optical-electrical-optical conversions, all-optical multicasting leads to more transparent and power-efficient solutions compared with conventional IP multicasting. Since the multicasting plays an important role in different types of networks, three algorithms are explained in the following that can support traffic multicasting in EON. All of these three algorithms are based on Slot Block (SB). Note that a SB is a block of a few available contiguous subcarrier slots in the optical spectrum [4]: • Joint RMSA algorithm: The joint RMSA considers all multicast requests together and tries to optimize them together. The objective of the joint RMSA is to minimize the maximum ending slot index of all multicast requests. In addition, the routing mechanism in joint RMSA is light tree. A light tree is the combination of the routing paths from source si to each destination as a multicast path set. It is noticeable that the light tree considers modulation level changes in nodes [4].

31

• Separate RMSA algorithm: Unlike the joint RMSA, separate RMSA optimizes one request at a time and handles the requests sequentially. The objective of separate RMSA is to minimize the maximum ending slot index of all multicast requests, just like the joint RMSA. In separate RMSA, the multicast requests are first sorted in a descending order according to their capacities, and then these requests are optimized separately one by one. The routing mechanism in separate RMSA is similar to the joint RMSA (i.e., light tree) [4]. • Heuristic RMSA algorithm: Joint and separate RMSA algorithms are based on ILP formulation, and therefore, their accuracies are high. However, the computational complexities of these algorithms are high. In addition, ILP formulations are not scalable to large problems. Hence, a heuristic algorithm can reduce the computational complexity and solve the large problem with less accuracy. Heuristic RMSA is based on genetic algorithm (GA) [37]. In fact, a feasible RMSA solution for all multicast requests is encoded as a set of genes, called an individual chromosome (or individual). In order to encode the genes for multicast requests, the requests are decomposed into multiple unicast requests. In a GA, a gene refers to a feasible solution to a subproblem, while an individual (i.e., a set of all genes) represents a feasible solution to the problem. The objective function of GA is the same as that of the joint RMSA [4]. The GA involves selection, crossover and mutation operations in iteration to optimize a problem. In heuristic RMSA, selection operation has been changed to tournament selection to select pairs of individuals (e.g., parents) from the current generation for crossover. Tournament selection involves running several tournaments among a fixed number of individuals that are randomly chosen from the population. The winner of each tournament, i.e., the fittest one in the group, is selected. The next operation is crossover to generate offspring. The crossover is a multipoint operation on the gene level in which a few genes in the parents are selected randomly and swapped. The actual number of genes to swap is calculated by ⌈|I|.pc ⌉, where I and pc are multicast requests and the crossover rate, respectively. After that, |P | fittest individuals are selected from parents and offspring as the new generation, while the size of population is kept constant during evaluation. The last phase is mutation phase. In the mutation phase, some of the genes are modified randomly. Similarly, the number of genes to mutate in each individual is calculated as ⌈|I|.pm ⌉, where pm is the mutation rate. In fact, a gene is mutated by modifying its RMSA to other feasible ones randomly [4]. One amazing feature of heuristic RMSA is that this algorithm supports both static and dynamic traffic. Performance evaluation results in [4] indicate that GA can reduce request blocking probability. In addition, GA optimizes the RMSA solutions. 4.1.3 Routing and Spectrum Allocation with Joint Anycast and Unicast routing (RSA-JAU) Algorithm In order to appearing significant network services such as grid computing, cloud computing, video streaming and etc, anycast traffic (one-to-one-of-many transmission technique) has gained popularity. Anycasting can significantly reduce the network traffic, compared to the unicast transmission (a typical one-to-one technique). For example, in these mentioned network services the content prepared by the provider is uploaded to replica servers spread 32

geographically in the network. Thus, users can access the data using shorter paths and with lower delay [38]. Two algorithms have been introduced for anycast traffic that are: 1) ILP-based RSAJAU; and 2) Heuristic RSA-JAU is called Adaptive Frequency Assignment - Joint Anycast and Unicast routing (AFA-JAU) [38]. ILP-based RSA-JAU: Light-paths are divided into FSs in ILP-based RSA-JAU. The optimization problem concerns the minimization of spectrum resources required in the network. There are two kinds of requests to be routed in the network: anycast and unicast. The unicast request is defined as a single demand with two end nodes and the given volume in bps. In contrast, the anycast request is defined by one client node and the given volume in bps. Therefore, to realize the anycast request two demands are needed: 1) upstream (from the client node to the replica server); 2) and downstream (from the replica server node to the client node). Two demands (downstream and upstream) realizing the same anycast request are called associated. Both associated demands must be connected to the same replica server [38]. It is assumed that there are R replica servers already located at some nodes of the network. Every replica server provides the same content so each anycast client (demand) can be assigned to any of the replica servers. For each demand, the candidate paths are calculated by link-path modeling approach [39]. In more detail, for each pair of end nodes k candidate paths are given. Thus, in the case of unicast demands, there are k candidate paths for each demand. Since the anycast demand can be assigned to any replica server, the number of candidate paths for each anycast demand is Rk. The selection of a replica server for a particular anycast demand is made according to the selection of a candidate path. In addition, according to the half distance law, the modulation level selected for a path depends on the path length lp and it is equal to 1, 2, 3, and 4, respectively, for lp exceeding 1500 km, 750 km, 375 km, and below 375 km [38]. In particular, slices are labeled with s, where s = 1, 2, . . . , S. For demand d a set of candidate optical channels, indexed as s = 1, 2, . . . , Cdp , is considered for each candidate path p. Each channel consists of a subset of ndp adjacent slices providing just enough spectrum to support given volume hd . Then, RSA concerns selecting a route and assigning a channel to a demand while minimizing the width of spectrum, in terms of the number of slices, required in the network [38]. Adaptive Frequency Assignment - Joint Anycast and Unicast Routing (AFA– JAU): The main idea of the AFA method is to adaptively select a sequence of processed demands in order to minimize the width of spectrum, in terms of the number of slices, required in the network. An additional function applied in the algorithm is a collision metric indicating potential collision of links. It means, selecting paths without including links that can be potentially selected in a large number of demands. Anycast and unicast traffic are considered, separately. Anycast demands are processed first, as one end node of each anycast demand must terminate at relatively small number of nodes hosting the replica server. Consequently links adjacent to replica server nodes can become congested and consume large number of slices [38].

33

First, minimum value of requested number of slices are calculated for each demand d as nd = ndp , p = 1, 2, . . . , Pd . Then, demands (separately anycast and unicast) are processed in decreasing order of nd . Function M inF S(d) returns the lowest indexed and accessible slice for demand d. In the case of unicast demand d, M inF S(d) examines all candidate paths and selects the path the guarantees the lowest slice index allocation. In the case of anycast demands, the processing is more complicated. If for a particular anycast demand d the associated demand τ (d) is not yet allocated in network, M inF S(d) examines all candidate paths and again selects the path the guarantees the lowest slice index allocation. However, if τ (d) is already allocated in the network, for demand d the M inF S(d) function analyzes only candidate paths connected to the replica server already selected in the case of τ (d). Using M inF S(d), demand d∗ with the lowest index of the slice is selected. If there are more than one demand with the same slice index, metric ld (i.e., the average length of candidate paths of demand d) is used as an additional criterion. The next function M inF SP ath(d) returns the index of a candidate path selected to allocate demand d in order to minimize the main idea of AFA-JAU. The same processing as described above is applied again in the case of unicast and anycast demands. If for more than one of the candidate paths the same minimum value of the slice index is obtained, we select a path with a lower value of the lp metric [38]. According to obtained results in [38], AFA-JAU provides on average results about 7-8% from ILP solution, but with significantly lower execution time and with radically better scalability. 4.1.4 Routing and Spectrum Allocation with Dedicated Path Protection (RSA-DPP) Algorithm Network paths are divided into two main categories: (1) working (primary) paths; and (2) backup (secondary) paths. When a working path fails, existing requests on this working path have to be transferred on an appropriate backup path to improve the efficiency of network. One protection scenario is called Dedicated Path Protection (DPP), where each connection has its own backup resources. RSA-DPP is based on channel and its main objective is to minimize the width of spectrum resources. The RSA-DPP uses two alternative scenarios for EON with path protection capability, namely: (1) with the Same Channel (SC) allocation; and (2) with Different Channel (DC) allocation, to achieve its goal. According to SC, transponders are shared between working and backup demands and a demand allocates the same channel on its primary and backup path. In contrast, in DC, a demand can allocate different channels on its primary and backup path. As a result, SC is cost-effective in related to DC. According to these mentioned scenarios, ILP-based RSA-DPP has two kinds as RSADPP-SC and RSA-DPP-DC. In addition, a heuristic algorithm that is a Tabu Search-based (TS) algorithm exists to implement the RSA-DPP algorithm for huge networks [40]. ILP-based RSA-DPP: As mentioned before, RSA-DPP is based on channel. It means that a set of candidate optical channels is considered, where each channel consists of a subset of adjacent FSs. By these means, the contiguity constraint has been removed in RSA-DPP. Link-path modeling approach has been used in RSA-DPP in routing phase and it is assumed that a set of candidate routing paths has been given. Primary and backup paths are sorted in different sets. The main objective of RSA-DPP is to reduce the width of spectrum which is 34

in terms of the number of FSs. There are two ILP-based RSA-DPP, where primary/backup channel constraint selection is different in them. One is called RSA-DPP-SC and the other is called RSA-DPP-DC [40]. There are common constraints for both of the RSA-DPP-SC and RSA-DPP-DC ILP models which are spectrum contiguity, spectrum continuity and spectrum capacity. Spectrum capacity means that a slice in a link can be allocated to one demand at most. But, there is an special constraint for RSA-DPP-SC, called the same channel which means both of primary and backup lightpaths should allocate the same subset of slices for each demand while this constraint is not applied for RSA-DPP-DC. As mentioned in the previous paragraph, the main objective of both ILP models is to minimize the width of spectrum in terms of FSs number [40]. TS-based RSA-DPP: The basic idea of TS is to search through a neighborhood of the current solution in order to improve final result. The TS uses two key elements: (1) Tabu Move (TM); and (2) Tabu List (TL). The TM denotes a move from one solution to another (neighbor) solution. The TL is a form of memory structure to save TMs. The algorithm starts with an initial (reference) solution. Next, the TM is applied and the reference solution is slightly changed. It means that if the neighbor solution is better than the reference solution, the neighbor one is selected as the reference solution and the TM which has led to the improvement is added to TL. Then, the next iteration of the algorithm is run [40]. According to the above paragraph, TS-based RSA-DPP has to be begun with generating an initial solution. Since the initial solution has strong influence on the final result, three different methods are used [40]: • First Assign Allocation (FA): demands are processed according to their initial order [40]. • Random Allocation (RND): demands are processed in random order [40]. • SoRTed Allocation (SRT): demands are processed in a specific order. In fact, demands are sorted according to decreasin value of their size [40]. After that, the pair of paths and the set of FSs have been determined for each demand. Each solution is determined by two elements: (1) demand processing queue which determines the order of processed demands with the solution; and (2) index of candidate pair paths and the set of FSs selected for each demand. According to these elements, there are two TMs [40]: • Demand Swap: two randomly chosen demands placed in the processing queue are swapped and their processing order is changed [40]. • Path Change: a pair of paths is changed for a particular demand [40]. As mentioned in TS definition, in each iteration of the algorithm, TM is applied to find a better solution and add to TL. In fact, demands are processed sequentially according to processing queue. For each demand, all candidate pairs of paths are examined and the algorithm tries to find the best allocating FSs and assigns them to the demand [40]. 35

Performance evaluations in [40] shows that the ILP-based RSA-DPP outperforms the TS-based one in small networks. But, the ILP-based RSA-DPP is not suitable for large networks and the TS-based RSA-DPP can address this issue. 4.1.5 RMSA Optimization Model This optimization model is for unicast and anycast traffic. Unicast traffic is related to point-to-point transmission, while the anycast traffic refers to network traffic served by data centers, e.g., cloud computing traffic. The main idea before RMSA-Optimization model is minimizing maximum spectrum usage, network cost and power consumption. This method comprises two algorithms described in the following [41]: ILP-Based RMSA Optimization: This algorithm separates maximum spectrum usage, network cost and power consumption as three separated ILP formulation as [41]: • RMSA/Maximum Spectrum (RMSA/MS): The main objective of RMSA/MS is to minimize the maximum spectrum usage. Spectrum usage is defined as the largest index of an occupied slot in the network. First, k paths are selected according to link-path modeling approach. For each demand (both unicast and anycast) exactly one candidate path, one modulation format and one candidate channel are selected. Finally, FSs are allocated to demands according to ILP formulation [41]. • RMSA/Cost (RMSA/Cost): The main objective of this algorithm is to minimize the cost of network. Network cost means the cost function includes the cost of equipment (transponders, regenerators) and the cost related to fiber leasing [41]. • RMSA/Power Consumption (RMSA/PC): The main objective of RMSA/PC is to minimize the power consumption. The power consumption is defined as sum of the power requirements of all transponders and regenerators, taking into account the spectrum usage. The models of RMSA/PC and RMSA/C are similar to each other [41]. Adaptive RMSA (ARMSA): Since above algorithms are NP-hard and are not suitable for large networks, a heuristic algorithm is defined named Adaptive RMSA (ARMSA). The ARMSA is based on the AFA algorithm [38] with a modification related to the selection of modulation formats. The main objective of ARMSA is to select a sequence of processed demands, adaptively in order to minimize the objective function. ARMSA combines a dedicated heuristic method and TS metaheuristic approach. In fact, ARMSA defines a metric as d .pd , where nd is the minimum number of required FSs, pd is the minimum number ad = nDIV of hops included in the candidate lightpath and DIV is a predefined constant value. Then, ARMSA divides demands into subsets named Ba which is a group of demands with the same value of metric ad = a, where a is the maximum value of ad . Finally, ARMSA finds the optimal resources in each iteration of implementation and allocates them to appropriate demands so that the maximum spectrum usage, network cost, and power consumption are minimized [41]. Accessed results from [41] show that using distance-adaptive modulation formats can improve network performance in terms of all considered metrics. In fact, when only the 36

spectrum efficient modulation format is used, the network cost and power consumption are increased. But, when all objectives have to be considered, the results are better for the network. 4.2. RMSA Algorithms that Support Dynamic Traffic As mentioned before, these algorithms have to update their information and adapt themselves with new conditions to select appropriate routes and assign the appropriate resources to demands. 4.2.1 m-Fixed and m-Adaptive RSA Algorithms The flexibility feature of EON originates from using the OFDM methodology. OFDM enables a network to use different modulation formats with different modulation levels (m) according to different Transmission Distance (TD) constraints. Two related algorithms are m-fixed RSA algorithm, and m-adaptive RSA algorithm based on spectrum segment representation [42]. There are three spectrum operations (spectrum algebra) based on segment representation. Spectrum algebra follows the Commutativity law and De Morgan low. The spectrum operations are described in the following [42]: • Spectrum intersection (∩): calculates the spectrum in conjunct part of two spectrums. • Spectrum union (∪): calculates the spectrum in either of two spectrums. • Spectrum complement (S): calculates the spectrum in the whole spectrum window but not in spectrum S. For example, available (blank) spectrum is complement spectrum of unavailable (occupied) spectrum. In addition there are three basic RSA algorithms as follows [42]: 1. Spectrum-constraint Path Vector searching algorithm (SPV): SPV is a heuristic algorithm that includes routing and spectrum aggregation. Algorithm 10 shows the procedure of the SPV algorithm. All candidate paths are searched in SPV and are stored in the Path Vector Searching Tree (PVST), where path vectors are examined by aggregated spectrum. The root of PVST is source node (i.e., s). After that, the first path is found and its length is saved as DR . Then, the distance of all available paths in each level L (i.e., DL ) are compared with DR to find the shortest path. When all feasible paths are found in PVST, the SPV can find optimum solutions for RSA [42]. 2. k Shortest Path algorithm (KSP): KSP is a two-step algorithm that performs routing and spectrum aggregation step by step. First k shortest paths, which are sequenced based on TD are calculated. Then, KSP employs spectrum intersection and spectrum detection operations to calculate aggregated spectrum and check the availability of spectrum path. Finally, the KSP returns the shortest path with available spectrum [42]. 3. Modified Shortest Path algorithm (MSP): MSP is the modified algorithm of the classic Dijkstra and introduces spectrum intersection and detection operations. In addition, MSP considers routing and spectrum aggregation steps [42]. 37

Algorithm 10: The SPV Algorithm [42] Input : G(N, E). Demand (s, d) and Signal bandwidth B (guard band G). The available spectrum Sij , ij ∈ E. The distance on each link Dij , ij ∈ E. Output: The shortest path from s to d: PR ; with aggregated available spectrum SR . 1 : Initialize s as the root of P V ST at level = 0. 2 : forall the links that are connected to the root do Add a new leaf into P ST V level = 1. end 3 : for P ST V level L = 1 to |N | − 1 do forall the leaves in level L do if DL < DR then U pdate the shortest path and spectrum. end forall the link nv f rom node n to node v do if DL + Dnv < DR and there is no loop then Add v as a new leaf into P V ST level = L + 1. end end end end 4 : if DR < ∞, PR ̸= Ø, SR ̸= Ø then return Success else return Blocking end The m-fixed RSA algorithm and the m-adaptive RSA algorithm use the above basic RSA algorithms described as follows. • The m-fixed RSA algorithm: if m is a fixed parameter, basic RSA algorithms and TD constraint are used directly to solve the RSA problem. The m-fixed RSA algorithm runs the basic RSA algorithm only once, and hence, it cannot find the optimal solutions [42]. • The m-adaptive RSA: Parameter m is not fixed in the adaptive RSA algorithm. The basic RSA algorithm is one part of the m-adaptive RSA algorithm. When m changes, the m-adaptive RSA calculates spectrum bandwidth, solves the basic RSA problem and checks whether traffic TD exceeds the maximum TD. Failure in basic RSA step is 38

Figure 9: [43]An Example of SPRESSO

defined as routing blocking. This determines that spectrum resources are insufficient for new demands [42]. According to the performance evaluations in [42], if m is fixed or adaptive, the SPV and MSP algorithms almost have the same performance, i.e., they obtain the lowest blocking probability under light-traffic load conditions, whereas KSP has the most blocking probability. However, at heavy-load traffic situations, KSP has less blocking probability than both SPV and MSP. 4.2.2 Spectrum Reallocation (SPRESSO) Algorithm SPectrum REaLLOcation (SPRE (LLO) −→ (SSO)) is defined for spectrum defragmentation. Whenever there are insufficient resources for a connection request, SPRESSO follows the path triggered spectrum defragmentation in flex-grid optical networks [43]. First, each available link in k shortest paths are checked to know whether there are sufficient FSs to a new incoming connection request (i.e., the number of available FSs are equal or more than required for an incoming connection request). If there are enough FSs in one of the shortest paths, the SPRESSO mechanism is run to find the already established path reallocations. In this way, it makes a sufficient room for the connection request in the selected path. Otherwise, the connection request is blocked [43]. Figure 9 illustrates reallocation procedure of SPRESSO. There is a network topology shown in Fig. 9a. According to Fig. 9b, four FSs between links 4 to 7 are not assigned. Hence, SPRESSO reallocates both paths P4 and P5 to make enough room for the new optical connection newP (Fig. 9c). As seen, SPRESSO tries to use available resources efficiently [43]. According to the mentioned explanations, SPRESSO has been proposed to allocate already established paths in the spectrum. According to the performance evaluations in [43], SPRESSO can improve the gain of using spectrum in OFDM networks from 20% to 31%. 4.2.3 Impairment-Aware Routing and Subcarrier Allocation (IARSA) Algorithm One problem in a translucent EON network (where some nodes regenerate signals) is how to choose a feasible path from a source node to a destination node and allocate subcarriers by 39

using an appropriate modulation format. This problem is called the IARSA problem. The aim of IARSA is to find the shortest feasible path, where the availability of free subcarriers along the path determines the feasibility of the path by considering impairment levels and use of regenerators. In fact, the IARSA finds the path that does not violate the QoT threshold. Maximum distance is considered as an impairment constraint [44]. The IARSA comprises three algorithms as: the LARA algorithm (which is the main body of IARSA), the MSP algorithm, and the Graph Adjustment algorithm. Algorithm 11 and 12 show the procedures of LARA and GraphAdjustment algorithms, respectively. Note that dist[i] indicates the remaining impairment slake in terms of distance at node i. In addition, sus[i] indicates the i − th susceptible node for regenerating the signal [44]. Algorithm 11: LARA (G, r) [44] for i = 1 to M do Allocate link weights. M [i] ← M odif iedDijkstra(G, r, i). if All M [i] equal N U LL then Block request. else Return the path P and modulation f ormat m corresponding to M in(M [i]). Call GraphAdjust(G, r, P, m) to allocate subcarriers. end end Let (u, v) be the link between nodes u and v. First, the LARA algorithm calculates the link utilization w(u, v) according to Eq. 12 [44]: w(u, v) =

β , A(u, v)

(12)

where β is the number of requested subcarriers and A(u, v) is the number of free subcarriers. Then, LARA weights the links of a network according to different modulation formats. After that, the MSP algorithm is run to find the path with the lowest weight. Finally, the GraphAdjust algorithm is run to adjust the topology of network and allocate subcarriers and regenerators. The GraphAdjust considers whether the subcarrier assignment constraint is satisfied or not [44]. Performance evaluation results in [44] reveal that LARA can achieve the lowest blocking rate. The reason originates from the applied weight allocation mechanism in this algorithm. This weight allocation mechanism tries to strike a balance between load levels and path lengths. 4.2.4 Fragmentation-and Alignment-Aware RMSA Algorithm The fragmentation-and alignment-aware routing, modulation and spectrum allocation (fragmentation-and alignment-aware RMSA) algorithms try to alleviate the fragmentation 40

Algorithm 12: GraphAdjust (G, r, p, m)[44] 1 : Partition the path into s segments based on the set R of regenerator nodes on the path. 2 : Calculate the physical distance of each segment. 3 : Record them (via seg[i]) in the | R | regenerator nodes and destination node. 4 : dist[source] = D[m] 5 : foreach regenerator node i in set R do dist[i] ← dist[sus[i]] − seg[i] if dist[i] < 0 ∥ not enough subcarriers between last marked regenerated node and node i then M ark node sus[i] to regenerate the signal dist[i] ← D[m] − seg[i] end Partition the path into segments according to the selected regenerator node. Allocate subcarriers in each segment. end

due to service provisioning. By this way, dynamic provisioning can create spectrum fragments on the links and spectrum misalignments along routing paths. Hence, fragmentation-and alignment-aware RMSA algorithms consider both fragmentation and alignment as two main factors [45]. One important definition in fragmentation and alignment-aware RMSA algorithms is ”Cut” value which accounts for the number of spectrum blocks that the provisioning scheme will break. The number of ”Cuts” is considered as the cost of a provisioning. If the value of ”Cut” is zero, it is mostly preferred from fragmentation perspective. The minimum number of ”Cuts” is always candidate to assign to requests. According to this allocation procedure, more available FSs will remain to be assigned to future coming requests. Figure 10 shows an illustration of the mentioned algorithm on the presented topology in Fig. 10a. As seen in Fig. 10b, the value of ”Cut” is zero on path ADE. It means that this path is a good option for fragmentation. On the other hand, the alignment of the available spectrum blocks on two neighbor links creates commonly available spectra and is valuable for future connection requests. For example, the candidate provisioning on path ADE on slot 8 will influence the alignment between the neighboring links as shown in Fig. 10c. The provisioning on link AD on slot 8 reduces the commonly available spectra by one slot and this is calculated as misalignment for link BA. Hence, the alignment-aware algorithm should minimize this cost when doing the RMSA provisioning [45]. The fragmentation-and alignment-aware RMSA algorithms are divided into three algorithms as following [45]: • Fragmentation-aware RMSA algorithm: The fragmentation-aware RMSA calculates the number of cuts caused by all RMSA candidates and chooses the one with the minimum number of cuts. If the number of appropriate RMSA candidates with 41

Figure 10: [45]An Example of spectral assignment status on the links with Fragmentation-and AlignmentAware RMSA

minimum number of cuts is more than one, the algorithm uses the shortest path and first fit rule to choose the best solution [45]. • Alignment-aware RMSA algorithm: The alignment-aware RMSA minimizes the increasing of the misaligned available spectral slots when provisioning the connection requests. If more than one RMSA candidate can satisfy the misalignment increase constraint, the algorithm uses the shortest path and first fit rule to choose the best solution [45]. • P-CF algorithm: The P-CF supports both fragmentation and alignment costs together. In fact, P-CF preselects all the candidate routes that have one spectral block to accommodate the incoming request. Note that preselecting means that the algorithm calculates all the candidate paths first, and then preselects the k-shortest routes which have at least one spectral block available for the incoming request. The P-CF calculates the cost of each RMSA candidate using Eq. 13, where H is the number of hops for candidate path, S is the number of spectral slots assigned to the candidate route considering the distance adaptive modulation format assignment. Parameters Fcut and Malign represent the number of ”Cut” and alignment increase, respectively, and C is the number of available spectral slots on the current path. The P-CF combines shortest path routing, fragmentation-and alignment-aware routing and balanced load spectrum assignment in one step. In addition, when there is more than one RMSA candidates that have the same minimum A, the algorithm uses the first-fit rule to assign spectrum [45]. A = (H × S + Fcut + Malign )/C

(13)

Performance evaluation results in [45] reveal that P-CF, alignment-aware, and 42

fragmentation-aware algorithms can reduce blocking probability. The results of algorithms are very close to each other. However, P-CF has the best performance. The performances of fragmentation-aware and alignment-aware are similar to each other, but alignment-aware has a little better performance than fragmentation-aware at high traffic load. 4.2.5 Dynamic RMSA Algorithms for High-Throughput Service Provisioning There are two algorithms described in the following for dynamic RMSA [46]: • Dynamic RMSA using Online Path Computation: This algorithm dynamically updates link metrics based on their spectrum utilization statuses, and performs RMSA with online routing path computation for each request. If the algorithm cannot find a spectrum assignment to serve the request, it is blocked. Note that the modulation level has been considered as BPSK [46]. • Dynamic RMSA using Path-Set Updates: This algorithm pre-computes K shortest routing paths as the path-set for each source-destination pair in the network topology, performs RMSA based on different path-selection policies during dynamic provisioning, and updates the path-set by adding a new path (found according to the mentioned policies) when there is no available path in the set for the request. In fact, it sorts the paths in the path-set based on a path-selection policy. Then, it processes the paths one by one. If one or more paths in the set is unavailable for the request due to spectrum resource limitation, the algorithm tries to calculate an equal number of new path(s) and update the set with them. Note that there are four path-selection mechanisms as follows [46]: – Shortest Path First (SPF): the path with the lowest distance [46]. – Most Slots First (MSF): the path with the most available slots [46]. – Largest Slots-over-Hops First (LSoHF): the following metric is calculated for each path according to Eq. 14, and then the path with the maximum value of the metric is selected [46]: asoh(Rs, d ) =

BW (Rs, d ) , hop(Rs, d )

(14)

where Rs, d is the route between source s and destination d, BW (Rs, d ) and hop(Rs, d ) represent the available slots on route R and the length of R based on the number of hops, respectively. – Largest Slots-over-Square-of-Hops First (LSoSHF): this mechanism is similar to the previous method. However, the metric is computed by Eq. 15 [46]: BW (Rs, d ) asosh(Rs, d ) = √ hop(Rs, d )

(15)

The First-Fit Spectrum Assignment (FFSA) and Best-Fit Spectrum Assignment (BFSA) are the allocation mechanisms used in the assignment procedure. The major drawback of 43

dynamic RMSA using online path computation is the high computation complexity. Performance evaluation results in [46] indicate that the ”Dynamic RMSA using Online Path Computation” mechanism is better than ”Dynamic RMSA using Path-Set Updates” method. Note that the modulation-level of subcarrier channels can be adaptively changed to accommodate various transmission reaches and QoT. Hence, it is assumed that the modulation-level can be 1, 2, 3 and 4 for BPSK, QPSK, 8-QAM and 16-QAM, respectively. The modulationlevel is determined according to distance-adaptive concept [1] and the proposed mechanism in [47]. 4.2.6 Time-Spectrum Consecutiveness (TSC) Algorithms In this section, three Time-Spectrum Consecutiveness (TSC) based algorithms are reviewed. These algorithms are used to allocate the spectrum efficiently by defragmenting it along frequency axis and time axis. The TSC-based algorithms retain the TSC as much as possible when establishing a light-path and reduce the spectrum fragmentation. The aim of these three algorithms is to alleviate the blocking probability [48]. Maximum Total Link TSC (MTLT): MTLT algorithm first finds K-shortest paths using the KSP algorithm. For each candidate path, the start time (i.e., ts ) and duration time (i.e., ∆t) is traversed from the beginning to the end. Then, the number of required FSs are calculated by Eq. 16. N =⌈

θ

⌉ + Ng , (16) M × Cslot × ∆t where θ is the capacity of request in Gb, M is the modulation level, Cslot is the size of a slot and Ng is the number of guard-band slots. Then, MTLT searches for the available SBs which can accommodate the traffic demand as candidate block set (i.e., BP = {B1 . . . Bi . . . Bn }). For each Bi , the sum of TSC on all links along the path are calculated through multiplying percentage of available FS along frequency axis and time axis in the average joint numbers in each free SB. Finally, the block which has the maximum TSC is selected and assigned to the demand. Algorithm 13 shows the procedure of MTLT. Algorithm 13: MTLT[48] 1 : Find K-shortest paths using KSP algorithm. 2 : foreach Demand do F ind the number of required F Ss through Eq.16 Construct BP as the available SBs′ set f or demand. foreach Slot Block in BP do foreach Link do Calculate the sum of T SC on link. end end Select the SB with maximum TSC. end

44

Maximum Heaviest Link TSC (MHLT): MHLT uses the similar method to find the candidate SBs, but MHLT chooses the block which can maximize the heaviest payload link TSC. Algorithm 14 indicates the procedure of MHLT [48]. Algorithm 14: MHLT[48] 1 : Find K-shortest paths using KSP algorithm. 2 : foreach Demand do F ind the number of required F Ss through Eq.16 Construct BP as the available SBs′ set f or demand. foreach Slot Block in BP do Select the link that has the heaviest pay load. Calculate the sum of T SC on link. end Select the SB with maximum TSC. end

Maximum Path TSC (MPT): MPT behaves as MTLT in finding the candidate SBs. In particular, MPT evaluates the maximum path TSC, and finally it selects the SB with maximum TSC. Algorithm 15 demonstrates the procedure of MPT [48]. Algorithm 15: MPT[48] 1 : Find K-shortest paths using KSP algorithm. 2 : foreach Demand do F ind the number of required F Ss through Eq.16 Construct BP as the available SBs′ set f or demand. foreach Slot Block in BP do foreach P ath do Calculate the sum of T SC on link. end end Select the SB with maximum TSC. end According to the obtained results from [48], MTLT, MHLT and MPT have similar time complexity. In addition, MTLT and MPT achieve the lowest and highest blocking probability, respectively. The reason is that MTLT and MHLT only consider the link TSC while MPT is based on the whole routing path TSC. Moreover, initial delay is high in these TSC algorithms because for a pending request, these algorithms consider time dimension to improve the reuse of fragmentation while allocating spectrum resources. In addition, spectrum efficiency is high in the TSC algorithms.

45

4.2.7 Dynamic Multipath Routing Algorithm with Traffic Grooming (MPTG) EON can groom multiple sub-wavelength services into a bandwidth variable transponder (BV-Transponder) and switch them together. All traffic in EON uses the same BVTransponder type that may not be appropriate for sub-wavelength services because the high capacity of a transponder may not be used completely. Moreover, to switch each subwavelength light-path, guard bands between contiguous light-paths will be required. To solve this issue, it is ideal to groom multiple sub-wavelength services to a BV-Transponder and switch them together [49][50]. It is noticeable that continuity and contiguity constraints must be guaranteed in grooming mechanisms. MPTG is based on the grooming concept. The objective of MPTG is to reduce the blocking probability. It tries to groom different requests to achieve this objective. The available resources in MPTG are called spectrum slots. In fact, the spectrum path is formed by several contiguous spectrum slots which are available on all fiber links along a candidate routing path. Hence, one candidate path consists of spectrum paths which locate at various spectrum ranges [51]. In the MPTG algorithm, there are two sets called F1 and F2 . F1 is the set of found spectrum path that are shared between new arriving demand and existing demands and F2 is the set of found spectrum paths for the new arrived demand. According to one division, routing methods are divided into multipath routing and hybrid routing. Multipath routing does not firstly provision single path routing by searching the entire candidate path set. In fact, multipath routing takes the order of F1 → F2 . In addition, this method consumes additional guard bands and BVT. On the other hand, hybrid routing assigns spectrum paths in set F1 and F2 in the order of F1 → F2 → F1 → F2 , where first F1 → F2 is for searching possible single path routing. Hence, Dynamic MPTG uses traffic grooming and new policies named Shortest Path First (SPF), Maximum Usable Bandwidth (MUB) and Largest Spectrum Saving (LSS) for both hybrid and multipath schemes to reduce the guard band allocation, utilize BVT bandwidth and alleviate the impact of multipath routing. The SPF has been introduced in section 4.2.5. The MUB and LSS are detailed in the following [51]: • Maximum Usable Bandwidth (MUB): MUB sorts the spectrum paths in both F1 and F2 in a descending order of useable bandwidth. Usable bandwidth means the number of slots. The objective of MUB is to minimize the bandwidth of subconnections so that the number of consumed BVT is minimized. When the bandwidth of each sub-connection is increased, the spectrum ratio of the guard bands to data transmission is reduced [51]. • Largest Spectrum Saving (LSS): LSS sorts spectrum paths in set F1 in a descending order of spectrum saving ratio (r) which is defined as, can be saved f rom guard bands r = Bandwidth . When r = 0 in F2 , the spectrums in F2 T otal bandwidth of this spectrum path are sorted through MUB [51]. Algorithm 16 shows the procedure of MPTG [51]. Performance evaluations in [51] show that the multipath routing has better performance than the hybrid one. It is shown that traffic grooming can alleviate the blocking probability. 46

Algorithm 16: MPTG[51] 1 : Find K-shortest paths using KSP algorithm. 2 : foreach Demand do F ind shared spectrum paths between demand and existing demands (F1 ). F ind available spectrum paths f or demand (F2 ). Sort F1 and allocate spectrum paths in F2 according above policies. Revert unallocated spectrum resources. If no sufficient slots allocated, block the request end

Among three above policies, LSS has the lowest blocking probability because it tries to allocate less guard bands to improve the spectrum efficiency. In addition, since MUB utilizes BVT bandwidth, it is more efficient than SPF. 4.2.8 Optimal Route, Spectrum and Modulation Level Assignment (RSMLA) Algorithm One kind of EON is Split-Spectrum (SS)-enabled networks. Demands that face blocking situation in SS-enabled EON may be split to be fit in the available FSs. One important applied algorithm in SS-enabled EON is Route, Spectrum and Modulation Level Assignment (RSMLA) that tries to find the most appropriate physical route, spectrum portion and modulation level to satisfy the incoming demand at minimum cost for the operator. To achieve this objective, RSMLA has two main sub-objectives that: (1) minimize the number of resources to serve the incoming demand, and (2) minimize the spectrum fragmentation in the network. RSMLA comprises two algorithms which are described as follows [52]: Split-Spectrum-Enabled RSMLA (SSRSMLA): SSRSMLA is based on a Mixed ILP (MILP) formulation which is suitable for both single-path and multi-path approaches as well as BV-transponders (BV-TSPs) and Multi-Flow TSPs (MF-TSPs). Under the BV-TSPs implementation, a demand is sent through the splitting process and the resulted splits are transmitted using independent BV-TSPs. On the other hand, MF-TSPs transmit the split demand. A MF-TSP is capable to transmit and receive multiple elastic optical channels (flows), operates at independent bit rates that can be routed independently. This algorithm comprises three phases [52]: • Phase 1: All candidate paths are found by K link-distinct shortest path strategy, where K is an input parameter. After that, an appropriate modulation level is determined for each calculated path in the previous phase [52]. • Phase 2: In this phase, the MILP formulation is executed to find the optimal RSMLA for the incoming demand. The MILP formulation consists of multiple objectives that are: (1) minimizing the number of splits of a demand, (2) minimizing the spectral gaps in the candidate paths, (3) minimizing the number of FSs that the demand use, and (4) minimizing the difference between the allocated and the requested bit rates [52].

47

• Phase 3: This phase is called solution evaluation that checks whether the solution of MILP is empty or not. If not empty, therefore an optimal solution exists that satisfies the incoming demand. Otherwise, the incoming demand has to be blocked [52]. Heuristic SSRSMLA (H-SSRSMLA): Since SSRSMLA has sub-second execution times and its scalability is limited to address large networks, a Heuristic SSRSMLA (HSSRSMLA) is introduced to address SSRSMLA drawbacks. H-RRSMLA is based on a greedy iterative mechanism that precalculates a set of solution and finally, selects the best solution element from this set in each iteration. Then, the precalculated set is updated and the mechanism proceeds with the next iteration, until the demand is fully allocated or the candidate set becomes empty. The H-SSRSMLA comprises four phases [52]: • Phase 1: This phase is similar to Phase 1 in SSRSMLA [52]. • Phase 2: H-SSRSMLA builds all candidate sets. In fact, it assigns to each of these candidate sets a candidate path, modulation format and set of spectral gaps. Then, H-SSRSMLA orders the solution elements according a comparison method called CompareProcedure. In fact, CompareProcedure sorts the elements according to their qualities in a descending order [52]. • Phase 3: In this phase, the elements which address the following criteria are added to complete the solution: (1) all the demand’s bit rate is served, (2) no more candidates exist, (3) the number of parts has reached its limit (i.e., the maximum number of splits (Hmax )), (4) there are not enough free TSPs at source or destination to support such number of parts (BV-TSPs case), or (5) the number of parts has reached the number of maximum flows (MF-TSPs case) [52]. • Phase 4: This phase is evaluation phase that checks whether the entire bit rate of the demand has been served or not. In addition, it checks if a feasible RSMLA has been found for that particular demand. If yes, the demand is allocated successfully. Otherwise, it will be blocked [52]. According to required results from [52], it can be seen that the performances of SSRSMLA and H-SSRSMLA are close to each other. But, the time complexity of H-SSRSMLA is better than SSRSMLA. In addition, SSRSMLA is not appropriate for large networks. 4.2.9 Energy-Efficient Manycast RSA (EEM-RSA) Energy-Efficient Manycast RSA (EEM-RSA) is an algorithm that supports both static and dynamic traffic. EEM-RSA is performed on cloud computing environment. In this environment, a source node might be connected to several destinations and this is the meaning of manycast traffic. Manycast routing, which is a point-to-multipoint paradigm is utilized in EEM-RSA. In manycast routing, the route is established between the source and a subset of destination candidates. The connecting paths between source and destinations, referred to as lightpaths, have the same modulation level and spectrum intervals. These lightpaths form a spanning tree connecting source to a subset of candidate destinations (selected destinations) as light-tree. Thus, a light-tree is a point-to-multipoint connection with the same 48

assigned modulation level and spectrum interval in all constituting links, whereby the source and destination nodes are its roots and leaves, respectively [53]. The main objective of EEM-RSA is to minimize the number of activated elements. In fact, turning on the elements of network increases its energy consumption. The power consumption of network elements is modeled by considering a constant overhead for the element activation and a variable traffic-dependent term for the element operation. In EONs, the power consumption of IP routers, Bandwidth Variable-Optical TransPonders (BV-OTPs), BV-Cross Connect Switches (BV-WXC) and optical Erbium Doped Fiber Amplifiers (EDFA) are considered the main sources of power consumption. To address this issue, EEM-RSA introduces three algorithms which are ILP-based EEM, Pure-EEM (P-EEM) and Blocking Aware-EEM (BA-EEM). The two latter algorithms are heuristic algorithms which can solve the problem for large networks. However, ILP-based EEM does not work for large networks. Each of these mechanisms are described in the following [53]: ILP-based EEM: The ILP-based EEM models the power consumption of a network elements. To alleviate the energy consumption of the network, EEM establishes an auxiliary graph which has the same number of nodes and links as the physical network topology graph. However, the weight of links is the amount of power added to the total power consumption. Therefore, the cost functions assigned to the links of the auxiliary graph are updated after each network alteration. Each node and each link has its Power Consumption Function (PCF) which is related to its element. If a connection is routed along the working nodes and links, only the variable traffic-dependent cost is added to the PCF of the corresponding links and nodes. However, if it turns on some idle network elements, the additional power consumption (cost) corresponding to constant-offset should be added to their respective PCFs. Similarly, if termination of a connection results in some idle nodes or links, the idle components are turned off. In this scenario, both the variable traffic-dependent costs and the constant-offset costs (i.e., additional power consumptions corresponding to traffic-dependent and constant-offset, respectively) are subtracted from the PCF of inactive elements [53]. Pure-EEM (P-EEM): P-EEM is used to find a light-tree for a given manycast request. In this algorithm, the main route is determined using the Dijkstra algorithm for all demands of that manycast request and this path is added to the corresponding light-tree. Then, k destinations of whole manycast destinations are selected randomly and the shortest path from each of these selected destinations to the main route is added to light-tree. Finally, the obtained light-tree is inserted into the set of candidate light-trees. The cost function of each link in P-EEM is calculated as Eq. 17 [53]. P Clinkmn = Amn × P COA × Qmn + P COXC(m) × Pm + P COXC(n) × Pn + γLmn ,

(17)

where P Clinkmn is the cost assigned to the corresponding link between nodes m and n; Amn is the number of optical amplifiers on link (m, n); and Qmn is a binary variable determining the idle 1 and active 0 states of link (m, n). Parameter Pn is a binary variable specifying the idle 1 and active 0 states of optical switching elements in node n, and Lmn is the length of link (m, n). It should be noted that the last term γLmn indicates that if all links and nodes 49

are active, the cost function values will be directly proportional to the length of link (m, n). The total cost function of P-EEM is calculated using Eq. 18 [53]. PCost(T ) = P Cip−o × N Uip(s) + P Cip−t × τ + P Cotp−o × N Uotp(s) + P Cotp−t × τ + k ∑ (P Cip−o × N Uip(dj ) + P Cip−t × τ + P Cotp−o × N Uotp(dj ) + P Cotp−t × τ )+ j=1



(18)

P Clinkmn ,

mn∈T

where P Cip−o and P Cotp−o are constant-offset power consumption of IP router and BVOTP, respectively. In addition, (P Cip−t and P Cotp−t ) are traffic-dependent power consumption of IP router and BV-OTP, respectively. The coefficient τ is the amount of processed traffic in Gb/s; and N Uip(k) and N Uotp(k) are binary variables indicating the active/idle 0/1 states of the IP router and BV-OTP components in node k, respectively [53]. Blocking Aware-EEM (BA-EEM): In BA-EEM, the bandwidth usage is considered in the path computation algorithm to reduce the BP. The path calculating in BA-EEM is similar to P-EEM. Then, spectrum availability of each of the calculated paths (CPs) is checked. Then, by using the modified auxiliary graph and considering the cost function calculated through Eq. 17, the next CP with the lowest energy consumption is obtained and its spectrum availability is checked. This procedure is continued until finding a light-tree with enough available spectrum to serve the demand R. If this algorithm could not find any suitable path with enough available spectrum, the light-tree will be eliminated from the list of candidate light-trees [53]. Performance evaluation in [53] shows that ILP-based EMM has better energy consumption than two other ones in small networks. However, its time complexity is more than P-EEM and BA-EEM. However, ILP-based EEM does not work in large networks. It is seen that P-EEM has the best energy consumption. However, BA-EEM considers both energy consumption and BP. 4.2.10 Multi Population Pattern Searching EON (MuPPetS-EON) Multi Population Pattern Searching EON (MuPPetS-EON) tries to alleviate the complexity of RSA-JAU according to MuPPetS concept. MuPPetS is a type of Genetic Algorithm (GA). The k-shortest path (KSP) is used as routing mechanism. Each demand has its weight and candidate path. MuPPetS considers the requests as genes and sorts them as their weights. Then, MuPPetS selects the path with low index FS based on its GA basic [54]. According to achieved results in [54], in most cases, MuPPetS-EON is less vulnerable to its parameter settings than other methods. However, in some cases, TS outperforms MuPPetS-EON.

50

5. The Comparison of RSA Algorithms In this section, the RSA and RMSA algorithms are compared separately. The algorithms are divided into two groups from traffic type of view point. Some algorithms support static traffic that means the initial situations are specified at first according to a given traffic demand matrix. The others support dynamic traffic that means the conditions are changed along the time. From basis viewpoint, the algorithms are divided into five groups that are subcarrier, FS, wavelength, slot block (SB) and spectrum block (SB), where each of them has some features explained in the following. According to the routing mechanism, the complexity of the RSA algorithms are different. In addition, there are different spectrum assignment mechanisms, where each of them has its own individual performance that differs from other types. Finally, the algorithms of each group are compared through their computational complexity. All of these aspects are expressed in the following briefly. Table 4 indicates the required variables to calculate the computational complexity of all algorithms. 5.1. The Comparison of RSA Algorithms This comparison of RSA algorithms is divided into two subsections. In the first, the performance of algorithms are compared according to their main objective(s). Second subsection represents the qualitative comparison of the algorithms, according to a specific parameter which these mechanisms consider. In the third subsection, the computational complexities of the algorithms are assessed. Performance comparison is completely a qualitative comparison, while computational comparison is a quantitative one. 5.1.1 Qualitative Performance Evaluation Table 5 displays a summary of RSA techniques along with routing mechanism, spectrum assignment, basis of each technique, and the traffic type that each algorithm can support. Moreover, Table 6 briefly shows the features of each algorithm. The efficiency of an algorithm depends on the granularity of its basis. As mentioned before, a slot has finer granularity than a subcarrier, and the subcarrier has finer granularity than a wavelength. The subcarrier-based algorithms have better complexity than the slot-based algorithms because the number of subcarriers is less than the number of slots. However, the slot-based algorithms have finer granularity than subcarrier-based ones because a subcarrier comprises many FSs. Hence, the number of subcarriers is less than FSs, but a subcarrier does not show details as well as FSs. The segment-based algorithms have better complexity than other algorithms because the complexity of slot-based algorithms and segment-based algorithms are based on the number of slots and segments, respectively. Since the number of segments is less than the number of slots, segment-based algorithms have better complexity than other algorithms. The combination of AR and MR can provide optimal solutions at high traffic load, and after that, the combination of AR and FF can result in optimal solutions. In addition, spectrum utilization of FR, RS and MR are low and high at heavy and light traffic loads, respectively. Hence, the signaling blocking rates of mentioned algorithms increase and decrease at light and heavy traffic, respectively. The Routing based-on Spectrum Segment is segment-based algorithm. In segment-based algorithms, the computational complexity depends on the segment amount, whereas in slot-based algorithms it depends on the slot numbers. Integers, 51

Table 4: [19]Required variables for RWSA formulation

Variables A C Cd D E E(d) F HM ax I K L M MM ax N NFSR Nd O P Pd PM ax Rd S SB SEG T T SPd T SPs W Wp Z α γ λ

Description Set of anycast requests Set of channels Set of candidate channels for demand d Number of demands Set of links Set of online links which are changed according to any incoming demand d Set of FSs Maximum number of parts that a demand can be split Number of multicast requests Number of candidate paths Set of link rates Set of Modulation format Maximum Modulation level Set of nodes Required number of FSs by a lightpath Number of destinations in manycast traffic Set of candidate solutions Set of paths Set of candidate paths for demand d Maximum number of path Bit rate of demand d Set of subcarriers Set of SBs Set of segments Maximum time unit Number of destination transponders Number of source transponders Set of wavelength slots Set of wavelength slots in each partition Average capacity of all service requests real positive number in the interval (0.5 , 1) Maximum data rate Number of consecutive wavelength slots

floating-point numbers, or double-precision numbers can be employed to represent spectrum segments. Therefore, the complexities of segment-based algorithms are lower than that of slot-based algorithms [42]. On the other hand, since the complexity of FF is less than MR, the total complexity of (AR + FF) in Routing based on Spectrum Segment is less than (AR + MR).

52

Table 5: Comparison of RSA techniques

Spectrum Routing Assignment mechanism (SA) mechanism Greedy-RWSA BFS Greedy-RWSA KPaths-RWSA KSP KPaths-RWSA KSP, SP-RWSA SP-RWSA (k = 1) AFA-CA SP AFA-CA SPSR SP MRSA BLSA KSP MRSA Bhandari’s link-disjoint SM-RSA SM-RSA path MI-RSA Dijkstra FF MI-PRSA-FF Dijkstra FF QPS Floyd-Warshal FF and R QPF Floyd-Warshal FF and R Routing based on spectrum FR, FAR, AR FF, RS, MR segment representation LFA KSP SP-FF AUR-ESS Dijkstra AUR-ESS MCAP HC-MCAP CA-SA PADR FF PSPADR FF Fixed Segmentation FS-SFPS SFPS (FS) Adaptive Segmentation AS-SFPS SFPS (AS) FLF FLF Algorithm

Basis

Traffic Type

Wavelength Wavelength Wavelength FS Subcarrier Subcarrier

Static Static Static Static Static Static

Subcarrier

Static

Subcarrier Subcarrier FS FS

Static Static Semi-Static Semi-Static

Spectrum Segment Dynamic FS FS FS SB SB

Dynamic Dynamic Dynamic Dynamic Dynamic

Spectrum Segment Dynamic Spectrum Segment Dynamic Wavelength Slot

Dynamic

Other types of subcarrier-based algorithms like SPSR, BLSA and SM-RSA are based on ILP formulation and their complexities could be similar. On the other hand, SPSR is usually compared with BLSA. In this view, SPSR cannot achieve load balancing in the network, but BLSA can do. Moreover, SPSR and BLSA use the shortest path routing and the longer path routing, respectively. Hence, the overall path overlapping in BLSA is more than SPSR. In addition, when the MI-RSA and the MI-PRSA-FF algorithms are compared with each other, since the MI-PRSA-FF constructs multiple pattern layers, MI-PRSA-FF can provide better blocking probability than MI-RSA. Since the slot-based algorithms have better granularity than the subcarrier-based algorithms, the efficiency of the slot-based algorithms is better than the subcarrier-based algorithms. The slot-based algorithm like AFA-CA is based on ILP formulation and its complexity is less than the LFA and AUR-ESS algorithms. On the other hand, the LFA tries to configure TSP, but AUR-ESS tries to configure an auxiliary-graph. Hence, the complexity of LFA is less than AUR-ESS. According to Table 5, MCAP is based on FSs. MCAP is compared with HC-MCAP+FF. The MCAP provides better load balancing than 53

HC-MCAP+FF. In addition, MCAP can achieve better backward blocking probability at light and heavy load traffic. This is because at light or heavy traffic load, the reservation sessions run concurrently. Hence, the probability of collision is increased. QPS and QPF are two FS-based algorithms which try to provide QoS. These algorithms try to separate HQ and LQ traffic and alleviate the BP of HQ one. Some algorithms in Table 5 are based on spectrum blocks (SBs) that are PADR and PSPADR. As mentioned in the definition of SB in Section 4, a SB comprises multiple contiguous subcarriers. Hence, the number of SBs is less than the number of subcarriers. As a result, the SB-based algorithms have better complexity than the subcarrier-based algorithms, but a SB does not involve details within a subcarrier. In addition, PADR and PSPADR are compared with each other. Since PSPADR uses shared resources among all traffic classes, it can obtain better blocking probability than PADR. Finally, RWSA based on the wavelength concept provides least efficiency than other types of RSA algorithms because the granularity of wavelength is more than slot, segment, and subcarrier. The concept of wavelength is more rigid than the spectrum concept. Among the RWSA algorithms, SP-RWSA has less complexity than KPaths-RWSA because SP-RWSA computes the fixed shortest path while KPaths-RWSA calculates k-shortest paths. The complexity of KPaths-RWSA is similar to Greedy-RWSA because both of them search kshortest paths. However, since the Greedy-RWSA is based on the greedy method, the results of Greedy-RWSA is less trusty than KPaths-RWSA. Since each demand in SP-RWSA is routed on a fixed shortest path, SP-RWSA cannot use the available spectrum optimally. Hence, KPaths-RWSA is more efficient than other types of RWSA algorithms. In addition, RWSA algorithms improve spectrum utilization, cost and energy consumption of OFDM networks compared with WDM networks. FLF is another algorithm of this group which divides the slots to partitions and find the partition with the lowest index. 5.1.2 Quantitative Performance Evaluation As mentioned in Table 6, RSA algorithms are divided into static and dynamic mechanisms. A number of static algorithms target to alleviate the BP, while others try to improve spectrum utilization. Besides, all dynamic algorithms target to reduce BP. Hence, there will be three groups: Static RSA reducing BP; static RSA improving spectrum utilization; and dynamic RSA alleviating BP. To compare existing algorithms in each group together, we define a specific Q-factor, separately (i.e., QSRSAB , QSRSAS and QDRSA for the first group, the second group and the third group, respectively). Since all of the studied algorithms in each group have the same simulation conditions (e.g., all of them have been simulated on NSFNET topology (see Fig. 16), or the traffic load is based on Erlang distribution), these factors can be calculated through Eqs. 19 to 21, respectively. QSRSAB =

BP Load × |N | × |L| × |S|

(19)

QSRSAS =

Spectrum U tilization Load × |N | × |L| × |S|

(20)

QDRSA =

BP Load × |N | × |L| × |S|

(21)

54

Table 6: Features of each RSA algorithm

Algorithm

Features 1-Improving spectrum utilization, RWSA cost and energy consumption of network Reducing the number of AFA-CA FSs of occupied frequency spectrum 1) Reducing the overall path overlapping SPSR 2) Without load balancing in the network 1) Increasing the overall path overlapping BLSA 2) Achieving load balancing in the network 1) Minimizing the utilized spectrum SM-RSA 2) Reserving more subcarriers than required MI Reducing flow blocking probability (FBP) QoS-based RSA Reducing blocking probability (BP) 1) Low spectrum utilization and high signaling blocking rate in light traffic Routing based on spectrum segment representation 2) High spectrum utilization and low signaling blocking rate in heavy traffic Improving average blocking bandwidth, average LFA transponder utilization and blocking probability AUR-ESS Improving blocking probability Fairness-aware dynamic Reducing blocking probability spectrum allocation Reducing spectrum fragmentation Dynamic RSA with and blocking probability Mixed Line Rates Reducing flow blocking probability and FLF minimizing used number of wavelength slots

State Static Static Static Static Static Static Semi-Static Dynamic

Dynamic Dynamic Dynamic Dynamic Dynamic

Here, |N |, |L| and |S| are the number of nodes, links and subcarriers, respectively. Parameter Load represents the traffic load in Erlang, where simulations have been performed based on this load. Moreover, BP and Spectrum Utilization show the blocking probability and spectrum utilization, respectively. We have used the measured values of both BP and spectrum utilization parameters, which have been shown in the corresponding diagrams of the related papers. Figure 11 shows the result of Q-factors. Figure 11a represents the comparison of static RSA algorithms which try to reduce BP. Lower value of QSRSAB under these algorithms involves their better performances. As seen in Fig. 11a, QPS has better performance than the other algorithms. Figure 11b indicates the spectrum utilization of static RSA algorithms. More value of QSRSAS denotes that the AFA-CA mechanism has better performance. After that, SM-RSA is the second appropriate algorithm. Finally, the comparison result of dynamic RSA algorithms has been shown in Fig. 11c. As seen in this figure, since MCAP has the lowest QDRSA , it is the best algorithm in this comparison. 5.1.3 The Comparison of Computational Complexity Table 7 shows the computational complexity of each studied RSA algorithm. The complexity of each mechanism has been calculated according to Table 7 for different values of each variable (see Figure 12). Since, the range of complexities is different, the results have 55

Comparison of Spectrum Utilization in Static RSA

BP Comparison of Static RSA 12

0.00012

10

0.0001

8

Q_SRSA

Q_SRSA

0.00014

0.00008 0.00006

6 4

0.00004

2

0.00002

0

0 MI-RSA

MI-RSA-FF

QPS

Greedy

QPF

(a)

Kpaths

SP-RSA

AFA-CA

SPSR

BLSA

SM-RSA

(b) BP Comparison of Dynamic RSA 6E-08

Q_DRSA

5E-08 4E-08 3E-08 2E-08 1E-08 0

(c) Figure 11: Performance Evaluation of RSA algorithms.

been divided into four categories. Algorithms in Fig. 12a have the highest complexity. Figure 12b, Fig. 12c and Fig. 12d show the next lower complexities, respectively. According to these figures, the complexities of BLSA and SPSR are so close together and these algorithms have the highest complexity. In addition, MI-PRSA has the lowest complexity. 5.2. The Comparison of RMSA Algorithms Similar to RSA algorithms, the RMSA algorithms are compared together in three ways: quality performance, quantitative performance and computational complexity. Each of these aspects are assessed in three separate sections as follows. 5.2.1 Qualitative Performance Evaluation Table 8 displays a summary of the RMSA techniques along with the routing mechanism, spectrum assignment, basis of each technique, and the traffic type that each algorithm can support. Table 9 briefly shows the features of each algorithm. As mentioned before, the subcarrier-based algorithms have better complexity than the slot-based algorithms. The (RML + SA) algorithm does not always lead to similar results as the joint RMLSA algorithm. However, the heuristic RMLSA algorithm always results in better performance than (RML + SA) and joint RMLSA algorithms in large networks. In fact, the (RML+SA) algorithm is proposed to reduce the computation complexity of the RMLSA algorithms, but RMLSA and (RML + SA) result in similar results. In addition, the RMLSA algorithms improve the spectrum utilization of OFDM-networks compared with 56

Table 7: Comparison of computational complexity of RSA Algorithms

Algorithm Greedy-RWSA KPaths-RWSA SP-RWSA AFA-CA SPSR BLSA SM-RSA MI-RSA MI-PRSA-FF QPS QPF Routing based on spectrum segment representation LFA AUR-ESS MCAP PADR PSPADR FS-SFPS AS-SFPS FLF

O O O O O O O O O O O

Computational Complexity (K(λ + 1)|E| + |N | + γ|L| + |D| log |D|) (|E| + |N | log |N | + K|W ||E| + K(|W | − λ)λ + γ|L| + |D| log |D|) (|E| + |N | log |N | + |W ||E| + (|W | − λ)λ + γ|L| + |D| log |D|) (|D||P ||F ||E|) (|N |2 + |S||E|(|D|2 + 1))) (|E| + |N | log |N | + K + |D||P | + |S||E|(|D|2 + 1)) (K|D|(|S||E| + log(K|D|))) (N 2 + |S||D|) (2|S|2 ) ((α|E| + (1 − α)|E|[(1 − α)|E| + F ])|D| + |N |3 ) ((α|E| + (1 − α)|E|[(1 − α)|E| + F ])|D| + |N |3 )

O (|N |2 |SEG|) O O O O O O O O

(K|N | log |N |) ((|F | − N F SR + 1)(|F ||E| + N 2 )) (|N |2 + |E|2 ) (|D||SB|) (|D||SB|) (K|E|log(K|E|)) (K|E|log(K|E|)) ((|W ||Wp | + |N |)|D|)

WDM networks. The IARSA, the other type of subcarrier-based algorithms, is based on ILP formulation such as RMLSA. The IARSA uses three algorithms based on the graph theory that support dynamic traffic, and the complexities of these three algorithms are more than RMLSA. As mentioned before, a channel comprises a set of adjacent FSs. Hence, a FS has a finer granularity than a channel, but the complexity of a channel is less than a FS. In addition, spectrum contiguity constraint is inherent in the channel. Hence, channel-based algorithms (such as RSA-DPP) have lower computational complexity than the FS-based algorithm (such as RSA-JAU). ILP-based EEM, P-EEM and BA-EEM are the other type of FS-based algorithms. ILP-one perform appropriately for small networks but is not proper for big ones. Hence, P-EEM and BA-EEM have presented. P-EEM trys to improve energy efficiency of network, while BA-EEM considers both energy efficiency and BP. The last FSbased algorithm is MuPPetS-EON. This mechanism is a type of GA and its mailn goal is to improve the spectrum usage. Since the slot-based algorithms have better granularity than the subcarrier-based algorithms, the efficiency of the slot-based algorithms is better than the subcarrier-based algorithms. SPRESSO is a sample of slot-based algorithm. However, the complexity of IARSA is more than SPRESSO. The m-fixed and m-adaptive are segment-based algorithms such as Routing based-on Spectrum Segment algorithm in RSA. Hence, their complexities are less than slot-based algorithms. In addition, the m-adaptive algorithm has better operation than m-fixed algorithm. Moreover, if m is fixed or adaptive, SPV and MSP have the lowest blocking probability

57

Complexity of RSA

Complexity of RSA 1400000

600000000

1200000

500000000

1000000

Complexity

Complexity

400000000 AFA-CA 300000000

SPSR BLSA

200000000

SM-RSA

800000

QPS QPF

600000

AUR-ESS FLF

400000

100000000

200000 0

0 1

2

3

4

5

6

7

8

9

10

1

2

3

4

5

Rounds

6

7

8

9

10

Rounds

(a)

(b) Complexity of RSA

Computational Complexity of RSA 500

30000

450

25000

400

Greedy RWSA

350

Kpath RWSA

300

SP RWSA 15000

MI-RSA Segment-based

10000

PADR PSADR

5000

Complexity

Complexity

20000

MI-PRSA 250

LFA

200

FS-SFPS

150

AS-SFPS

100

MCAP 50 0

0 1

2

3

4

5

6

7

8

9

1

10

2

3

4

5

6

7

8

9

10

Rounds

Rounds

(c)

(d)

Figure 12: Computational complexity of RSA algorithms.

at light traffic, whereas KSP has the highest blocking probability. While, at heavy traffic, KSP has the smallest blocking probability than SPV and MSP. Some algorithms in Table 8 are based on slot blocks (SBs) as joint RMSA, separate RMSA, heuristic RMSA, fragmentation-aware RMSA, alignment-aware RMSA and P-CF. Since a SB is a block of a few available contiguous subcarrier slots in the optical spectrum, the SB-based algorithms have lower complexity than the subcarrier-based algorithms, but a SB does not involve details within a subcarrier. The computational complexity of ILP algorithms (i.e., joint and separate RMSA algorithms) is more than the heuristic RMSA. However, the accuracy of joint and separate RMSA algorithms is better than the heuristic algorithm. According to Table 8, the fragmentation-aware RMSA, alignment-aware RMSA, P-CF algorithms are based on spectrum block (SB) that are compared with each other. The P-CF performs the best in reducing blocking probability compared with two other algorithms. This is because P-CF considers the fragmentation and misalignment factors, the shortest path, and load balanced routing. Hence, there is a trade-off between minimizing the fragmentation and minimizing the overall resource consumption. In addition, the alignment-aware RMSA achieves better blocking probability than the fragmentation-aware RMSA algorithm.

58

Table 8: Comparison of RMSA techniques

Spectrum Assignment Basis (SA) mechanism Joint RMLSA KSP ILP model Subcarrier ILP Spectrum Decomposed ILP model Subcarrier Assignment (SA) RMLSA Simulated Heuristic RMLSA KSP Subcarrier Annealing Joint RMSA Light tree ILP model SB Separate RMSA Light tree ILP model SB Genetic Algorithm Heuristic RMSA Random selection SB (GA) ILP-based link-path modeling ILP model FS RSA-JAU AFA-JAU link-path modeling AFA FS ILP-based link-path modeling ILP model Channel RSA-DPP TS-based link-path modeling TS Channel RSA-DPP RMSA/MS, ILP-Based RMSA Link-path modeling RMSA/C and FS Optimization RMSA/PC ARMSA Link-path modeling ILP model FS m-fixed and SPV, KSP, MSP ILP model Spectrum Segment m-adaptive SPRESSO KSP ILP model FS IARSA MSP LARA Subcarrier Fragmentation SP FF SB -aware RMSA Alignment SP FF SB -aware RMSA P-CF SP FF SB 1- Online Path Dynamic RMSA Computation FFSA, BFSA FS 2- Path-Set Updates Maximum total MTLT KSP SB link TSC Maximum heaviest MHLT KSP SB link TSC Maximum MPT KSP SB path TSC SPF, MPTG KSP FS MUB and LSS SSRSMLA KSP MILP model FS Greedy iterative H-SSRSMLA SP FS mechanism ILP-based EEM link path modeling ILP model FS P-EEM Dijkstra P-EEM FS BA-EEM Dijkstra BA-EEM FS MuPPetS-EON KSP MuPPetS FS Algorithm

Routing mechanism

Traffic Type Static Static Static Static Static StaticDynamic Static Static Static Static Static Static Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Static Dynamic Dynamic Dynamic

5.2.2 Quantitative Performance Evaluation The same comparison for RSA algorithms is applied for RMSA ones. To compare all of the existing algorithms together, a specific Q-factor is defined for each group of RMSA 59

Table 9: Features of each RMSA algorithm

Algorithm RMLSA RMSA RSA-JAU RSA-DPP RMSA-Optimization m-fixed and m-adaptive

Features Improving spectrum utilization of network 1) Reducing the request blocking probability 2) Optimizing the RMSA solution Minimizing spectrum slices Minimizing spectrum width Reducing maximum used spectrum, cost and power consumption 1) The lowest blocking probability of SPV and MSP and the most blocking probability of KSP in light traffic 2) The most blocking probability of SPV and MSP and the lowest blocking probability of KSP in heavy traffic Improving the gain of using spectrum The lowest blocking rate Reducing blocking probability

SPRESSO IARSA Dynamic RMSA Time-Spectrum Reducing spectrum fragmentation Consecutiveness (TSC) and blocking probability Reducing blocking probability MPTG and BVT usage RSMLA Minimizing blocking probability EEM-RSA Improving energy efficiency MuPPetS-EON Improving spectrum usage

State Static StaticDynamic Static Static Static Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Dynamic Static-Dynamic Dynamic

algorithms, separately (i.e., QSRM SAS , QDRM SAB and QDRM SAS for spectrum utilization of static RMSA, BP comparison of dynamic RSA and spectrum utilization of dynamic RSA, respectively). In addition, these factors are calculated through Eqs. 19 to 21, respectively. QSRM SA =

Spectrum U tilization Load × |N | × |L| × |S|

(22)

QDRM SAB =

BP Load × |N | × |L| × |S|

(23)

QDRM SAS =

Spectrum U tilization Load × |N | × |L| × |S|

(24)

Figure 13 shows the result of Q-factors. Figure 13a represents the comparison of static RMSA algorithms which try to improve spectrum utilization. More value of QSRM SA in these algorithms involve their better performances. As seen in Fig. 13a, TS-based DPP has better performance than the other algorithms. Figure 13b indicates the BP of dynamic RMSA algorithms. Lower value of QDRM SAB denotes that the MPTG mechanism has better performance. Finally, the comparison result of spectrum utilization related to dynamic RMSA algorithms has been shown in Fig. 13c. As seen in this figure, since MPT has the highest QDRSA , it is the best algorithm in this comparison. 5.2.3 The Comparison of Computational Complexity The studied RMSA algorithms are compared together based on their computational complexity. Since some of these algorithms are ILP-based and the ILP-based problems are NP-hard, we calculate the number of both variables and constraints of these algorithms to compare them. In addition, some algorithms are based on meta heuristic ones such as GA, 60

BP Comparison of Dynamic RMSA

Comparison of Spectrum Utilization in Static RMSA

0.000004

0.016 0.014 0.012 0.01 0.008 0.006 0.004 0.002 0

0.000003

Q_DRMSA

Q_SRMSA

0.0000035 0.0000025 0.000002 0.0000015 0.000001 0.0000005 0

(a)

(b)

Q_DRMSA

Comparison of Spectrum Utilization in Dynamic RMSA 0.000008 0.000007 0.000006 0.000005 0.000004 0.000003 0.000002 0.000001 0

(c) Figure 13: Performance Evaluation of RMSA algorithms.

SA, TS and MuPPetS and calculation of their computational complexity is so hard. Hence, we use their average time complexity which are obtained from related papers. Therefore, Table 10 and Table 11 indicate the computational complexity of non-ILP and ILP-based algorithms, respectively. Figure 14 indicates the comparison of categorized algorithms in Table 10. To show the results clearly, the results have been shown in three figures, where the complexity decreases from Fig. 14a to Fig. 14c. According to Fig. 14a, the complexities of MLTL, MHTL and MPT are similar together and these mechanisms have the highest complexity. On the other hand, Fig. 14c shows that the complexities of Fragmentation-Aware (FA) RMSA, Alignment-Aware (AA) RMSA and P-CF are almost equal, where they have the lowest complexity. Note that, since the situation of dynamic RMSA-online path depends on the incoming traffic and changes over the time, it is impossible to calculate its complexity. The number of both variables and constraints of mentioned algorithms in Table 11 have been calculated and the results have been shown in Fig. 15. To prevent the overlapping of diagrams, the results have been shown in two figures. Figure 15b and Fig. 15a contain the algorithms with the highest and lowest number of parameters, respectively. According to Fig. 15b, DPP has the highest number of both variables and constraints, and Joint RMSA has the second highest number of both variables and constraints. However, the number of variables in Separate RMSA is so close to Joint one but its constraints number is lower than Joint RSA. In addition, SPRESSO yields the lowest number of both variables and

61

Table 10: Comparison of computational complexity of non-ILP RMSA techniques

Algorithm AFA-JAU ARMSA m-adaptive m-fixed IARSA Fragmentation -aware RMSA Alignment -aware RMSA P-CF Dynamic RMSA -online path Dynamic RMSA -SetPath MTLT MHLT MPT Heuristic MPTG H-SSRSMLA P-EEM BA-EEM

O O O O O O

Complexity (|A||F ||E|) (|D||P ||E||M ||F |) (MM ax |N |2 K 3 ) (|N |2 K 3 ) (|M ||N |log|N | + |M ||S||E|) (|E| + |N | log |N | + K + |SEG||E||M |)

O (|E| + |N | log |N | + K + |SEG||E||M |) O (|E| + |N | log |N | + K + |SEG||E||M |) |D||E(d)| + |N | log |N | + K + |F ||E(d)||D| + |F ||E(d)||M ||D| |N |(log |N | + K) + (|F ||M | + 1)|E| + K O (K + |N |2 lg |N | + T 2 (|F | + |F |2 |E|T 2 )) O (K + |N |2 lg |N | + T 2 (|F | + |F |2 |E|T 2 )) O (K + |N |2 lg |N | + T 2 (|F | + |F |2 |E|T 2 )) O (K|N |3 (Z(|N | + |SB|) + K|N |)) (|E| + |N | log |N | + K) + 2|Pd |(|M | + 1) + (Rd + |O| + HM ax + T SPs + T SPd + |F |PM ax − 1)|O| O (|C||E| + |C|Nd |N |2 log |N |) O (2|F ||E||N | log(2|F |))

Table 11: Comparison of computational complexity of ILP-based RMSA techniques

Algorithm Number Number Number (RML + SA) Number Number Joint RMSA Number Separate RMSA Number Number Number ILP-based Number RSA-JAU Number ILP-based Number RSA-DPP ILP-based RMSA Number Number Number SPRESSO Number Number ILP-based Number MPTG Number SSRSMLA Number ILP-based EEM Number Number Joint RMLSA

of of of of of of of of of of of of of of of of of of of of of of

Variables Constraints Variables Constraints Variables Constraints Variables Constraints Variables Constraints Variables Constraints Variables Constraints Variables Constraints Variables Constraints Variables Constraints Variables Constraints

|N |4 + (K + 1)|N |2 2|N |4 + 2|N |2 |N |4 + (K + 1)|N |2 2|N |4 + 2|N |2 2I 2 + (|P ||D| + |E| + 3)I (|E| + 3)I 2 + (|P ||D||E| + |P ||D| + |D| + 4)I (|P ||D| + 1)I + (K + 1)|E| + 2 (|P ||D| + |D|)I + (2K + |P | + 2)|E| + |P | + 2 |D||P ||C|(1 + |F |) + |E||D||P | + |F |(|E| + 1) |D| + |F |(|E| + 1) + |A| 2|Pd ||Cd ||D| + 2|Pd ||E| + |E||F | |Pd ||Cd ||D| + (|E| + 1)|F | |C||M ||P ||D| + (|E| + 1)|F | (|E| + 2)|F | + (|A| + 1)|D| |P ||M ||C| |P ||M ||C| + |E||S| |N |4 + (K 2 + 1)|N |3 + (K + 2)|N |2 |N |4 + (K 2 + 1)4|N |3 + (K + 4)|N |2 |P |(|F |2 + 2|F | + |C| + 3) |3|D| + |E||F | + |Pd |(|C| + 2) + |P |(3|F | − 1) (2|E||F | + |N |)|D| + |N | + |E| (2|E||F | + 2|N ||F | + 2|N | + 2|F |)|D|

constraints.

62

Complexity of RMSA

Complexity of RMSA 1400000

2.5E+10

1200000 2E+10

Complexity

Complexity

1000000 1.5E+10

ARMSA MTLT MHLT

1E+10

AFA-JAU

800000

m-adaptive 600000

m-fixed P-EEM

MPT

400000

MPTG

BA-EEM

5E+09

200000 0

0 1

2

3

4

5

6

7

8

9

1

10

2

3

4

5

6

Round

Round

(a)

(b)

7

8

9

10

Complexity of RMSA 12000

10000

Complexity

8000 IARSA FA

6000

AA P-CF

4000

SetPath H-SSRSMLA

2000

0 1

2

3

4

5

6

7

8

9

10

Round

(c) Figure 14: Computational complexity of RMSA algorithms.

Complexity of ILP-based RMSA 4.5E+09

25000000

4E+09 3.5E+09

15000000

3E+09 10000000 5000000 Number of Variables 0

Number

Number

20000000

2.5E+09

Number of Variables

2E+09

Number of Constraints

1.5E+09

Number of Constraints

1E+09 500000000 0 Joint RMSA

DPP

Algorithms

Algorithms

(a)

(b)

Figure 15: Computational complexity of ILP-based RMSA algorithms.

To compare metaheuristic-based algorithms (i.e., Heuristic RMLSA, Heuristic RMSA, TS-based RSA-DPP), we use their time complexities which have been calculated in their corresponding papers. According to [35], [4] and [40], all the mentioned mechanisms have been evaluated in NSFNET topology which is shown in Fig. 16. Since there are different initial values in this simulations, we define a quality factor (Q) as Eq. 25.

63

Q

Time Complexity 1.4 1.2 1 0.8 0.6 0.4 0.2 0 Heuristic RMSA (GA)

Heuristic RMLSA (SA)

RSA-DPP

MuPPetS

Metaheuristic-based RMSA Algorithms

Figure 16: [54]The NSFNET topology.

Figure 17: Comparison of Time Complexity.

RTAvg , (25) ND where RTAvg is the average run time of algorithm and ND equals the number of incoming requests. Note that the algorithm with smaller Q has better performance. Figure 17 shows the calculated Q for each algorithm. According to this figure, RMSA has the best Q (near to zero), and after that, RSA-DPP and RMLSA have better performances, respectively. Q=

6. Future Works As expressed in this paper, RSA and RMSA play important roles in EON. However, there are many challenges in EON. One of the most important issues in EON is the security of network. All of the existing algorithms try to improve the important parameters such as BP or even utilizing the amount of used resources, but none of them considers security aspects of data transmission such as integrity, confidentiality, availability and so on. While, nowadays, hackers steal the important data such as banking or counting information through very simple methods such as tapping. There are many different solutions to beat this problem such as steganography, cryptography (symmetric and asymmetric), using SDH system and so on. However, none of them has been applied to EON. 7. Conclusion In this paper, we have studied and analyzed both categories of Routing and Spectrum Allocation (RSA) (i.e., RSA and RMSA algorithms), and separately compared the algorithms of each category. Totally, the main objective of both RSA and RMSA is to allocate resources to demands efficiently and flexibility. There are many issues in EON such as cost, BP, energy efficiency, efficient resource management, QoS provisioning and so on. Totally, the main objective of both RSA and RMSA is to allocate resources to demands efficiently and flexibility. All of these parameters are related together. Hence, some algorithms just consider one of these parameter and try to alleviate it. For example, P-EEM tries to reduce energy consumption, while BA-EEM improves both BP and energy efficiency. This review has tried to study all existing RSA and RMSA and compare them through their both efficiency in resource management and computational complexity. According to this viewpoint, different tables have been provided to show each algorithm property in the best and detailed way. As 64

a consequence of these comparisons, the algorithms have a close competition to achieve the best performance in resource assignment in EON with high flexibility and efficiency. 8. Biography Forough Shirin Abkenar received her B.Sc. degree in Information Technology from Azarbaijan Shahid Madani University, Azarshahr, Tabriz, Iran. She received her M.Sc. degree in Information Technology from Sahand University of Technology, Sahand New Town, Tabriz, Iran. She is interested in optical networks (especially Elastic Optical Networking (EON)), switching and routing in high speed networks. Akbar Ghaffarpour Rahbar is a Professor in Electrical Engineering department at Sahand University of Technology, Sahand New Town, Tabriz, Iran. Dr. Rahbar received his B.Sc. and M.Sc. degrees in computer hardware and computer architecture both from Iran University of Science and Technology, Tehran, Iran, in 1992 and 1995 respectively. He received his Ph.D. degree in computer science from University of Ottawa, Canada in 2006. He is the director of Computer Networks Research Lab at Sahand University. Dr. Rahbar is a senior member of the IEEE. He is currently on the editorial board of Wiley Transactions on Emerging Telecommunications Technologies Journal, International Journal of Advances in Optical Communication and Networks, and Journal of Convergence Information Technology. His main research interests are optical networks, optical packet switching, scheduling, PON, IPTV, VANET, network modelling, analysis and performance evaluation, the results of which can be found in over 110 technical papers (see http://ee.sut.ac.ir/showcvdetail.aspx?id=13).

References [1] M. Jinno, B. Kozicki, H. Takara, A. Watanabe, W. Imajuku, Y. Sone, T. Tanaka, and A. Hirano, ”Distance-Adaptive Spectrum Resource Allocation in Spectrum-Sliced Elastic Optical Path Network,” IEEE Communications Magazine, 48(8):138 – 145, August 2010. [2] O. Gerstel, M. Jinno, A. Lord, and S. J. Ben Yoo, ”Elastic Optical Networking: A New Dawn for the Optical Layer,” IEEE Communications Magazine, pages 512 – 520, February 2012. [3] G. Zhang, M. D. Leenheer, A. Morea, and B. Mukherjee, ”A Survey on OFDMBased Elastic Core Optical Networking,” IEEE Communications Surveys and Tutorials, 15(1):65 – 87, First Quarter 2013.

65

[4] L. Gong, X. Zhou, X. liu, W. Zhao, W. Lu, and Z. Zhu, ”Efficient Resource Allocation for All-Optical Multicasting Over Spectrum-Sliced Elastic Optical Networks,” IEEE Optical Communications and Networking, 5(8):836 – 847, August 2013. [5] I. Tomkos, E. Palkopoulou, and M. Angelou, ”A Survey of Recent Developments on Flexible/Elastic Optical Networking,” 14th International Conference on Transparent Optical Networks (ICTON), pages 1 – 6, July 2012. [6] B. C. Chatterjee, N. Sarma, and E. Oki, ”Routing and Spectrum Allocation in Elastic Optical Networks: A Tutorial,” IEEE Communications Surveys and Tutorials, May 2015. [7] S. Talebi, F. Alam, I. Katib, M. Khamis, R. Salama, , and G. N. Rouskas, ”Spectrum Management Techniques for Elastic Optical Networks: A Survey,” Optical Switching and Networking, 13:34 – 48, February 2014. [8] G. Zhang and M. D. Leenheer, ”A Survey on OFDM-Based Elastic Core Optical Networking,” IEEE Communications Surveys and Tutorials, Accepted for publication. [9] M. Jinno, H. Takara, B.Kozicki, Y. Tsukishima, Y. Sone, and Sh. Matsuoka, ”SpectrumEfficient and Scalable Elastic Optical Path Network: Architecture, Benefits, and Enabling Technologies,” IEEE Communications Magazine, 47(11):66 – 72, November 2009. [10] N. Maluf and K. Williams, ”An Introduction to Microelectromechanical Systems Engineering,” Artech House, secend edition, 2004. [11] H. Ren and S-T. Wu, ”Optical Switch Using a Deformable Liquid Droplet,” Optic Letters, 35(22):3826 – 3828, November 2010. [12] E. Palkopoulou, M. Angelou, D. Klonidis, K. Christodoulopoulos, A. Klekamp, F. Buchali, E. Varvarigos, and I. Tomkos, ”Quantifying Spectrum, Cost, and Energy Efficiency in Fixed-Grid and Flex-Grid Networks [Invited],” IEEE Optical Communications and Networking, 4(11):42 – 51, November 2012. [13] M. Jinno, H. Takara, and B. Kozicki, ”Consept and Enabling Technologies of SpectrumSliced Elastic Optical Path Network (SLICE),” Communications and Photonics Conference and Exhibition (ACP), pages 1 – 2, November 2009. [14] B. Kozicki, H. Takara, and M. Jinno, ”Enabling Technologies for Adaptive Resource Allocation in Elastic Optical Path Network (SLICE),” Communications and Photonics Conference and Exhibition (ACP), pages 23 – 24, December 2010. [15] B. Kozicki, H. Takara, Y. Tsukishima, T. Yoshimatsu, T. Kobayashi, K. Yonenaga, and M. Jinno, ”Optical Path Aggregation for 1-Tb/s Transmission in Spectrum-Sliced Elastic Optical Path Network,” IEEE Photonic Technology Letters, 22(17):1315 – 1317, September 2010.

66

[16] B. Kozicki, H. Takara, A. Watanabe, Y. Sone, T. Tanaka, A. Hirano, K. Yonenaga, and M. Jinno, ”Distance-Adaptive Spectrum Allocation in SLICE Considering Optical Filtering Effects,” 15th OptoElectronics and Communication Conference (OECC), pages 98 – 99, July 2010. [17] X. Wan, N. Hua, H. Zhang, and X. Zheng, ”Study on Dynamic Routing and Spectrum Assignment in Bitrate Flexible Optical Networks,” Photonic Network Communications, 24:219 – 227, May 2012. [18] L. Velasco, M. Klinkowski, M. Ruiz, and J. Comellas, ”Modeling the Routing and Spectrum Allocation Problem for Flexgrid Optical Networks,” Photonic Network Communications, 24:177 – 186, April 2012. [19] A. N. Patel, P. N. Ji, J. P. Jue, and T. Wang, ”Routing, Wavelength Assignment, and Spectrum Allocation Algorithms in Transparent Flexible Optical WDM Networks,” Journal of Optical Switching and Networking, 9:191 – 204, February 2012. [20] M. Klinkowski and K. Walkowiak, ”Routing and Spectrum Assignment in Spectrum Sliced Elastic Optical Path Network,” IEEE Communications Letters, 15(8):884 – 886, August 2011. [21] Y. Wang, X. Cao, and Y. Pan, ”A Study of the Routing and Spectrum Allocation in Spectrum-sliced Elastic Optical Path Networks,” Proceedings IEEE INFOCOM, pages 1503 – 1511, April 2011. [22] Y. Wang, X. Cao, Q. Hu, and Y. Pan, ”Towards Elastic and Fine-Granular Bandwidth Allocation in Spectrum-Sliced Optical Networks,” IEEE Optical Communications and Networking, 4(11):906 – 917, November 2012. [23] W. Lu, X. Zhou, L. Gong, M. Zhang, and Z. Zhu, ”Dynamic Multi-Path Service Provisioning under Differential Delay Constraint in Elastic Optical Networks,” IEEE Communications Letters, 17(1):158 – 161, January 2013. [24] A. Das, C. Martel, and B. Mukherjee, ”A Partial-Protection Approach Using Multipath Provisioning,” in Proc. ICC IEEE, pages 1 – 5, June 2009. [25] L. Ruan and N. Xiao, ”Survivable Multipath Routing and Spectrum Allocation in OFDM-Based Flexible Optical Networks,” IEEE Optical Communications and Networking, 5(3):172 – 182, March 2013. [26] R. Bhandari, ”Survivable Networks: Algorithms for Diverse Routing,” Kluwer Academic Publishers, 1999. [27] F. Yi, B. Guo, C. Xin, Y. He, , and Z. Li, ”Enhanced Minimum Interference Routing Algorithms for Elastic Optical Networks,” in Proc. OECC/PS, pages 1 – 2, June-July 2013.

67

[28] F. S. Abkenar, A. G. Rahbar, and A. Ebrahimzadeh, ”Providing Quality of Service (QoS) for Data Traffic in Elastic Optical Networks (EONs),” Arabian Journal of Science and Engineering, 41(3):797 – 806, March 2016. [29] A. Pages, J. Perello, and S. Spadaro, ”Lightpath Fragmentation for Efficient Spectrum Utilization in Dynamic Elastic Optical Networks,” 16th International Conference on Optical Network Design and Modeling (ONDM), pages 1 – 6, April 2012. [30] R. J. Durn, I. Rodrguez, N. Fernndez, I. de Miguel, N. Merayo, P. Fernndez, J. C. Aguado, T. Jimnez, R. M. Lorenzo, and E.J. Abril, ”Performance Comparison of Methods to Solve the Routing and Spectrum Allocation Problem,” 14th International Conference on Transparent Optical Networks (ICTON), pages 1 – 4, July 2012. [31] B. Guo, J. Li, Y. Wang, S. Huang, Z. Chen, and Y. He, ”Collision-Aware Routing and Spectrum Assignment in GMPLS-Enabled Flexible-Bandwidth Optical Network,” IEEE Optical Communications and Networking, 5(6):658 – 666, June 2013. [32] S. Ma, Y. Wang, B. Guo, X. Chen, J. Li, Z. Chen, and Y. He, ”A Fairness-Aware Dynamic Spectrum Allocation Scheme in Elastic Optical Networks,” in Proc. OECC/PS, pages 1 – 2, Jun-July 2013. [33] X. Wang, K. Kuang, S. Wang, S. Xu, H. Liu, and G. N. Liu, ”Dynamic Routing and Spectrum Allocation in Elastic Optical Networks With Mixed Line Rates,” IEEE Optical Communications and Networking, 6(12):1115 – 1127, December 2014. [34] W. Fadini, B. C., and E. Oki, ”A Subcarrier-Slot Partition Scheme with First-Last Fit Spectrum Allocation for Elastic Optical Networks,” Journal of Computer Networks, 91:700 – 711, November 2015. [35] K. Christodoulopoulos, I. Tomkos, and E. A. Varvarigos, ”Elastic Bandwidth Allocation in Flexible OFDM-Based Optical Networks,” Journal of Lightwave Technology, 29(9):1354 – 1366, May 2011. [36] K. Christodoulopoulos, I. Tomkos, and E. A. Varvarigos, ”Routing and Spectrum Allocation in OFDM-based Optical Networks with Elastic Bandwidth Allocation,” Global Telecommunications Conference (GLOBECOM), pages 1 – 6, December 2010. [37] J. Koza, ”Genetic Programming: On the Programming of Computers by Means of Natural Selection,” Cambridge, Mass.: MIT, 1992. [38] K. Walkowiak and M. Klinkowski, ”Joint Anycast and UnicastRouting for Elastic OpticalNetworks: Modeling and Optimization,” IEEE International Conference on Communications (ICC), pages 3909 – 3914, June 2013. [39] M. Pioro and D. Medhi, ”Routing, flow and capacity design in communication andcomputernetworks,” Morgan Kaufmann, 2004.

68

[40] K. Walkowiaka, M. Klinkowskib, B. Rabiegaa, and R. Goscien, ”Routing and spectrum allocation algorithms for elastic optical networks with dedicated path protection,” IEEE Communications Surveys and Tutorials, 13:63 – 75, February 2014. [41] R. Goscien, K. Walkowiak, and M. Klinkowski, ”Distance-Adaptive Transmission in Cloud-Ready Elastic Optical Networks,” IEEE Optical Communications and Networking, 6(10):816 – 828, October 2014. [42] X. Wan, N. Hua, and X. Zheng, ”Dynamic Routing and Spectrum Assignment in Spectrum-Flexible Transparent Optical Networks,” IEEE Optical Communications and Networking, 4(8):603 – 613, August 2012. [43] A. Castro, L. Velasco, M. Ruiz, M. Klinkowski, J. P. Fernndez-Palacios, and D. Careglio, ”Dynamic Routing and Spectrum (Re)allocation in Future Flexgrid Optical Networks,” Journal of Computer Networks, 56:2869 – 2883, May 2012. [44] S. Yang and F. Kuipers, ”Impairment-Aware Routing in Translucent Spectrum-Sliced Elastic Optical Path Networks,” 17th European Conference on Networks and Optical Communication (NOC), pages 1 – 6, June 2012. [45] Y. Yin, M. Zhang, Z. Zhu, and S. J. B. Yoo ”Fragmentation-Aware Routing, Modulation and Spectrum Assignment Algorithms in Elastic Optical Networks,” in Proc. OFC/NFOEC, pages 1 – 3, March 2013. [46] L. Zhang, W. Lu, X. Zhou, and Z. Zhu, ”Dynamic RMSA in Spectrum-Sliced Elastic Optical Networks for High-Throughput Service Provisioning,” Proc. ICNC, pages 380 – 384, 2013. [47] A. Bocoi, M. Schuster, F. Rambach, M. Kiese, C. Bunge, and B. Spinnler, ”ReachDependent Capacity in Optical Networks Enabled by OFDM,” Proc. OFC/NFOEC, pages 1 – 3, March 2009. [48] H. Chen, Y. Zhao, J. Zhang, R. He, W. Wang, J. Wu, Y. Wang, Y. Ji, H. Zheng, Y. Lin, and B. Hou, ”Time-Spectrum Consecutiveness Based Scheduling With Advanced Reservation Elastic Optical Networks,” IEEE Communication Letters, 19(1):70 – 73, January 2015. [49] G. Zhang, M. D. Leenheer, and B. Mukherjee, ”Optical Traffic Grooming in OFDMBased Elastic Optical Networks [Invited],” IEEE Optical Communications and Networking, 4(11):B17 – B25, November 2012. [50] Y. Zhang, X. Zheng, O. Li, N. Hua, Y. Li, and H. Zhang, ”Traffic Grooming in Spectrum Elastic Optical Path Networks,” Optical Fiber Communication Conference and Exposition (OFC/NFOEC), and the National Fiber Optic Engineers Conference, pages 1 – 3, March 2011. [51] Z. Fan, Y. Qiu, and C. K. Chan, ”Dynamic Multipath Routing With Traffic Grooming in OFDM-Based Elastic Optical Path Networks,” Journal of Lightwave Technology, 33(1):275 – 281, January 2015. 69

[52] A. Pags, J. Perell, S. Spadaro, and J. Comellas, ”Optimal Route, Spectrum, and Modulation Level Assignment in Split-Spectrum-Enabled Dynamic Elastic Optical Networks,” IEEE Optical Communications and Networking, 6(2):114 – 126, February 2014. [53] A. Fallahpour, H. Beyranvand, and J. A. Salehi, ”Energy-Efficient Manycast Routing and Spectrum Assignment in Elastic Optical Networks for Cloud Computing Environment,” Journal of Lightwave Technology, 33(19):4008 – 4018, October 2015. [54] M. Przewozniczek, R. Goscien, K. Walkowiak, and M. Klinkowski, ”Towards solving practical problems of large solution space using a novel pattern searching hybrid evolutionary algorithm-An elastic optical network optimization case study,” Journal of Expert Systems with Applications, 42:7781 – 7796, June 2015.

70