DAG Based Multipath Routing Algorithm for Load Balancing in Machine-to-Machine Networks

In M2M networks, most nodes are powered by battery; hence the overused nodes may easily be out of power, which causes the reduction of network lifetime. To solve this problem, it is helpful to balance network load into more nodes and links, so as to reduce network congestion. Multipath routing is a useful tool to reduce congestion, since data flow can be dispersed into multiple paths. However, most of the previous multipath routing algorithm is based on the path disjoint constraint, which leads to the lack of routing paths and the failure to disperse data flow into more links. In this paper, a directed acyclic graph based multipath routing algorithm for congestion minimization (DAGMR) is proposed, where different routing paths are confined in a directed acyclic graph (DAG) under time delay constraint. Furthermore, the data flow distribution is accomplished through partial capacity network to obtain the minimal multipath routing congestion factor. Simulation indicates that our algorithm can obtain lower congestion factor and formulates multipath routing graph with more nodes and links than algorithm with path disjoint constraint. In addition, our algorithm is a polynomial time complexity algorithm with nodes and links number of the entire network.


Introduction
At present, Machine-to-Machine (M2M) network has emerged as an innovative topic and is receiving huge attention [1]. One of the biggest advantages of M2M networks is that nodes directly communicate with each other without human intervention, so that costs can be reduced and services can be improved in a wide range of industries. However, performance of M2M network suffers a lot from low-power character of network nodes. Since most nodes in wireless M2M networks are powered by batteries, the overused nodes can easily be out of power, which leads to the reduction of lifetime of entire networks [2]. To solve above problems, network load should be balanced into different nodes and links so as to reduce the congestion of certain links and ease the burden of certain overused nodes.
The objective to balance network load is to reduce network congestion. To achieve this objective, multipath routing is a useful method, since network data flow can be dispersed into multiple paths, so as to reduce network congestion. Former researches of this aspect are as follows. Reference [3] represents multipath routing as an optimization problem of congestion minimization and proposes a polynomial time algorithm to solve the problem of congestion minimization under path number constraint and time delay constraint. Reference [4] proposes a bandwidth aware multipath routing algorithm for Ad Hoc network. References [5,6] propose low complexity link state multipath routing algorithm. Reference [7] proposes a tree search based multipath routing algorithm. Reference [8] proposes a network decomposition and traffic balancing based multipath routing algorithm.
Those algorithms above are mostly based on the principle that different paths should be disjoint (including node disjoint and link disjoint). Although the probability of data session failure can be reduced through the path disjoint principle based multipath routing, network congestion cannot be minimized, due to the following two reasons. First, the paths disjoint constraint leads to the reduction of paths number, which is a negative impact on the balance of data flow. Second, while trying to find disjoint paths, some extra links with relatively low link capacity use rate would be ignored. For the example illustrated in Figure 1, although four parallel paths from to , which are depicted in solid line, exist, it is also helpful if some extra links crossing those paths can be utilized. For instance, when V 2 → V 3 and V 3 → are both in high capacity use rate and the capacity use rate of can be reduced, if V 2 disperses some data flow to V 6 .
In order to further reduce network congestion, this paper proposes a directed acyclic graph (DAG) based multipath routing algorithm. Our algorithm abandons the path disjoint principle, and the final multipath routing graph is obtained through maximum directed acyclic graph under time delay constraint (ML-DAG). Comparing with the former multipath routing algorithms, our algorithm constructs multipath routing graph with more nodes and links, and the network congestion can be efficiently reduced. The rest of this paper is organized as follows. Basic concept and the problem of multipath routing for congestion minimization under time delay constraint (MCMTD) are proposed in Section 2. In Section 3, the explicit description of three parts of entire algorithm with the corresponding time complexity analysis is proposed. Section 4 illustrates the simulation results, compared with the split multipath routing with maximally disjoint paths (SMR) [9] algorithm. Section 5 concludes the entire paper.

Basic Model and Problem Formulation
2.1. Basic Model. The topology of M2M network is modeled as a directed graph, ( , ), where and are set of nodes and set of links, respectively, with the following properties.
(i) For each link = (V , V ), V , V refer to head and tail of , respectively, which can be denoted as V = ( ) and V = ( ), besides V is called the parent node of V . For any node V ∈ , (V) and (V) denote the set of out links and set of input link of V in , respectively.
(iii) For any = (V , V ) ∈ , (V , V ) (or , ( )) and denote time delay and capacity of the link, respe- ctively. Given one data flow session , ( ), where refers to total data quantity per time unit and , refer to the source node and destination node, respectively, let (0 < < ) be the capacity of occupied by other flow sessions besides , .
(v) Given , ∈ , a simple path, , ( , ), is a subgraph of , namely, , ( , ) ⊂ , such that: , is a simple path, which is denoted as * , . (vi) A circle, ( , ), is a directed graph, such that In addition, directed acyclic graph (DAG) [10] is one special kind of graph, which is defined as follows.
Definition 1. A directed graph (as shown in Figure 2), ( , ), is called a directed acyclic graph (DAG), such that for all V , V ∈ , if simple path from V to V , * V ,V ⊂ , exists, then no path from V to V exists in .
According to above definition, DAG has two important properties.
International Journal of Distributed Sensor Networks 3 First, DAG can be divided into several layers, which is defined as follows.
(2) Nodes of the first layer have no input links, namely, 1 = {V | V ∈ , = 0}; and ∀1 < ≤ , nodes of layer have parent node in layer −1, namely, = (3) Links in each layer connect nodes in the same layer, namely, Second, longest path [11] between two nodes can be defined in DAG as follows.
Furthermore, following two types of DAGs are presented in this paper, which are useful throughput the paper. (1) =̂, ⋃ V V is a subgraph with circle.

Multipath Routing for Congestion Minimization under
Time Delay Constraint. As mentioned in [3], the multipath routing strategy for data transmission can be denoted as follows. (1) Link capacity constraint, namely, for all ∈ , 0 < ( ) ≤ − .
(2) Network flow constraint, namely, As mentioned before, the efficiency of multipath routing strategy is evaluated by the congestion factor [3], which is defined as below. (1)

Congestion factor of each link is
In above definition, ( ) is the judgement of congestion on each link and is the judgement of congestion of entire network, according to [3]. However, is not a good evaluation for MRS. For one thing, if some link of has relatively large usage rate, , the congestion factor of whole network is not able to judge the good MRS from the bad ones. For another, to further reduce the network minimization, it is needed to disperse the data flow into those links with relatively low usage rate. Hence, is a better judgement for MRS than . According to above analysis, problem of multipath routing for congestion minimization under time delay constraint (MCMTD) can be proposed as follows. Problem MCMTD: Minimize , s.t: (1) ( , , , ) = { , ( , ), ( )} satisfies Definition 6.

Multipath Routing Algorithm for Congestion Minimization
Problem MCMTD can be summarized as constructing MRS to minimize . To achieve this aim, we need the following two phases.
(1) Obtain one L-DAĜ, , which includes as many links as possible.
(2) Allocate data flow into links of̂, , which has relatively lower link capacity use rate.

Obtain ML-DAG.
Let , be an initial L-DAG then, according to Definitions 4 and 5, the ML-DAG,̂, , can be obtained through gradually adding nodes and links to , , until the no circle property, closure property, or time delay constraint cannot be maintained. The procedure of obtaining ML-DAG includes two phases.

Network Simplification.
Network simplification is helpful to exclude nodes and links with relatively long distance from and , so that the scale of original network can be reduced and further algorithm of obtaining ML-DAG can be simplified. To achieve this aim, the concept of distance between two nodes should be defined.
(2) Else, if̂V V is the shortest path from V to V in , then According to above definition, the distance between two nodes corresponds to the length of shortest path between two nodes, which leads to the following two theorems.
Proof. Consider the following three situations.
So the theorem is proved.
According to above two theorems, if ( , V)+ (V, ) > , then V does not belong tô, and should be excluded. Hence, the algorithm of network simplification is as follows.
Algorithm 11. Network simplification is as follows.
Step 2: . When all notes have been traversed, output .

Expanding Algorithm to Obtain ML-DAG.
As mentioned before, ML-DAG can be obtained through gradually adding nodes and links. Each adding step is called expanding operation, as defined below.
Expanding operation satisfies the following theorem. Let 0 = min ( , ), namely, the shortest path from to is chosen to be the initial L-DAG. According to Theorem 13,̂, can be obtained through finite times of EOs, since is a graph with finite links and each EO adds new links to . In order to make sure of the completeness and efficiency of the entire process to obtain ML-DAG, we have to figure out a principle of expanding operation. Considering that each expanding may probably increase the length of the longest path from to , which is a negative influence on the time delay constraint, our expanding operation follows the principle that the increase length of longest path after each expanding can be minimized. To achieve this objective, several examples in Figure 3 are proposed to show a phenomenon.
Assuming time delay of all links equals 1, then each graph in above figure is described as follows.
(a) Original L-DAG, is a graph with two paths from to . Nodes of can be divided into layers as, L1: ; L2: V 1 , V 2 ; L3: V 3 , V 4 ; L4: V 5 , V 6 ; L5: . One of the longest path from to is → V 1 → V 3 → V 5 → , time delay of which is 4. (c) Let (V 2 , V 1 ) be the adding path, where layer of V 2 and V 1 are in the same layer, then the longest path becomes These examples show that adding one path from lower layer to the higher layer is a better choice than adding one path from the higher layer to the lower one, according to the principle mentioned above. Our algorithm to obtain the ML-DAG is based on this phenomenon. Algorithm of acquiring ML-DAG (Algorithm 18) is illustrated through the flow chart in Figure 4.
Some modular of the flow chat is explained as shown in Figure 4. M1 Two layers, 1 and 2 , are chosen according to the following procedure. For each , let be the layer gap, such that = 2 − 1 . Initially, set = − 1. Then, gradually reduce from − 1, − 2, . . . , 0, −1, to −( − 1), when two new layers need to be chosen. If = −( −1) and no appropriate layers can be found so that adding path exists from 1 to 2 , then M1 returns false.
M2 M2 is used to find V 1 ∈ 1 and V 2 ∈ 2 . If all nodes that belong to 1 , 2 have been traversed and no appropriate expanding path can be obtained, then M2 returns false.
M4 M4 judges whether path from V 1 to V 2 in exists.
M5 M5 judges whether adding one path from V 1 to V 2 generates one circle.

M6
= ⋃̂V 1 ,V 2 , and , is the longest path from V 1 to V 2 in . M7 M7 judges whether time delay constraint still holds after expanding operation.
The completeness of above algorithm is guaranteed by next theorem. Proof. To prove the theorem, it should be shown that all possible adding paths have been considered when algorithm ends. In the beginning of each expanding operation, it can be guaranteed that is a DAG and can be divided into layers. Hence, adding paths can be obtained through the following steps. First, find two layers 1 and 2 through M2. Second, choose two nodes V 1 , V 2 belonging to those two layers, respectively, through M3. Third, obtain one adding path from V 1 to V 2 through M3, M4, M5, and M6. Since M1 traverses all layer pairs, M2 traverses all nodes pairs belonging to those two layers, and the correctness of adding path can be ensured through M5, M6 and M7; when M1 returns false, all possible adding paths have been considered. Therefore, Theorem 14 is proved.

Obtain Minimul Congestion
Factor. After obtaininĝ, , the minimal congestion factor of MRS, , can be obtained through allocating data flow into links with low capacity use rate. To achieve this objective, partial capacity graph needs to be considered. End, output G L i .
M3: obtain G T . (1) , and , ( , ) have the same topology, namely, = , = ; (2) for all ∈ Furthermore, the residual graph after data flow distribution is defined as follows. Based on above definitions, can be obtained through gradually adjusting , until ( ) sufficiently approaches , namely, ( ) ≈ , where ( ) denotes the max-flow [12] from to in , . The feasibility of above adjusting process can be guaranteed through the following theorem. (1) Proof of monotone increasing is as follows: is also the distribution of one available network flow on 2 , . Hence, ( 1 ) ≤ ( 2 ).
Above theorem indicates that can be obtained through adjusting . In order to accelerate the adjustment, an algorithm analogous to binary search [13] is proposed as follows. Step 1 Let = 0 and = 1. If ( ) < , return false; else, let = go to Step 3.

Time Complexity Analysis.
Let and be the entire nodes number and links number, respectively. Time complexity analysis of each algorithm is as follows. Algorithm 11 can be completed via the construction of two Dijkstra trees [12], with complexity of Algorithm 11 is ( 2 ). In Figure 4, each expanding operation consists of layer algorithm ( ( + )), shortest path algorithm ( ( 2 )) [12], and longest path algorithm ( ( + )) [11]. Hence, each expanding procedure can be finished in ( 2 ⋅ ( 2 + )), which is the worst case when no node and link are excluded after Algorithm 11 and each pair of nodes has been traversed. Considering that at least one link can be added in each expanding operation, entire algorithm can be finished in ( 2 ⋅ ⋅ ( 2 + )) in the worst case. In Algorithm 18, let ( * ) = , then, after ⌈log 2 (1/ )⌉ iterations, ∈ [(1 − ) ⋅ * , (1 + ) ⋅ * ] satisfies, and Algorithm 18 ends. Each iteration needs a max-flow algorithm, with time complexity ( 2 ⋅ ) in the worst case. Hence, Algorithm 18 can be finished in ( 2 ⋅ ⋅ ⌈log 2 (1/ )⌉). In summary, time complexity of entire algorithm is which is polynomial time complexity with and .

Introduction to Basic Network Environment.
The simulation network, ( , ), is formulated as a Transit-Stub Domain [14], where the connection probability between any two nodes is initially set to be 0.01. Basic parameters of capacity and time delay are as follows.
(i) For ∀ ∈ , let link capacity, , and average used capacity, , be 1 M bps and 0.5 M bps, respectively. Let current used capacity, , be randomly chosen between (1 − ) and (1 + ) , where = 0.3. Let the data sent quantity from to be = 0.3 M bps.

Simulation and Comparison Analysis.
As mentioned before, our DAG based multipath routing algorithm (DAGMR) does not satisfy the path disjoint constraint; hence, performance of DAGMR should be compared with "Split Multipath Routing Algorithm with Maximally Disjoint Paths (SMR)" [9], which is a typical algorithm that follows the path disjoint constraint.
First, the most important performance for the load balancing in Machine-to-Machine network is the congestion factor of MRS, which is illustrated in Figure 5. Figure 5 indicates that DAGMR obtains lower congestion factor than SMR, and the congestion factor gap of two algorithms increases as the nodes number in whole network increases. Moreover, when more than 200 nodes exist in network, congestion factor obtained by DAGMR is 5% smaller than that obtained by SMR.  Second, DAGMR is helpful to distribute the data flow into more nodes and links, so as to ease the burden of certain overused nodes, as mentioned before. Hence, the number of nodes and links in the final multipath graph of DAGMR should be checked and compared with that of SMR. Figure 6 indicates that nodes and links number in final routing graph obtained by DAGMR is larger than that obtained by SMR, and the gap of nodes and links number obtained in final routing graph by two algorithms increases as the network nodes number increases. Moreover, when entire network has more than 200 nodes, DAGMR subsumes 20% more nodes and links than SMR.
In above simulations, the connection probability of any two nodes is a fixed value, and performance about different nodes number is illustrated. Next, let the nodes number of whole network be fixed as 300 and let connection probability of any two nodes be changed from 0.008 to 0.015. Then, congestion factor of MRS is illustrated in Figure 7. Figure 7 indicates that DAGMR obtains lower congestion factor than SMR, and the congestion factor gap of two algorithms increases as the connection probability increases. Moreover, when connect rate is larger than 0.09, congestion factor obtained by DAGMR is 5% lower than that obtained by SMR.
Furthermore, the throughput performance of DAGMR should be analyzed. Given source node, , destination node, , and time delay constraint , let be the restricted congestion factor of MRS, namely, for any ( , , , ), according to Definition 6, ≤ holds. Then, maximum data throughput, max , can be obtained through DAGMR, where second phase of the algorithm should be changed to obtain the maximum throughput under restricted congestion factor of . Let the basic parameter of network be the same as before, where ( , ) = 4 and time delay constraint = 6. Let the restrict congestion factor be changed from 0.5 to 1. Then throughput performance of network with 200, 300, 400, 500 nodes is illustrated in Figures 8, 9, 10, and 11. Figures 8, 9, 10, and 11 indicate the following aspects.
(i) Throughput increases as the network nodes number increases, which is reasonable, since the more the nodes exist in network, the more the opportunity is to get extra routing path.
(ii) Throughput obtained by DAGMR is larger than that obtained by SMR, and the gap of throughput increases as the restricted congestion factor increases. (iii) The throughput ratio between DAGMR and SMR is larger than 1 and reaches the peak value when restricted congestion factor is about 0.65.
In summation, our DAG based multipath routing algorithm (DAGMR) achieves lower congestion factor and subsumes more nodes and links in the final multipath subgraph than SMR, when data sent quantity is fixed in a flow session. Meanwhile, when restricted congestion factor is fixed, DAGMR obtains larger data throughput than SMR. Therefore, DAGMR is a better choice for network load balancing in Machine-to-Machine networks.

Conclusion
Multipath routing is a useful method to balance network load and reduce congestion and has received extensive research. However, most of previous multipath routing algorithms are not able to fully utilize the advantage of multipath, due to the premise that routing paths should be disjoint. In this paper, a new multipath algorithm is proposed, in which the path disjoint constraint is replaced by a principle that multipath should be confined into a directed acyclic graph under time delay constraint. Meanwhile, the partial capacity network is proposed, in order to obtain the final multipath congestion factor. Simulation shows that our algorithm achieves lower DAGMR SMR Throughput (s) Congestion factor  Figure 11: Simulation result of data throughput with the change of restricted congestion factor, when entire nodes number is 500.