Skip to main content
Heliyon logoLink to Heliyon
. 2022 Dec 20;9(1):e12407. doi: 10.1016/j.heliyon.2022.e12407

Dynamic weight routing and optical-code algorithm based on SDN

Longfei Li 1,, Kun Li 1, Xingyu Meng 1, Yubao Wang 1, Xudong Wang 1
PMCID: PMC9871067  PMID: 36704280

Abstract

Optical transport networks are evolving towards multi-granularity switching and software management but require that the architecture of the existing control plane be adapted to multi-service and network management requirements. So a dynamic weighting algorithm based on optical code resources and the matching degree between service request and channel is proposed for a multi-granularity optical switching system. In which, Software Defined Networking (SDN) controller collects network resource information in real time, dynamically changes the weight of each path and use it for path calculation, provides a more matched path on the premise of load balancing, and combines its channel matching weights for resource allocation. The simulation results show that the multi-granularity switching system with the proposed algorithm can reduce the generation of optical code fragments and improve resource utilization effectively. In the end of the paper, the optical code routing algorithms are simulated and implemented, and their performances are compared and analyzed. The simulation results show that the blocking rate of the matching algorithm on the NSFNET network is reduced by an average of 4% compared with the traditional algorithm, and the resource utilization of the optical code is improved by 9%.

Keywords: Optical-code granularity, ROCA, SDN, Multi-granularity optical switching

1. Introduction

With the development of 5G, the optical transport network is evolving towards SDN, and all network segments including heterogeneous optical fibers and wireless networks integrate together [1]. With the rapid growth of data traffic and the diversification of service types, optical switching networks are facing a series of challenges: The increase in data traffic makes optical networks expand the capacity, which will greatly increase the burden of switching nodes and the management cost of network equipment. For the purpose of improving the efficiency of node switching, multi-granularity Optical Cross-connect (OXC) is proposed [2], traditional optical switching networks usually switch at fiber granularity and wavelength granularity, but for small-grained services, wavelength granularity is too large to utilize the bandwidth resources fully. Therefore, the Optical Code Division Multiplexing (OCDM) technology is applied to the multi-granularity optical switching network [3], the switching granularity is defined to the optical code granularity and allocated flexibly, so that network resources can be fully utilized.

Traditional multi-granularity networks usually use Generalized Multiprotocol Label Switching (GMPLS) as the basis of the switching system, however, since switching equipment cannot share node and link information, path calculation cannot be referenced based on global resource information and topological structure, and path calculation is prone to produce sub-optimal paths. The structure of the SDN and the OpenFlow protocol control plane meets the flexibility of data forwarding [4], and the multi-granularity switching system based on SDN is very suitable for solving the above problems. SDN can decouple the control plane from the forwarding plane to realize that the control plane is logically centralized, has a global view of the network [5], and thereby provides a more accurate path. In order to further improve the flexibility and effectiveness of multi-granularity networks, this paper proposes a dynamic weight algorithm based on optical code resources and the degree of matching between service request and channel, combined with corresponding path calculation algorithms to form the shortest path algorithm with dynamic weights, and then rely on SDN global information for path calculations and resource allocation to provide a more reliable path.

The paper is organized as follows: In section 2, the SDN control system and Routing and Optical Code Assignment (ROCA) and the corresponding bundling algorithm are briefly introduced. In section 3, a dynamic weighting algorithm based on optical code resources and the matching degree between service request and channel is proposed. In section 4, algorithm simulation and analysis are carried out. Then the conclusions are drawn in section 5.

2. Multi-granularity optical switching system based on SDN

2.1. Network architecture based on SDN

SDN is a new type of network architecture being led by the Open Networking Foundation (ONF). The classic SDN architecture is divided into application layer, control layer, and data layer. The application layer provides users with diversified services. The control layer is the most important part of the SDN architecture. The controller virtualizes network functions through an application program interface (API) [6]. The data layer is to collect, forward and process data [7].

In recent years, driven by economic demands and network innovation facilities, transportation SDN (T-SDN) has been gradually applied [8]. T-SDN expands the interface, protocol and control plane of the optical transmission network, and enables more flexible optical network hardware management. Reference [9] have proposed an autonomic SDN-based architecture, which can make better network performance metrics dynamically.

After SDN is applied to the four-layer multi-granularity optical switching network, the data plane is decoupled from the control plane [10], and path calculation and resource allocation will be controlled by the SDN controller [10], the node focuses on data forwarding, which greatly reduces the pressure on the node. The controller is the most important part of SDN, reference [11] have revealed a new taxonomy of cutting-edge studies about solutions of controller placement problem (CPP) optimization in the SDN from different dimensions.

2.2. Main process of ROCA and corresponding bundling algorithm

The SDN controller collects global resource information and path topology in real time, optical code resources can be flexibly allocated to provide higher-quality paths. Fig. 1 shows the steps of ROCA and bundling algorithm. In the four-layer multi-granularity optical switching network, there are four granularities including fiber granularity, waveband granularity, wavelength granularity, and optical code granularity. In which the wavelengths of paths with the same destination are bundled into wavebands, and optical codes are bundled into code groups, reducing the number of switching ports in the network and improving resource utilization. The main steps are as follows:

  • 1)

    When there is a service request, PCE (Path Computation Element) searches for a path to meet the transmission requirements in the optical network.

  • 2)

    Check whether there is a public path that can be bundled, and if not, directly allocate resources.

  • 3)

    If there is a public path, further check whether it can be bundled into a waveband, and provide different resource allocation strategies according to different situations.

  • 4)

    Bundle the parts that can be bundled accordingly.

The four-layer multi-granularity optical network is based on SDN centralized control, which can grasp the overall network information and reasonably allocate network resources [12], and can provide more suitable resource allocation strategies according to different classification conditions, considering resource utilization and link quality, and improve network transmission efficiency. With the network resource information collected by the SDN controller, it also provides more possibilities for path calculation of dynamic weights.

Figure 1.

Figure 1

Routing and optical code distribution and corresponding bundling algorithm flowchart.

3. Dynamic weighting algorithm based on optical code resources and the matching degree between service request and channel

3.1. Routing and optical code algorithm analysis

Although the waveband reduces the number of ports, it does not improve the wavelength utilization, and only a continuous and fixed number of wavelengths can be bundled in the waveband. The optical codes are bundled into a code group routing entity (CGRE), the number of bundled optical codes is not fixed and is not restricted by the continuity of the optical codes, and the optical codes can be added and dropped arbitrarily. The steps to establish CGRE are as follows:

  • 1)

    Statistic grouping of optical code service paths.

  • 2)

    The paths consistent with the destination node are counted in one group, and can be bundled to form CGRE, without requiring optical code continuity.

  • 3)

    For the remaining optical code paths, look for the path with the largest number of hops as the most candidate path, find the path on which the source node and the destination node are both along the candidate path, and sequentially add to the CGRE to fill the CGRE more fully.

  • 4)

    Establish CGRE virtual pipe.

  • 5)

    When the optical code path completes path access, after the destination node is dropped, repeat the above operations for the remaining services, and reroute this CGRE.

In a multi-granularity optical switching network with CGRE, ROCA aims to allocate paths and resources for each optical path [13]. Due to the need to establish optical paths of different granularities, the difficulty of path calculation and resource allocation has also been further increased.

Many scholars have carry out extensive research, reference [14] have studied routing and wavelength assignment in optical networks, and proposed an analysis model to compute network blocking performance. A.E.A. Farghal et al. proposed two multicode assignment methods, the proposed method has a simplified routing and code assignment process with a lower blocking probability [15]. The authors of [16] proposed two adaptive code allocation algorithms for the adaptive OCDMA-PON to reduce the transmission power and increase the transmission rate of optical code. According to Lyapunov drift theory, the authors of [17] proposed a general optimization problem of rate maximization scheduling, and adaptively assigned user codes to ensure network performance.

According to different connection requests, ROCA problems are categorized as off-line and on-line RWA problems [18]. Dynamic ROCA can be adapted to complex network conditions, providing adaptive routing and resource allocation according to real-time network conditions, multi-granularity switching system based on SDN is also easier to implement dynamic ROCA.

3.2. Analysis of dynamic weighting algorithm based on optical code resources and the matching degree between service request and channel

After the multi-granularity switching system is refined to the optical code granularity, the transmission capacity must be expanded. The problem that must be considered is how to make full use of optical code resources. When service requests continue to increase, many optical code fragments will be generated due to unsuitable path selection, and optical code resources are wasted. Therefore, the degree of service and channel matching is considered as one of the considerations of the dynamic weight function, choosing a channel that is more compatible with the current service, and then using the matching weight as the basis for allocating resources, can reduce the generation of optical code fragments to a large extent. Theoretically, the best matched channel is to occupy all the remaining optical code resources on a wavelength without generating idle optical code fragments.

The use of resource utilization as a reference for link weight is one of the common dynamic weighting algorithms. The weight of the link increases with the increase of resource utilization. When selecting a path, the link with sufficient resources will be selected first. The service request is evenly distributed to all links. Combine link resources and matching degree to comprehensively consider link load balance and select more matching channels to improve resource utilization while reducing optical code fragmentation during path selection, so as to minimize the need for multiple wavelengths for services, reduce the complexity of the transmission process. The following examples illustrate the algorithm:

For example, if the current service request needs to occupy 3 optical codes, assume that each path contains three wavelengths λ1λ3, OC0∼OC5 are five optical codes on each wavelength. As shown in Fig. 2(a) and (b), if there are path A and path B for the current path calculation, the remaining resource rates of the optical code on the two paths are the same, but the occupation of optical code resources is different. When optical-code is assigned according to the Fist-Fit algorithm, resource allocation according to the arranged order. Fig. 2(c) shows that the number of remaining optical codes on path A are 4, 2, and 5 respectively, OC1∼OC3 optical codes of λ1 are assigned to transmission, then an optical code fragment will be generated, and there are not enough resources to transmit in λ2. And Fig. 2(d) shows that The number of remaining optical codes on path B are 3, 3, and 5 respectively, no matter whether λ1 or λ2 is selected for transmission, the resources can be fully utilized. At this time, if calculated according to the channel matching weight, path B will be directly selected for transmission without generating optical code fragments.

Figure 2.

Figure 2

Example of optical code allocation: (a) Initial wavelength setting of path A. (b) Initial wavelength setting of path B. (c) Path A after service request. (d) Path B after service request.

Since the dynamic weight of the matching degree is added in the path selection, the generation of optical code fragments is reduced, and a more matching path is selected. Use software to simulate the path selection, the link optical code resource is randomly generated between 1 and 10, in 1000 alternative paths, the path matching algorithm calculates the weight according to the matching degree to select the final path, and the resource matching weight can also be used as a reference when allocating resources. As a comparative scheme, the link resource amount is used as the path weight calculation, and after randomly generating 2000 service requests with no more than 10 required optical codes, the number of optical code fragments is counted. The comparison results of the two algorithms are shown in Fig. 3.

Figure 3.

Figure 3

Number of optical code fragments.

3.3. Implementation of dynamic weighting algorithm based on optical code resources and the matching degree between service request and channel

This dynamic weighting algorithm is considered in two parts:

The first part is the load degree weight, which is expressed by W1=1Pfree+KD, where Pfree is the optical code idle rate, its value is the ratio of the number of free optical codes in the link to the total number of optical codes. The more the remaining optical code resources, the greater the optical code idle rate Pfree, and the smaller the weight of the path. K>0 is the adjustment coefficient, the smaller the K, the larger the range of W1, and D is the initial weight;

The second part is the weight of the matching degree between the service request and the channel. The function formula is W2=S+K2W1D, K2 is the adjustment coefficient, and “S” is the matching degree between the service request and each channel. The process of calculating the “S” value is as follows:

  • 1)

    First, calculate the difference between the remaining optical codes and the optical codes required by the current service in all links. When the difference is zero, it means that the remaining optical codes on this wavelength just meet the needs of the service request. The more the difference is, the less the match is, the greater the value of “S”.

  • 2)

    Then, set the value of the difference less than zero to the maximum value. The difference less than zero means that the wavelength cannot provide the required optical code, so it is given the maximum weight.

  • 3)

    Finally, normalize the weight of the matching degree to keep it at the same order of magnitude as the weight of the previous part.

Divide S+K2 by W1 in the second part, dynamic adjustment based on real-time resource conditions. When the overall resource is sufficient, the channel matching weight is more considered, and when the overall resource is insufficient, the weight of the resource situation is more considered. The aim is to find a wavelength load that is most suitable for the business service as much as possible, and to reduce the transmission complexity.

In addition, the two coefficients K and K2 can be adjusted according to the actual network conditions, directly control the proportion of the two parts of the weight, in a resource-sensitive network, focus more on the overall resource situation, or more on the full use of resources, to achieve flexible adjustments.

In summary, the dynamic weight calculation formula is:

W=W1+W2=(1Pfree+K+S+K2W1)D (1)

Simplified:

W=1Pfree+KD+(S+K2)(Pfree+K) (2)

4. Algorithm simulation and analysis

4.1. Simulation environment

The following is a simulation verification of the algorithm in this paper, using Matlab simulation software to build the NSFNET network topology as shown in Fig. 4, which has 14 nodes and 21 links. There are 50 wavelengths on each link, and 10 optical codes on each wavelength. 1000 service requests are randomly generated, and the destination node is also randomly generated. The number of optical codes required for service request shall not exceed 10. Calculate the weight value of each path according to Eq. (2), and select the path with the lowest weight value for transmission services. Since the path calculation time is much shorter than the service duration, for simplicity, this simulation does not consider the path calculation and resource allocation time. It is assumed that the service requests that have occurred during the entire simulation period continue to exist, that is, the allocated resources are not released before the simulation ends.

Figure 4.

Figure 4

Simulation network topology structure diagram.

In order to improve resource utilization as much as possible during resource allocation, the idea of service segmentation is introduced, which is similar to parallel transmission. The service is divided into different parts and transmitted separately, making full use of optical code resources. Service segmentation means that when the current single-wavelength optical code resources cannot meet the service transmission conditions, the service is divided into several parts and different wavelengths are selected for transmission. This idea can make full use of optical code resources and reduce the generation of idle optical codes [19].

4.2. Simulation scheme and performance indicators

The simulation scheme is divided into the following two schemes for comparison and verification:

  • 1)

    Traditional Dijkstra algorithm + First-Fit.

  • 2)

    Dynamic weight Dijkstra algorithm based on matching degree + resource allocation based on matching weight.

The algorithm performance will be verified by Eq. (3) and Eq. (4):

  • 1)
    Blocking rate
    Pblock=NblockNtotal (3)
    Nblock represents the number of blocked requests, Ntotal represents the total number of requests.
  • 2)
    Resource utilization
    Pused=1iQ(i)Z(i)L(i)Lg (4)

i” represents the “i-th” request, “Q(i)=1” represents the request is successfully allocated resources, “Q(i)=0” represents the request is blocked, “Z(i)” is the number of optical codes that the request needs to occupy, and “L(i)” is the number of segments of the path occupied by the request, “g” is the total number of optical codes on one path segment, and “L” is the number of all path segments.

4.3. Performance analysis

Through MATLAB software simulation, the dynamic weighting algorithm based on optical code resources and the matching degree between service request and channel algorithm is simulated and analyzed, the details are as follows:

As shown in Fig. 5 and Fig. 6, compared with the traditional path algorithm, the dynamic ROCA algorithm based on link resources and matching degree weights, on the basis of the resource weighting algorithm of load balancing, a weight of the matching degree of service and channel is added, the service congestion rate is reduced, and routing and resource allocation through matching degree weights can greatly reduce the number of optical code fragments and improve resource utilization. The optical code resources on the wavelength are more fully occupied, so that it is more fully filled on the CGRE virtual pipe, which improves the efficiency of CGRE. When resources are sufficient, the gap between this algorithm and the traditional algorithm is small, but with the continuous increase of the number of services, the advantages of the matching weight algorithm gradually manifest. The algorithm based on the matching weight aims to reduce the optical code fragmentation from the beginning. More available continuous optical codes are reserved for follow-up services, which improves resource utilization in follow-up service requests.

Figure 5.

Figure 5

Comparison of the blocking rate of the three schemes.

Figure 6.

Figure 6

Comparison of resource utilization of three schemes.

5. Conclusion

In this paper, the SDN-based multi-granularity optical switching network system, introduces the optical code granularity into the multi-granularity system, and analyzes the ROCA algorithm of the optical code granularity. Relying on the SDN controller to collect the real-time resource status of the network, a dynamic ROCA algorithm is proposed based on optical code resources and channel matching degree to adaptively adjust the link weights to achieve a balanced network load while providing a more matching path. Due to the advantage that the new algorithm enables the multi-granularity system to allocate optical code resources based on the channel matching degree weights reasonably, it can greatly reduce idle optical codes. In addition, by changing the coefficient, the ratio of the weight of the two parts can be adjusted. When the resources are sufficient, pay more attention to the weight of the matching degree between the channel and the service request, so as to fully occupy the optical code resources as much as possible, the algorithm not only provides a more suitable path, but also helps to improve the efficiency of CGRE bundling. When resources are insufficient, it pays more attention to the weight of resources to ensure the successful transmission of services. The simulation analysis shows that this algorithm can make full use of network resources on the basis of paying attention to load balancing. However, this algorithm only considers the optical code granularity in the multi-granularity optical switching network. The resource allocation and grooming strategies when other exchange granularities exist, and how to allocate and conversion of different granularities, still needs further research. And the optical code routing algorithm needs to calculate the weight of each wavelength channel when the service arrives. The high computational complexity may cause the service waiting time to become longer. Whether the calculation level of the controller can support the algorithm deployment still needs to be done in the future. These contents will be the focus of our future research.

Declarations

Author contribution statement

Longfei Li: Conceived and designed the experiments.

Kun Li: Performed the experiments; Wrote the paper.

Xingyu Meng: Analyzed and interpreted the data; Wrote the paper.

Yubao Wang, Xudong Wang: Contributed reagents, materials, analysis tools or data.

Funding statement

Yubao Wang was supported by Natural Science Foundation of Hebei Province [F2020203099].

Data availability statement

Data included in article/supp. material/referenced in article.

Declaration of interests statement

The authors declare no competing interests.

Additional information

No additional information is available for this paper.

Acknowledgements

Thanks to my supervisor Yubao Wang for his help with the content and language of the paper, and thanks to Kun Li, Xingyu Meng and Xudong Wang in the laboratory for their help in submitting the paper.

References

  • 1.Ordonez-Lucena Jose, Ameigeiras Pablo, Lopez Diego, et al. Network slicing for 5G with SDN/NFV: concepts, architectures, and challenges. IEEE Commun. Mag. 2017;55(5):80–87. [Google Scholar]
  • 2.Ishii K., Takefusa A., Namiki S., Kudoh T. Optical network resource management supporting physical layer reconfiguration. J. Lightwave Technol. 2019;37(21):5242–5454. [Google Scholar]
  • 3.Mrabet H., Cherifi A., Raddo T., et al. A comparative study of asynchronous and synchronous OCDMA systems. IEEE Syst. J. 2021;15(3):3642–3653. [Google Scholar]
  • 4.Lange Stanislav, Gebert Steffen, Zinner Thomas, et al. Heuristic approaches to the controller placement problem in large scale SDN networks. IEEE Trans. Netw. Serv. Manag. 2015;12(1):4–17. [Google Scholar]
  • 5.Aslan Mohamed, Matrawy Ashraf. On the impact of network state collection on the performance of SDN applications. IEEE Commun. Lett. 2016;20(1):5–8. [Google Scholar]
  • 6.Casellas R., Vilalta R., Martínez R., et al. Highly available SDN control of flexi-grid networks with network function virtualization-enabled replication. J. Opt. Commun. Netw. 2017;9(2):A207–A215. [Google Scholar]
  • 7.Nunes Bruno Astuto A., Mendonca Marc, Nguyen Xuan Nam, et al. A survey of software-defined networking: past, present, and future of programmable networks. IEEE Commun. Surv. Tutor. 2014;16(3):1617–1634. [Google Scholar]
  • 8.Alvizu Rodolfo, Maier Guido, Kukreja Navin, et al. Comprehensive survey on t-SDN: software-defined networking for transport networks. IEEE Commun. Surv. Tutor. 2017;19(14):2232–2283. [Google Scholar]
  • 9.Shirmarz Alireza, Ghaffari Ali. An autonomic software defined network (SDN) architecture with performance improvement considering. J. Inf. Syst. Telecommun. 2020;30:121–129. [Google Scholar]
  • 10.Mayoral Arturo, Vilalta Ricard, Muñoz Raul, et al. Control orchestration protocol: unified transport API for distributed cloud and network orchestration. J. Opt. Commun. Netw. 2017;9(2):A216–A222. [Google Scholar]
  • 11.Shirmarz A., Ghaffari A. Taxonomy of controller placement problem (CPP) optimization in software defined network (SDN): a survey. J. Ambient Intell. Humaniz. Comput. 2021;12:10473–10498. [Google Scholar]
  • 12.Rawat Danda B. Fusion of software defined networking, edge computing, and blockchain technology for wireless network virtualization. IEEE Commun. Mag. 2019;57(10):50–55. [Google Scholar]
  • 13.Agra Agostinho, de Sousa Amaro, Doostmohammadi Mahdi. The minimum cost design of transparent optical networks combining grooming, routing, and wavelength assignment. IEEE/ACM Trans. Netw. 2016;24(6):3702–3713. [Google Scholar]
  • 14.Cui Yan, Vokkarane Vinod M. Analytical blocking model for anycast RWA in optical WDM networks. J. Opt. Commun. Netw. 2016;8(10):787–799. [Google Scholar]
  • 15.Farghal A.E.A., Shalaby H.M.H., Kato K., Pokharel R.K. Performance analysis of multicode OCDM networks supporting elastic transmission with QoS differentiation. IEEE Trans. Commun. 2016;64(2):741–752. [Google Scholar]
  • 16.Hadi M.M., Pakravan M.R. Analysis and design of adaptive OCDMA passive optical networks. J. Lightwave Technol. 2017;35(14):2859–2863. [Google Scholar]
  • 17.Hadi N., Pakravan M.R. Rate-maximized scheduling in adaptive OCDMA systems using stochastic optimization. IEEE Commun. Lett. 2018;22(4):728–731. [Google Scholar]
  • 18.Wang Yang, Cao Xiaojun. Multi-granular optical switching: a classified overview for the past and future. IEEE Commun. Surv. Tutor. 2012;14(3):698–713. [Google Scholar]
  • 19.Wang Yu-bao, Liu Xu-ran, Jing Zhao-man, Liu Yan-fei. Research on optical code assignment algorithm based on PCE domain. Opt. Fiber Technol. 2019;50:302–308. [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

Data included in article/supp. material/referenced in article.


Articles from Heliyon are provided here courtesy of Elsevier

RESOURCES