1 Supplementary for A Location-free Semi-Directional Flooding Technique for On-demand Routing Protocols in Low-rate Wireless Mesh Networks Seong Hoon Kim, Member, IEEE, Poh Kit Chong, Member, IEEE, and Daeyoung Kim, Member, IEEE, ✦ 1 I NTRODUCTION TO B OUNDED -D EGREE AND -D EPTH T REE (BDDT) 1.1 A BDDT-based block-addressing scheme A bounded-degree-and-depth tree (BDDT) [1] is a rooted tree in which depth and degree of a tree are bounded by three network-wide constants: Cm , Rm , and Lm . Cm and Rm are the maximum allowable number of children a parent may have and the maximum number of routers a parent may have as children, respectively. Lm is the maximum depth in the network. Based on these network-wide constants, each parent router device at depth l assigns network addresses of child router devices as follows: An = Aparent + 1 + (n − 1)Cskip(l). Here, Cskip(l) indicates an offset, which is an address space for its descendant nodes, and can be computed as follows m −l−1 −Cm RL m Cskip(l) = 1+Cm −Rm , if Rm ≥ 2 1−Rm The network addresses of end devices, i.e., mesh clients that cannot have descendant, is assigned in a sequential manner with the nth address, An , given by the following equation: An = Aparent + Cskip(l)Rm + n where 1 ≤ n ≤ (Cm − Rm ) and Aparent stands for the address of the parent. We exemplify a network topology consisting of mesh routers but not mesh clients for ease of presentation. Fig. 1 of the main text depicts a BDDTbased logical tree topology (see Fig. 1(b) of the main text) and an address space (see Fig. 1(c) of the main text) corresponding to the physical topology in Fig. 1(a) of the main text where Cm , Rm and Lm are 4, 3, and • Seong Hoon Kim and Daeyoung Kim are with the Department of Computer Science, Korea Advanced Institute of Science and Technology (KAIST), Daejeon, 305-701, Rep. of Korea. E-mail: shkim08@kaist.ac.kr, kimd@kaist.ac.kr. • Poh Kit Chong is with Faculty of Engineering and Science, Universiti Tunku Abdul Rahman, 53300 Kuala Lumpur, Malaysia. E-mail: chongpohkit@ieee.org. 3, respectively. For instance, in Fig. 1, the node C is the second child router of the node A (i.e., a root). Therefore, the node C is assigned 18 = 0 + 1 + 17 where Cskip(0) = 17. Because of the address assignment rule of the BDDT, when receiving a packet to destination At , a node with address Aln can know that At belongs to its descendant if Aln < At < Aln + Cskip(l − 1) and non-descendant otherwise where Aln+1 = Aln + Cskip(l − 1). With the BDDT, packets from any source nodes can reach any destinations by using the network address without additional control overheads or routing tables. That is, if Aln < At < Aln + Cskip(l − 1), a node forwards data packets to the next hop node with address Anh = At for end devices A −(Aln +1) and with address Anh = Aln +1+ tCskip(l) Cskip(l) for routers. Otherwise, the packet is forwarded to its parent node Aln . For example in Figs. 1(b) and 1(c) of the main text, when the node I with network address 24, denoted as I-24, sends a packet to the node O-20, it first checks the child address space to decide whether it is its descendant or not, i.e., 24 < At < 24 + Cskip(1) = 29. Since the node O-20 doesn’t belong to the I-24’s descendant set, the packet is forwarded to its parent node C-18 and is then forwarded down to the node H-19. Eventually the node O-20 receives the packet. 1.2 The BDDT Formation A network starts from the root node with address zero at depth zero. Then, a node wishing to join the network performs a scan procedure to discover candidate parents within its transmission range and sends an association request to a potential parent node with the lowest depth and good link quality among discovered nodes. The potential parent replies by sending the association response containing the node’s network address computed by the BDDT-based distributed address assignment mechanism as explained above. 2 TABLE 1 Notations 15 ρ:0.73626 12 ρ:0.74217 min min the maximum allowable number of children a parent may have Rm the maximum number of routers a parent may have as children Lm the maximum depth in the network n the number of nodes in a network N (u) 1-hop neighbors of u depth(u) the depth of u td(u, v) the tree distance from node u to node v tdN (u, d) the tree distance from node u to node v through one of u’s neighbor such that tdN (u, d) = td(v, d) + 1 for v ∈ N (u) r(u) the radius value of node u receiving a RREQ packet δ(u, v) the shortest path hop distance between node u and v Cm tdN (u, v) tdN (u, v) 10 10 5 0 1 2 3 4 5 6 100 Distance (m) Distance (m) 120 ρ:0.74615 80 60 40 20 0 2 4 5 6 7 8 9 5 min 8 9 10 11 min (b) (4, 3, 9) 120 ρ:0.75858 120 ρ:0.75693 100 100 Distance (m) Distance (m) 7 80 60 40 20 80 60 40 20 3 4 5 6 7 tdmin(u, N 8 9 10 11 v) (c) (5, 4, 7) 0 2 3 4 5 6 7 8 9 10 11 tdmin(u, v) N (d) (6, 5, 6) Fig. 1. Boxplots indicating the median value and the quartiles of Euclidean distance according to tree distance, tdmin N (u, v) with different address configurations: (a) (3, 2, 14), (b) (4, 3, 9), (c) (5, 4, 7), and (d) (6, 5, 6). ρ is Pearson’s correlation coefficient between tdmin N (u, v) and the corresponding euclidean distance. 2 A N OTATION TABLE For clarity, Table 1 summarizes the notations in use throughout the paper. 3 T HE E XPLORATORY DATA A NALYSIS T REE D ISTANCES 4 12 10 8 8 min 6 4 tdmin(u, v) = δ N 3 4 5 6 6 7 8 9 10 11 (b) (4, 3, 9) ρ:0.75726 2 5 7 8 9 10 11 ρ:0.74564 6 4 2 0 1 tdmin(u, v) = δ N 2 3 4 5 6 min tdN (u, v) 7 8 9 10 11 v) (d) (6, 5, 6) Fig. 2. Boxplots indicating the median value and the quartiles of tdmin N (u, v) according to the shortest path discovered by AODV with different address configurations: (a) (3, 2, 14), (b) (4, 3, 9), (c) (5, 4, 7), and (d) (6, 5, 6). ρ is Pearson’s correlation coefficient between tdmin N (u, v) and the AODV’s shortest path. tdN (u, v) (a) (3, 2, 14) 0 2 6 3 N (c) (5, 4, 7) tdN (u, v) 2 tdmin(u, v) 10 2 40 4 min tdN (u, v) = δ 0 1 tdN (u, v) min tdN (u, v) 12 60 3 2 9 10 (a) (3, 2, 14) 80 0 2 10 8 N 20 3 7 v) = δ tdmin(u, v) min tdN (u, 100 6 4 min (u, N td 0 1 120 ρ:0.74771 8 ON Regarding the two properties above, the most important factor is how much the tree distances are correlated with the shortest path distance in terms of the three cases in Fig. 3 of the main text. To confirm this, we took exploratory data analysis (EDA) [2], [3]. For this, we ran numerous simulations based on the configuration in Section 7 with different address parameters where we used 1000 random topologies, each of which has 10 communications pairs, and used AODV to find the baseline shortest paths. Results of the experiments are shown in Figs. 1 and 2. As depicted in Fig. 1, the median values of physical Euclidean distances of two arbitrary nodes tend to inincreases. The boxplots in Fig. 2 show crease as tdmin N as a function of hop distance of the quartiles of tdmin N corresponding shortest paths by AODV. As expected, increases as those of shortest the median values of tdmin N paths using AODV increases. To quantitatively measure this, we use Pearson’s correlation coefficient ρ [4] to obtain the linear dependence of tree distance with physical distance and shortest path distance by AODV, giving a value between +1 and -1 inclusive. In detail, the Pearson’s correlation coefficient ρ [4] is used to measure the linear relationship of two random variables. Since the expected value of X can be represented as μX = E[X], the Pearson’s correlation coefficient ρX,Y of two random variables X and Y can be expressed as below: ρX,Y = Cov(X, Y ) σX σY (1) where σX and σY are the variances of X and Y , respectively. The covariance Cov(X, Y ) is a measure of the relationship between X and Y , which can be expressed as below. Cov(X, Y ) = E[(X − μX )(Y − μY )] = E[XY ] − μX μY (2) If X and Y are statistically independent random variables, then E[XY ] = E[X]E[Y ], thus implying that the covariance of statistically independent random variables is zero. The correlation coefficient is bounded between 3 -1 and +1. As ρ approaches 1, it implies that the linear dependence between two variables is strong. As can be seen in Figs. 1 and 2, ρ is about 0.75 for reasonably mirrors both all cases, meaning that tdmin N physical and logical distance. ≥δ It is also important to note that theoretically tdmin N must always hold true. However, in Fig. 2, there exist < δ. The root reason of this is some cases where tdmin N that AODV sometimes fails to find the shortest paths due to loss of route request or reply packets during discovery, which is a well-known inferior route selection problem [5] of on-demand routing protocols like AODV. Indeed, we found that less than 10% of routes discovered by AODV was longer hop distance than those of the tdmin N . In summary, tree distances reasonably reflect not only the physical Euclidean distances, but also hop distances because of direction diversity and multiple gradients. 4 T HE A LGORITHM TO C OMPUTE tdmin N Algorithm 1 getMinTD(At , lt ) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: A00 ← 0; A01 ← 1 + Cskip(0) ∗ Rm + (Cm − Rm ); bStop ← f alse; for l = 0 → Lm do it ← nblist.begin; while it = N U LL do if it.A = At then tdmin ← 1; N return tdmin N ; end if if Aln = At then bStop ← true; end if if Aln ≤ it.A < Aln+1 then td ← it.l + lt − l ∗ 2 + 1 else td ← it.l + lt − llca ∗ 2 + 1 Remove it from nblist. end if it ← it.next if td ≤ tdmin then N tdmin ← td; N end if end while if bStop = true then return tdmin N ; end if At −Aln −1 Aln ← Aln + 1 + Cskip(l) Cskip(l); Aln+1 ← Aln + Cskip(l); llca = l end for To run the O(|N |) algorithm, it is necessary for two preconditions. The first precondition is that the neighbor table must also contain the depth of the neighbor nodes. This can be easily done with IEEE 802.15.4 either by receiving the depth of the neighbor node from beacons or by locally computing it as in [6]. Together with this, the second one is that the neighbor table must be sorted in a strictly increasing order of network addresses, which can be easily done using any sorting algorithm during neighbor discovery. Based on these two preconditions, the algorithm runs as follows. From depth zero, the algorithm iterates all the neighbor entries in an increasing order while checking whether each neighbor address belongs to address spaces of target’s ascendants. Then, if there are neighbor nodes that share a common ancestor with the target, the algorithm goes to the next depth after removing unnecessary neighbor nodes without computing tdmin N . This procedure is repeated until the target address is found. In detail, given address At and depth lt of target t, line 1 initializes the first and the last addresses in the address space at depth 0. Here, the CSkip function is an offset for descendant nodes in a BDDT, details of which are summarized in Section 1.2 of the supplementary file. Line 2 initializes bStop which is a boolean variable to indicate algorithm termination. For each depth, the iterator, it is set to the first element of a sorted neighbor table, i.e., nblist.begin in line 4. Then, the algorithm goes over each neighbor entry as follows. Lines 6-9 are the case where the target is one of its neighbors, and, is one. Lines 10-12 are the case if the therefore, tdmin N target address is found and hence it does not need to go to the next depth, thus terminating the algorithm at the current depth. Line 13 checks whether or not the current neighbor entry belongs to the descendant of the subtree root, Aln (i.e., grey or black bars in Fig. 4 of the main text). If it is, Aln is a common ancestor and therefore the tree distance is computed. Note that since there can be a common ancestor at deeper depths, the neighbor entry is still required to be computed at the next depth. In contrast, lines 16-17 compute the tree distance with the previous common ancestor and removes the neighbor entry because there is no further common ancestor. In if needed. If the iteration is lines 29-31, it updates tdmin N no longer needed, the algorithm terminates in line 25. Otherwise, it updates Aln , Aln+1 and l for the iteration at the next depth in lines 27-29. As a result, as presented in the following theorem we can find tdmin in O(|N |). N Theorem 1. The time complexity of getMinTD is O(|N |). Proof: 1 2 1 Lm 1 + |N |( ) . . . + |N |( ) Rm Rm Rm Lm ∞ 1 l 1 l =|N | ( ) < |N | ( ) Rm Rm T (n) =|N | + |N | d=0 d=0 Rm ≤ cN = O(|N |) =|N | Rm − 1 where Rm = 0 and c is a positive constant. (3) 4 T HE A LGORITHM TO PROCESS RREQ d s(0,0) d( ,0) rd Remark The SDF algorithm depends on how well tree distances reflect the shortest path distance. However, there is a possibility that nodes physically closer to destinations may have greater tree distances, such that potential shortest paths may not be discovered and thus cannot be used. Although it happens, it rarely affects the overall performance because it is common for multiple shortest paths for a source-destination pair to exist [7]. Therefore, even if a few candidate nodes on the shortest path cannot rebroadcast RREQ packets, it is very likely that RREQ packets can be flooded over the other shortest paths. Indeed, as will be shown in Section 6 of the main provides text, the proposed algorithm based on tdmin N significantly better or comparable performances to NWF and EHRP, demonstrating that the existence of this problem hardly affects the overall performance of SDF. rd Algorithm 2 describes the pseudo code of ProcessRREQ. Given a rreq packet as a parameter, it first determines whether it is the destination or not in line 1. If not, it checks whether the path cost accumulated by the rreq packet is better than the one which is stored. If it is better and the rreq.opt is not NWF, i.e. SDF, algorithm 2 makes a decision about whether to rebroadcast the RREQ in line 7-8. That is, if packet or not after obtaining tdmin N the RREQ packet passes the forwarding condition in line 8, it is rebroadcasted after carrying out line 9-15 which consists of an adaptive RREQ timer window in Section 5.2.1 and radius update, respectively. Subsequently, since can be less than the radius value, it may result in tdmin N further reduction of RREQ flooding. s rs Algorithm 2 ProcessRREQ(rreq) 1: if This node is the target then 2: send RREP to source after discarding rreq. 3: else 4: if rreq has better cost than current one then 5: update routing and route discovery tables. 6: if rreq.opt = N W F then 7: tdmin ← getMinTD(rreq.Ad , depth(rreq.Ad )); N 8: if 0 < tdmin ≤ rreq.radius then N 9: if rreq.radius = tdmin then N 10: W = Tf ; 11: else tdmin 1 N 12: W = rreq.radius−td min rreq.radius Tf ; N 13: end if 14: rreq.radius ← tdmin N ; 15: end if 16: end if 17: rebroadcast rreq with delay window W . 18: else 19: discard rreq; 20: end if 21: end if rs 5 Fig. 3. Two unit disks with overlapping area 6 AN EXPECTED WORST CASE OVERHEAD Theorem 2. Given γ and σ, the greatest expected number of rebroadcasting nodes in SDF is E[|FA∩B (s, d)|] = δ σ{2(td(s, d)γ)2 cos−1 ( 2td(s,d) ) − 12 δ(s, d)γ 2 4(td(s, d))2 − δ 2 } where γ is a maximum distance of a bidirectional communication link a node may have. Proof: The expected number of nodes in the area A∩ B is equal to the number of nodes in the transmission zone covered by all the nodes rebroadcasting RREQs and is given by E[|FA∩B (s, d)|] = σAA∩B (4) where rx = γtdmin and γ is a maximum distance of N a bidirectional communication link a node may have. The number of nodes rebroadcasting RREQs in SDF is the greatest when tdmin N (u, v) is maximum such that tdmin N (u, v) = td(u, v). To find the area AA∩B , we use the formula for the circular segment as in Fig 3. Let rx and dx be the radius of the circle centered at node x and the height of the isosceles triangle based on the chord length a making a central angle θ. For the left circle centered at node s with radius rs such that rs = δ + ε, As = = isosceles triangle Asector − As s 1 2 1 2 rs θ − 2 aδs δ where δ = δ(s, d)γ. Since 12 θ = cos−1 ( 2r ), As = rs2 cos−1 ( δs 1 ) − δs a rs 2 (5) Analogously, we can derive Ad and therefore, the area of A ∩ B is δs δd 1 (6) AA∩B = rs2 cos−1 ( ) + rd2 cos−1 ( ) − aδ rs rd 2 We express this equation with regard to rs , rd , and δ. The equations of the two circles are x2 + y 2 = rs2 (7) 5 (x − δ)2 + y 2 = rd2 (8) with the source-destination pairs to be involved in flooding. For all simulations, we put a PAN coordinator at the Combining eqs. (7) and (8) and solving for x give center of the terrain whereas other nodes are placed ran(x − δ)2 + (rs2 − x2 ) = rd2 (9) domly in given terrains. The interface queue, with two priorities served in FIFO order, between routing layer and MAC layer had a maximum size of 10 packets where δ 2 + rs2 − rd2 routing packets were processed with higher priority than (10) x= data packets. Link status messages were periodically 2δ From this, we can compute the heights, i.e., δs and δd , of transmitted every 15 second to check whether the link is two segment triangles as follows: δs = x and δd = δ − x. available or not. For SDF and EHRP, address parameters are explained in each simulation scenario. δ 2 + rs2 − rd2 δ 2 − rs2 + rd2 The traffic model used constant bit rate (CBR) UDP , δd = (11) δs = 2δ 2δ traffic flows with 40-byte payloads at a rate of 1 packet/s. Since the entire chord length a is 2y, we express a with In each simulation of 250 seconds, the first 50 seconds were used for network formation, and ten communicaregard to rs , rd , and δ as follows tion pairs among mesh routers were selected to measure 2 2 2 δ +rs −rd 2 rs2 − ( ) y2 = the performance of SDF and NWF. Remember that in 2δ s +rd )(−δ+rs −rd ) a LRWMN all mesh clients wishing to transmit data = (δ+rs +rd )(δ+rs −rd )(−δ+r . (12) 2 4δ packets requests one of the mesh routers to perform Therefore, the entire chord length a give routing on its behalf. Thus, this simulation setup is a = 1δ (δ + rs + rd )(δ + rs − rd )(−δ + rs + rd )(−δ + rs − rd ) reasonable for realistic scenarios in LRWMNs. (13) For the route discovery configurations used in both SDF and NWF, we set packets to be queued at a send Plugging eqs. (11) and (13) into eq. (6), we have buffer of each source when route discoveries were ini2 2 2 2 2 2 tially issued by the source. The packets were dropped if 2 −1 δ + rs − rd 2 −1 δ − rs + rd AA∩B = rs cos ( ) + rd cos ( )− they have waited in the send buffer for more than 10s. 2δrs 2δrd 1 We used ETX [11] as the routing metric and set the size of (δ + rs + rd )(δ + rs − rd )(−δ + rs + rd )(−δ + rs − rd ) (14) 2 maximum routing table and the size of neighbor table as As a consequence, since δ = δ(s, d)γ and the greatest 100 (6*100 = 600 bytes) and 20, respectively. Here, the size flooding area is when both rs and rd are equal to of routing table can be thought of as large for resource constrained mesh routers. Nonetheless, we used these td(s, d)γ, the above expression reduces to settings to observe the pure flooding effect regardless of δ(s,d) 2(td(s, d)γ)2 cos−1 ( 2td(s,d) ) AA∩B = memory usage in NWF. − 21 δ(s, d)γ 2 (4(td(s, d))2 − δ(s, d)2 ). (15) Thus, we have the following result E[|FA∩B (s, d)|] = δ(s,d) σ{2(td(s, d)γ)2 cos−1 ( 2td(s,d) ) 1 2 2 − 2 δ(s, d)γ 4(td(s, d)) − δ(s, d)2 }. Thus, theorem is proved. 7 S IMULATION C ONFIGURATION We evaluated our algorithm in ns-2 [8] and IEEE 802.15.4 implemented by J. Zheng et al [9]. We additionally implemented AODVjr with semi-directional flooding (SDF), and network-wide flooding (NWF) as well as EHRP [6]. For all the routing protocols, we used common settings by following ns-2 implementations of IEEE 802.15.4 and configurations in [9]. We set the nodes to have 20m omnidirectional transmission range and 25m carrier sensing range with two-ray ground radio propagation model. We also apply a 0.2% statistical packet error rate (PER) for all our experiments as in [10]. This may not exactly reflect physical characteristics of wireless propagation, but it is enough to observe how well SDF provides optimal routes while allowing only nodes directionally correlated 8 A DDITIONAL P ERFORMANCE E VALUATIONS 8.1 Forwarding Nodes Directionality Even though we showed the number of nodes rebroadcasting RREQ packets, this metric did not reflect the directionality of RREQ packets, and therefore, we also measure how much the directionality is achieved by SDF by introducing a new metric for forwarding nodes directionality, F N D(s, d), which is defined as: → → + |− |− su| ud| (16) F N D(s, d) = → − |sd| u∈F (s,d) where F (s, d) is the set of nodes forwarding RREQ packets initiated by source s to discover destination d. This is a sum of the normalized physical distance of node u involved in flooding from s to d with respect to the physical distance between s and d. This metric reflects how much rebroadcasting node u is directionally correlated with the shortest path between s and d. Fig. 5 shows the forwarding nodes directionality as a function of hop counts. The top four boxplots in Figs. 5(a), (b), (c), and (d) represent the FNDs in NWF and the bottom four 5(e), (f), (g), and (h) are FNDs of the SDF cases. Note 6 50 50 50 50 40 40 40 40 30 30 30 30 20 20 20 20 10 10 10 10 0 0 0 0 −10 −10 −10 −10 −20 −20 −20 −20 −30 −30 −30 −30 −40 −40 −40 −50 −50 0 50 −50 −50 0 (a) 50 −40 −50 −50 0 (b) 50 −50 −50 0 (c) 50 (d) Fig. 4. Examples of location-free semi-directional flooding (Cm = 3, Rm = 2 and Lm = 14) with tree distance. The (a), (b), (c), and (d), are the topologies with randomly deployed nodes with 100 mesh routers in a 100 × 100 m2 terrain. Nodes centered on the large circle rebroadcast RREQs where the large circle is to emphasize nodes rebroadcasting RREQs. Each red arrow presents the direction from the source to the destination. 700 400 300 200 100 0 2 3 4 5 6 7 500 400 300 200 100 0 2 8 9 10 11 12 Hop 3 (a) NWF-(3,2,14) 6 7 500 400 300 200 100 3 4 5 6 7 8 9 10 Hop (e) SDF-(3,2,14) 400 300 200 100 3 5 6 7 500 400 300 200 100 3 4 5 6 7 8 9 10 Hop (f) SDF-(4,3,9) 500 400 300 200 100 0 2 8 9 10 11 Hop 3 5 6 7 8 Hop 9 10 700 600 500 400 300 200 100 0 2 4 (d) NWF-(6,5,6) 700 600 0 2 4 600 (c) NWF-(5,4,7) Forwarding nodes directionality 600 500 0 2 8 9 10 11 12 13 Hop 700 Forwarding nodes directionality Forwarding nodes directionality 5 600 (b) NWF-(4,3,9) 700 0 2 4 Forwarding nodes directionality 500 700 700 600 Forwarding nodes directionality 600 Forwarding nodes directionality Forwarding nodes directionality Forwarding nodes directionality 700 3 4 5 6 7 8 9 10 Hop (g) SDF-(5,4,7) 600 500 400 300 200 100 0 2 3 4 5 6 7 8 9 Hop (h) SDF-(6,5,6) Fig. 5. Forwarding Nodes Directionality as a function of hop count discovered according to different address configuration. The first and second rows are SDF and NWF, respectively. Columns from left to right are address configuration (Cm , Rm , Lm ) (3,2,14), (4,3,9), (5,4,7), and (6,5,6). that the pair of each column, i.e. Figs. 5(a) and 5(e), (b) and (f), (c) and (g), and (d) and (h) in the boxplots ran on the same simulation configuration for NWF and SDF. As a result of this, the median value of FND for two hop routes is about 350 in NWF, and distribution of its data set is widely dispersed. As the hop count of the shortest path increases, the NWF’s FNDs decrease inverse proportional to it because RREQ packets in NWF are omni-directionally flooded regardless of the direction of the destination. This trend does not mean a reduction of RREQ overhead. Instead, it is due to the increase of → − |sd| in Eq. 16, meaning that the spatial proportions of nodes in the shortest paths increase in the given terrain size. On the other hand, the SDF’s FND results tend to gradually increase according to increasing hop counts. However, in all cases FND is less than 100. Interestingly, the data sets of NWF show routes having more than 10 hops whereas those in SDF are at most 10. This indicates that some of routes based on NWF fail to discover the shortest path resulting from the inferior route selection problem of on-demand routing protocols [5]. These results imply that RREQ packets using SDF are efficiently flooded towards the destination since SDF reduces the RREQ overheads by preventing nodes with low correlation to the shortest path from rebroadcasting the RREQ packets. 8.2 Influence of the Network Density To measure the performance of SDF with respect to various node densities, we used a constant terrain size while increasing the number of router nodes. The results of Fig. 6 depict the influence of varying node density. When the node density is low (i.e., 70 nodes), we observed that SDF requires about 79.4% less routing overhead compared to NWF. This is because with low density each router node has less information about the 7 EHRP NWF SDF 60000 50000 40000 30000 20000 10000 0 60 80 100 120 140 160 180 200 The number of routers 0.98 6.5 0.96 6 0.032 EHRP NWF SDF 5.5 0.94 0.92 0.9 5 4.5 4 0.88 EHRP NWF SDF 0.86 60 80 100 120 140 160 180 200 The number of router nodes (a) (b) EHRP NWF SDF 0.03 End-to-end delay 70000 Hop count 80000 Packet Delivery Ratio Routing overhead (packets) 90000 3.5 0.028 0.026 0.024 0.022 0.02 0.018 3 0.016 60 80 100 120 140 160 180 The number of router nodes 200 60 (c) 80 100 120 140 160 180 200 The number of router nodes (d) Fig. 6. Performance results of (a) routing overhead, (b) Packet delivery ratio, (c) hop count, and (d) end-to-end delay as a function of node density. Route discovery delay (sec) 0.8 0.7 0.6 8.3 Influence of the Traffic Load EHRP NWF SDF 0.5 0.4 0.3 0.2 0.1 0 60 80 100 120 140 160 180 200 The number of router nodes (a) Fig. 7. Route discovery delay. tree distances to the others and SDF is constrained by the limited tree distance information. However, as density becomes higher, routing overhead of NWF steeply increases, while there is a gradual growth for SDF. In terms of packet delivery ratio, SDF outperforms the others in all cases. In particular, as density increases, the packet delivery ratio of SDF increases up to about 97.3% when the number of nodes is 130, but shows a slight decrease afterward. On the other hand, NWF shows that its packet delivery ratio drops steeply due to a considerable amount of routing overhead. EHRP shows a gradual improvement and matches NWF after 130 nodes. These results are due to SDF benefitting from increasing neighbor information, which are likely to reduce the detour routes. As expected from our previous observations, the results of hop count and end-to-end delay shown in Fig 6(c) and 6(d) show a similar trend. Remarkably, SDF shows comparable or better performance than NWF and EHRP in terms of hop count and end-to-end delay. We plot route discovery delay in Fig. 7. Due to the adaptive RREQ timer reflecting the tree distance, route discovery delays of both SDF and NWF tend to form a ’U’ shape that initially reduces as the density increases, and curves upwards after an inflection point as the probability of collisions increases with higher node densities. However, the delay for SDF remains relatively lower for higher densities compared to lower densities, while NWF experiences a sharp increase in delay as the density of nodes increases mainly due to collisions. Since the number of communication pairs has an effect on the initiation of router discoveries, we also evaluated SDF with respect to various traffic loads. The results in Fig. 8(a) present an exponential increase of the routing overhead of NWF whereas that of SDF slowly goes up, resulting in 88.1, 86.5, 87.0, 84.6 and 72.6 percent reduction of routing overhead for 10, 20, 30, 40 and 50 communication pairs. With increasing communication pairs, many route discoveries are initiated. However, due to limited interface queue size (i.e., 10), the results show saturation in NWF when the number of communication pairs is close to 50. Subsequently, as can be seen from the packet delivery ratio of NWF in Fig. 8(b), we observed sudden drops when the number of communication pairs is 50, resulting from frequent route discovery failures due to resource shortage in NWF. In contrast, SDF shows a linear decline due to reduced routing overhead. Note that EHRP shows comparable performance with NWF but is always worse than SDF due to triangular detours and the growth of collision probability resulting from traffic concentration at nodes close to the root. Hop count metric in Fig. 8(c) shows that SDF and NWF are comparable, while the EHRP has about one-hop longer routes. In Fig. 8(d), end-to-end delay tends to increase with the increasing number of communication pairs, yet SDF shows comparable or better performance than the others. 8.4 Influence of the Node Failure In this experiment, we focused on the protocol behavior in presence of frequent node failures. Node failures introduced here are modeled as a uniformly distributed on/off process by following the model in [12]. We increase the number of nodes that toggles their state from 0 to 50 percent with random interval from 0 to 250 second. Note that the results shown here exclude communication pairs if one of either source or destination becomes a failing node. As can be seen in Fig. 9(a), compared to a zero failed node case, routing overhead in NWF increases with the increasing number of failed nodes. The routing overhead in NWF shows saturation when the number of failed nodes is more than 20. This is because any source nodes 8 40000 30000 20000 10000 0 10 15 20 25 30 35 40 45 50 The number of communication pairs 1 5.2 0.95 5 0.03 EHRP NWF SDF 0.028 End-to-end delay EHRP NWF SDF 4.8 0.9 Hop count 50000 Packet Delivery Ratio Routing overhead (packets) 60000 0.85 0.8 4.6 4.4 4.2 0.75 EHRP NWF SDF 0.7 10 15 20 25 30 35 40 45 50 The number of communication pairs (a) EHRP NWF SDF 0.026 0.024 0.022 0.02 4 3.8 0.018 10 15 20 25 30 35 40 45 50 The number of communication pairs (b) 10 15 20 25 30 35 40 45 50 The number of communication pairs (c) (d) Fig. 8. Performance results of (a) routing overhead, (b) packet delivery ratio, (c) hop count, and (d) end-to-end delay as a function of traffic load. 25000 20000 15000 10000 5000 0 0 10 20 30 40 The number of failed nodes (a) 50 5.6 5.4 5.2 EHRP NWF SDF End-to-end delay 30000 1 0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 0.55 EHRP 0.5 NWF SDF 0.45 0 10 Hop count EHRP NWF SDF 35000 40000 Packet Delivery Ratio Routing overhead (packets) 45000 5 4.8 4.6 4.4 4.2 4 20 30 40 50 10 The number of failed nodes 15 20 25 30 35 40 The number of failed nodes (b) (c) 45 50 0.03 EHRP 0.029 NWF 0.028 SDF 0.027 0.026 0.025 0.024 0.023 0.022 0.021 0.02 0.019 0 10 20 30 40 50 The number of failed nodes (d) Fig. 9. Performance results of (a) routing overhead, (b) Packet delivery ratio, (c) hop count and (d) end-to-end delay as a function of node failures. failing to discover the destinations that were off at that time kept trying to find the destination again, increasing the number of route discoveries within a short interval. On the other hand, the growth of routing overhead in SDF is relatively small. These routing overheads incurred due to the failing nodes also affect the packet delivery ratio as depicted in Fig. 9(b). As a consequence, the packet delivery ratio of the SDF outperforms that of the NWF when the number of failed nodes is more than 20. Unlike SDF and NWF, the impact of failing nodes close to the root, which may be the intermediate nodes along the tree routes, is more severe for EHRP. The results in Fig. 9(c) and 9(d) reveal that the hop count of SDF is slightly longer than that of NWF, and the end-to-end delay of SDF is lower than that of NWF. From these results, we conclude that with even small amount of routing overhead, SDF provides better routing performance compared to EHRP and NWF. R EFERENCES [1] [2] [3] [4] [5] [6] M.-S. Pan, C.-H. Tsai, and Y.-C. Tseng, “The orphan problem in zigbee wireless networks,” Mobile Computing, IEEE Transactions on, vol. 8, no. 11, pp. 1573 –1584, 2009. J. T. Behrens, “Principles and procedures of exploratory data analysis,” Psychological Methods, vol. 2, no. 2, pp. 131 – 160, 1997. A. Gelman, “Discussion article exploratory data analysis for complex models.” A. Papoulis and S. U. Pillai, Probability, Random Variables, and Stochastic Processes. McGraw-Hill, 2002. S. Miskovic and E. Knightly, “Routing primitives for wireless mesh networks: Design, analysis and experiments,” in INFOCOM, 2010 Proceedings IEEE, march 2010, pp. 1 –9. J. Y. Ha, H. S. Park, S. Choi, and W. H. Kwon, “Ehrp: Enhanced hierarchical routing protocol for zigbee mesh networks,” Communications Letters, IEEE, vol. 11, no. 12, pp. 1028 –1030, 2007. [7] S. Jain and S. R. Das, “Exploiting path diversity in the link layer in wireless ad hoc networks,” in Proceedings of the Sixth IEEE International Symposium on World of Wireless Mobile and Multimedia Networks, ser. WOWMOM ’05, 2005, pp. 22–30. [8] “ns-2.” [Online]. Available: http://www.isi.edu/nsnam/ns [9] J. Zheng and M. J. Lee, “A comprehensive performance study of IEEE 802.15.4,” p. 14, 2003. [10] S. Zhao and D. Raychaudhuri, “Scalability and performance evaluation of hierarchical hybrid wireless networks,” Networking, IEEE/ACM Transactions on, vol. 17, no. 5, pp. 1536 –1549, oct. 2009. [11] D. S. J. De Couto, D. Aguayo, J. Bicket, and R. Morris, “A high-throughput path metric for multi-hop wireless routing,” in Proceedings of the 9th annual international conference on Mobile computing and networking, 2003, pp. 134–146. [12] S. Ratnasamy, B. Karp, S. Shenker, D. Estrin, R. Govindan, L. Yin, and F. Yu, “Data-centric storage in sensornets with ght, a geographic hash table,” Mob. Netw. Appl., vol. 8, no. 4, pp. 427–442, Aug. 2003. A PPENDIX A summary of terms in use throughout this paper appears in Table 2. 9 Abbreviation AODV BDDT DF DODAG EDA EHRP FND LRWMN NWF RREP RREQ RRER SDF WMN WMAN WLAN WPAN Term Ad-hoc On-demand Distance Vector Bounded-Degree-and-Depth Tree Directional Flooding Destination-Oriented Directed Acyclic Graph Exploratory Data Analysis Enhanced Hierarchical Routing Protocol Forwarding Nodes Directionality Low-Rate Wireless Mesh Networks Network-Wide Flooding Route Reply Route Request Route Error Semi-Directional Flooding Wireless Mesh Networks Wireless Metropolitan Area Networks Wireless Local Area Networks Wireless Personal Area Networks TABLE 2 Abbreviation and terms in use