1 Introduction

Wavelength division multiplexing (WDM) optical networks are responsible for attending client demands based on a decision of determining a route and, if there are no electronic regenerators along the lightpath, a specific wavelength in all links. Although different transmission bit rates may be carried by each wavelength, these networks do not use the frequency spectrum efficiently, as the frequency bandwidth is the same for all lightpaths established by the control plane. Elastic optical networks are much more flexible, presenting an efficient alternative to use the frequency spectrum to establish call requests in a scenario with different transmission bit rates and modulation schemes. For these networks, it is defined a minimum frequency bandwidth, or spectrum slice (frequency slot), and, depending on the modulation scheme and transmission bit rate, the bandwidth necessary to attend a specific call request might be different from the bandwidth required in WDM optical networks [8].

Considering that the optical signal suffers quality degradation when it propagates along network lightpaths, electronic regenerators are necessary to increase the optical reach for a given lightpath. Optical networks can be classified by the presence of these electronic devices as transparent, translucent and opaque [17]. The first refers to optical networks where there are no electronic regenerator resources available. The second refers to optical networks where some nodes have the capacity to convert an optical signal to electronic domain, re-amplifying, reshaping, re-timing and converting the electrical signal back to the optical domain. The third has all network nodes with plenty electronic regenerators.

Some metrics are used to analyze different WDM and elastic optical network scenarios, such as blocking probability of call requests, capital expenditure (CapEx), operational expenditure (OpEx) and energy consumption. Due to the variety of optical devices, node architectures and physical topologies, it is difficult to implement optical network prototypes to investigate different scenarios and analyze several network parameters. For this type of research, it is necessary to model the optical networks in a computational environment to investigate different simulation scenarios. There are a few simulation tools for WDM optical networks [6, 14], but to our knowledge, there is no available open-source simulation tool specifically designed for elastic optical networks in the literature. There are few simulation tools with which results for elastic optical networks were obtained, but their source code is unavailable [1, 2, 13, 18]. Only one simulation tool has an open-source code available on the internet (Net2Plan) [15]. Net2Plan is extensively used for WDM optical networks and there are only two publications in specific scenarios of elastic optical networks [12, 15, 16]. Simulation tools do not require such major investments as needed to build testbeds for physical experimentation. They also provide portability as they allow running simulations with few limitations in their parameters, and have the possibility of recreating scenarios for results validation.

This article is organized as follows: In Sect. 2, the state of the art of simulation tools used for elastic optical networks is presented. In Sect. 3, the characteristics of our proposed simulator are described, such as call admission process, physical devices, traffic generation and performance metrics. In Sect. 4, we describe the implementation of our simulation tool, involving routing, spectrum assignment, regenerator placement and regenerator assignment algorithms. In Sect. 5, some simulation examples are presented and, in Sect. 6, we present our conclusions.

2 State of the art of simulation tools for elastic optical networks

To our knowledge, there is no available open-source simulation tool specifically built in the context of elastic optical networks. In addition, the majority of the simulators presented in the literature have been designed to treat a specific problem in elastic optical networks, while our simulator provides a framework to treat a much wider range of problems, e.g., routing, spectrum assignment, multi-objective optimization problems, physical impairments analysis, regenerator placement and regenerator assignment, while being flexible and extensible to incorporate the capabilities of other simulators driven by specific goals.

There are few simulation tools for elastic optical networks described in the literature [1, 2, 13, 18]. Asensio et al. [2] proposed a tool that has been developed under OMNeT++, a framework for building network simulators. Besides solving the routing and spectrum assignment (RSA) problem, it is able to perform elastic operations to increase or decrease the amount of spectrum allocated to a given lightpath. Santos et al. [18] proposed an educational network planning tool (SimRSA) that includes two heuristic algorithms to solve the RSA problem considering static traffic. SimRSA is implemented in Java and a graphical interface is provided to plot the results. Aibin et al. [1] proposed a test environment (CEONS) that solves three main issues: RSA considering static traffic, routing, modulation scheme and spectrum assignment (RMSA) and regenerator placement (RP) considering dynamic traffic. CEONS is written in Java programming language and the used physical model estimates the transmission reach of an optical signal as a function of the selected modulation scheme and transmission bit rate. Kretsis et al. [13] proposed a tool (Mantis) to network planning and operation purposes. It is written in C++ programming language and an impairment-aware RSA algorithm is implemented.

Net2Plan [15] is an open-source network simulation tool proposed for WDM networks. It is developed in Java programming language and it is devoted to the planning, optimization and evaluation of communication networks. It is extensively used for WDM optical networks, but recent extensions in two publications  [12, 15, 16] allowed it to analyze aspects in the context of elastic optical networks. The first evaluates internal blocking in non-contentionless flex-grid routing optical add and drop multiplexers (ROADM) [12] and the second analyzes fairness aspects in distance-adaptive online RSA algorithms [16]. The physical impairments modeling used by Net2Plan estimates the maximum reach of an optical signal only based on its modulation scheme, regardless of transmission bit rate. This concept is valid for WDM optical networks since that the optical signal bandwidth is fixed [8]. However, in the context of elastic optical networks, there is also a dependence of the maximum reach with the transmission bit rate, since the optical bandwidth is variable [8, 9].

Table 1 summarizes these simulation tools and brings a comparison to our simulation tool called Simulator for elastic optical networks (SimEON). SimEON considers dynamic traffic, amplified spontaneous emission (ASE), noise generated by erbium-doped fiber amplifiers (EDFA), filter concatenation, cross talk in band, both generated by spectrum switch selective (SSS) devices, as physical impairments, CapEx, OpEx, energy consumption modeling defined by network designer and blocking probability of call requests as network performance metrics, besides RSA, RMSA, multi-objective optimization, regenerator placement and regenerator assignment algorithms applied in the context of elastic optical networks. SimEON is still capable of running simulations by using parallel processing.

Table 1 State of the art of simulation tools applied to elastic optical networks

3 Simulator for elastic optical networks

SimEON considers as physical impairments the ASE noise generated by optical amplifiers, filter concatenation, cross talk in band, both generated by SSS devices, besides losses in the optical fiber, splitters and switching devices. It is able to simulate both transparent, translucent and opaque network scenarios.

It was developed under principles of software engineering, i.e., future expansions of the simulator in order to cover novel technologies are likely to occur smoothly. The majority of the network elements are encapsulated as objects, from the low-level elements such as a frequency slot or an optical amplifier, up to higher abstractions such as the RMSA algorithms.

Interfaces are used to create abstractions such as devices, routing and spectrum assignment algorithms, and regenerator placement and assignment algorithms. The contract established by those interfaces provides a direct way of extending the current possibilities of our simulator, e.g., the addition of a new routing algorithm is done by inheritance of the corresponding interface and implementation of corresponding virtual methods.

SimEON stands out for being freely available, developed under the GNU Lesser General Public License (LGPL) [11]. It enables academical and industrial purposes to validate their results and to contribute to the worldwide research of elastic optical networks, as well as to use it as a simulation tool, extending it to their own purposes.

Fig. 1
figure 1

Node architectures considered on SimEON [4]. a Broadcast-and-select, b spectrum switching

3.1 Call admission process

A call request is composed of source–destination nodes, in addition to a respective transmission bit rate. Call requests are generated until reach a predetermined number of call requests or a maximum number of blocked calls. The call generator object chooses the source–destination nodes and the transmission bit rate by a distribution function defined by the user. By default, they are uniformly chosen. Given a call request, the RMSA algorithm is called to find a route and a set of available slots to accommodate the call request.

In transparent optical networks, the route must be comprised of a single transparent segment, and the slots used in this segment must be contiguous and simultaneously available in all the links belonging to the route. In such case, the chosen modulation scheme is the one with the highest spectral efficiency that is capable of resisting to the accumulated physical impairments along the route [3]. In translucent and opaque optical networks, the route can be subdivided into a set of transparent segments [17].

3.2 Physical devices

The physical devices considered by SimEON include optical fibers, optical amplifiers, electronic regenerators, splitters and switching elements. Each device can have an inherent gain (or loss), a generated noise power and an optical filter shape. These aspects still can be defined by the network designer.

The two node architectures considered on SimEON are broadcast-and-select (BS) and spectrum switching (SS), as in [4]. As shown in Fig. 1, the single difference between the broadcast-and-select and the spectrum switching architectures is that in the former a splitter is used on the nodes entrance, whereas in the latter this splitter is replaced by an SSS device [4].

Besides the EDFAs in the optical fiber entrance and exit, there are non-depicted amplifiers spaced through the fiber, referred to as in-line amplifiers. The distribution of such amplifiers through the fiber affects the network’s performance [3]; thus, this is a physical layer parameter requested by the simulator.

Physical impairments are considered accordingly to the analytic modeling developed by Cavalcante et al. [3] by considering the gains and losses along the entire lightpath. The ASE noise \(N\) generated by an optical amplifier can be calculated as

$$\begin{aligned} N = F h \nu B_{\text {Ref}} (G - 1), \end{aligned}$$
(1)

in which \(F\) is the amplifier noise factor generated by the EDFA amplifier, \(h\) is Planck’s constant, \(\nu \) is the central frequency, \(B_{\text {Ref}}\) is a reference bandwidth to calculated this noise and \(G\) is the linear gain of the amplifier. We consider that all the amplifiers have the same noise factor and are uniformly spaced through the fiber, so that the number of line amplifiers \(n_{\text {amp}}\) can be evaluated as

$$\begin{aligned} n_{\text {amp}} = \left\lceil \frac{d}{d_{\text {amp}}} - 1 \right\rceil , \end{aligned}$$
(2)

where \(\lceil u \rceil \) is the smallest integer not less than u \(d\) is the length of the link and \(d_{\text {amp}}\) is the average span length.

Given the noise generated by each amplifier, the OSNR might be evaluated on each node of the route by cascading the gains, losses and noises generated by each optical device on the lightpath. The call request can only be established if the OSNR value at the last node is above a quality threshold [9]. Call requests with higher transmission bit rates and modulation schemes with higher spectral efficiency require greater OSNR values [9].

Fig. 2
figure 2

Optical devices implemented on SimEON

3.3 Traffic generation

The call requests are generated and released dynamically, which is known as dynamic traffic. By default, the call requests generation process follows a Poisson process, which implies that the interval between call requests follows an exponential distribution with parameter \(\mu \). The duration of the calls is also governed by an exponential distribution, this one with parameter \(H^{-1}\), which is the inverse of the average connection holding time. The network load (L) is defined as \(L = \mu H\), measured in erlangs.

Another approach to deal with traffic simulation is using static traffic, where the connections are known in advance and they do not have an ending time. This analysis does not worry with a blocking probability, but rather with a network that works for the longest possible time with no blocking at all. Upgrading SimEON with static and incremental traffic are being considered for newer versions of the simulator; as such, traffic models are more realistic than dynamic traffic.

Fig. 3
figure 3

RMSA sequence diagram

3.4 Performance analysis

The principal metric used to evaluate the network’s performance is the blocking probability of call requests. A call request can be blocked due to the lack of network resources (spectrum or available regenerators) or the lack of quality of transmission. Thus, a higher blocking probability means fewer users could use the network resources [3]. Besides the network performance, other metrics might be considered in terms of network planning or update, such as capital expenditure, operational expenditure and energy consumption [10].

For each optical device present in a specific optical network topology, it is possible to define the following aspects: gain (or loss), noise and filter shape, according to any analytical modeling defined by the network designer.

4 Simulator implementation

SimEON is implemented in C++. It was implemented under principles of software engineering, i.e., a structured design method was used, the software being refined methodically, with increasingly detailed levels. Extensive details about the simulator’s structure are available at its website.Footnote 1

The simulator uses features from the most recent C++ standards, benefiting from its well-developed libraries. The simulator also uses widely used C++ Libraries such as Boost, peer-reviewed libraries with a broad spectrum of applications and Armadillo, a linear algebra library.

Since its original development, SimEON has been made thread-friendly. Its simulations can run in parallel, a feature that is implemented by using the Open Multi-Processing(OpenMP) library, which means that it can handle complex and long simulations without taking a prohibitively long time.

In order to allow the extensibility of the simulator, its structure uses abstract classes to provide a template for new extensions. Such structure is shown in Fig. 2. For example, one of the abstract classes is Device, which provides a template that is implemented by classes such as Fiber Segment, Amplifier, SSS and Splitter. Each Device must provide the signal gain (or loss) after being crossed by the optical signal and its generated noise power.

Another example of SimEON’s extensible structure is that both Amplifier and EDFA classes are abstract, as shown in Fig. 2. By doing so, the implementation of another type of optical amplifier, e.g., Raman, could be made by simply inheriting from the Amplifier class and defining the noise generated by such amplifiers. Optical devices are the most basic structure on SimEON. Links and nodes can be represented as a sequence of optical devices. More details about SimEON’s infrastructure can be found in its documentation,Footnote 2 as more abstract classes are implemented to each of the core algorithms, e.g., routing, spectrum assignment, regenerator placement and regenerator assignment.

Figure 3 shows a sequence diagram of the RMSA module of the simulator. Given a call request, the routing algorithm is called to find a vector of links over which it will be established. Then, if the network is translucent, the regenerator assignment algorithm must subdivide those links into transparent segments. The spectrum assignment algorithm chooses a modulation scheme and a set of contiguous slots in each segment to attend the call request. If the network is transparent, then there is a single transparent segment spanning the whole vector of links, and the spectrum assignment algorithm is directly called. At last, a route object is created, containing a vector of links, a vector of the slots used in each link and a vector with the regenerators used in each node.

A call request is blocked when there is no route between the source and the destination nodes, the spectrum assignment algorithm can not find the set of contiguous slots, or there is not enough quality of transmission, in terms of OSNR, to create a transparent segment.

4.1 Routing algorithms

The routing algorithms currently implemented on the simulator are based on Dijkstra’s minimum cost algorithm. They differ by the cost assigned to each link.

Fixed routing algorithms, such as Minimum Hops (MH) and Shortest Path (SP), choose the route between any two nodes based only on the topology, and this route does not change. MH algorithm assigns a unitary cost to each link, so it finds the route that traverses the minimum number of nodes, while SP algorithm assigns to each link a cost corresponding to its physical length, so it finds the route that minimizes its total physical length.

On the other way, adaptive routing algorithms use link costs depending on run-time parameters. Thus, with an adaptive routing algorithm, it is possible to implement an algorithm that balances the load between the links, which effectively gives a lower cost to lighter-loaded links. Examples of those algorithms are Length and Occupation Routing (LOR) [3] and Power Series Routing (PSR) [3].

4.2 Spectrum assignment algorithms

The spectrum assignment algorithm is responsible to, given a transparent segment, choose a modulation scheme and a set of contiguous slots that are simultaneously available in all the links of the segment. Each slot in the chosen set is marked as occupied, and they are only marked as available when the call is released. Currently, the spectrum assignment algorithms implemented on SimEON are First Fit, Exact Fit, Random Fit, Most Used and Least Used.

First Fit algorithm indexes the spectrum slots, and always attempt to choose a set of contiguous available slots large enough to accommodate the call request and with the lowest possible indexes. It is considered one of the best spectrum assignment policies, due to its low resulting blocking probability of call requests and computational complexity [4]. Exact Fit [4] algorithm tries to find an available set of slots whose size is exactly the number of slots required by the call request. If such set of slots does not exist, then it calls the First Fit algorithm. Another spectrum assignment algorithm is Random Fit [4] that creates a list of possible sets of contiguous available slots capable of accommodating the call request and chooses one randomly. Most Used algorithm tries to implement the call request on a set of slots that are used the most on the whole network, while Least Used tries to use slots that are used the least on the whole network [4].

4.3 Regenerator placement algorithms

In translucent optical networks, regenerator placement (RP) algorithms are planning phase procedures responsible for deciding in an offline manner which nodes will have regeneration resources, and how many electronic regenerators will be installed in each translucent node. This decision occurs before the network starts functioning. The optimal solution to the regenerator placement problem is computationally intractable even in small topologies, and meta-heuristics must be applied to find a near-optimal solution in a feasible time [5].

The most widely used approach to the RP problem is the NX-Policy [5], in which N nodes have regeneration resources, and each of them is equipped with X electronic regenerators. Examples of RP algorithms available on the simulator based on the NX-Policy are: Nodal Degree First (NDF) [19], based only on topology information, Most Used (MU) [5] and Signal Quality Prediction (SQP) [19], all based on the results of an offline opaque network simulation.

SimEON also has RP algorithms not based on the NX-Policy. One of such algorithms is the Most Simultaneously Used (MSU) [5], whose single input is the total number of electronic regenerators that will be distributed over the network. It is possible to fairly compare the performances of NX and non-NX policies RP algorithms by setting on the latter the total number of regenerators to the product \(N \cdot X\) [5]. The multi-objective optimization for regenerator placement (MORP) [5] is a non-NX-Policy RP algorithm that uses Non-dominated Sorting Genetic Algorithm II (NSGA-II) to find a set of possible regenerator distributions that satisfies constraints on the network’s performance, such as CapEx, OpEx costs and blocking probability of call requests.

4.4 Regenerator assignment algorithms

In translucent optical networks, regenerator assignment (RA) algorithms are responsible to, given which nodes have regeneration resources, decide whether or not to use them. The RA algorithm supposes that the RP algorithm has already been executed because the decision of using regenerators or not in a node can only be made if with information about the existence of regenerators on such node. Such decision has an impact on the network performance in terms of the blocking probability of call requests, OpEx cost and energy consumption. Currently, there are two RA algorithms implemented on the simulator: First Longest Reach (FLR) and First Narrowest Spectrum (FNS) [7].

FLR tries to minimize the number of electronic regenerators used by subdividing the route in the lowest possible number of transparent segments. It implies that modulation schemes with lower spectral efficiency are preferred since it can reach longer distances on the lightpath without using regeneration capability. FNS tries to optimize spectrum resources by using modulation schemes with the highest possible spectral efficiency.

5 Simulation examples

SimEON is capable of simulating several different scenarios explored in articles published by the Radiometry Research Group,Footnote 3 as well as providing a simple and well-structured framework for the development of new heuristics and research in elastic optical networks.

In our case study, we consider the well-known 14-node, 42-link, NSFNET network in a dynamic traffic scenario. The simulation parameters used in our simulations are the following: the modulation schemes are 4, 16 and 64-QAM; the transmission bit rates are 10, 40, 100, 160 and 400 Gbps; the central frequency is 193.4 THz; the reference bandwidth is 12.5 GHz; the slot bandwidth is 12.5 GHz; the noise figure of the EDFAs is 5 dB; the input OSNR is 30 dB; the input optical power is 0 dBm. There are 64 slots per link, and all nodes have SS node architecture.

Focusing on the planning phase, SimEON is capable of analyzing the transparency of a network, as delineated in [3]. Given the network’s diameter (i.e., the longest of the shortest routes between all origins and destinations, in terms of physical distance), the network is said to have transparency if there is enough quality of transmission to establish a call request with any possible transmission bit rate over the diameter. As the QoT depends on parameters of the planning phase, e.g., the OSNR of the optical transmitter and the span length, this analysis can be used to find the required quantity of in-line amplifiers to implement the network. According to Cavalcante et al. [3], the absence of transparency has great effect on the network performance in terms of blocking probability of call requests. Figure 4 shows the pairs of input signal-to-noise ratio and in-line amplifiers distance (span length) where the network has transparency (solid squares). This analysis is relevant to design and to evaluate the impact of different performance metrics in the context of translucent elastic optical networks, for example.

Fig. 4
figure 4

Network transparency as a function of the input signal-to-noise ratio and of the distance between in-line amplifiers

Fig. 5
figure 5

Blocking probability of call requests as a function of network load, considering different routing algorithms (MH, SP, LOR and PSR) and 70 km as span length

The network performance, in terms of blocking probability of call requests, can be evaluated by varying the network load. For example, Fig. 5 shows the blocking probability of call requests as a function of the network load for a transparent network scenario considering 70 km as span length and 30 dB as input OSNR. Different routing algorithms (MH, SP, LOR and PSR) are considered, whereas First Fit is used as the spectrum assignment algorithm.

In a translucent optical network scenario, SimEON can analyze the effect of deploying more electronic regenerators over the network performance in terms of blocking probability of call requests. It is verified that there is a floor, considering this metric, and there is no gain on the blocking probability of call requests after deploying more regenerators than a certain quantity, as seen in Chaves et al. [7].

Our simulator is also capable of running more specific simulations. It is capable of running the particle swarm optimization (PSO) algorithm to find a set of PSR coefficients that minimizes the blocking probability of call requests. It can also run the NSGA-II algorithm to find solutions of the RP problem (i.e., distributions of electronic regenerators over the network) that satisfy constraints on the network performance.

6 Conclusions

This paper presented our open-source simulation tool named simulator for elastic optical networks (SimEON), designed to simulate transparent, translucent and opaque elastic optical networks. The physical layer is composed, in its most basic structure, of a set of optical devices that can be configured by the user. SimEON can be used to design routing, spectrum assignment, regenerator placement and regenerator assignment algorithms, and to investigate the effects of several network parameters over the network performance. It is a versatile tool, capable of simulating different setup configurations, and it is engineered modularly, which simplifies the process of extending its capabilities. Future extensions of the simulator will include CapEx, OpEx and energy consumption modelings.

SimEON stands out for being highly flexible, open-source and available. The openness of its code enables the validation of our results, as well as to use the simulator as a worldwide research tool to academical and industrial purposes. It also means that the simulator might be adapted by the user to simulate other network scenarios, i.e., WDM networks. The openness also means that incipient research does not need to start from scratch, possibly using SimEON as its basis.