Simultaneous Connections Routing in Wavelength–Space–Wavelength Elastic Optical Switches

In this paper, we investigate the three-stage, wavelength–space–wavelength switching fabric architecture for nodes in elastic optical networks. In general, this switching fabric has r input and output switches with wavelength-converting capabilities and one center-stage space switch that does not change the spectrum used by a connection. This architecture is most commonly denoted by the WSW1 (r, n, k) switching network. We focus on this switching fabric serving simultaneous connection routing. Such routing takes place mostly in synchronous packet networks, where packets for switching arrive at the inputs of a switching network at the same time. Until now, only switching fabrics with up to three inputs and outputs have been extensively investigated. Routing in switching fabrics of greater capacity is estimated based on routing in switches with two or three inputs and outputs. We now improve the results for the switching fabrics with four inputs and outputs and use these results to estimate routing in the switching fabric with an arbitrary number of inputs and outputs. We propose six routing algorithms based on matrix decomposition for simultaneous connection routing. For the proposed routing algorithms, we derive criteria under which they always succeed. The proposed routing algorithms allow the construction of nonblocking switching fabrics with a lower number of wavelength converters and the reduction of the overall switching fabric cost.


Introduction
We can observe that in recent years elastic optical networks (EONs) are becoming more popular as a potential alternative to the rapidly growing popularity of optical networks. An example of this is the significant shift of ICT services to the new form, instead of dedicated fixed services. Software as a service (SaaS), function as a service (FaaS), infrastructure as a service (IaaS), and platform as a service (PaaS) are demonstrations of this new form [1][2][3]. Common features of these services include availability on demand, great scalability, adaptability, and flexibility [4,5]. This approach is reflected in the progress of datatransmission technologies and networks. For decades, optical domain technologies have been widely utilized in access and core networks, including wavelength division multiplexing (WDM), coarse WDM (CWDM), and dense WDM (DWDM). These technologies have significant limits in terms of scalability and flexibility. The International Telecommunication Union (ITU) has overcome the problem of defined fixed frequency grids by changing to a format that allows small sections of the optical spectrum to be selected and operated [6,7]. The concept of frequency slot units (FSUs) as an updated form of spectrum granularity was provided by this new bandwidth-allocation model. Aside from having a very small granularity (specified by [8] FSU is set to 12.5 GHz, 6.25 GHz, or smaller in width), this model has another feature. Any number of FSUs can be used in an optical connection, as long as the sum of the FSUs remains below the full spectrum and the FSUs are adjacent. In EONs, such a connection is a paradigm (known as the m-slot connection) [4,5,9,10]. A new switching fabric architecture is required for optical switching networks to create many different flexible paths that support a novel bandwidth-allocation model [4,5,9,[11][12][13][14][15].
Basic information about the EON operation, including switch architectures and switching fabric functions, can be found in [16,17]. The problem of routing and spectrum allocation in EONs at the network level is surveyed in [18], while the spectrum fragmentation problems and management approaches were treated in [19]. In [20], the authors evaluated the performance of EONs when spectrum conversion is introduced in intermediate switches.
The nonblocking two-stage switching fabrics with multirate connections and conversion in both stages were considered in [21,22]. The authors of [23] present the simulation studies of elastic optical switching fabrics based on the three-stage Clos switching fabric. They evaluated the loss probability for various traffic classes offered in a single optical network node. The multicast connections and wide-sense nonblocking conditions in optical WDM networks are considered in [24]. Finally, elastic optical switches are also considered for use in data center networks, where various architectures and nonblocking conditions were considered in [25][26][27].
In many papers that discuss the nonblocking properties of switching fabrics, spacewavelength-space (SWS) and wavelength-space-wavelength (WSW) are the two identified architectures. There are three stages in each architecture. One switch (SWS1/WSW1) or more than one switch (SWS2/WSW2) in the intermediate stage are the two categories of each architecture when classified in terms of the number of center-stage switches [12][13][14][15]25,[28][29][30][31][32]. In the end, setting up a connection path by using the routing algorithm is one of the most important aspects. Two patterns are used to examine four node architectures employing waveband converters for EONs, according to allocation and distribution in [11]. In [9], a switching node model is introduced that was found to meet the requirements of EONs as WSW switching fabrics. Similarly, the SWS1 and SWS2 architectures for flexible optical switching networks are described in [12]. The two WSW architectures (WSW1, WSW2) in [13], are investigated due to the lower number of FSUs in the interstage links, which can be provided by using more than one switch in the center stage (WSW2s). In [15], the authors considered the WSW1 switching fabric with 2, 3 and more input/output links and proposed seven routing algorithms.
In this paper, we define and illustrate the operation of six routing algorithms and derive sufficient conditions under which the proposed algorithms always end with success. The analysis shows that only three of the six algorithms are necessary for further study, and the required number of frequency slots in the interstage link can be smaller than that required in [15]. The construction cost, which is determined by the wavelength converters number, reflects this. As a result, the cost of building the switching nodes by using our proposed algorithm is less than the cost of constructing the switching nodes by using some of the previously published algorithms. Consequently, our algorithm succeeds if, for r = 4, each interstage link contains only n + 2n /3 FSUs, while it requires 2n FSUs, in [15]. In the case of switching fabrics with r = 4, it means that the proposed work is new and improved. A demonstration of the general formula and a detailed analysis of the proposed algorithm are included in the subsequent sections of the paper.

Switching Fabric Architecture
In this work, we consider the WSW1(n, r, k) switching fabric architecture with r = 4 (see Figure 1) that consists of three stages. The first and last stages comprise r Bandwidth-Variable Wavelength-Converting Switchs (BV-WBCSs), represented as I i and O j (where 1 i, j r), respectively. Only one Bandwidth-Variable Wavelength-Selective Space Switch (BV-WSSS) with r inputs and r outputs constitutes the center stage. There are r interstage links between every stage. WSW1(n, r, k) routes the m-slot connections, i.e., the connections that may use m subsequent FSUs (where one FSU represents 12.5 GHz of spectrum). BV-WBCS operates on m-slot connections and alters the spectrum of an m-slot connection from the spectrum of m FSUs at the input of BV-WBCS to another spectrum of m FSUs at the output.
The role of BV-WSSS is to switch an m-slot connection in the space domain without spectrum conversion capability. In [25], the internal structures of BV-WBCS and BV-WSSS are shown. The WSW1(r, n, k) inputs and outputs are numbered from 1 to r. In the same way, I i and O j are indexed. FSUs in the input fibers entering I i and in the output fibers leaving O j are numbered from 1 to n, while FSUs in the interstage links are numbered from 1 to k.

Figure 1.
A general architecture of WSW1(r, n, k) and connections processing.

A New Connection Processing
The WSW1(r, n, k) switching fabric operates in two domains: space and frequency. Let us assume that WSW1(r, n, k) is nonblocking in the space domain, where BV-WSSS is a nonblocking switching fabric. Taking into account the state of the switching fabric shown in Figure 1, it should be noted that all m-slot connections that exist at the input of each I i are marked by the same pattern, while m-slot connections that appear at the output of each O j are distinguished by the same color. There is only one connection path between an input and an output of WSW1(r, n, k) there-a set of interstage links and a set of switching elements, such as I i , O j , and BV-WBSSS. With the exception of BV-WBSSS, all of these paths are disjoint, making WSW1(r, n, k) the nonblocking switching fabric in the space domain. However, if we consider the location of a particular m-slot connection in the frequency domain, we can locate connections that block each other. An m-slot connection from the input switch I i that uses FSUs numbered x to x + m − 1 to the output switch O j with assigned slots y to y + m − 1 is indicated by (I i [x], O j [y], m). When frequency slot indices are not important, we will use the notation (I i , O j , m); when we want to indicate only the switches that participate in a connection, we use the notation (I i , O j ).
For example, the connection that demands slot 6 at input 1 blocks the connection that occupies slots 4-6 at input 3, since both connections are directed to O 2 (i.e., they use the same slot in the link between BV-WBSSS and O 2 ). The red connections at inputs 1 and 2 (which occupy slots 7 and 8) are also connected to the same output switch O 4 , so they block each other. I i and O j eliminate the blocking situations in WSW1(r, n, k), i.e., connections in the blocking state are relocated to different frequency slots. We should mention that the operation of elastic optical networks imposes a connection (I i , O j ), which must use adjacent FSUs. This operation is shown in Figure 1. I i aggregates all connections from input i to output j in the links between I i and BV-WBSSS (and between BV-WBSSS and O j ) to the set of connections indicated as h i,j . The function of O j is to move connections that correspond to a specific h i,j to the requested position at the output of WSW1(r, n, k).
In this work, we employ the simultaneous connection model, that is, a model in which requests arrive at the input of the system at the same time and a set of compatible connections is set up simultaneously. Two connections are compatible if they use disjoint sets of FSUs in the input and/or output links. For example, the connections (I 1 [1], O 2 [5], 1) and (I 3 [4], O 2 [4], 3) are not compatible, since they both request slot 5 at output port 2. We assume that all FSUs in the input and output links are occupied by connections; that is, we have the maximum set of compatible connections. Although such a situation in real systems is uncommon, we can study all connection permutations in our analysis by including dummy connections, i.e., connections that use all free FSUs in the input and output links.

State Matrix
Let the maximum set of compatible connections be represented by C, and X i,j be a set of all connections (I i , O j ) in C. In the considered switching fabric, the first and the last sections contain wavelength converters. This helps to simplify the analysis of the state of WSW1(r, n, k), since it is not necessary to analyze all the connections established in WSW1(r, n, k) but only the sum of the bandwidth units occupied between any pair (I i , O j ). That is, we need to find relationships between the elements of the Cartesian product I i × O j , which can be easily represented in the form of a matrix r × r. This matrix, denoted by H r×r , is defined in the following way [15], where According to (2), element h i,j represents the aggregated spectrum of all connections (I i , O j ). The matrix property is as follows, i.e., in every individual input/output link, there are n FSUs. H 4×4 represents C for WSW1(4, n, k) switching fabrics, and In matrix (4), according to property (3), we have h 1,1 = n -(h 1,2 + h 1,3 + h 1,4 ) and h 1,1 = n − (h 2,1 + h 3,1 + h 4,1 ) and so on. This property of H 4×4 is later used in this paper to demonstrate the rearrangeable non-blocking (RNB) conditions of WSW1(r, n, k).

FSUs Assignment Algorithms for WSW1(4, n, r) Switching Fabrics
The objective of this section is to describe how FSUs should be assigned to the connections in the WSW1(4, n, k) switching fabrics. In a space-division switching fabric, a connection path, i.e., a set of resources used by a given connection, is composed of swithching elements (SEs) and interstage links (ILs) used by the connection. When two connections must use the same IL at the same time, one of these connections is blocked. In an EON switching fabric there is another dimension, wavelength. In this case, the connection path is determined not only by a set of SEs and ILs, but also by a set of FSUs on a given IL. To find two blocking connections, it is necessary to determine not only whether the connection paths of these two connections use the same IL(ILs), but also whether they use at least one common FSU.
The process of assigning FSUs to connection paths so that they do not block each other can be implemented in a way similar to that proposed in [15]. However, in the considered WSW1(4, n, k) switching fabric, the problem is much more complex, due to the larger number of inputs and outputs, resulting in a larger number of possible permutations.
We propose six distinct FSUs assignment algorithms, denoted as AD1, AD2, AD3, AD4, AD5, and AD6. Then, we try to find the best one, or a group of them, for which the number k of required FSUs in ILs will be the lowest, yet allowing the realization of all possible sets of compatible connections [33].
The main idea of all proposed algorithms is to divide all FSUs in ILs into two subsets, in which we will establish connections corresponding to different h i,j . Of course, the wavelength intervals of FSUs used for the connections represented by h i,j at the input port may be different from those assigned to these connections in ILs. The wavelength shift is the task of BV-WBCSs, from which the outermost sections are constructed. To determine the conditions under which all possible C can be realized in WSW1(r, n, k) (that is, it is RNB, as shown in [33]), we have to find the required value of k in each IL as the maximum value of the sum of the number of FSUs in both subsets.
To proceed with the description of the assignment algorithms, we have to add an important assumption about H 4×4 . Each set of compatible connections in WSW1(4, n, k) is represented by a different state of the matrix H 4×4 . We can reduce the number of states considered, assuming that h 1,1 is equal to or greater than the rest of the elements in H 4×4 . Similarly, h 2,2 is equal to or greater than the other elements, except for those in row 1 and column 1 [34]. Finally, h 3,3 is equal to or greater than all the remaining elements in H 4×4 from rows 1 and 2 and elements from column 1 and 2. This property can be written as This assumption does not change the FSUs assignment process or the final result, but simplifies the explanation of the algorithms, their structure, and operation. If the criteria in (5) are not satisfied, the input and/or output stages, represented as rows and/or columns in the matrix H 4×4 , should be modified by rearranging. For example, if the element h i,j is greater than h 1,1 , I 1 is replaced with I i and O 1 with O j , which makes h i,j become h 1,1 .
To make it possible for each algorithm to assign FSUs to connections, we introduce the concept of subregions and critical pairs. The rows and columns of the matrix H r×r represent the inputs and outputs of WSW1(r, n, k), respectively. Two elements located in the same row/column represent connections from/to the same input/output, and cannot occupy the same FSUs in ILs. Otherwise, the connections represented by one of these elements are blocked. For example, the connections represented by h 1,1 and h 2,2 may use the same set of FSUs since they come from and go to different outer stage switches. We call such elements "matched". On the other hand, the connections represented by h 1,1 and h 2,1 have to use different FSUs, as they are directed to the same output switch, and we call them "mismatched". Let us divide the elements of each row and each column into two pairs of elements, creating four groups of four elements each. The way each algorithm assigns elements h i,j to quarters is shown in Figure 2. In each assignment, we can find pairs of Q ADx j 's that are not in the same columns or rows. We surround these pairs with the same type of line and the same color, and the corresponding connections can occupy the same set of FSUs in ILs (elements matched). In contrast, Q x 's surrounded by different line types always share the same rows or columns, i.e., they are mismatched (having to occupy disjoint sets of FSUs in ILs). For instance, in AD1 the quarters Q AD1 1 and Q AD1 4 contain h 1,1 , h 1,2 , h 2,1 , h 2,2 and h 3,3 , h 3,4 , h 4,3 , and h 4,4 , respectively; these quarters are matched. In Q AD1 1 , elements h 1,1 and h 2,2 , as well as h 1,2 and h 2,1 , are matched, while h 1,1 and h 1,2 , as well as h 2,1 and h 2,2 , or h 1,1 and h 2,1 , as well as h 1,2 and h 2,2 , are mismatched. When assigning slots, there will be no conflict between connections when mismatched quarters use disjoint sets of FSUs. Such mismatched quarters will be called "subregions". Definition 2. Two mismatched quarters obtained in H 4×4 by the algorithm ADx are called subregions. The subregions are denoted as ADx,j, where j = 1, 2, 3, 4 and x = 1, 2, 3, 4, 5, 6. The divisions of H 4×4 elements into subregions for algorithms AD1, AD2, and AD6 are shown in Figure 3. Each of the four rectangles surrounding the matrix H 4×4 consists of a quarter surrounded by a solid line and a quarter surrounded by a dashed line (see Figure 3). When we have subregions determined by ADx, we have to divide the set of FSUs in ILs into two subsets, S 1 (ADx, C) and S 2 (ADx, C); slots in each subset will be used for connections represented in different quarters in subregions. As a result, the total number of FSUs in ILs for algorithm ADx, denoted by k 4×4 (ADx, C) is determined by the sum of slots needed in S 1 (ADx, C) and S 2 (ADx, C), that is, Any C can be realized by using ADx when we maximize (6) through all Cs, that is, when The connections shown in Figure 1 are set by using AD1, and the set of FSUs in each IL is divided into subsets S 1 (AD1, C) and S 2 (AD1, C) by bold vertical lines.  As we have H 4×4 divided into subregions, we will now show how the algorithms assign FSUs to connections. We discuss here only AD1 to limit the length of the paper; the assignment procedure for the other algorithms can be easily derived by analogy. First, we consider the connections represented by elements in Q AD1 1 and Q AD1 4 , and the FSUs assigned to these connections will form the set S 1 (AD1, C). The connections in h 1,1 and h 2,2 are matched, so they can use the same set of FSUs in ILs from I 1 and I 2 numbered from 1 to max{h 1,1 ;h 2,2 } = h 1,1 . Similarly, the connections in h 3,3 and h 4,4 are matched, so they can use the same set of FSUs in ILs from I 3 and I 4 and are numbered from 1 to max{h 3,3 ;h 4,4 } = h 3,3 . The connections in h 1,2 and h 2,1 are also matched, but are mismatched with connections in h 1,1 and h 2,2 ; therefore, they can use FSUs from h 1,1 +1 to h 1,1 +h 1,2 and from h 1,1 +1 to h 1,1 +h 2,1 . The same approach can be used for the connections in h 3,4 and h 4,3 -that is, they can use FSUs from h 3,3 +1 to h 3,3 +h 3,4 and from h 3,3 +1 to h 3,3 +h 4,3 . As a result, we have already assigned a FSUs and a =|S 1 (AD1, C)| = max{h 1,1 + max{h 1,2 ; h 2,1 };h 3,3 + max{h 3,4 ; h 4,3 }}; from property (3)  , and the FSUs assigned to these connections will form the set S 2 (AD1, C). By analogy, this set will contain FSUs numbered from a + 1 to max{b; c}; where b = a + max{h 1,3 ; h 2,4 } and c = a + max{h 3,1 ; h 4,2 }.
The AD1 is listed as Algorithm 1, and the detailed assignment of FSUs is shown in Table 1. Similar procedures and tables can be obtained for algorithms from AD2 to AD6 by comparing Q ADx j presented in Figure 2b-f with that obtained for AD1 (Figure 2a), and by comparing how FSUs are assigned to elements of Q AD1 j in Table 1.

Set From
To

The Maximum Number of FSUs in the Algorithms
We now determine the maximum number of FSUsto be occupied by each pair of mismatched quarters; that is, we derive the maximum values for (7) for each algorithm. The number of FSUs required by each S 1 (ADx, C) and each S 2 (ADx, C) depends on the elements of H 4×4 surrounded by solid and dashed lines, respectively. Similarly, as in the description of the algorithms, we provide a detailed analysis for AD1 and present the final equations for the remaining algorithms. From Table 1, we obtain In general, each element of each pair in (8) and (9) can be greater. Therefore, we must consider all the cases to determine the maximum needed value of k. When the first sums in (8) and (9)     In the equations listed in Appendix A, we provide the results for the possible maximum values of Equation (7) for all the scenarios and cases for AD1. When creating these formulas, we take into account the properties (3) and (5). Here we explain two cases. In the AD1.1 scenario HH and case (a) h 1,1 , h 1,2 , h 1,3 , and h 1,4 are the maximum values. This means that max C {k 4×4 (AD1.1; C)} = h 1,1 + h 1,2 + h 1,3 + h 1,4 , and this sum is equal to n (3). In the same scenario, but in case (c), we have |S 1 (ADx, C)| = h 2,1 + h 2,2 and |S 2 (ADx, C)| = h 1,3 + h 1,4 . The maximum value of h 2,1 + h 2,2 can be n. However, since h 1,1 h 2,2 we get h 1,1 n /2 and h 2,2 n /2 Since h 1,1 n /2 , the maximum value of h 1,3 + h 1,4 = n − h 1,1 , i.e., h 1,3 + h 1,4 = n /2 . As the result, k 4×4 (AD1.1; C) = n + n /2 .
The listed equations give the maximum values of k for a given subregion, scenario, and case. Now, we have to find for which of these equations k reaches the highest value through all possible Cs, that is When we look at Table 2, where we included the results of all subregions, scenarios, and cases for algorithms AD1, AD2, and AD6, we can conclude that n ≤ k 4×4 (AD1) ≤ 2n. This means that there are Cs for which we can realize all connections in less than 2n slots, but there are also cases where C requires 2n slots. However, when we need 2n slots for C in the algorithm AD1, we may need less than 2n slots when using another algorithm, for example AD2 or AD6. The results of these algorithms are also included in Table 2. We omit AD3 and AD5, because the arrangement of elements in AD2 is similar to the transpose of AD3, and the arrangement of elements in AD6 is similar to the transpose of AD5; moreover, the results for these algorithms are exactly the same as for AD2 and AD6, respectively. The problem of finding the best value of k when all the algorithms are used is the subject of the next section.

Algorithm 2: (AD7)
Data: C Result: FSUs assigned to connections in We explain the idea of AD7 performance by means of the example presented in Figure 6. This example shows two matrices H 4×4 representing connections in two switching fabrics, WSW1(4, 4, k) and WSW1(4, 5, k) (see Figure 6a,b). In Figure 6a, we have n = 4 (n is even) and when we use AD1 to assign FSUs, we need k 4×4 (AD1, C) = 2n = 8 slots. This maximum value is obtained for the subregion AD1.3, scenario VV, and case (c) (see Table 2) for which k = h 1,4 + h 2,4 + h 3,3 + h 4,3 = 2 + 2 + 2 + 2 = 8. However, when we use AD2 for the same subregion, scenario and case, we see that these connections can be realized by using only k = h 2,4 + h 3,4 + h 1,3 + h 4,3 = 2 + 0 + 0 + 2 = 4 slots. For AD6, we also have k = h 2,4 + h 4,4 + h 1,3 + h 3,3 = 2 + 0 + 0 + 2 = 4 slots. However, this number of slots is not sufficient to realize connections in other the subregions by AD2 or AD6. Both algorithms need 6 FSUs for subregions AD2.2 and AD6.2. On the other hand, there may be other connection patterns, for which AD2 and AD6 need more FSUs. We see this in Table 2 since for AD2.3, VV scenario and case (c), the maximum number of required k is 2n but for AD6.3-only n + n /2 . Similarly, we can analyze Figure 6b, where we have n = 5 (n is odd). For AD1, we need k = 9 FSUs, while AD2 and AD6 can fit connections in k = 5 FSUs. The role of AD7 is to determine, for a given C, which of the algorithms AD1, AD2, or AD6 requires the fewest number of FSUs in ILs, and to use this algorithm for assigning slots to connections.  The question now is what the minimum number of required FSUs in ILs is sufficient to ensure that AD7 always ends with success for any C. The answer to this question is given in the following theorem.
Proof. In AD7, for a given C, we check for which of the algorithms AD1, AD2, or AD6 we need the lowest number of FSUs. Then, these minimum values calculated for each C must be maximized (see (12)). We can find the better algorithm by calculating the number of FSUs for each algorithm in each subregion for each scenario and case. These values are shown in Table 3, which we obtained from Table 2. We see that the maximum value in this table is n + 2n /3 ; therefore, this number of FSUs is sufficient to realize all possible compatible connection patterns.

Comparisons and Numerical Results
Algorithm AD7 gives the best results of all the algorithms proposed in this paper. Now, we compare this algorithm with the algorithms CA6 and CA7 proposed in [15]. We first consider the WSW1(4, n, k) switching fabric. The values of k 4×4 RNB are compared in Table 4 and plotted in Figure 7. As for the CA6, AD7 allows reducing the number of FSUs in ILs by more than 16%. In case of CA7, this reduction is greater than 40%. For instance, when n = 160 (a typical value for band C in optical fibers when frequency slot is 25 GHz wide), CA6 requires 320 FSUs, CA7-448 FSUs, while AD7 finishes with success when there are only 266 FSUs in ILs. This is illustrated in Table 4 and Figure 7, where k r×r RNB (CA6) = r /2 n and k r×r RNB (CA7) = r /3 (n + 2n /5 ) [15]. Those previously developed algorithms (CA6, CA7) are based on the analysis of r = 2 and r = 3; however, AD7 is developed based on the analysis of r = 4, which delivers the most optimal and efficient result represented by the lowest number of FSUs in ILs. In addition, both algorithms CA6 and CA7 are multiplied by the factor of r /2 , and r /3 , respectively, which results in multiplication by 2 in case of r = 4. That would affect the overall result to be multiplied by a factor of 2, which eventually leads to an increase of the number of FSUs in ILs. Hence, k 4×4 RNB (CA6) = 2n and k 4×4 RNB (CA7) = 2(n + 2n /5 ), which means that both algorithms give greater value than k 4×4 RNB (AD7) = n + 2n /3 . Therefore, we notice that AD7, when applied for H 4×4 , yields a better result than previously published algorithms. For instance, k 4×4 RNB (AD7) = 8, where k 4×4 RNB (CA6) = 10 and k 4×4 RNB (CA7) = 14. When r > 4, we compare some results for r = 8, 16 and 32 and selected values of n. FSUs are assigned to connections by dividing H r×r into submatrices H 4×4 , similar to what is proposed in [15], and by using AD7 for each submatrix. The number of FSUs in ILs is calculated in this case by the following equation: The results are compared in Table 5 with k r×r RNB (CA6) and k r×r RNB (CA7) [15], where k r×r RNB (CA6) = r /2 n and k r×r RNB (CA7) = r /3 (n + 2n /5 ). We can see that AD7, when employed for k r×r RNB , outperforms all the algorithms published. For example, when n = 20 we get k 8×8 RNB (CA6) = 80 and k 8×8 RNB (CA7) = 84, where k 8×8 RNB (AD8) = 66. This shows how AD8 yields better results when compared with other previously known algorithms.
In addition, as we illustrated previously, CA6 and CA7 are developed based on the analysis of H 2×2 and H 3×3 , respectively, where AD7 is developed based on the analysis of H 4×4 . Therefore, when it comes to finding the number of FSUs in ILs, each algorithm is multiplied by a factor representing the value of r, i.e., algorithm CA6 is multiplied by a factor of r /2 , algorithm CA6 is multiplied by a factor of r /3 , and algorithm AD7 is multiplied by a factor of r /4 donated as AD8. In case of r = 8, the factor for CA6, CA7, and AD8, respectively, will be (4, 3, and 2); similarly for r = 16 the factor will be (8, 6, and 4), and finally, for r = 32 the factor will be (16, 11, and 8). Accordingly, as r increases, the factor difference between algorithms increases, which can cause CA7 to have a lower number of FSUs in ILs than CA6 (see r = 32 in Table 5).  RNB presented in [15] and required by Theorem 1. We compared the proposed algorithm result with other results presented in [15]. We also investigated the results presented in [27] and found that they were not better than that presented in [15]. For instance, when k r×r RNB (CA6) = 20, k r×r RNB (CA7) = 28, and k r×r RNB (AD7) = 16, the algorithms in [27] achieves k r×r SNB = 124, and k r×r RNB = 40. Furthermore, SNB derived in [13] requires even more FSUs than that presented in [15], as k 8×8 SNB = 225, where k 8×8 RNB (AD7) = 132. Similarly, the WNB proposed in [35] is not better than [15]. Therefore, it is sufficient to compare result for the proposed algorithms to the best-known result to date.
Finally, we should mention that the algorithm is very simple. The complexity of the algorithm is determined mainly by matrix preparation and rearranging such that the property (3) is fulfilled. When the matrix H 4×4 is given, AD7 chooses the final algorithm to assign FSUs to connections in O(1) time, and then the selected algorithm assigns slots by using a fixed table. For AD1 this assignment is given in Table 1.

Conclusions
In this paper, we proposed seven algorithms for assigning frequency slots to connections in WSW1(4, n, k) switching fabrics serving multislot connections. Algorithms AD1 to AD6 are based on matrix decomposition, while AD7 uses all the algorithms mentioned before. For a given connection pattern, it uses those algorithms that require the fewest frequency slots. This approach was previously proposed in [15] but was limited to switching fabrics with r = 3. When r = 4, the number of slot assignment patterns increases rapidly, and many more cases must be analyzed to find the number of frequency slots, which ensures that the algorithms always end with success. The number that makes WSW1(4, n, k) rearrangeably nonblocking is given in Theorem 1. Algorithm AD7 improves the previously known results by more than 16% or even 40%, depending on which algorithm is used. We also extrapolated the number of required frequency slots for WSW1(r, n, k) switching fabrics with r > 4. In this case, the proposed algorithm also outperforms the previously known algorithms. It should be noted that the proposed solutions provide sufficient conditions for RNB. The necessity is not shown; this means that there is still place for other algorithms, which reduces the number of required frequency slots. However, we know that this number cannot be lower than n + n /4 [15].
In this work, k is the only parameter we can use to obtain RNB conditions. When we have these conditions, we can consider how much power or how many elements the switching fabric needs. However, the number of tunable wavelength converters is rather determined by the switching fabric capacity and architecture (r switches in the input/output stages, one switch in the center stage). Therefore, k is more important since it determines the range of required converters. Moreover, the complexity of the algorithm is very low, since we have to calculate the result according to three simple algorithms from the algorithm AD8 (12), as shown in (2), and use that with the lowest result. Then FSUs are assigned to connections by using the assignment given for each algorithm, such as in Table 1. The most time-consuming task is to prepare the matrix from the set of connections and sort it in such a way that conditions (3) and (5)

Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations
The following abbreviations are used in this manuscript:

Appendix A. Calculation for Subregions
In the following Sections A.1-A.4, we provide the equations we used for considerations included in Section 3.3. All scenarios and cases for AD1 contain at least the result for the possible maximum values of Equation (7). In order to make it easier to understand how we obtained the results, for almost all cases, we added the dependencies that result from the properties defined by the formulas (3) and (5). Obvious cases have been omitted.