 Research
 Open Access
 Published:
Mirrorimagebased disjoint multipaths routing algorithm for maximizing communication efficiency
EURASIP Journal on Wireless Communications and Networking volume 2017, Article number: 114 (2017)
Abstract
The growing demands of highspeed and stable next generation 5G cellular networks become the main stream in these years. In order to overcome a bottleneck of highspeed communication which is caused by limited spectrum resources, cognitive radio (CR) network has been proposed as a promising technology in 5G networks. However, in CR networks, primary user (PU) networks lead another novel NPHard routing problem on continuous data transmission, especially for some lowlatency scenario. To settle this problem, a new mirrorimagebased disjoint multipath routing algorithm (MIDMRA) is presented in this paper. A mirror image algorithm is employed in MIDMRA to simplify the routing challenge of CR network’s multichannel environment, and an Optimal Path Selection mechanism is equipped to evaluate relationship between CR nodes and PUs when paths are being selected. Through theoretical and simulation analyses, MIDMRA has better performances on continuous communication under PU interferences than other multipath routing algorithms.
Introduction
By 2020, mobile wireless networks would cover around 90% of the world, and much more mobile data traffic may be consumed on videobased content transmission [1]. Hence, next generation (5G) cellular networks are expected to satisfy more requirements on wireless communication with high speed, realtime, continuity, and reliability [2].
In order to meet these highend requirements, future 5G networks needs more available spectrum resources [3]. However, most spectrum bands have been authorized to different wireless network standards in the last two decades by governments. The improvement in spectrum utilization has become the key problem.
In this case, cognitive radio (CR) technology as a promising technology in 5G network development has been proposed [3, 4]. As most authorized networks are not operating at full load, vacant spectrum “holes” are generated [5, 6]. CR networks as unlicensed users (second users (SUs)) could intelligently percept spectrum holes and dynamically access in to transmit data without interference on authorized networks which is called as primary users (PUs). So idle spectrum bands could be reused by CR networks [7, 8].
Whereas, a novel NPHard multipath routing problem in CR network has been proposed in [9, 10]. As shown in Fig. 1, solid lines represent active paths, and dashed lines indicate inactive paths. If two paths are selected to transmit data as Fig. 1 a, the communication may be interrupted by PUs’ arrivals. Conversely, if the distances between selected paths are larger enough as in Fig. 1 b, two paths of communication could not be interrupted by one PU simultaneously, so the selected paths in Fig. 1 b could be defined as “disjoint” [11]. However, PUs have larger interference range and unpredictable movements, and different decisions on path selection would have important impacts on CR networks’ communication, especially in some CR networks which have high requirements on latency and continuity.
Therefore, to solve this NPHard problem, some suboptimal solutions have been proposed. Beltagy et al. [9] and Karmoose et al. [12] give out solutions by utilizing CR nodes’ location information, the distances between nodes are considered in paths routing, but the methods of choosing paths in these type solutions have their own limitation, especially in a small communication topology environment. Ju and Evans [13] present a space and spectrum disjoint mechanism, in which spaces and spectrum channels are guaranteed disjoint when it selects paths, while this mechanism pays more attention on the disjoint between paths than on PUs’ arrivals. And as the preliminary work of this paper, [11] offers a Multilayer based Multipath Routing Algorithm and redefines this NPHard problem into disjoint multipath routing problem in CR networks. Whereas, this solution is only suitable for multiple interface CR devices, which could not settle the problem for single interface CR users.
Thus, we would like to provide a novel multipath route algorithm mirrorimagebased disjoint multipath routing algorithm (MIDMRA) in this paper to answer the disjoint multipath routing problem in CR networks under single interface CR devices environment. In MIDMRA, a mirror image algorithm is proposed for generating a sequence of connected original network’s mirror graphs as candidate paths selection graph. Meanwhile, through an optimal path selection mechanism, a single path could be picked in the new connected graph, so multiple disjoint paths which we want could be split from the single selected path. Via analysis and simulation, MIDMRA could complete disjoint paths selection and obtain maximum communication efficiency in CR networks. The major contributions of this paper could be summarized as follows:

By utilizing a mirror image pattern, multiple disjoint paths selection in one graph problem has been simplified into a single path selection in multiple graphs. As far as we know, the proposed mirror image approach has never been used by other existing works.

Through employing an optimal path selection mechanism, the disjoint multipath route has been extended to a single interface CR device environment.

The deployment of communication efficiency gives out a relatively precise evaluation on the relationship between paths under PUs’ interferences via CR nodes’ sensing information.
The rest of this paper is organized as follows: in Section 2, a comprehensive introduction of related works is presented, and in Section 3, we would introduce and analyze MIDMRA algorithm in detail. The performance of MIDMRA would be displayed in Section 4, and the conclusion would be presented in Section 5.
Related work
In this section, related works’ introduction would be held. These related works’ introduction are divided into five parts in this section according to their routing methods and implementation environments.
Geographic solution
Geographic solution utilizes geographic location information to find disjoint paths in CR networks. In [9], Islam Beltagy et al. propose a Route Closeness Metric to solve the disjoint Multipath routing problem in CR networks. By calculating the overlap areas between paths’ interference ranges under PUs, the distances between paths could be evaluated indirectly. Then, the least overlapped paths could be selected for disjoint paths route. But because full routing information is needed in advance, dynamic source routing (DSR) protocol should be equipped for path searching. While in [12], a dead zone protocol is presented to form cooperative links between CR nodes under active PUs’ interference areas (Dead Zone), through which multiple cooperative paths are reconfigured to transmit data. Although this type solutions could solve disjoint multipath routing problem in CR networks in some respects, priori routing knowledge is necessary, which would cost exponential level time complexity for processing. Meanwhile, worse results may be generated when the routing space is not large enough.
Spectrum disjoint solution
This type solution is presented in [13] by Ju Suyang and Evans Joseph B through using spectrum disjointness. A space discovery protocol is designed to find multiple space disjoint paths, and a spectrum discovery protocol is designed to guarantee spectrum bands which are used by nodes in selected paths that are independent to neighbor nodes. So, the chosen paths are space disjoint, edge disjoint, and spectrum disjoint. This protocol could avoid an interference between neighbor nodes and guarantee the communication of nodes in disjoint paths that are spectrum uncorrelated. However, this solution does not focus on the disjoint multipath routing problem in CR networks, and the spectrum bands of selected links may not be independent from each other, and PUs’ interference ranges are much larger than CR nodes, which leads to path selections that are useless.
Jammer similarity solution
Different from the solutions above, jammer disjoint routing problem does not focus on CR networks, even multichannel environment may not be included. But this problem is similar to disjoint multipath routing problem in CR networks, and related solutions could present many heuristic inspirations. A jammer is random in appearance and has large interference range leading to users’ communication interruption, which is similar to PU, so multipath route in a jammer environment should also find disjoint paths to guarantee data transmission. In [14], the shortest multipath routing and cooperative packet caching are used to decrease packet loss led by route faults. While Wu K. et al. proposed an IPlayer multipath selection mechanism to select multiple “least connectivity” paths by using IPlayer topological disjointness in [15]. And a timedimension solution on multipath route in jammer environment is presented in [16, 17]. By dividing longterm priori channel sensing information into n time slots, a greedy algorithm is utilized to choose paths which have least occupied time slots, then, jammers’ interference could be decreased to the bottom. However, this type solutions could not be shared in CR network environments since differences exist between jammer and PU (e.g., jammer is always chasing users’ wireless single for attacking, which increases predictability of jammer’s movements).
Sparse network solutions
Routing researches in sparse networks are different from the dense networks, which pay more attentions on delay and disruption tolerance [18]. But because the pursuing of continuous communication in sparse networks is similar to the main idea of this paper, the solutions in sparse networks and solutions on disjoint multipath routing problem in CR networks have possibilities to find a common point. In [19], Zhao et al. give out a packetlevel data replication algorithm to solve the delay tolerance problem under unstable sparse CR networks. While a multicopy routing protocol (McRTP) is held to improve delivery rate and latency in [20]. By redefining contact time prediction model, McRTP could optimize path selection. And through a novel copy count assignment mechanism, network traffic load could be controlled.
Multilayer based multipath routing algorithm
As we know, there is no unified standard on communication technology in CR networks, single interface and multiple interface CR nodes exist in existing CR networks. However, communication patterns of these two types of CR nodes have huge differences, and their solutions on disjoint multipath routing problem in CR networks should not be the same too.
Consequently, we have proposed multilayer based multipath routing algorithm (MMRA) [11]. For quantizing PUs’ appearances, a new spectrum history matrix (SHM) is proposed for calculating PUs’ movements in time and spectrum dimensions. And CR node distributions are rearranged according to their SHMs by a multilayer dividing algorithm. Then, path selection mechanism collects paths in each layer and recombines them. Thus, selected multiple paths are the disjoint paths which could transmit data with maximum communication efficiency under PUs’ interferences. However, this multipath routing method is only suitable in multiple interface environment since reselected CR nodes may exist in chosen paths. CR nodes with single interface could only be selected once, otherwise whole network’s communication would be restricted by this bottleneck. Hence, a novel solution on single interface CR nodes is needed.
Mirrorimagebased disjoint multipath routing algorithm
As stated previously, our previous work [11] has been proposed for disjoint multipath routing problem in CR networks in multiple interfaces scenario. Then, we would like to introduce mirrorimagebased disjoint multipath routing algorithm (MIDMRA) for the problem under single interface environment in this section.
Problem definition
Because the concrete definition of disjoint multipath routing problem in CR networks has been proposed in our preliminary work [11], the problem definition would be introduced simply in part.
In order to quantize relationships between CR nodes under PUs’ interferences, SHM mechanism should be employed in this paper [11]. In SHM, longterm sensing information is split into pieces according to time and spectrum distributions. And each piece could be indicated as ‘spectrum time slot’:
Where s _{ t,n } represents PU’s arrival status at n ^{th} channel and t ^{th} time period. Then, in each spectrum time slot, PUs’ arrivals could be simplified as the “ONOFF” mode. While for T channels and N time periods, the SHM M _{ s } could be depicted as
In Eq. 1, the PUs’ arrivals pattern could be mapped by a matrix for CR nodes. Therefore, if node i and node j’s s _{ t,n }s are both 1, these two nodes have high probability to be under the same PU’s interference range. On the other side, if node i has 0 and node j has 1 in s _{ t,n }, i must be independent with j.
Hence, for selecting disjoint paths, CR nodes in the same path should pay more attentions on maintaining consistency of SHMs. So logical bit level “OR” is utilized in Eq. 2.
Where M _{ path(α)} represents a m node path α ^{th}’s SHM.
Correspondingly, in order to ensure the difference between paths, logical bit level “AND” is equipped to calculate multiple paths’ SHM.
In this case, if X paths have M _{ X } which is equal to 0, these paths could send data under PUs’ interferences without transmission interruption. And these paths also have high probability to be the disjoint paths.
Whereas, the discrete M _{ X } is not suitable for calculating and evaluating, especially when M _{ X } is not all 0 and \(M_{X_{1}}\) and \(M_{X_{2}}\) should be compared. Thus, a novel evaluation indicator communication efficiency is employed for estimating available spectrum time slot in SHM.
where M _{ X } represents the sum of M _{ X }, so the remaining amount in T·N is the available spectrum, and communication efficiency could be depicted out by C(X).
Therefore, if M _{ X } could be minimized, communication efficiency C(X) would be maximized. Then, the disjoint multipath routing problem in CR networks could be simplified to a solvable pattern:
Problem 1
Given a n nodes’ weighted CR network graph G(V,E,S) with N communication channels in T period, V indicates node’s information, E indexes edge’s information, and S represents each node’s SHM knowledge. Select R paths in this network to solve the following problem for maximizing network’s communication efficiency.
Motivation
Before the introduction of MIDMRA, a discussion on why the routing algorithm in [16, 17] could not be utilized in this paper should be held, since the SHM mechanism is inspired from [16, 17]:

PUs’ movements. Although PU and jammer have a similarity on random appearances, the basic interference patterns of these two distractions are different. Jammer is chasing and interrupting the wireless communication of users’ networks, which is different from PUs’ completely random appearances.

Priori route knowledge. In [16, 17], a quality comparison algorithm and Yen’s ranking algorithm [21] are utilized for path selection before multipath routing, so exponential time complexity is unavoidable. Besides, because multipath route mechanism in [16, 17] pays more attention on selecting as many as possible paths which could meet target formulation, the most appropriate routes may be ignored.
Hence, the route mechanism in [16, 17] could not be suitable for the Problem 1.
On the other side, SHM is a weight evaluation mechanism of networks, but traditional weighted disjoint multipath route algorithms (e.g., Suurballe Algorithm in [22], R. Bhandari Algorithm in [23]) are still not suitable on this paper. In traditional weighted disjoint multipath route, ordinary addition and subtraction are utilized on weighted value calculation, which is not appropriate for SHM.
Suppose the path from source to node i is node i’s parent path, and path from node i to destination is its son path. It is obvious that node i has multiple parent paths and son paths in a multiple node CR network. For the same parent path of node i (suppose it is path k), different son paths would lead different final paths’ SHM (suppose there are two paths a and b). Then, it can be depicted as
However, different son paths may change the same parent path’s weight, which is in conflict with the routing principle of traditional weighted disjoint multipath route.
Therefore, route mechanism in [16, 17] and traditional multipath route solutions are not suitable for Problem 1, a novel disjoint multipath routing algorithm which could find multiple spectrumindependent paths for maximizing communication efficiency C is necessary.
MIDMRA
To settle this problem, mirrorimagebased disjoint multipath routing algorithm (MIDMRA) is provided.
Main idea
For the Problem 1, two main questions should be addressed:

1.
Selecting multiple paths which are space disjoint.

2.
Proposing a new algorithm to guarantee paths’ disjointness with PUs by employing the SHM mechanism.
Whereas, these two questions should be considered together in routing process since the special reason which is mentioned in Section 3.2. So, if these two questions could be separate, it would be easier to settle Problem 1 than before. Hence, the mirror image algorithm is introduced to address question (1).
In network’s communication process, information exchange is always duplex from source to destination or from destination to source. Suppose R paths existing in a CR network, these R paths could be seen as R/2 paths transmitting data from source to destination and R/2 paths from destination to source, which is like a communication loop with R overlaps. Then, if the loop could be cut and expanded to a long line, the R paths would be changed to a long single path. Correspondingly, if a R headtohead and tailtotail mirror graphs sequence could be generated from original CR network graph, the multipath routing problem could be simplified to a single path routing problem in the mirror graphs sequence. Therefore, questions (1) and (2) could be changed to find one single disjoint path by employing SHM mechanism.
For easy understanding, a simple example would be stated.
As shown in Fig. 2, a simple CR network graph is depicted. Eight nodes are equipped in this CR networks, dashed lines represent candidate links between CR nodes. Two PUs are appearing in one time period, suppose there are three spectrum channels, PU1 is occupying the first channel and PU2 is interfering the third channel. Nodes 1 and 3 are under PU1’s interference range, while nodes 4 and 6 are under PU2’s interference range. According to SHM mechanism, Path 1’s SHM could be calculated as S _{ path1}={1,0,0}, S _{ path2} and S _{ path3} are {1,0,1} and {0,0,1}, respectively. So, if two paths are wanted, the best choice must be path 1 and path 3 since their communication efficiency C is maximized to 1.
In this case, for selecting two disjoint paths, another mirror graph should be generated and connected to the original one. As shown in Fig. 3, the graph in which nodes are numbered with quotation marks is the mirror image of the CR network graph in Fig. 2. Hence, in this new graph, if a path could be selected from S to S ^{′} without recessive repeated nodes and get a maximum C as the blue path does in Fig. 3, the disjoint multipath routing problem could be solved.
After the explanation above, main idea of MIDMRA has been shown out. To realize this idea, two concrete algorithms are proposed. The first is mirror image algorithm, which is responsible for constructing the sequence of connected mirror graphs. While the second is optimal path selection mechanism, which is designed to route a single path from the new “source” to the new “destination” under the constraints of Problem 1 and nodes independence.
Mirror image algorithm
In this section, mirror image algorithm would be introduced in details.
Given the networkmodeled weighted graph G=(V,E,S) with V being the node set, E being the link set, and S being the node’s SHM set. If we want to find R disjoint paths in this network, a Mirrorimage() algorithm could be used as Algorithm 1.
As shown in Algorithm 1, the detailed processes could be described as below:

1.
At first, as a mirror image algorithm, R−1 copies of original graph G should be generated

2.
Number the R graphs. Original graph G is the first one, and the other R−1 graphs need to connect to G as a sequence. Hence, from the first to last graphs, they are numbered, while nodes are also numbered according to their own graph’s serial number;

3.
Connect relay junctions between neighbor graphs in headtohead and tailtotail style (source connects with source, destination connects with destination). And for the first and last graphs, only one relay junction is equipped.

4.
After R−1 iterations, a large mirror image G ^{′} could be obtained.
For better explanation, a simple example of threepath route which is using Algorithm 1 is presented.
As shown in Fig. 4 a which is the original graph G, three paths are wanted from the source S to destination D. By using Mirrorimage() algorithm, three mirror graphs are generated as G, G ^{′}, and G ^{′′}, respectively, which is shown in Fig. 4 b. They connect with each other through the dashed lines between relay junctions, destination D is the relay junction between graph G and graph G ^{′}, while source node S is the relay junction between graph G ^{′} and G ^{′′}. Hence, if we could find an optimal path from S to D ^{′′}, we could obtain three disjoint paths in the original graph. In Fig. 4 b, the extended graph has 24 nodes which are numbered according to their graphs’ serial number, the number of node i ^{′} is node i+8 and i ^{′′} is node i+2∗8 actually for easy selection and calculation.
Consequently, a mirror image sequence environment has been established by mirror image algorithm. Whereas, how to find the appropriate optimal path is still a problem that should be solved.
Optimal path selection
For the purpose of single optimal path selection in the extend mirror image sequence, a novel single path routing algorithm is necessary. As minimum ∥S∥ is needed in Problem 1, a Dijkstrabased optimal path selection mechanism is presented to solve this question.
Because the weighted distances calculation problem of Dijkstra algorithm which has been mentioned in Section 3.2, traditional Dijkstra based algorithm is not suitable for path selection in CR networks with SHM mechanism. Hence, to realize the novel Dijkstrabased optimal path selection algorithm, two questions is needed to be addressed.

Through using the mirror image algorithm, relay junctions are connections between mirror graphs in the extended mirror image, which leads the same relay junctions which appeared in multiple candidate paths in mirror graphs. Hence, traditional distance calculation in Dijkstra algorithm could not be applied since one node’s distance could not be calculated twice. While SHMs are different, by using different parent paths or son paths, only one shortest path selection from the source to destination in a single graph does not fit the requirements of CR networks and could not find out the optimal solution. Therefore, a novel shortest weighted distance calculation method needs to be proposed.

Mirror image algorithm increases CR nodes’ amount multiple times, but these additional nodes are virtual. Thus, a lot of the same nodes exist in different mirror graphs actually. Traditional Dijkstra algorithm could not be suitable for this situation. Then, how to avoid virtual node reselection in different graphs is also a problem.
To address these questions, a novel distance calculation approach is depicted as follows,
As shown in Eq. 5, i and j are the ID numbers of nodes in the extended graph generated by Algorithm 1, R _{ i }s and \(R^{\prime }_{i}\)s represent relay junctions between mirror graphs, n is the amount of nodes in a single mirror graph G, while N and T are the total spectrum channels and time periods in SHM.
Therefore, in the routing process, four different types of distance calculation scenarios may exist:

When j≤n, “path” from i to j is in the first graph, so selected nodes in this long path are in one candidate path. Hence, logical OR operation is taken for distance calculation according to the SHM mechanism.

When n<j≤2n, j must be the node in the second mirror graph which is different from i. In this case, the selected path which includes i and j should be two different paths actually. In order to calculate the SHM of the single long path through two mirror graphs, logical AND operation is utilized. While, T·N is also added in for mitigating calculation errors which are caused by multiple selected paths in mirror graphs.

When j>2n, j is in one of the multiple mirror graphs. As a result, multiple different paths are selected in the mirror graphs from i to j, and these paths in the middle section graphs should be from relay junctions to relay junctions. For mitigating calculation errors, \(\left [\frac {j\epsilon }{n}\right ]\cdot T\cdot N\) is included. \(\left [\frac {j\epsilon }{n}\right ]\) is round operation of \(\frac {j\epsilon }{n}\), and ε is a minimum number which is used for preventing j that is divisible by n.

When \(\left \{j\ or\ jn\ or\ \cdots \ or \ j\left [\frac {j\epsilon }{n}\right ] n\right \} \in \left \{Path_{i\to j}\ without\ j\right \}\), there are multiple js in the path from i to j or j which is the virtual node copy in the extended graphs of nodes in a path. In this case, an ∞ distance is appropriate for this new path.
As a result, the two questions are solved through Eq. 5. Then,the Dijkstrabased Pathselection() algorithm is proposed as Algorithm 2.
As shown in Algorithm 2, a detailed description could be concluded as follows:

1.
At first, PATH list and DISTANCE list are prepared for storing the chosen paths and their distances, and source node S is put into PATH as the first path while 0 is its distance.

2.
Search out the shortest path’s tail node i’s neighbor nodes and calculate distance from S to node i’s neighbor nodes.

3.
Not all neighbor nodes could be added into PATH, the nodes who get ∞ distances must be deleted since they are reselected.

4.
If the selected neighbor nodes are found in PATH, another path which is from S to neighbor has been selected before. In this case, a comparison needs to be applied for finding the shorter path between these conflicting paths. After a series of comparison, the poor one would be deleted and the good one would be retained.

5.
After the comparison process, the remaining paths should be put into PATH. Correspondingly, the original shortest path should be deleted.

6.
Compare distances in DISTANCE list, in order to find out the shortest path at present.

7.
The last step is to repeat step (2) to step (6) until the destination has been found. The shortest path from S to destination is figured out. Split the path into multiple paths, they are the disjoint paths, and the algorithm is ended.
For easy understanding, a simple example of this algorithm is applied in Fig. 5. Two paths are wanted in a fivenode CR network, and there are two candidate spectrum channels which are sensed in two time slots, the detailed SHM is stated above each node. Red block in SHM represents spectrum time slot which is occupied by PUs, and white block indicates that there is no PU. The different colors of solid lines represent multiple paths which have been selected, and their distances and path lists are also stated in different colors. The shortest path from S to S ^{′} is found in PATH list as S−3−D−D ^{′}−1−S ^{′} which has the least distance by using Algorithm 2. Ultimately, a pair of disjoint paths are found as S−3−D and S−1−D, their multipath SHM is 0 and C is 1, which meets the requirement of Problem 1.
Optimization ability
After demonstrating how MIDMRA work, we now provide analysis on the optimization and time complexity of this algorithm.
Theorem 1
Given a weighted graph G(V,E,S), find multiple paths by using MIDMRA, whose set is R, the communication efficiency C of these selected paths converge to the maximum.
Proof
As it is hard to prove that selected paths has maximized C directly, we would like to prove it by contradiction. Suppose there is a path k from S to D in the long mirror graph, which has higher C than MIDMRA selected path a, then, there must exist
Therefore, if the hypothesis of existing path k has higher C is valid, the distance D(path k) must be lower than D(path a), and path a could not be chosen as the selected path according to Pathselection() algorithm. Hence, the hypothesis is invalid.
But there is a precondition of this hypothesis that path k is able to compare with path a. If the hypothesis is correct, path k must be deleted in the process of MIDMRA. Then, distance comparison between path k and path a may not be realized. In MIDMRA, there are three chances of deleting paths:

1.
If the path causes ∞ distance, it would be deleted. In this case, reselected nodes must exist in this path, which is in conflict with the rule of disjoint paths route under single interface terminal environment, so this assumption is incorrect.

2.
When new paths are generated, the parent path would be deleted. According to the principle of MIDMRA, parent paths should be included in new paths when it is deleted, unless all neighbor nodes of parent paths are not appropriate for selecting or there are no neighbor nodes. The prior scenario breaks other deleting rules, and the last one means that the path could not route to destination, both assumptions are unable to find out disjoint paths.

3.
It is complicated in this case as there are a lot of comparisons between existing paths and a new path. Suppose there is tail node i in new path k, which is a reselected node between path k and another existing path b in PATH. Then, path b should be compared with path k from S to i.
If the hypothesis is correct, path k must be deleted. Hence, S _{ Path(k)S→i } must be worse than S _{ Path(b)S→i }. So, there exist:
$$\begin{array}{@{}rcl@{}} &D(path(k)) < D(path(a)) \ \ \ and \\ &D((path(b) S\to i) +(path(k) i\to D))\leq D(path(k)). \end{array} $$Therefore, the distance of path b from S to i plus i to D must be lower than path k, while the distance of path a is higher than path k. Then, a new inequation could be depicted out,
$$D((path(b) S\to i) +(path(k) i\to D))< D(path(a)). $$As a result, the new path c which is the combination between path b and path k could route to destination and is better than selected path a, but which is conflict with the assumption we have provided above.
Hence, the hypothesis of existing another path k which is better than path a selected by MIDMRA is invalid. In conclusion, multiple paths set R selected by MIDMRA has maximum C which could also be easily derived by this proof, The proof is completed. □
Time complexity
On the other side, time complexity as an important element of algorithm should be analyzed. Since “WHILE” iteration is utilized in MIDMRA without distinct end point, the iteration times may not be a fixed value. Hence, we would prove that the time complexity of MIDMRA is polynomial in this part.
Theorem 2
Suppose there exist n nodes in graph G(V,E,S), to find r paths by using MIDMRA to maximize their communication efficiency C, the time complexity would be polynomial.
Proof
As shown in Algorithm 3, MIDMRA could be divided into two parts, the first one is Mirrorimage() algorithm, whose time complexity could be calculated out as T(Mirrorimage())=O(r). While because the amount of paths r is a constant value, T(Mirrorimage()) should be O(1).
For another, the second part Pathselection()’s time complexity is hard to be figured out since there is a ’WHILE’ iteration, for easy calculation, Algorithm 2 is simplified as Algorithm 4.
In Algorithm 4, the main iteration could be separated into four parts: Destination finding iteration, distances calculation, neighbor nodes comparisons, and shortest path selection. Hence, these four parts could be indicated as T _{ while }, T _{ d }, T _{ compare }, and T _{ short }. And time complexity of Pathselection() could be calculated as Eq. 6.
Because r∗n nodes exist in an extended mirror image, and all nodes are utilized in distance calculation, each iteration T _{ d } could be figured out as O(r∗n). While as r is constant, T _{ d }=O(n).
Because paths should be selected disjoint with each other, there only exist r∗n paths in PATH list at most. For a single node i, r∗n would be the most comparison times. So, T _{ compare }≤O(r∗n)=O(n). Correspondingly, as there are r∗n paths in PATH at most, T _{ short }≤O(n). And the r∗n paths must have destination D, T _{ while }≤O(n).
Consequently, the time complexity of Pathselection() algorithm could become as follows:
so, the T _{ Pathselection } is less than O(n ^{3}), and the time complexity of MIDMRA would become less than O(n ^{3}+1)=O(n ^{3}). Time complexity of MIDMRA is polynomial. The proof is completed. □
Evaluation performance
After a series of introductions and analyses, the details and advantages of MIDMRA algorithm has been presented. Then, simulations to evaluate performances of MIDMRA are stated in this section.
Simulation setup
We generate a 70 to 70 m square space, and all CR nodes and PUs could only move in this plane space. In these simulations, CR nodes could not move, but PUs have random appearance and spectrum channel occupation capabilities. For accuracy of evaluation, simulation in each scenario would be repeated 100 times with random redistribution of CR node locations in each time. Some default sets of simulation parameter are stated in Table 1.
Communication efficiency
In order to evaluate MIDMRA, communication efficiency simulation analysis is utilized. As introduced previously, there are few related works on this problem, especially without priori route information. Thus, the disjoint routing mechanism in [9] is selected to compare with MIDMRA, which is represented by the Closeness mechanism in this paper. Because the closeness mechanism needs priori routing information, an allpath routing algorithm is added before comparison, which costs a lot of time and lengthens simulation period enormously.
For comprehensive comparison, this simulation is held in four different scenarios, and the result is depicted in Fig. 6.
Nodes’ variation
Under different CR node amounts, Fig. 6 a figures out the comparison between MIDMRA and closeness.
Blue bars represent MIDMRA’s average communication efficiencies of 100 iterations which result in different node amounts, and orange bars indicate average communication efficiencies of closeness. As the density of nodes increasing, MIDMRA maintains steady at a highlevel communication efficiency, while closeness shows a decreasing trend since it is hard to find appropriate paths under a crowded node scenario. When the node amount has exceeded a fixed threshold, MIDMRA are all greater than closeness by 15 to 20%, which indicates that MIDMRA has better performance in different node amounts.
Channel variation
Figure 6 b depicts communication efficiency comparison when the amounts of channels are different. Blue and orange bars represent average communication efficiencies generated by MIDMRA and closeness, respectively. As the channels’ amount is increasing, the communication efficiency of these two mechanisms are growing steadily, and MIDMRA is always better than closeness.
PUs’ amount
In Fig. 6 c, box plot is employed for comparison between MIDMRA and closeness when PUs’ amounts increase. Blue boxes and curves represent MIDMRA and red indicates closeness. Because the high density of PUs has important impacts on path selection in CR networks, the main trends of these two mechanisms is downward. However, the communication efficiencies of MIDMRA are almost 10% higher than closeness at least no matter Q1, Med, and Q3 points or average values.
PUs’ interference range
In this simulation, communication efficiency comparison is held under different PUs’ interference ranges as Fig. 6 d. When PUs’ interference range increase, the candidate idle channels decrease, which leads the downward trends of the two mechanisms’ performances. And in 60 and 70 m scenarios, few difference exists since most CR nodes are under the same PUs’ ranges, which causes few distinctions no matter which paths have been selected. While a floor performances exist at 40% since PUs’ amount is only 15, five idle spectrum time slots must exist at least. In general, outcomes of MIDMRA are much better than closeness, especially in 20 m scenario.
Other mechanisms
In order to discuss the dis/advantages of MIDMRA and other related multipath routing mechanisms, more simulations with different mechanisms should be held.
Therefore, MIDMRA, closeness, and the space and spectrum disjoint protocols in [13] and the multilayerbased multipath routing algorithm (MMRA) are employed. For short, the spectrum and spectrum disjoint protocols are abbreviated as “disjoint.”
In this simulation, these two mechanisms are compared on successful data receival rate since they have different routing approaches. And detailed simulation settings are stated in Table 1. Five hundred packet data would be send at a speed of 10 packets/s, which means that each packet would cost 0.1 s from one node to another. When PU arrives, the links between the nodes in PU’s interference range must stop data transmission and hop to other channels; channel hopping time is the delay which is generated by communication reconfiguration on other channels. While timeout threshold represents the limit time of packet loss.
Then, by simulating 100 iterations as those in previous experiments, the results are depicted as Fig. 7. The upper part of figure draws successful data receival rate, and the lower part is the average selected paths amounts which are utilized in simulations.
Figure 7 a shows successful data receival rate when the amounts of CR nodes are different. MIDMRA, closeness, and disjoint maintain stable performances through different network densities, but the successful data receival rates between them are obvious. MIDMRA has over 10% higher data transmission rate than closeness, which has been proven in previous sections. The disjoint mechanism has the lowest data rate since fixed spectrum channels assignment is acquired. While MMRA has the best performance in these mechanisms, but the amounts of paths which are utilized for data transmission are also increasing with CR nodes. The cost of MMRA is always higher than others.
Figure 7 b depicts out successful data receival rate under different PU amounts. When the amount of PU increase, there is a downward trend in all results, especially for result of disjoint. That is because disjoint does not focus on PU interferences. MMRA and MIDMRA have a small difference on the results; although, MMRA has an advantage, which is because more paths are used.
In conclusion, MIDMRA has better performances than closeness and disjoint under single interface CR device environment. MMRA and MIDMRA are applied in different environments, the former could get higher results with high cost, while the latter have more adaptability to extreme applications and relatively good results.
Conclusions
In summary, the disjoint multipath routing problem has been addressed under single interface environment through the presented algorithm MIDMRA in this paper. By proposing the mirror image algorithm, the multipath routing problem is simplified into the single shortest path routing problem. Through using the path selection algorithm, a long optimal path is selected in an extended mirror graph, so disjoint multiple paths could be obtained from this long optimal path. Advantages of MIDMRA have been analyzed and proven, simulation results indicate that MIDMRA is workable and has better performance than other routing mechanisms.
On the other side, there also exist some problems and challenges waiting for studying in future:

PUs’ movements are continuous and random, ordinary “ONOFF” type definition on spectrum channels occupation is not very appropriate for this question actually, a more precise PUs’ interference estimation method should be studied.

The purpose of continuous data transmission is the same between this paper and delay tolerance in sparse network. But the different topologies make them hard to share solutions. The disruption on key nodes in sparse networks is a major bottleneck for MIDMRA in sparse networks. The combination between MIDMRA and solutions in sparse networks for settling this bottleneck would be researched.

More comprehensive experiments on real CR networks test platform would be held.
References
M Noura, R Nordin, A survey on interference management for devicetodevice (d2d) communication and its challenges in 5g networks. J. Netw. Comput. Appl. 71:, 130–150 (2016). [Online]. Available: http://www.sciencedirect.com/science/article/pii/S1084804516300753.
N Panwar, S Sharma, AK Singh, A survey on 5g: The next generation of mobile communication. Phys. Commun. Part 2. 18:, 64–84 (2016). Special Issue on Radio Access Network Architectures and Resource Management for 5G. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S1874490715000531.
SJ Darak, S Dhabu, C Moy, H Zhang, J Palicot, A Vinod, Low complexity and efficient dynamic spectrum learning and tunable bandwidth access for heterogeneous decentralized cognitive radio networks. Digital Signal Process. 37:, 13–23 (2015). [Online]. Available: http://www.sciencedirect.com/science/article/pii/S1051200414003431.
J Riihijärvi, P Mähönen, M Petrova, What will interference be like in 5g hetnets?Phys. Commun. Part 2. 18:, 85–94 (2016). Special Issue on Radio Access Network Architectures and Resource Management for 5G. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S1874490715000506.
C Cormio, KR Chowdhury, A survey on mac protocols for cognitive radio networks. Ad Hoc Netw. 7(7), 1315–1329 (2009).
Z Hasan, H Boostanimehr, V Bhargava, Green cellular networks: A survey, some research issues and challenges. Commun. Surv. Tutorials IEEE. 13(4), 524–540 (2011).
J Mitola, Cognitive radio architecture evolution. Proc. IEEE. 97(4), 626–641 (2009).
J Mitola, GQ J Maguire, Cognitive radio: making software radios more personal. Pers. Commun. IEEE. 6(4), 13–18 (1999).
I Beltagy, M Youssef, M ElDerini, in Wireless Communications and Networking Conference (WCNC). A new routing metric and protocol for multipath routing in cognitive networks (IEEE, 2011), pp. 974–979.
M Youssef, M Ibrahim, M Abdelatif, L Chen, AV Vasilakos, Routing metrics of cognitive radio networks: a survey. IEEE Commun. Surv. Tutorials. 16(1), 92–109 (2014).
D Zhang, Q Liu, L Chen, W Xu, K Wang, Multilayer based multipath routing algorithm for maximizing spectrum availability. Wirel. Netw.1–13 (2016). [Online]. Available: http://dx.doi.org/10.1007/s112760161377x.
M Karmoose, K Habak, M Elnainay, M Youssef, in International Conference on Wireless and Mobile Computing, Networking and Communications. Dead zone penetration protocol for cognitive radio networks, (2013), pp. 529–536.
S Ju, JB Evans, in GLOBECOM  IEEE Global Telecommunications Conference. Cognitive multipath multichannel routing protocol for mobile adhoc networks, (2010).
A Valera, WK Seah, S Rao, in Proceedings  IEEE INFOCOM, vol. 1. Cooperative packet caching and shortest multipath routing in mobile ad hoc networks, (2003), pp. 260–269.
K Wu, J Harms, in IEEE International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems  Proceedings. Performance study of a multipath routing method for wireless mobile ad hoc networks, (2001), pp. 99–107.
H Mustafa, X Zhang, Z Liu, W Xu, A Perrig, Jammingresilient multipath routing. Dependable Secure Comput. IEEE Trans. 9(6), 852–864 (2012).
X Zhang, A Perrig, in GLOBECOM  IEEE Global Telecommunications Conference. Correlationresilient path selection in multipath routing, (2010).
Y Cao, Z Sun, Routing in delay/disruption tolerant networks: a taxonomy, survey and challenges. IEEE Commun. Surv. Tutorials. 15(2), 654–677 (2013).
J Zhao, X Zhuo, Q Li, W Gao, G Cao, Contact duration aware data replication in DTNs with licensed and unlicensed spectrum. IEEE Trans. Mobile Comput. 15(4), 803–816 (2016).
Q Yuan, I Cardei, J Chen, J Wu, in 2015 IEEE Global Communications Conference (GLOBECOM). Multicopy routing with trajectory prediction in social delaytolerant networks, (2015), pp. 1–6.
E Martins, M Pascoal, A new implementation of yen’s ranking loopless paths algorithm. Q. J. Belg. Fr. Ital. Oper. Res. Soc. 1(2), 121–133 (2003). [Online]. Available: http://dx.doi.org/10.1007/s1028800200102.
JW Suurballe, RE Tarjan, A quick method for finding shortest pairs of disjoint paths. Networks. 14(2), 325–336 (1984). [Online]. Available: http://dx.doi.org/10.1002/net.3230140209.
R Bhandari, Survivables NetworksAlgorithms for Diverse Routing (Kluwer Academic Publishers, Boston, 1999).
Acknowledgements
This research is supported by the National Natural Science Foundation of China (Grant Nos. 51475343 and 61672395), the International Science & Technology Cooperation Program, the Hubei Technological Innovation Special Fund (Grant No. 2016AHB005), and the Fundamental Research Funds for the Central Universities (Grant No. 2017III5XZ).
Funding
National Natural Science Foundation of China (Grant Nos. 51475343 and 61672395) are supporting the data acquisition devices and materials; the International Science & Technology Cooperation Program, Hubei Technological Innovation Special Fund (Grant No. 2016AHB005) is supporting traveling fees abroad on researching this design in France; and the Fundamental Research Funds for the Central Universities (Grant No. 2017III5XZ) is the supporting data analyses.
Authors’ contributions
DZ designed the main body of the algorithm and completed all experiments; QL and LC gave guidance on the ideas of this algorithm and discussed research problems with DZ in the process of the design; WX gave assistance with DZ on the simulations and data analyses; KW discussed with and assisted DZ on writing this paper. All authors read and approved the final manuscript.
Competing interests
The authors declare that they have no competing interests.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Zhang, D., Liu, Q., Chen, L. et al. Mirrorimagebased disjoint multipaths routing algorithm for maximizing communication efficiency. J Wireless Com Network 2017, 114 (2017). https://doi.org/10.1186/s1363801708925
Received:
Accepted:
Published:
DOI: https://doi.org/10.1186/s1363801708925
Keywords
 5G network
 Cognitive radio networks
 Multipath routing
 Maximizing communication efficiency