VIEWS: 140 PAGES: 10 CATEGORY: Internet / Online POSTED ON: 3/29/2011
Mesh network is "wireless mesh network ", which is a wireless multi-hop networks, ad hoc network is evolved to solve the "last mile"problem of the key technologies. In the process of evolution as the next-generation networks, wireless is an essential technology. Wireless mesh network with other cooperative communication. Is a dynamic network architecture that can scale, any two devices can be to keep the wireless Internet.
Routing in Multi-hop Wireless Mesh Networks with Bandwidth Guarantees Ronghui Hou, King-Shan Lui, Hon Sun Chiu, Kwan L. Yeung Department of Electrical and Electronic Engineering, The University of Hong Kong {rhhou, kslui,hschiu,kyeung}@eee.hku.hk Fred Baker Cisco Research Center Abstract b is transmitting to c, f must remain idle to avoid interfer- Wireless Mesh Networks (WMNs) has become an im- ence. In other words, only one link on p can be active at portant edge network to provide Internet access to remote the same time. Suppose the number on a link reﬂects the areas and wireless connections in a metropolitan scale. In bandwidth (Mbits/sec) of that link when only that link this paper, we describe our hop-by-hop bandwidth guar- is active. Bandwidth is a concave metric in wired net- anteed routing protocol in IEEE 802.11-based wireless works since transmissions on all links can be concurrent. mesh networks. Due to interference among links, band- If the links along p were wires, the bandwidth would be width, a well-known bottleneck metric in wired networks, min{4, 2, 10} = 2. In the wireless situation, based on the is neither concave nor additive in wireless networks. To conﬂict graph model, for transmitting 1 Mbits along p, it facilitate hop-by-hop routing, we develop a mechanism takes 1 + 1 + 10 = 17 second [10]. The available band- 4 2 1 20 for computing the available bandwidth of a path in a 20 width on path p is only 17 Mbit/second. The bandwidth distributed manner. Unfortunately, available bandwidth metric is neither concave nor additive in WMNs. is not isotonic, the necessary and sufﬁcient property for The wireless transmission interference also compli- consistent hop-by-hop routing. To solve the problem, we cates the problem of computing the maximum bandwidth introduce an isotonic parameter that captures the avail- paths in a hop-by-hop manner. The problem is that able bandwidth metric so that packets can traverse the the best path from Node s to Node d passes through v maximum bandwidth path consistently according to the does not imply that the best path from v to d is a sub- routing tables constructed in the nodes along the path. To path of the best path from s to d. In Fig. 1, there are the best of our knowledge, our protocol is the ﬁrst WMN two paths from b to g. Let p1 = b → c → f → g and hop-by-hop routing scheme that can identify bandwidth p2 = b → d → e → g. The actual available bandwidth of guaranteed paths. 5 p1 and p2 are 4 and 1 Mbit/second, respectively. That 1 INTRODUCTION is, p1 is a better path from b to g. However, the band- A wireless mesh network (WMN) consists a large width of the path a → b → d → e → g is higher than number of wireless nodes. The nodes form a wireless the path a → b → c → f → g according to the conﬂict overlay to cover the service area while a few nodes sit- graph model which we will discuss later. In other words, ting on the edge are wired to the Internet. As part of the each node cannot simply select the maximum bandwidth Internet, WMN has to support diversiﬁed multimedia ap- path as the best path and only advertises this path to its plications for its users. Quality-of-Service (QoS) routing, neighbors. Besides, when an intermediate node receives which focus on ﬁnding a path satisfying the application a packets from the source, it should not determine the requirements, is one of the building blocks for supporting next hop based on the destination only. It has been for- QoS. In this paper, we study how to ﬁnd a path satisfying mally proved that the necessary and sufﬁcient condition the bandwidth requirement of an incoming connection re- that an efﬁcient routing protocol exists is the metric con- quest. We adopt the proactive approach, which computes sidered has to be isotonic[27]. Unfortunately, available the maximum bandwidth supported by the paths from a bandwidth based on the conﬂict graph model does not source to a destination prior to the requests arrive. By pre- satisfy this property. Therefore, the design of the packet computing the supported QoS, we can determine whether forward mechanism based on the hop-by-hop routing is a request is feasible upon its arrival. If this request is fea- not trivial. To develop a hop-by-hop QoS routing proto- sible, a resource reservation will be initiated; otherwise, col with bandwidth guarantees, there are three problems this request is blocked. we need to solve. QoS routing in wireless networks is very challenging due to the wireless transmission interference. Consider 1. How to compute the available bandwidth of a given the simple network in Fig. 1 where all the links use the path? same channel. Along the path p = b → c → f → g, when 2. How to select the best paths to be advertised? 2 4 c f 10 provide correct information for identifying high through- 3 a b g put paths [10]. The authors in [10] develop a centralized 3 d e 3 mechanism to compute the available bandwidth of a path 3 and this metric performs better than other loss-based met- Figure 1. A simple network. rics compared. Much attention has been paid to the problem of ﬁnd- ing routes with bandwidth concerned in wireless ad hoc 3. How to determine the next hop when receiving a networks [15]-[21]. The works in [15, 16, 17] con- packet? sider the effect of the interference of wireless commu- In this work, we study these problems in the 802.11 nications, and their works are all based on the TDMA WMNs and make the following contributions. channel model. The choice of MAC would affect the • We develop a hop-by-hop mechanism to compute overall bandwidth utilization of the network, and differ- the available bandwidth of a given path and formally ent QoS routing schemes should be adopted for different proof the correctness. The mechanism facilitates us MAC protocols. [18]-[21] study QoS routing in 802.11 to establish a distributed routing algorithm. wireless networks. The mechanisms in [18, 19, 22] are • We propose a new left-isotonic QoS parameter that based on the AODV protocol, which is a reactive ap- captures the concept of available bandwidth so that proach. However, a feasible path may not be identiﬁed hop-by-hop routing based on routing tables can be even if it does exist in the network. The work in [21] pro- consistent. poses a polynomial-time routing algorithm that considers bandwidth requirements. This algorithm requires a FIFO • Finally, we describe how routing tables and distance scheduling policy, in which all the packets contending tables are constructed in nodes and how packets are the common channel are prioritized based on their arrival forwarded on the optimal paths. We formally prove time where the highest priority packet seizes the channel that our protocol is correct and consistent. ﬁrst. Ref. [20] also considers how to ﬁnd the path that 2 RELATED WORKS provides the maximum bandwidth. We mentioned earlier To ﬁnd a path with higher bandwidth, many re- that if a node just advertises one path to its neighbors, its searchers develop new link metrics to quantify the in- neighbors may not be able to identify the maximum avail- terference level of a link and these new link metrics are able bandwidth path. In [20], each node keeps multiple additive. The weight of a path becomes the sum of in- paths to a destination so as to increase the probability of dividual link weights of the links along the path and any ﬁnding the best path from each node to a destination. All routing protocol that works for an additive metric can be of these mechanisms are not distributed in nature and can- applied. Simulation studies show that paths found based not be used directly in a hop-by-hop manner. A heuristic on this kind of metrics are better than the least hop count method for computing the maximum bandwidth path was paths [1, 2]. proposed in [23]. In this work, the bandwidth of a link In [3], the expected transmission count (ETX) met- is deﬁned as the minimum of the bandwidth for all links ric is proposed, which computes the average number which interfere with this link, and the bandwidth of a path of transmission attempts required to send successfully a is deﬁned as the minimum of the bandwidth for all links packet over the link. It is the earliest link metric devel- on this path. We can easily develop a hop-by-hop rout- oped and many other metrics are extended from it, such ing protocol by using this method. However, this method as mETX, ETN [4], and ETT [9]. The link metric ETT is cannot guarantee that the found path can satisfy a certain used for designing the path metrics WCETT (weighted bandwidth requirement. To the best of our knowledge, cumulative expected transmission time), iAWARE [5], we are the ﬁrst to develop a hop-by-hop routing protocol and MIC [6]. Instead of developing an additive met- with bandwidth guarantees. ric, the Bottleneck Link Capacity (BLC) is based on the expected busy time of a link for transmitting a packet 3 WIRELESS TRANSMISSION INTER- successfully [7]. The path BLC is the minimum link FERENCE BLC along the path. The link metric CATT proposed We adopt the Transmitter-Receiver Conﬂict Avoidance in [8] is similar to BLC. The work in [11] proposes the (TRCA) model [25] since it reﬂects the popular IEEE interference-aware routing metric, which determines the 802.11 technologies more closely and is also used in percentage of time each transmission wastes due to inter- many other prior works [12, 13, 22, 23, 24]. Under this ference from other nodes. The routing algorithm based model, the neighbors of the transmitter and the receiver on the proposed metric selects the path with the minimum cannot send or receive data. A conﬂict graph can be used interference. to represent the interference among wireless links. We However, all these works do not consider the prob- assume links are symmetric. In the network G (V , E ) lem of providing bandwidth guarantees. Given a request where V is the set of nodes, if u and v where u, v ∈ V with the bandwidth requirement, we cannot determine can communicate with each other, the link (u, v) ∈ E . De- whether the best path selected by using these proposed note Gc (Vc , Ec ) as the conﬂict graph corresponding to the metrics can support the request. In fact, packet loss based original network G (V , E ). Each link e in E corresponds metrics such as ETX and its extensions do not always to a node v(e) in Vc . Therefore, we have |E | = |Vc |. p1 a b v1 v2 v3 v4 vh p’ p a b c d c d Figure 3. An illustration for computing the bandwidth 1 2 3 4 5 of a path. (a) The original graph. (b) The conﬂict graph. Figure 2. Illustration for interference model. is a neighbor of its previous hop and its next hop but not other nodes on the path. That is, in p, v2 is within the There is a link from v(e1 ) to v(e2 ) in Gc if e1 and e2 in communication range of v1 and v3 but not v4 , v5 , ..., vh . E interfere with each other. For example, Fig. 2(b) is the This limits the interference to be within 2 hops. As a conﬂict graph of the linear network in Fig. 2(a). Link result, each clique in Gc (p) contains three nodes only. a interferes with Link b because they share a common Since mesh routers are carefully deployed, paths in a node, Node 2. Link a also interferes with Link c because WMN should follow this assumption readily. Node 3 is a neighbor of Node 2 and has to remain idle when a is active according to the TRCA model. A clique is a complete graph among a set of nodes in a 4.1 Path Bandwidth Computation graph. A maximal clique is a clique that is not contained The following lemma gives the mechanism for com- in any other clique. A clique in Gc contains the links puting WB(p) in a hop-by-hop manner that no node on p in G of which transmission cannot be concurrent. For needs to know the information of each link on the path. example, there are two maximal cliques, a − b − c and L EMMA 1. Let path p =<v1 , v2 , v3 , ..., vh >, p1 = b − c − d, in Fig. 2(b), reﬂecting that only one link in <v1 , v2 , v3 , v4 >, and p = <v2 , v3 , ..., vh >. Then, {a, b, c} and one link in {b, c, d} can be active at the same WB(p) = min{WB(p1 ), WB(p )}. time to avoid interference. P ROOF. Fig. 3 illustrates paths p, p , and p1 . The max- Ref. [10] describes how to estimate the available imal cliques in Gc (p) are Q1 , Q2 ,. . . , Qh−3 where Qi = bandwidth of a path based on the conﬂict graph model. {(vi , vi+1 ), (vi+1 , vi+2 ), (vi+2 , vi+3 )}. Similarly, Q1 is the The available bandwidth refers to the maximum through- only clique in Gc (p1 ) and the maximal cliques in Gc (p ) put a path can accept where the trafﬁc intensity on each are Q2 , Q3 , ..., Qh−3 . By Eq. (1), link is not larger than 1. The authors also provide a mech- anism to ﬁnd the maximum additional input rate, B (l), of WB(p) = min{B (Q1 ), B (Q2 ), . . . , B (Qh−3 )} a link l based on the fraction of busy time and packet loss = min{min{B (Q1 )}, min{B (Q2 ), . . . , B (Qh−3 )}} probability of that link. Let Gc (p) be the conﬂict graph = min{WB(p1 ), WB(p )} of a path p. Let {Q1 , Q2 , ..., Q j } where j > 0 be the set of maximal cliques in Gc (p). The available bandwidth of p is 1 −1 As illustrated in Fig. 3, Lemma 1 suggests that when min1≤i≤ j {B (Qi )} where B (Qi ) = ( ∑ B (l) ) (1) v1 wants to ﬁnd WB(p), it can compute based on the v(l)∈Qi WB(p ) information advertised by v2 and the available bandwidth of the links (v1 , v2 ), (v2 , v3 ), and (v3 , v4 ). v1 To illustrate, let B (a), B (b), B (c), and B (d) of the net- does not have to know the whole path information about work in Fig. 2(a) be 50, 100, 25, and 20 pkt/sec, respec- 20 tively, as in the example provided in [10]. The available p. WB(<b, c, f , g>) in Fig. 1 is 17 . b advertises this in- 1 1 1 1 bandwidth of the path is min{( 50 + 100 + 25 )−1 , ( 100 + formation together with the bandwidth of links (b, c) and 1 1 −1 (c, f ) to a. Then, a can ﬁnd WB(<a, b, c, d>), which 25 + 20 ) } = 10 pkt/sec. Due to space limitation, we is 12 , and it can determine WB(<a, b, c, f , g>) to be refer readers to [10] for further explanation. 13 Eq. (1) allows us to ﬁnd the available bandwidth of a min{ 20 , 12 } = 12 . 17 13 13 path when the whole path is known. However, in a hop- Let path p = <v1 , v2 , v3 , . . . , vh > and pi be by-hop routing protocol, we need a mechanism that de- <vi , vi+1 , vi+2 , vi+3 >, where 1 ≤ i ≤ h − 3. By Lemma 1, termines the available bandwidth based on local informa- we have tion only. We describe how to enhance the work in [10] to compute the available bandwidth in a distributed manner WB(p) = min{WB(pi )|1 ≤ i ≤ h − 3} (2) in the next section. 4 DISTRIBUTED PATH BANDWIDTH Given two paths p and q, where p COMPUTATION AND SELECTION =<v1 , . . . , vh , vh+1 > and q=<vh+1 , vh+2 , . . . , vh+n >, Given a path p=<v1 , v2 , ..., vh >, denote WB(p) as the respectively, let p ⊕ q denote the concatenated available bandwidth of the whole path p. The conﬂict path <v1 , v2 , . . . , vh , vh+1 , vh+2 , . . . , vh+n > and pi be graph of p is Gc (p). We only consider paths where a node <vi , vi+1 , vi+2 , vi+3 >, as illustrated in Fig. 4. By Lemma ph-1 ph lustrated in Fig. 5. By Eq. (3), V1 Vh-1 Vh Vh+1 Vh+2 Vh+3 Vh+n p q WB(p ⊕ p1 ) = min{WB(p), WB(<vh−1 , vh , v, u1 >), Figure 4. An illustration for computing the bandwidth WB(<vh , v, u1 , u2 >), WB(p1 )} of a concatenated path. WB(p ⊕ p2 ) = min{WB(p), WB(<vh−1 , vh , v, g1 >), WB(<vh , v, g1 , g2 >), WB(p2 )} u1 u2 TB(p1 ) ≥ TB(p2 ) implies the bandwidth of s vh v d <v, u1 , u2 > is larger than <v, g1 , g2 >. Therefore, g1 g2 WB(<vh , v, u1 , u2 >) ≥ WB(<vh , v, g1 , g2 >). Similarly, FB(p1 ) ≥ FB(p2 ) implies WB(<vh−1 , vh , v, u1 >) ≥ Figure 5. An illustration for path selection. WB(<vh−1 , vh , v, g1 >). Together with WB(p1 ) ≥ WB(p2 ), we can conclude that WB(p ⊕ p1 ) ≥ WB(p ⊕ p2 ). 1, we also have To show that WB(p1 ) ≥ WB(p2 ) and FB(p1 ) ≥ WB(p ⊕ q) = min{WB(pi )|1 ≤ i ≤ h + n − 3} FB(p2 ) and TB(p1 ) ≥ TB(p2 ) is also a necessary con- = min{min{WB(pi )|1 ≤ i ≤ h − 2}, dition for v to determine whether p ⊕ p1 is better than WB(ph−1 ), WB(ph ), p ⊕ p2 , we use examples to illustrate that if either one min{WB(pi )|h + 1 ≤ i ≤ h + n − 3}} of WB(p1 ) ≥ WB(p2 ), FB(p1 ) ≥ FB(p2 ), or TB(p1 ) ≥ = min{WB(p), WB(ph−1 ), WB(ph ), TB(p2 ) does not hold, WB(p ⊕ p1 ) ≥ WB(p ⊕ p2 ) may WB(q)} not hold even the other two are satisﬁed. In the following (3) examples, let <b, c, f , g> be p1 and <b, d, e, g> be p2 . Eq. (3) suggests that to compute the bandwidth of the Case I: TB(p1 ) ≥ TB(p2 ) and FB(p1 ) ≥ FB(p2 ) but path p ⊕ q, we just need to know the bandwidths of paths WB(p1 ) ≥ WB(p2 ), as illustrated in Fig. 6(a), where p p, q, ph−1 , and ph . = <a, b>. We thus have WB(p ⊕ p1 ) ≥ WB(p ⊕ p2 ), where WB(p ⊕ p1 ) = WB(p1 ) = 2.5 and WB(p ⊕ p2 ) = 4.2 Path Selection WB(p2 ) = 3. We now know how to compute the available band- Case II: WB(p1 ) ≥ WB(p2 ) and TB(p1 ) ≥ TB(p2 ) width of a path advertised by a neighbor. In the dis- but FB(p1 ) ≥ FB(p2 ), as shown in Fig. 6(b), where p = tance vector protocol, after computing the bandwidth of <s, a, b>. We obtain that WB(p ⊕ p1 ) ≥ WB(p ⊕ p2 ), the paths advertised by the neighbors, a node advertises since WB(p ⊕ p1 ) = 12 and WB(p ⊕ p2 ) = 8 . the “best” one among them. However, this may not facili- 5 3 Case III: WB(p1 ) ≥ WB(p2 ) and FB(p1 ) ≥ FB(p2 ) tate a neighbor to identify its own best path. For example, but TB(p1 ) ≥ TB(p2 ), as illustrated in Fig. 1 where p = in Fig. 1, WB(<b, c, f , g>) = 20 and WB(<a, b, c, f , g>) 17 <a, b>. It turns out that WB(p ⊕ p1 ) ≥ WB(p ⊕ p2 ). = 12 , while WB(<b, d, e, g>) = WB(<a, b, d, e, g>) = 1. 13 Therefore, for v to determine for sure that it is not From b’s perspective, the best path is <b, c, f , g>. Un- necessary to advertise p2 , we have to check whether fortunately, if b only advertises this path to a, a can- WB(p1 ) ≥ WB(p2 ), FB(p1 ) ≥ FB(p2 ), and TB(p1 ) ≥ not identify its own best path, which is <a, b, d, e, g>. TB(p2 ). Since bandwidth is neither concave nor additive in wire- less networks, each node cannot just advertise the maxi- 10 10 c f 5 mum bandwidth path to all its neighbors. A trivial way 10 a b g for assuring all the maximum bandwidth paths can be found is to advertise all the possible paths to a desti- 9 d e 9 9 nation. This is deﬁnitely too expensive. To reduce the overhead, we should not advertise those paths that would (a) not be a subpath of any maximum bandwidth path. In 60 12 c f 12 this section, we study the sufﬁcient and necessary con- 6 6 g s a b ditions for a node to determine whether a path would be 24 d e 12 the subpath of any maximum bandwidth path. Given a 12 path p=<v1 , v2 , . . . , vh >, denote FB(p) as the available (b) bandwidth of the link (v1 , v2 ), and TB(p) as the available Figure 6. Examples of network topologies. bandwidth of the subpath <v1 , v2 , v3 >. Lemma 2 gives the sufﬁcient condition to determine a path is not worth- while to be advertised. 5 QOS ROUTING PROTOCOL L EMMA 2. Suppose that p1 and p2 are two paths from In this section, we describe our bandwidth-guaranteed v to d. If WB(p1 ) ≥ WB(p2 ), TB(p1 ) ≥ TB(p2 ), and hop-by-hop routing protocol. The isotonicity property of FB(p1 ) ≥ FB(p2 ), then WB(p ⊕ p1 ) ≥ WB(p ⊕ p2 ) for the path weight is the sufﬁcient and necessary condition any p that ends at v. for a routing protocol satisfying the optimality require- P ROOF. Let p1 = <v, u1 , . . . , un , d>, p2 = ment [27]. In the following, we ﬁrst introduce a new <v, g1 , . . . , gm , d>, and p = <s, v1 , . . . , vh , v> as il- QoS path metric which satisﬁes the isotonicity property. We then present our path calculation mechanism and our QoS to Destination packet forwarding mechanism. We show that our rout- ing protocol satisﬁes the optimality and consistency re- Destination ω(p) NF(p) NS(p) NT(p) quirements. Finally, we analyze the complexities of our ( 15 , 4, 6) b c f 4 protocol. g ( 24 , 24 , 6) b d e 5.1 Isotonicity 7 5 Table 2. The routing table of Node a in Fig. 6(b). We ﬁrst give the deﬁnition of isotonicity introduced in [27, 28]. Deﬁnition 1. Left-isotonicity The quadruplet (S, ⊕, w, ) Node s puts all the non-dominated paths received is left-isotonic if w(a) w(b) implies w(c ⊕ a) w(c ⊕ from its neighbors in its distance table. Besides, s b), for all a, b, c ∈ S, where S is a set of paths, ⊕ is the also keeps all the non-dominated paths found by it- path concatenation operation, w is a function which maps self in its routing table. When s receives an advertise- a path to a weight, and is the order relation. ment (u, d, NF(p), NS(p), ω(p)) from u which represents Now, we present the proposed QoS path metrics, a non-dominated path p from u to d, s ﬁrst removes all the called composite bandwidth as follows. locally recorded paths from u to d which are dominated Deﬁnition 2. Given a path p, the composite bandwidth by p by comparing ω(p) with the composite bandwidths of p, denoted by ω(p), is (ω1 (p), ω2 (p), ω3 (p)) where of the paths from u to d in the distance table. Denote p ω1 (p) = WB(p), ω2 (p) = TB(p), and ω3 (p) = FB(p). as the path from s to d which is one-hop extended from ω(p1 ) ω(p2 ) iff ω1 (p1 ) ≥ ω1 (p2 ), ω2 (p1 ) ≥ ω2 (p2 ), p. s computes the composite bandwidth of p as follows: and ω3 (p1 ) ≥ ω3 (p2 ). Deﬁnition 3. Given two paths p1 and p2 , if ω(p1 ) 1 1 1 ω(p2 ), we call p1 dominates p2 . If we cannot ﬁnd a path ω1 (p ) = min{ B (s,d) + ω2 (p) , ω1 (p)} dominating p1 , we call p1 a non-dominated path. 1 1 1 (4) ω2 (p ) = B (s,d) + ω3 (p) T HEOREM 1. The composite bandwidth of a path is left- ω3 (p ) = B (s, d) isotonic. P ROOF. Let p1 = <v, u1 , u2 , . . . , un , d> and p2 = By comparing ω(p ) with the composite bandwidths <v, g1 , g2 , . . . , gm , d>, such that ω(p1 ) ω(p2 ). Let p3 of the paths from s to d in the routing table, s can deter- = <s, v1 , . . . , vh , v> from s to v. Denote p = p3 ⊕ p1 and mine whether p is a non-dominated path and remove the p = p3 ⊕ p2 . We are going to show that ω j (p) ≥ ω j (p ) paths that are dominated by p . Node s also knows that for all j = 1, 2, 3. path p goes through the subpath <s, u, NF(p), NS(p)>. By Lemma 2, we have ω1 (p) ≥ ω1 (p ). Since p and If p is a non-dominated path, s will generate an advertise- p share the same ﬁrst link, it holds that ω3 (p) = ω3 (p ). ment (s, d, u, NF(p), ω(p )). The implementation of the If p3 consists of more than two nodes, both p and p above discussion is illustrated in Procedure QoS Update. share the same next second link, so that we have ω2 (p) = The distance table of each node keeps all the non- ω2 (p ). Now, we consider the case that p3 is <s, v>. We dominated paths received from its neighbors to each have destination, and the routing table keeps all the non- dominated paths from itself to each destination. Each 1 1 1 ω2 (p) = B (v,u1 ) + B (s,v) entry of the distance table contains the same informa- 1 1 1 tion as an advertisement received from a neighbor. Ta- ω2 (p ) = B (v,g1 ) + B (s,v) . ble 1 illustrates the distance table of node a in Fig. 6(b). Note that B (v, u1 ) = FB(p1 ) and B (v, g1 ) = FB(p2 ). Based on its distance table, a knows that there are two Since B (v, u1 ) ≥ B (v, g1 ), it holds that ω2 (p) ≥ ω2 (p ). paths from b to destination g. One path going through Therefore, we have ω(p3 ⊕ p1 ) ω(p3 ⊕ p2 ). <b, c, f > has the composite bandwidth ( 60 , 10, 12) and 11 5.2 Table construction another one going through <b, d, e> has the composite The isotonicity property of the proposed QoS metric bandwidth ( 24 , 8, 24). By (4), a ﬁnds two non-dominated 5 of a path allows us to develop a routing protocol that can paths from itself to g. Table 2 illustrates the routing identify the maximum bandwidth path from each node table of a. NT(p) denotes the third next hop on p. to each destination. In our routing protocol, if a node For each path p, the source has its three-hop neighbors ﬁnds a new non-dominated path, it will advertise this on p. For instance, a obtains one path going through path information to its neighbors. We call the packet car- the subpath <a, b, c, f > with the composite bandwidth rying the path information the route packet. For each ( 15 , 4, 6). To ease our discussion, we use the tuple 4 non-dominated path p from s to d, s advertises the tu- (s, d, NF(p), NS(p), NT(p), ω(p)) to identify an entry in ple (s, d, NF(p), NS(p), ω(p)) to its neighbors in a route the routing table of node s, where p is a path from s to d. packet. NF(p) and NS(p) are the next hop and the second We would like to use the network topology in Fig. 6(b) next hop on p from s. Based on the information contained as an example to illustrate the process of our path calcu- in a route packet, each node knows the ﬁrst three hops of lation. Suppose that each node computes the maximum a path identiﬁed. This information is necessary for con- bandwidth path from itself to g. Initially, the distance sistent routing, as discussed in the following subsection. table and the routing table of each node is set to be ∅. Non-dominated path Destination Neighbor ω(p) NF(p) NS(p) b ( 60 , 10, 12) 11 c f g b ( 24 , 8, 24) 5 d e Table 1. The distance table of Node a in Fig. 6(b). In the ﬁrst step, f ﬁnds an one-hop path from itself to not advertise path p1 = <vk−1 , vk , . . . , vn > to vk−2 , there g with the composite bandwidth (12, 12, 12). It will add must exist a path p2 = <vk−1 , g1 , g2 , . . . , gm , vn > which an entry ( f , g, g, g, g, (12, 12, 12)) in its routing table and dominates p1 . We thus have ω(p2 ) ω(p1 ). Denote generate an advertisement R f = ( f , g, g, g, (12, 12, 12)). p = <v1 , . . . , vk−1 >. By Theorem 1, we have p ⊕ p2 When node c receives R f , it includes this path in- p ⊕ p1 . This means that p ⊕ p2 has larger available formation contained in R f in its distance table. By bandwidth than that of path <v1 , . . . , vn >, implying that using Eq. (4), it obtains a new path with the com- <v1 , . . . , vn > is not the maximum bandwidth path, which posite bandwidth (10, 10, 60). It then adds an entry leads to contradiction. (c, g, f , g, g, (10, 10, 60)) in its routing table and gener- ates an advertisement Rc = (c, g, f , g, (10, 10, 60)). When Procedure QoS Update of Node s b receives Rc , it will ﬁnd a new path with the com- /* s receives advertisement (u, d, NF(p), NS(p), ω(p)) posite bandwidth ( 60 , 10, 12). Similarly, b will also re- 11 */ ceive an advertisement Rd = (c, g, e, g, (6, 6, 12)) from 1: for each path p1 from u to d in the distance table of s do d, so that it will obtain another path with the com- 2: if ω(p) ω(p1 ) then 3: Remove p1 from the distance table posite bandwidth ( 24 , 8, 24). Both paths from b to g 5 4: p ←< s, u > ⊕p are non-dominated paths and there are two entries in 5: Find ω(p ) using Eq. (4) 6: for each path p2 from s to d in the routing table of s do its routing table represented by (b, g, c, f , g, ( 60 , 10, 12)) 11 7: if ω(p ) ω(p2 ) then and (b, g, d, e, g, ( 24 , 8, 24)). Node b thus gen- 8: Remove p2 from the routing table 5 9: else erates two advertisements (b, g, c, f , ( 60 , 10, 12)) and 11 10: if ω(p2 ) ω(p ) then 11: return (b, g, d, e, ( 24 , 8, 24)). When a receives two advertise- 5 12: Advertise (s, d, u, NF(p), ω(p )) ments from b, it will obtain the distance table illustrated in Table 1. From the routing table of a illustrated by Table 2, node a will generate two advertisements Ra1 = When a request carrying a bandwidth requirement (a, g, b, c, ( 15 , 4, 6)) and Ra2 = (a, g, b, d, ( 24 , 24 , 6)). If comes in, the node can determine whether there is a 4 7 5 s receives Ra1 ﬁrst, it will obtain a path with the path to support this request by looking up the routing ta- ble. A resource reservation mechanism should be used composite bandwidth ( 12 , 3, 6), and adds an entry 5 to reserve the bandwidth and nodes should advertise new (s, g, a, b, c, ( 12 , 3, 6)) in its routing table. When s re- 5 available bandwidth information as the existing Internet ceives the advertisement Ra2 later, it will obtain another routing mechanisms. 8 path with the composite bandwidth ( 3 , 3, 6). This path 5.3 Packet forwarding dominates the path contained in the routing table of s, Suppose that node s wants to transmit trafﬁc to d along node s thus removes the existing entry from its routing ta- the widest path p = <s, v1 , . . . , vn , d>. Then, each node vi ble and adds a new entry (s, g, a, b, d, ( 8 , 3, 6)) in its rout- 3 on this path should make the consistent decision so that ing table. Therefore, the routing table of s just records the trafﬁc does travel along p. However, as mentioned one path from itself to g. earlier, the widest path from vi to d may not be a subpath T HEOREM 2. Our routing protocol satisﬁes the opti- on p. If vi selects the next hop according to its widest mality requirement. path to d, the trafﬁc may not be sent along the best path P ROOF. We now prove that each node v1 must ﬁnd the from s to d. In this subsection, we present the consistent maximum bandwidth path to destination vn , denoted by hop-by-hop packet forwarding mechanism. <v1 , v2 , . . . , vn >. Suppose that the widest (maximum In a traditional hop-by-hop routing protocol, a packet bandwidth) path between v1 and vn is unique, we now carries the destination of the packet and when a node re- prove that each on-path node vi must advertise the in- ceives a packet, it looks up the next hop by the destina- formation of the subpath <vi , . . . , vn > to vi−1 , where tion only. In our mechanism, apart from the destination, i = 2, . . . , n − 1, by induction. a packet also carries a Routing Field which speciﬁes the As the basic step, since vn−1 is a direct neighbor of vn , next three hops the packet should traverse. For example, it must advertise the information of path <vn−1 , vn > to when node s in Fig. 6(b) wants to send a packet to g, by vn−2 . looking up the routing table, the Routing Field <a, b, d> For the inductive step, assume that vk advertises the will be put in the packet. The packet is sent to a, which information of path <vk , . . . , vn > to vk−1 . If vk−1 does is also the ﬁrst node in the Routing Field. When a receives the packet from s, it should for- p is a non-dominated path by comparing p with other ward the packet along subpath <a, b, d> as speciﬁed in paths contained in its routing table, as illustrated in Lines the Routing Field. It should locate the path p where 6-11 of Procedure QoS Update. There are at most O (A 2 ) NF(p) = b and NS(p) = d in its routing table. Table 2 paths in its routing table, and so it takes O (A 2 ) time to de- shows that NT(p) = e. Then, it updates the Routing Field termine whether p is a non-dominated path. Therefore, to <b, d, e> and send it to e. the spacial and time complexities are both O (A 3 ). L EMMA 3. If two paths share the same ﬁrst two links and have different available bandwidth, they cannot be 6 PERFORMANCE EVALUATION non-dominated paths at the same time. In this section, we investigate the performance of our P ROOF. Let paths p1 = <s, a, b, u1 , . . . , un , d> and p2 = routing algorithm, called the composite bandwidth rout- <s, a, b, g1 , . . . , gm , d>. p1 and p2 share the same ﬁrst two ing algorithm (CBRA), and compare it with the exist- links. We have TB(p1 ) = TB(p2 ) and FB(p1 ) = FB(p2 ). ing hop-by-hop routing algorithms. The widest-shortest Since either WB(p1 ) > WB(p2 ) or WB(p2 ) > WB(p1 ), path algorithm, called WSP, is a well known hop-by- p1 and p2 would not be non-dominated paths at the same hop routing algorithm. In WSP, each node computes the time. minimum-hop path from itself to the destination. Given several paths with the same hop count, the source selects T HEOREM 3. Our routing protocol satisﬁes the consis- the one with the maximum bandwidth as the best path. tency requirement. The available bandwidth of each path is computed based P ROOF. Assume that node v1 wants to transmit a data on the conﬂict graph model. If the bandwidth of each link packet over path <v1 , v2 , . . . , vn >. If v2 transmits the data is the same, the minimum-hop path is also the widest. We packet received from v1 over path <v2 , . . . , vn >, our rout- also investigate the performance of the heuristic maxi- ing protocol satisﬁes the consistency requirement. mum capacity path algorithm (HCP) proposed in [23]. In In our protocol, a node v1 identiﬁes a path HCP, the bandwidth of each link is deﬁned as the min- <v1 , v2 , . . . , vn > because v2 advertises <v2 , . . . , vn >. In imum of the bandwidth for all the links which interfere other words, <v2 , . . . , vn > must be a non-dominated path with this link. Moreover, the bandwidth of a path is de- of v2 and is kept in the routing table of v2 . By Lemma 3, ﬁned as the minimum of the bandwidth for all the links on there should be one path in v2 ’s routing table that goes this path. We consider static wireless mesh networks with through the subpath <v2 , v3 , v4 >. n nodes uniformly deployed in a 2500m × 2500m region. Since <v2 , v3 , v4 , . . . , vn > is the only path that tra- Each node has a ﬁxed transmission range of 500m. The verses the nodes speciﬁed in the routing ﬁeld of the available bandwidth of each link is uniformly distributed packet, v2 should forward the packet over the path se- in the range [50, 500]. We compute the maximum band- lected by v1 . width path between any two nodes. The available band- 5.4 The complexities width of the best path found by the algorithm is used for In the ﬁrst step of the path computation, all the one- evaluating the accuracy performance of the algorithm. hop non-dominated paths have been found. In step k, We investigate how much improvement our algorithm all the k-hop non-dominated paths have been found. The can achieve when compared with WSP and HCP. De- process of path computation will terminate after |V | − 1 note Bcb , Bws , and Bhc as the maximum bandwidth of the steps. The maximum available bandwidth path from each paths between two given nodes found by CBRA, WSP, node to a destination must go through the non-dominated and HCP, respectively. We compute the ratio of Bcb to path from each on-path node to the destination. Bws , denoted by rcb,ws , and the ratio of Bcb to Bhc , de- Given a destination, we are going to analyze the spa- noted by rcb,hc . The higher the ratio, the larger improve- cial and time complexities for each node to ﬁnd all the ment produced by our algorithm. Given a pair of nodes, non-dominated paths from itself to a destination. Denote the distance between them is the minimum number of A as the average number of the neighbors of each node. hops between them. The smaller the distance, the smaller We ﬁrst analyze the spacial complexity, which actually the interference, so that the higher probability that the denotes the storage requirement of the distance table and minimum-hop path is the widest. For instance, an one- routing table in each node. By Lemma 3, there is only hop path is highly likely to be the widest, which will be one non-dominated path going through the given ﬁrst two demonstrated by our simulation results. Therefore, we in- links on this path. This means that the maximum number vestigate the impact of the pair distance on the improve- of non-dominated paths from each node to a destination ment of our algorithm. We compute rcb,ws and rcb,hc under is less than A 2 . The storage requirement for the routing different node pair distances. table and distance table of each node to each destination We have implemented an event-driven simulator. Our are O (A 2 ) and O (A 3 ), respectively. simulator is single-threaded, and only one event with the When node s receives an advertisement, it should ﬁrst earliest execution time is performed at any give time, update its distance table, as illustrated in Lines 1-3 of Pro- which is the same as NS2. Our simulator considers the ef- cedure QoS Update. Since there are at most O (A 3 ) paths fect of the wireless transmission interference but not the from the neighbors of s to d, it takes O (A 3 ) to remove 802.11 protocol overhead (such as DCF) on the perfor- the paths dominated by p from the distance table of s. mance of the routing protocols. In the path computation Afterwards, s ﬁnds a new path p and determines whether process, all nodes in the network broadcast the route in- formation from itself to the destination to all its neigh- The network The number of messages bors. According to the TRCA model, when a node v is topology CBRA WSP HCP advertising the route information to the network, all the (50, 300) 71 69 67 nodes within three-hop neighborhood must not be adver- tising at the same time. For instance, node v has an one- (50, 400) 1953 1210 997 hop neighbor v1 , a two-hop neighbor v2 , and a three-hop (50, 500) 5082 2450 1541 neighbor v3 . If they all have a packet to be advertised at (50, 600) 7552 2915 2376 time t and the simulator lets v to advertise at time t, the Table 3. The communication overhead. simulator will change the execution time of the packets in v1 , v2 , and v3 to be t + ∆t, where ∆t is the transmission The network The time period delay of each packet. Sequentially, our simulator will re- topology CBRA WSP HCP sort the event list according to the execution time of all the events. In our simulation, each packet has a ﬁxed (50, 300) 127 124 121 transmission delay ∆t = 2. (50, 400) 2287 1478 1236 Each advertisement message contains one path infor- (50, 500) 4890 2669 1421 mation. We use the number of messages generated totally (50, 600) 7463 2895 3862 for the path computation process to denote the communi- Table 4. The convergence speed. cation overhead produced by the algorithm. We also test the convergence speed of these algorithms. We ﬁrst ﬁx the transmission range of each node, and algorithm changes a little, as shown in Figure 8(c). change the number of nodes in the network. The simula- We discussed the performance comparison of CBRA tion results are shown in Fig. 7. Fig. 7(a) studies the ac- with WSP in the above. Figures 7(b), 8(b), and 8(d) illus- curacy performance between CBRA and WSP. When the trate the performance comparison of CBRA with HCP. distance between two nodes is 1 hop, there is no improve- The simulation results show that HCP performs worse ment. When the distance of the node pair is larger than than the WSP algorithm, since the improvement of our 3 hops, for instance, in the 100-node networks, the aver- algorithm with HCP is higher than that with WSP. There- age improvement over WSP is more than 25%. We can fore, the bottleneck capacity metric of each link proposed also observe that the improvement generally increases as in [23] cannot work well in the wireless networks. the distance of pairs and the network size increase. How- Table 3 and Table 4 illustrate the communication over- ever, considering the 100-node and 150-node networks, head and the convergence speed produced by the algo- the improvement for the 9-hop pairs is smaller than those rithms. In our simulation, each advertisement packet node pairs with smaller distances, such as 8-hop pairs. contains the information of one path only. The ﬁrst col- It is because the number of paths between 9-hop node umn represents the network topology. For instance, tuple pairs is very small. As a result, the probability that the (50, 300) denotes 50-node network with 300 transmission minimum-hop path is the widest increases. Nevertheless, range of each node. In our algorithm, the nodes need to the improvement in 150-node networks and that in 200- exchange more route information, so that the communi- node networks are almost the same. When the network cation overhead of our algorithm is the highest, and the is sparse, the number of the paths between a node pair convergence speed is the slowest. In practice, route ad- is small, so that the chance that the shortest path is the vertisement can be piggybacked in data packets. On the widest is higher. As the network becomes dense, there other hand, we can also reduce the number of advertise- are more paths between a node pair, and so it is less likely ment messages by putting more path information into a that the shortest path is also the widest path. This implies single message. For example, instead of advertising each that the improvement of our algorithm increases with the non-dominated path individually, we can group the non- node degree. However, if the network is too crowded, the dominated paths to the same destination together to re- number of the shortest paths is also large, which affects duce overhead and convergence time. the improvement of our algorithm. We then ﬁx the number of nodes and change the trans- 7 CONCLUSIONS mission range of each node to investigate the behavior In this paper, we have studied the problem of design- of our algorithm. Figures 8(a) and 8(c) illustrate the ing a hop-by-hop routing protocol with bandwidth re- simulation results in 50-node networks and in 100-node quirement in wireless mesh networks. We presented the networks, respectively. These results also demonstrate mechanism for path selection and packet forwarding. We the characteristics of our algorithm as aforementioned. have formally proved that our routing protocol satisﬁes When increasing the transmission range in the 50-node the optimality and consistency guarantees, so as to en- network, the node density increases, so that the improve- sure the proper operation of our protocol. By doing sim- ment of CBRA comparing with WSP increases, as shown ulations, we investigated the performance of our routing in Figure 8(a). When the transmission range in the 100- protocol. The simulation results showed that our routing node network is more than 500 m, the network is too protocol works better than the existing hop-by-hop rout- crowded (we can observe that the maximum distance be- ing protocols for ﬁnding the maximum bandwidth path. tween nodes is 7 hops), so that the improvement of our The widest path may have larger hop count than the short- 1.4 3.5 50−node 100−node 3 150−node Average improvement (%) Average improvement (%) 1.3 200−node 2.5 1.2 2 1.1 50−node 100−node 1.5 150−node 200−node 1 1 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 Distance between s/d pairs (Hop−count) Distance between s/d pairs (Hop−count) (a) Average ratio of CBRA to WSP. (b) Average ratio of CBRA to HCP. Figure 7. The accuracy performance comparison with the ﬁxed transmission range. 1.4 1.8 500−R 500−R 400−R 400−R 600−R 600−R Average improvement (%) Average improvement (%) 1.3 1.6 1.2 1.4 1.1 1.2 1 1 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 Distance between s/d pairs (Hop−count) Distance between s/d pairs (Hop−count) (a) Average ratio of CBRA to WSP in 50-node networks. (b) Average ratio of CBRA to HCP in 50-node networks. 1.8 2.5 500−R 400−R 600−R Average improvement (%) Average improvement (%) 1.6 2 1.4 1.5 1.2 500−R 400−R 600−R 1 1 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 Distance between s/d pairs (Hop−count) Distance between s/d pairs (Hop−count) (c) Average ratio of CBRA to WSP in 100-node networks. (d) Average ratio of CBRA to HCP in 100-node networks. Figure 8. The accuracy performance comparison with the nodes number. est path. In other words, the widest path may consume mobile ad hoc networks,” Computer Communication, vol. 29, pp. more network resources and result in larger transmission 1316-1329, 2006. delay than the shortest path. In addition to the band- [18] Q. Xue and A. Ganz, “Ad hoc QoS on-demand routing (AQOR) width requirement, a request generally also has the hop in mobile ad hoc networks,” J. Parallel and Distributed Comput- count constraint. We would like to consider the hop count ing, vol. 63, pp. 154-165, 2003. requirement together with the bandwidth requirement in [19] L. Chen and W.B. Heinzelman, “QoS-aware routing based on our future work. Moreover, multi-channel communica- bandwidth estimation for mobile ad hoc networks,” IEEE J. Se- lected Areas in Comm., vol. 23, pp. 561-572, 2005. tion is introduced for improving the throughput of wire- less mesh networks. We are going to extend our routing [20] Z. Jia, R. Gupta, J. Walrand, and P. Varaiya, “Bandwidth guar- anteed routing for ad-hoc networks with interference considera- protocol to the multi-channel networks. tion,” IEEE Symposium on Computers and Communication, pp. 3-9, 2005. 8 References [1] R. Draves, J. Padhye, and B. Zill, “Comparison of routing met- [21] C.-Y. Chiu, Y.-L. Kuo, E. Wu, and G.-H. Chen, “Bandwidth- rics for static multi-hop wireless networks,” ACM SIGCOMM, constrained routing problem in wireless ad hoc networks,” IEEE pp. 133-144, 2004. Transactions on Parallel and Distributed Systems, vol. 19, no. 1, January 2008. [2] Campista et al, “Routing metrics and protocols for wireless mesh networks,” vol. 22, issue. 1, pp. 22-11, 2008. [22] X. Cheng, P. Mohapatra, S.-J. Lee, and S. Banerjee, “MARIA: Interference-aware admission control and QoS routing in wire- [3] D. Couto, D. Aguayo, J. Bicket, and R. Morris, “A high- less mesh networks,” IEEE ICC, pp. 2865-2870, May 2008. throughput path metric for multi-hop wireless routing,” ACM Mobicom’03, September 2003. [23] J. Tang, G. Xue, and W. Zhang, “Interference-aware topology control and QoS routing in multi-channel wireless mesh net- [4] C.E. Koksal and H. Balakrishnan, “Quality-aware routing met- works,” MobiHoc’05, pp. 68-77, May 2005. rics for time-varying wireless mesh networks,” IEEE Journal on selected areas in communications, vol. 24, no. 11, November [24] K. Jain, J. Padhye, V. Padmanabhan, and L. Qiu, “Impact of inter- 2006. ference on multi-hop wireless network performance,” ACM Mo- bicom, 2003. [5] A. P. Subramanian, M. M. Buddkihot, and S. Miller, “Interfer- ence aware routing in multi-radio wireless mesh networks,” IEEE [25] M. Kordialam and T. Nandagopal, “The effect of interference on WiMesh, pp. 55-63, 2006. the capacity of multi-hop wireless networks,” IEEE Symposium on Information Theory, pp. 470-470, June 2004. [6] Y. Yang, J. Wang, and R. Kravets, “Designing routing metrics for mesh networks,” IEEE WiMesh, September 2005. [26] R. Gupta and J. Walrand, “Approximating maximal cliques in ad-hoc networks,” in Proc. of PIMRC’04, Barcelona, Spain, [7] T. Liu and W. Liao, “Capacity-aware routing in multi-channel September 2004. multi-rate wireless mesh networks,” IEEE ICC, 2006. [27] Y. Yang and J. Wang, “Design guidelines for routing metrics in [8] M. Genetzakis and V. A. Siris, “A contention-aware routing met- multihop wireless networks,” IEEE Infocom’08, pp. 2288-2296, ric for multi-rate multi-radio mesh networks,” IEEE SECON, pp. April 2008. 242-250, 2008. [28] J. L. Sobrinho, “Algebra and algorithms for QoS path computa- [9] R. Draves, J. Padhye, B. Zill, “Routing in multi-radio, multi- tion and hop-by-hop routing in the Internet,” IEEE Infocom’01, hop wireless mesh networks,” Mobicom’04, pp. 114-128, Octo- pp. 727-735, vol. 2, April 2001. ber 2004. [10] T. Salonidis, M. Garetto, A. Saha, and E. Knightly, “Identifying high throughput paths in 802.11 mesh networks: a model-based approach,” IEEE International Conference on Network Protocols (ICNP), PP. 21-30, October 2007. [11] S. Waharte, B. Ishibashi, R. Boutaba, and D. Meddour, “Interference-aware routing metric for improved load balancing in wireless mesh networks,” IEEE ICC, pp. 2979-2983, May, 2008. [12] M. Kodialam, T. Nandagopal, “Characterizing the capacity re- gion in multi-radio multi-channel wireless mesh networks,” Mo- bicom’05, Auguest 2005. [13] M. Alicherry, R. Bhatia, and E. Li, “Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks,” MobiCom’05, August 2005. [14] G. Xue, W. Zhang, J. Tang, and K. Thulasiraman, “Polynomial time approximation algorithms for multi-constrained QoS rout- ing,” IEEE/ACM Transactions on Networking, vol. 16, no. 3, June 2008. [15] W.H. Liao, Y.C. Tseng, and K.P. Shih, “A TDMA-based band- width reservation protocol for QoS routing in a wireless mobile ad hoc networks,” IEEE ICC, pp. 3186-3190, April 2002. [16] C. Zhu and M.S. Corson, “QoS routing for mobile ad hoc net- works,” IEEE Infocom’02, pp. 958-967, June 2002. [17] K.-P. Shih, C.-Y. Chang, Y.-D. Chen, and T.-H. Chuang, “Dy- namic bandwidth allocation for QoS routing on TDMA-based