Network Design. Farah Kandah, Weiyi Zhang, Yashaswi Singh, Juan Li. Department of Computer Science, North Dakota State University, Fargo, ND 58105.
Interference-aware Robust Wireless Mesh Network Design Farah Kandah, Weiyi Zhang, Yashaswi Singh, Juan Li Department of Computer Science, North Dakota State University, Fargo, ND 58105
Abstract—Interference has been proven to have an effect on the performance in wireless mesh networks (WMN). Using multichannels can improve the performance of WMNs by reducing interference influence. In this paper, we study how to design a robust WMN for a set of mesh nodes, each with Q Networking Interface Cards (NICs) and pre-defined connection requests. Our scheme aims to construct an interference-aware network topology for the nodes, then set up a pair of link-disjoint paths for each request with fault-tolerant capability. We propose two novel schemes to improve the network design. First, we embrace the network interference for providing resource-efficient protections. Second, protection links are shared and reused by multiple connections for protection, which further improves the efficiency of network resource usage. Our simulation results show that our scheme outperformed previous schemes. Keywords: Wireless Mesh Network, multipath routing, network interference, channel assignment.
I. I NTRODUCTION Wireless Mesh Networks (WMNs) have attracted much research attention due to the capabilities including, fault tolerance, self configuration and scalability [13]. A wireless mesh network [1][8][9][13] is a multihop wireless network that consists of a large number of wireless devices, such as mesh gateways (which are connected with a wired network to the Internet), mesh routers (which can relay packets through wireless channels), and mesh end users. Multiple channels usage in multihop wireless networks has been shown to be able to improve the network throughput [8][9]. IEEE 802.11b and IEEE 802.11a standard [3][4] offer 3 and 12 non-overlapping channels respectively. An example of WMN with multi-channel design is shown in Fig. 1. Note that, two neighboring mesh nodes can communicate with each other if they have their network interface cards (NIC)s using the same channel. One of the first IEEE 802.11-based multi-channel multihop wireless mesh network architectures was proposed and evaluated in [9]. The authors developed a set of centralized algorithms for channel assignment, bandwidth allocation, and routing. They also presented distributed algorithms utilizing only local traffic load information to dynamically assign channels and to route packets in [8]. Besides network throughput, another important design issue in WMNs is the reliability [6][12]. In [13], the authors studied robust network topology design with consideration of interference. On the induced K-connected topology, they presented bandwidth-aware routing algorithms. The research developed in this paper is supported by NSF ND EPSCoR under the Infrastructure Improvement Program FAR-0015846.
Fig. 1.
Wireless mesh network architecture
Multipath routing has been shown to be able to provide better reliability in WMNs [12]. The idea of multipath routing is finding several disjoint paths for a specific connection [6]. In [5], the authors showed that multi-path routing can improve the reliability of packets delivery by providing alternate loopfree paths to destination. Tsai and Moors in [12] studied a multi-path routing design and focused on the concurrent use of multi-paths. Another approach for the multipath design was studied in [10]. The authors studied the problem of finding minimum energy disjoint paths in wireless ad-hoc networks. Hu and Lee in [2] proposed a multipath routing protocol named AODV-DM. After finding a primary path, an insulating reign is formed around the primary path, which contains all the nodes within the interference range of each node on the primary path. A protection path must be selected outside the insulating reign to reduce potential network interference with the found primary path. To provide an interference-aware robust WMN design, we define the INterference-Aware Robust Wireless Mesh Network DesIgn (INARI) problem in this paper. We assume that a static traffic model in the networks, where all traffic requests are given in advance. To provide good network throughput and increase network capacity, we in this work need to preserve the network connectivity and support robustness through providing a channel assignment design in a way that, the channels assigned to the NICs in a common neighborhood to be as different as possible such that interference influence can be reduced. To provide good reliability, each request is accommodated by two disjoint paths, a primary path (Pa ) and a protection path (Pb ). While a protection path is reserved (not actively used) for a request until the primary path fails, it is possible to use a same link to protect multiple primary paths if some criteria are satisfied. We denote such ability of protecting multiple paths with one link as reusability of a protection link. To the best of our knowledge, this work is the first to discuss the reusability of protection links in wireless mesh networks.
Another novelty of this work is to embrace the network interference for better protection performance. On one hand, primary paths should not use the interfered links if it is not necessary because it will reduce bandwidths of the paths. On the other hand, we observe that a primary path and its protection path will never transmit at the same time. Therefore, instead of using a link outside an insulating reign for protection (as in [2]), we propose to use the links which are interfered with the links on a primary path for protection. To the best of our knowledge, this is the first work to consider embracing network interference to improve the connection accommodation in WMNs. The rest of this paper is organized as follows. We describe the system model and formally define the problem in Section II. Our interference-aware robust topology design scheme is presented in Section III, which is followed by numerical results in Section IV. We conclude the paper in Section V.
a connection request. Similarly, if e is used for a protection path, it is a protection link. Otherwise, e is a free link. 2 We state the INterference-Aware Robust Wireless Mesh Network DesIgn (INARI) problem as following: Definition 2.6 (INARI problem): We are given n mesh nodes. Each mesh node is equipped with Q empty NICs and has a traffic matrix, which specifies communication destinations and corresponding requested bandwidths. The INARI problem seeks a robust network design that satisfy all the requests such that: • Connecting all the nodes with a 2-connected topology; • Providing a pair of link-disjoint paths for each request; • Consuming a minimum number of free links. 2 III. I NTERFERENCE - AWARE ROBUST WMN D ESIGN To solve the INARI problem, we have to complete two tasks; channel assignment for each mobile user’s NICs and multipath routing for each mobile user’s request. Different channel assignment will lead to different network topology, and hence affect the performance of multipath routing. On the other hand, given different routing strategies, different channel assignments are needed. Using the topology design schemes in [13][14], we construct a 2-connected network topology. After that, our solution first aims to find a channel assignment to realize the network topology with minimum network interference. Next, we try to find multipath for each request on the network topology.
II. P ROBLEM S TATEMENT We use a similar network model as described in [8][9][13]. There are totally C non-overlapping frequency channels in the system and each node is equipped with Q NICs, where Q ≤ C. All nodes in the network use the same fixed transmission range (R > 0) and a fixed interference range IR > R (which is typically 2 to 3 times of R [8] associated with every node). Undirected graph G(V, E) has been used to model the wireless mesh network, where V is the set of n vertices (corresponds to a stationary wireless node) and E is the set of m edges. Definition 2.1 (Potential interference edge): Given any two edges (u, v) and (x, y) in G, if node x or y is in the interference range of u or v (covered by the disk centered at u or v with radius IR), then we say that edge (x, y) is a potential interference edge of edge (u, v), and vice versa. 2 A channel assignment A assigns each node v ∈ V a set A(v) of Q different channels: A(v) ⊆ 1, 2, . . . , C. The channels in A(v) correspond to the Q different channels that the Q NICs at node v are tuned to. A channel assignment A defines a topology GA (V, EA ) in the following natural way: There is an edge e = (u, v; k) on channel λ(e) = k between nodes u and v in GA if and only if d(u, v) ≤ R and λ(e) ∈ A(u) ∩ A(v). Definition 2.2 (Interference edge): Given a channel assignment A and its corresponding network topology GA , for any two potential interference edges (u, v) and (x, y), if there is a channel k ∈ A(u) ∩ A(v) ∩ A(x) ∩ A(y), then the link (u, v; k) interferes with the link (x, y; k), since simultaneous transmissions along (u, v; k) and (x, y; k) will lead to collision. (x, y; k) is an interference edge to (u, v; k), and vice versa. 2 Definition 2.3 (Edge interference number): Given the network G, with channel assignment A, we define the edge interference number of edge e ∈ G to be the number of edges that interfere with edge e. 2 Definition 2.4 (Network interference): Given the network G, and a channel assignment A, the network interference is defined as the maximum edge interference number among all the edges in network GA . 2 Definition 2.5 (Primary/Portection/Free link): A link e is said to be a primary link if it is used for a primary path of
A. Channel Assignment Our interference-aware channel assignment scheme is listed in Algorithm 1 and 2. Algorithm 1 Channel Assignment(G(V )) 1: Initialize A(u) to ∅ for all u ∈ G; 2: for all nodes in G do 3: Find node u ∈ G that has the highest number of unassigned
4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
edges. If multiple nodes has the same number of unassigned edges, pick node u that has the most used channel; for each unassigned edges (u, v) do //AssignTchannel on the edge: if A(u) A(v) 6= ∅ then T Assign k, the least used channel from A(u) A(v); else if |A(u)| < Q and |A(v)| < Q then Assign k, the least used channel from available channels; Add k to A(u) and A(v); else if |A(u)| = Q and |A(v)| < Q then Assign k, the least used channel in A(u); Add k to A(v); else if A(u) = Q and A(u) = Q then Channel Swap (G, u, v) end if end for end for Assign nodes having unassigned NICs with the least used channels among all available channels;
We use an example in Fig. 2 to illustrate our algorithms. For simplicity, we assume that all the links are in the same interference range in this example. We assume 3 channels in the network, and 2 NICs on each node. According to 2
(a) Original network Topol-
(b) Channel Assignment-Step 1
(c) Channel Assignment-Step 2
(d) Channel Assignment-Final
ogy
Fig. 2.
Channel Assignment scheme - example
Algorithm 2 Channel Swap(G, u, v)
Algorithm 3 Disjoint Path(G, Req(s, t, Br ))
T
1: if Rank(s) < 2 then 2: Drop the request; 3: else 4: for each edge e ∈ G do 5: if (the residual bandwidth of e is less than Br ) OR (e is a
1: if A(u) A(v) = ∅ then 2: Let kS be the least used channel among channels in 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
A(u) A(v); Assume k ∈ A(u) and k0 ∈ A(v), where k 6= k0 be an channel in A(v) that is most used; Replace k0 in A(v) by k. Assign k on edge (u, v); for all edges (v, w) already assigned do T if the change of A(v) makes A(v) A(w) = ∅ then 0 Replace k in A(w) by k; Assign k on edge (v, w); This replacement can be performed recursively; end if end for end if
primary or protection link) then 6: Hide e; 7: end if 8: end for 9: Find a shortest path Pa as the primary path for Req; 10: if path not found then 11: Drop the request and return; 12: end if 13: Construct graph G0 with only free and protection links; 14: for (i = 1; i < Rank(s); i++) do 15: Find a shortest path P (i); 16: // Assign a value V P (i) for path P (i) as following: 17: for each edge e on P (i) do 18: Hide e; 19: if e is interfered with Pa then 20: V P (i) = V P (i) + Ru (e) + 1; 21: end if 22: end for 23: Add P (i) to the set ProtectionSet; 24: end for 25: end if 26: Find Protection(ProtectionSet);
Algorithm 1, we start with the node that has the most number of
unassigned edges. Node I and node H have the same number of unassigned edges, and neither of them has any channels on their NICs, so we randomly choose node I. First we choose one of the unassigned edges (I,D), then we pick the least used channel from the available channels, say channel 1. We assign channel 1 on the edge and update the channel usage and add the corresponding channel on the neighbor node D’s NIC. We repeat the previous steps for the next unassigned edge (I,C) using the current least used channel 2, then update the channel usage and add it to node C’s NIC. At this time both NICs on node I are filled. What we need to do is to evenly allocate channels 1 and 2 on edges (I,H) and (I,F ), as shown in Fig. 2(b). After assigning all edges of node I, we choose the next node that has the most number of unassigned edges. At this time nodes A, B, G and H have the same number with 3 unassigned edges. Here we pick the node that has the most used channel assigned on it. So we choose node H since it has channel 2 on its NIC. Then we start assigning channels on all unassigned edges of node H. The channel assignment at this step is shown in Fig. 2(c). By following the same steps we can assign channels on all the nodes and the edges as in Fig. 2(d). The worst case running time for Algorithms 1 and 2 is O(nm2 ), where n is the number of nodes and m is the enumber of edges.
have not been well investigated in previous work. First, we consider to embrace interference to improve network resource (free links) usage. After a primary path is setup, we observe that we can use links interfering with the links on the primary path, to protect the primary path. The reason lies in the fact that the primary and protection paths will never be used at the same time. Also it will be resource efficient of using interfered links for protection. Second, we consider the reusability of each protection link. In other words, we try to use one protection link to protect as many primary paths as possible. Reusing existing protection links to protect a new primary path will save the free links for the future coming connection request, which will increase the network resource usage efficiency. Our scheme is listed in Algorithm 3 and 4. We represent each request Req by its source node s, the destination node t and the requested bandwidth Br . We first remove the edges that either do not have enough bandwidth to accommodate the request or have been used as primary or protection links. This is because that a primary path (Pa ) is dedicated for that request and will not be shared. Then a shortest path is found as the primary path Pa for connection Req. Next, we need to find a link-disjoint path for the protection path.
B. Multipath Routing After the channel assignment, we set up a 2-connected network topology. Next, to satisfy each user, we need to find two link-disjoint paths for each connection request, with using a minimum number of free links. Our solution scheme is based on two novel ideas which 3
(a) Bandwidth Assignment
(b) Request(A,C,0.5) Pick pri- (c) Find all paths that satisfy mary path
(e) Request(H,C,1) Pick pri- (f) Find all paths that satisfy mary path
paths
B(e), as the total channel capacity Cap divided by the edge Cap interfere number of e, IN (e). In short, B(e) equals to IN (e) . Note that this is the best case estimation for the network in terms of bandwidth allocation fairness. The network with edge bandwidth is shown in Fig. 3(a). We assume that there are two requests in the traffic matrix T . The first request is from source node A to node C, with requested bandwidth 0.5M bps. According to Algorithm 3, first we find a shortest path (A, B, C) and assigned it as a primary path, which is shown in Fig. 3(b). Next, Fig. 3(c) shows a network with only free and protection links. In this case we found path P1 , (A, H, I, C), and path P2 with edges (A, G), (G, F ), (F, I), (I, D) and (D, C). Then we assign each path a value V P as in Algorithm 3 (Line 20). Next, in Fig. 3(d), we pick the path with the highest V P value, which is P2 , as the protection path. For the second request from node H to node C with Br as 1M bps, we first find a shortest path Pa0 shown in Fig. 3(e). In Fig. 3(f), we construct an auxiliary network with only free and protection links. Following same procedure, we find only one path, P1 = (H, G, F, I, D, C) and calculate V P for this path. The double arrows in the figure indicates the link reusability, where these edges have been reused for protection. Both the primary and the protection paths for request (H, C, 1) are shown in Fig. 3(g). Meanwhile, Fig. 3(h) shows all the primary and protection paths for both requests in the traffic matrix T .
1: if ProtectionSet is not empty then 2: for all paths in set ProtectionSet do 3: Pick P (i) with the maximum V P (i); 4: if P (i) has reused some protection links then 5: for each protection link e on P (i) do 6: Check if the residual bandwidth of e can satisfy all
9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
(h) All primary and protection
Link-Disjoint Paths design - example
Algorithm 4 Find Protection(ProtectionSet)
7: 8:
(g) Pick protection path
the request
Fig. 3.
(d) Pick protection path
the request
the connection that it handles; end for if all the protection links have enough residual bandwidth then Set path P (i) as the protection path Pb for Req; for each edge e on Pb do Ru (e) = Ru (e) + 1; end for end if else Set path P (i) as the protection path Pb for Req; for each edge e on Pb do Ru (e) = Ru (e) + 1; end for end if end for end if if NO protection path found then Drop the request; end if
To find a better protection path, we consider two factors. First, we try to reuse the protection links, instead of consuming new free links. Second, the more a link interferes with a primary path, the more possible it is used for protection of the primary path. To achieve these two ideas, we, in Line 20 of Algorithm 3, give each path a value V P that depends on the number of interference between the protection path and the primary path, and the link reusability. In Line 11 and 17 of Algorithm 4, we update each link’s reusability value (Ru (e)) by 1 each time an edge e is used as a protection link. The worst case running time for Algorithms 3 and 4 is O(n3 m2 ). To illustrate of our multipath solution, we use Fig. 3 as an example. With channel assignment shown in Fig. 2(d), it can be seen that nodes A, B, C, D, I have multiple links between them. We calculate the bandwidth on each link e,
IV. N UMERICAL R ESULTS In this section, to illustrate the performance of our scheme, we implemented our solution (denoted by INARI in the figures), and compared it with previous schemes in [10] (denoted by EDPR in the figures) and [2] (denoted by AODV-DM in the figures). As in [2], we considered static WMNs with n nodes uniformly distributed in a square playing field. Each node has a 250m fixed transmission range, and a 500m interference range [8]. The results shown are the average of 5 test runs for various scenarios. All the requests in the experiments were generated randomly and given in advance. 4
140 60
The first metric we used for performance evaluation is the satisfied ratio. By providing a pair of link-disjoint paths for a request, it is said that this request is satisfied. satisfied ratio was calculated as the number of satisfied requests by a scheme divided by the total number of requests. The second performance metric is the running time, which is the time that a scheme takes to process all the requests. We tested the performance with different network density, where density is the number of nodes in one square unit.
Satisfy Ratio %
50
80
AODV−DM EDPR INARI
70
Running Time (msec)
60
40
30
20
50 40
300
70
Running Time (msec)
Satisfy Ratio %
40
30
20
60 50 40 30 20
10
10 0
1500
1750
Area
2000
0 1500
1750 Area
2500
0 1000
1500 2000 Number of Requests
2500
(b) Running time Different number of requests
[1] S. Cho, C. Kim, Interference-Aware Multi-Channel Assignment in MultiRadio Wireless Mesh Networks; IEICE Transactions Commun., Vol. E91-B, No. 5, May 2008. [2] X. Hu, M. J. Lee, An efficient multipath structure for concurrent data transport in wireless mesh networks; Comput. Commun., Vol. 30, No. 17, pp. 3358-3367, Nov. 2007. [3] IEEE 802.11 Working Group, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications; 1997. [4] IEEE 802.11a Working Group, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications-Amendment 1: Highspeed Physical Layer in the 5 GHz band; 1999. [5] M. Mosko, J. J, Garcia-Luna-Aceves, Multipath routing in wireless mesh networks; WiMesh’2005, Santa Clara, CA. [6] S. Nelakuditi, Z. Zhang, On Selection of Paths for Multipath Routing; In Proceedings of the 9th international Workshop on Quality of Service, Vol. 2092, pp. 170-186, Springer-Verlag, London, June 2001. [7] A. Rad, V. Wong, Joint Channel Allocation, Interface Assignment and MAC Design for Multi-Channel Wireless Mesh Networks; IEEE Infocom’2007, pp. 1469-1477. [8] A. Raniwala, T. Chiueh, Architecture and algorithms for an IEEE 802.11based multi-channel wireless mesh network; IEEE INFOCOM’2005, Miami, FL. [9] A. Raniwala, K. Gopalan, T. Chiueh, Centralized channel assignment and routing algorithms for multi-channel wireless mesh networks; ACM Mobile Computing and Communications Review, Vol. 8, pp. 50-65, 2004. [10] A. Srinivas, E. Modiano, Minimum energy disjoint path routing in wireless ad-hoc networks; Mobicom’2003, pp. 122-133, San Diego, CA, USA. [11] A. Subramanian, H. Gupta, S. Das, J. Cao, Minimum Interference Channel Assignment in Multi-Radio Wireless Mesh Networks; IEEE SECON’2007, pp. 481-490. [12] J. W. Tsai, T. Moors, Interference-aware multipath selection for reliable routing in wireless mesh networks; In IEEE MeshTech’2007, Pisa, Italy. [13] J. Tang, G. Xue, W. Zhang, Interference-Aware Topology Control and QoS Routing in Multi-Channel Wireless Mesh Networks; ACM MobiHoc’2005, pp. 68-77. [14] W. Zhang, F. Kandah, J. Tang, K. Nygard, Interference-Aware Robust Topology Design in Multi-Channel Wireless Mesh Networks; IEEE CCNC’2010, Las Vegas, NV.
AODV−DM EDPR INARI
80
1500 2000 Number of Requests
V. C ONCLUSION In this paper, we defined the INterference-Aware Robust Wireless Mesh Network DesIgn (INARI) problem, and presented an effective heuristic which seeks a robust network design that satisfies all user requests by providing a pair of linkdisjoint paths with consuming minimum number of free links. By providing a channel assignment scheme and a link-disjoint path scheme, we have shown that we can provide network robustness. By maximizing the usability in the number of edges to provide more satisfied requests, our solution improved the network resource (link) usage. Simulation results showed that our solution performed well in terms of satisfied ratio and running time and outperformed previous schemes. R EFERENCES
30
90
50
60
a 1500m by 1500m field, different number of requests, (1000, 1500, 2000, 2500), were generated for the nodes. The results also supported that INARI provided better satisfied ratios while taking smaller running times than EDPR and AODV-DM.
In the first scenario, we randomly distributed (100, 200, 300) nodes in a 1500m by 1500m fixed playing area with 1000 user requests. The corresponding results for this scenario can be seen in Fig. 4. Satisfied ratio provided by each scheme is shown in Fig. 4(a). We noticed that by increasing the density within the same area, the number of edges of the network could also be increased. Thus, we can satisfy more number of requests; it was supported by the results in Fig. 4(a). The results showed that INARI satisfied more requests than the other two schemes. For example, INARI provided 231 more requests than EDPR in the 300-node case. Fig. 4(b) showed the performance of running time. It is obvious that our scheme has similar running time with EDPR, while INARI provided much more satisfied requests. AODV-DM consumed more time than the other two solutions, due to forming insulating region and removing unnecessary edges. AODV−DM EDPR INARI
80
20
1000
(a) Satisfy ratio Fig. 6.
(a) Satisfy ratio (b) Running time Fig. 4. 1000 requests with different number of nodes
60
Running Time (msec)
Satisfy Ratio %
0
AODV−DM EDPR INARI
200 Number of Requests
AODV−DM EDPR INARI
40
60
0 100
300
30
10
10
200 Number of Requests
40
20
20
100
120
100
10
0
AODV−DM EDPR INARI
50
2000
(a) Satisfy ratio (b) Running time Fig. 5. 300 nodes in different Area Sizes
In Fig. 5, we tested a different scenario, where randomlydistributed 300 nodes are placed in areas with different sizes (from 1500 to 2000 meters). We tested this scenario by providing 1000 requests. The results in Fig. 5(a) showed that the satisfied ratio dropped as the network density decreases. INARI still satisfied most requests. For example, in a 1750m by 1750m area, INARI provided 38.9% of the total number of requests, compared with 25.8% and 20%, provided by EDPR and AODV-DM, respectively. The running times were shown in Fig. 5(b). The running times are decreasing along with the decreasing of the network density. Our scheme performs better in consuming less time compared with the other two schemes. We tested our third scenario in Fig. 6 to show the performance with different number of requests. For a 300 nodes in 5