Abstract
Wireless mesh networks have attracted increasing attention and deployment as a high-performance and low-cost solution to last-mile broadband Internet access. Traffic routing plays a critical role in determining the performance of a wireless mesh network. To investigate the best routing solution, existing work proposes to formulate the mesh network routing problem as an optimization problem. In this problem formulation, traffic demand is usually implicitly assumed as static and known a priori. Contradictorily, recent studies of wireless network traces show that the traffic demand, even being aggregated at access points, is highly dynamic and hard to estimate. Thus, in order to apply the optimization-based routing solution into practice, one must take into account the dynamic and unpredictable nature of wireless traffic demand. This paper presents an integrated framework for wireless mesh network routing under dynamic traffic demand. This framework consists of two important components: traffic estimation and routing optimization. By studying the traces collected at wireless access points, we first present a traffic estimation method which predicts future traffic demand based on its historical data using time-series analysis. This method provides not only the mean value of the future traffic demand estimation but also its statistical distribution. We further investigate the optimal routing strategies for wireless mesh network which take these two forms of traffic demand estimations as inputs. The goal is to balance the traffic load so that minimum congestion will be incurred. This routing objective could be transformed into the throughput optimization problem where the throughput of aggregated flows is maximized subject to fairness constraints that are weighted by the traffic demands. Based on linear programming, we present two routing algorithms which consider the mean value and the statistical distribution of the predicted traffic demands, respectively. The trace-driven simulation study demonstrates that our integrated traffic estimation and routing optimization framework can effectively incorporate the traffic dynamics in mesh network routing.


















Similar content being viewed by others
Notes
Ideally, z(t) should have zero mean. In some cases, z(t) has a small mean value which needs to be removed before fitting an autoregressive process.
Note that the beginning part of the trace [0,107] is used as training data, thus is not included in the simulation result.
References
Draves R, Padhye J, Zill B (2004) Routing in multi-radio, multi-hop wireless mesh networks. In: Proc. of ACM MobiCom, pp 114–128
Biswas S, Morris R (2005) Exor: opportunistic multi-hop routing for wireless networks. In: Proc. of ACM SIGCOMM, pp 133–144
Raniwala A, Chiueh T (2005) Architecture and algorithms for an ieee 802.11-based multi-channel wireless mesh network. In: Proc. of IEEE INFOCOM
Alicherry M, Bhatia R, Li L (2005) Joint channel assignment and routing for throughput optimization in multi-radio wireless mesh networks. In: Proc. of ACM MobiCom
Tang J, Xue G, Zhang W (2006) Maximum throughput and fair bandwidth allocation in multi-channel wireless mesh networks. In: Proc. of IEEE INFOCOM
Meng X (George), Wong SHY, Yuan Y, Lu S (2004) Characterizing flows in large wireless data networks. In: Proc. of ACM MobiCom
Gupta P, Kumar PR (2000) The capacity of wireless networks. IEEE Trans Information Theory 46: 388–404
Jain K, Padhye J, Padmanabhan V, Qiu L (2003) Impact on interference on multi-hop wireless network performance. In: Proc. of MobiCom, September
Kumar VSA, Marathe MV, Parthasarathy S, Srinivasan A (2005) Algorithmic aspects of capacity in wireless networks. In: Proc. of ACM SIGMETRICS, pp 133–144
Xue Y, Li B, Nahrstedt K (2006) Optimal resource allocation in wireless ad hoc networks: a price-based approach. IEEE Trans Mobile Comput 5(4):347–364, April
Wang H, Xie H, Qiu L, Yang YR, Zhang Y, Greenberg A (2006) Cope: traffic engineering in dynamic networks. In: Proc. of ACM SIGCOMM
Garg N, Konemann J (1998) Faster and simpler algorithms for multicommodity flow and other fractional packing problems. In: Proc. of IEEE FOCS
Wu H, Yang F, Tan K, Chen J, Zhang Q, Zhang Z (2006) Distributed channel assignment and routing in multi-radio multi-channel multi-hop wireless networks. IEEE JSAC 24(11):1972–1983 (special issue on multi-hop wireless mesh networks)
Raniwala A, Gopalan K, Chiueh T (2004) Centralized channel assignment and routing algorithms for multi-channel wireless mesh networks. Mobile Comput Commun Rev 8(2):50–65
Kodialam M, Nandagopal T (2005) Characterizing the capacity region in multi-radio multi-channel wireless mesh networks. In: Proc. of ACM MobiCom
Gambiroza V, Sadeghi B, Knightly EW (2004) End-to-end performance and fairness in multihop wireless backhaul networks. In: Proc. of ACM MobiCom
Leonardi E, Mellia M, Marsan MA, Neri F (2005) Joint optimal scheduling and routing for maximum network throughput. In: INFOCOM
Lin X, Rasool S (2007) A distributed joint channel-assignment, scheduling and routing algorithm for multi-channel ad hoc wireless networks. In: INFOCOM
Kotz D, Essien K (2002) Analysis of a campus-wide wireless network. In: ACM MobiCom, pp 107–118
Henderson T, Kotz D, Abyzov I (2004) The changing usage of a mature campus-wide wireless network. In: Proc. of ACM MobiCom, pp 187–201
Thompson N, He G, Luo H (2006) Flow scheduling for end-host multihoming. In: Proceedings of IEEE INFOCOM
Azar Y, Cohen E, Fiat A, Kaplan H, Racke H (2004) Optimal oblivious routing in polynomial time. J Comput Syst Sci 69(3):383–394
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
1.1 A. Proof for Theorem 1
The proof to Theorem 1 is precluded by a sequence of lemmas. We first make the following denotations. We use OPT to represent the optimal solution of both P T and D T , and OPT′ to represent the solution derived from FMR algorithm.
Lemma 1
If OPT ≥ 1, scaling the final flow by log1 + ε 1/β yields a feasible primal solution of value \(OPT'=\frac{t-1}{\log_{1+\epsilon}{1/\beta}}\) , t being the number of phases the algorithm takes to stop.
Proof
We first make the following denotations. Regarding a set of price assignments μ e for S e (e ∈ E), the objective function of D is \(L^{\mu_e}\triangleq\sum_{e\in E} c\cdot\mu_e\). Let \(P^{\mu_e}(f)\) be the minimum path of the flow f ∈ F using μ e . \(\mu(P^{\mu_e}(f))\triangleq\sum_{e\in E}A_{eP^{\mu_e}(f)}\mu_e\) is the aggregated price of \(P^{\mu_e}(f)\). Each phase contains |F| iterations, where traffic for each flow in F is routed according to its demand. In each iteration, the price of an interference set is updated. We use \(\mu_e^{(i)(j)}\) to denote the price of S e for e ∈ E after the jth iteration of the ith phase. Regarding \(\mu_e^{(i)(j)}\), we simplify the notation \(L^{\mu_e^{(i)(j)}}\) into L (i)(j), \(P^{\mu_e^{(i)(j)}}\) into P (i)(j), and \(\mu(P^{\mu_e^{(i)(j)}})\) into μ(P (i)(j)). Based on the price update function (Line 11 in Table 2), we have
The price assignment at the start of the (i + 1)th phase are the same as that at the end of the ith phase, i.e., \(\mu_e^{(i+1)(0)}=\mu_e^{(i)(|F|)}\). The price of any interference set S e is initialized as \(\mu_e^{(1)(0)}=\mu_e^{(0)(|F|)}=\beta/c\). Hence,
since the edge lengths are monotonically increasing.
Let us define \(\mu^{(i)(|F|)}=\sum_{j=1}^{|F|}d(f_j)\mu(P^{(i)(|F|)})\). Then the objective of D T is to minimize L (i)(|F|), subject to the constraint that μ (i)(|F|) ≥ 1. This constraint can be easily satisfied if we scale the length of all inference sets by 1/μ (i)(|F|). So D T is equivalent to finding a set of inference set lengths, such that \(\frac{L^{(i)(|F|)}}{\mu^{(i)(|F|)}}\) is minimized. Thus the optimal value of D T is \(OPT\triangleq\min_{\mu^{(i)(|F|)}}\frac{L^{(i)(|F|)}}{\mu^{(i)(|F|)}}\).
Since \(\frac{L^{(i)(|F|)}}{\mu^{(i)(|F|)}}\geq OPT\), we have
Since L (0)(|F|) = β|E|, we have
where the last inequality assumes that OPT ≥ 1. The algorithm stops at the first phase t for which L (t)(|F|) ≥ 1. Therefore,
which implies
Now consider an interference set S e . For every c units of flow routed through S e , we increase its price by at least a factor (1 + ε). Initially, its length is β/c and after t − 1 phases, since L (t)(|F|) < 1, the price of S e satisfies \(\mu_e^{(t-1)(|F|)}<1/c\). Therefore the total amount of flow through S e in the first t − 1 phases is strictly less than \(\log_{1+\epsilon}\frac{1/c}{\beta/c}=\log_{1+\epsilon}1/\beta\) times its capacity. Thus, scaling the flow by log1 + ε 1/β will yield a feasible solution. Since in each phase, d(f) units of data are routed for each flow, we have \(OPT'=\frac{t-1}{\log_{1+\epsilon}1/\beta}\). □
Lemma 2
If OPT ≥ 1, then the final flow scaled by log1 + ε 1/β has a value at least (1 − 3ε) times OPT , when β = (|E|/(1 − ε)) − 1/ε .
Proof
By Lemma 1, scaling the final flow by log1 + ε 1/β yields a feasible solution. Therefore,
Substituting the bound on OPT/(t − 1) from Inequality (38), we get
When β = (|E|/(1 − ε)) − 1/ε, the above in Equality becomes
□
Lemma 3
If OPT ≥ 1 and β = (|E|/(1 − ε)) − 1/ε , Algorithm I terminates after at most \(t=1+\frac{OPT}{\epsilon}\log_{1+\epsilon}{\frac{|E|}{1-\epsilon}}\) phases.
Proof
From Inequality (39) and weak-duality, we have
Hence, the number of phases t is strictly less than 1 + OPTlog1 + ε 1/β. If β = (|E|/(1 − ε)) − 1/ε, then \(t\leq1+\frac{OPT}{\epsilon}\log_{1+\epsilon}{\frac{|E|}{1-\epsilon}}\) □
These lemmas require that OPT ≥ 1. The running time of the algorithm also depends on OPT. Thus we need to ensure that OPT is at least one and not too large. Let ζ i be the maximum traffic value of flow f i when all other flows have zero traffic. Let \(\zeta=\min_i\frac{\zeta_i}{d(f_i)}\). Since at best all single commodity maximum flows can be routed simultaneously, ζ is an upper bound on OPT′. On the other hand, routing 1/|F| fraction of each flow of value ζ i is a feasible solution, which implies that ζ/|F| is a lower bound on OPT. To ensure that OPT ≥ 1, we can scale the original demands so that ζ/|F| is at least one. However, by doing so, OPT might be made as large as |F|, which is also undesirable.
To reduce the dependence on the number of phases on OPT, we adopt the following technique. If the algorithm does not stop after \(T=\frac{2}{\epsilon}\log_{1+\epsilon}\frac{|E|}{1-\epsilon}\) phases, it means that OPT > 2. We then double demands of all commodities, so that OPT is halved and still at least 1. We then continue the algorithm, and double demands again if it does not stop after T phases.
These lemmas require that OPT ≥ 1. The running time of the algorithm also depends on OPT. Thus we need to ensure that OPT is at least one and not too large. Let ζ f be the maximum traffic value of flow f when all other flows have zero traffic. Let \(\zeta=\min_f\frac{\zeta_{\!f}}{d_{\!f}}\). Since at best all single commodity maximum flows can be routed simultaneously, ζ is an upper bound on OPT′. On the other hand, routing 1/|F| fraction of each flow of value ζ f is a feasible solution, which implies that ζ/|F| is a lower bound on OPT. To ensure that OPT ≥ 1, we can scale the original demands so that ζ/|F| is at least one. However, by doing so, OPT might be made as large as |F|, which is also undesirable.
To reduce the dependence on the number of phases on OPT, we adopt the following technique. If the algorithm does not stop after \(T=\frac{2}{\epsilon}\log_{1+\epsilon}\frac{|E|}{1-\epsilon}\) phases, it means that OPT > 2. We then double demands of all commodities, so that OPT is halved and still at least 1. We then continue the algorithm, and double demands again if it does not stop after T phases.
Lemma 4
Given ζ f for each flow f , the running time of Algorithm I is \(O\left(\frac{\log|E|}{\epsilon^2}(2|F|\log |F|+|E|)\right)\cdot T_{mp}\) .
Proof
The above demand-doubling procedure is repeated for at most log|F| times. Thus, the total number of phases is at most Tlogk. Since each phase contains k iterations, the algorithm runs for at most kTlogk iterations.
Now we observe how many steps are within each iteration. For each step except for the last step in an iteration, the algorithm increases the length of some edge (the bottleneck edge on t) by 1 + ε. d e has initial value β/c and value at most 1/c before the final step of the algorithm. Otherwise, the stop criterion of the algorithm, ∑ e ∈ E c·d e ≥ 1, would have been reached. This means that the length of an edge can be updated in at most \(\log_{1+\epsilon}{\frac{1}{\beta}}=\frac{1}{\epsilon}\log_{1+\epsilon}{\frac{|E|}{1-\epsilon}}\) steps. Therefore, the algorithm contains at most \(\frac{|E|}{\epsilon}\log_{1+\epsilon}{\frac{|E|}{1-\epsilon}}\leq\frac{|E|}{\epsilon^2}\log{\frac{|E|}{1-\epsilon}}\) such “normal” steps, and \(kT\log k\leq\frac{2k\log k}{\epsilon^2}\log\frac{|E|}{1-\epsilon}\) “final” steps. Each step contains a minimum overlay spanning tree operation. □
Theorem 1
The total running time of Algorithm I is \(O\left(\frac{1}{\epsilon^2}[\log|E|(2|F|\log|F|+|E|)+\log U)]\right)\cdot T_{mp}\) .
Proof
Computing ζ i corresponds to the maximum flow problem, where f i is the only commodity. The running time of getting ζ i is \(O\left(\frac{|E|}{\epsilon^2}(\log U)\right)\cdot T_{mp}\), where U is the length of the longest unicast route, and T mp denotes the running time to find the minimum path. Such an operation has to be repeated for each flow. Also from the result of Lemma 4, we can obtain the total running time as described by the theorem. □
1.2 B. Proof for Theorem 2
The proof for Theorem 2 follows the same sequence as the proof to Theorem 1, with minor modification. We start with Lemma 1. Each phase of the algorithm contains |F| iterations, where traffic for each flow in F is routed according to its demand. We reuse the same denotations defined in the original proof to Lemma 1. We further introduce d (i) as the demand vector chosen at the ith phase.
Based on the price update function (Line 11 in Table 2), we have
The price assignment at the start of the (i + 1)th phase are the same as that at the end of the ith phase, i.e., \(\mu_e^{(i+1)(0)}=\mu_e^{(i)(|F|)}\). The price of any interference set S e is initialized as \(\mu_e^{(1)(0)}=\mu_e^{(0)(|F|)}=\beta/c\). Hence,
since the edge lengths are monotonically increasing.
Let us define \(\mu^{(i)(|F|)}=\sum_{j=1}^{|F|}d(f_j)\mu(P^{(i)(|F|)})\frac{\lambda^*({\boldsymbol{d}}^{(i)})}{p({\boldsymbol{d}}^{(i)})}\). Then the objective of D is to minimize L (i)(|F|), subject to the constraint that μ (i)(|F|) ≥ 1, i.e., \(\frac{L^{(i)(|F|)}}{\mu^{(i)(|F|)}}\geq OPT\).
The rest of the proof follows the same as the original proof to Lemma 1. The proofs to Lemma 2, 3, 4, and Theorem 1 remain the same.
Rights and permissions
About this article
Cite this article
Dai, L., Xue, Y., Chang, B. et al. Optimal Routing for Wireless Mesh Networks With Dynamic Traffic Demand. Mobile Netw Appl 13, 97–116 (2008). https://doi.org/10.1007/s11036-008-0033-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11036-008-0033-9