Skip to main content
Log in

Optimal Routing for Wireless Mesh Networks With Dynamic Traffic Demand

  • Published:
Mobile Networks and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18

Similar content being viewed by others

Notes

  1. 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.

  2. Note that the beginning part of the trace [0,107] is used as training data, thus is not included in the simulation result.

References

  1. Draves R, Padhye J, Zill B (2004) Routing in multi-radio, multi-hop wireless mesh networks. In: Proc. of ACM MobiCom, pp 114–128

  2. Biswas S, Morris R (2005) Exor: opportunistic multi-hop routing for wireless networks. In: Proc. of ACM SIGCOMM, pp 133–144

  3. Raniwala A, Chiueh T (2005) Architecture and algorithms for an ieee 802.11-based multi-channel wireless mesh network. In: Proc. of IEEE INFOCOM

  4. 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

  5. Tang J, Xue G, Zhang W (2006) Maximum throughput and fair bandwidth allocation in multi-channel wireless mesh networks. In: Proc. of IEEE INFOCOM

  6. Meng X (George), Wong SHY, Yuan Y, Lu S (2004) Characterizing flows in large wireless data networks. In: Proc. of ACM MobiCom

  7. Gupta P, Kumar PR (2000) The capacity of wireless networks. IEEE Trans Information Theory 46: 388–404

    Article  MATH  MathSciNet  Google Scholar 

  8. Jain K, Padhye J, Padmanabhan V, Qiu L (2003) Impact on interference on multi-hop wireless network performance. In: Proc. of MobiCom, September

  9. Kumar VSA, Marathe MV, Parthasarathy S, Srinivasan A (2005) Algorithmic aspects of capacity in wireless networks. In: Proc. of ACM SIGMETRICS, pp 133–144

  10. 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

    Article  Google Scholar 

  11. Wang H, Xie H, Qiu L, Yang YR, Zhang Y, Greenberg A (2006) Cope: traffic engineering in dynamic networks. In: Proc. of ACM SIGCOMM

  12. Garg N, Konemann J (1998) Faster and simpler algorithms for multicommodity flow and other fractional packing problems. In: Proc. of IEEE FOCS

  13. 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)

    Google Scholar 

  14. 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

    Article  Google Scholar 

  15. Kodialam M, Nandagopal T (2005) Characterizing the capacity region in multi-radio multi-channel wireless mesh networks. In: Proc. of ACM MobiCom

  16. Gambiroza V, Sadeghi B, Knightly EW (2004) End-to-end performance and fairness in multihop wireless backhaul networks. In: Proc. of ACM MobiCom

  17. Leonardi E, Mellia M, Marsan MA, Neri F (2005) Joint optimal scheduling and routing for maximum network throughput. In: INFOCOM

  18. Lin X, Rasool S (2007) A distributed joint channel-assignment, scheduling and routing algorithm for multi-channel ad hoc wireless networks. In: INFOCOM

  19. Kotz D, Essien K (2002) Analysis of a campus-wide wireless network. In: ACM MobiCom, pp 107–118

  20. 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

  21. Thompson N, He G, Luo H (2006) Flow scheduling for end-host multihoming. In: Proceedings of IEEE INFOCOM

  22. 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

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yuan Xue.

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

$$ \begin{array}{ll} L^{(i)(j)} &=\sum_{e\in E}\mu_e^{(i)(j-1)}+\epsilon\sum_{e\in P^{(i)(j-1)}}A_{eP^{(i)(j-1)}}\mu_e^{(i)(j-1)}d(f_j)\\ &=L^{(i)(j-1)}+d(f_j)\mu(P^{(i)(j-1)}) \end{array} $$

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,

$$ L^{(i)(|F|)}\leq L^{(i)(0)}+\epsilon\sum_{j=1}^{|F|}d(f_j)\mu(P^{(i)(|F|)}) $$

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

$$ L^{(i)(|F|)}\leq\frac{\beta|E|}{1-\epsilon}e^{\frac{\epsilon(i-1)}{OPT(1-\epsilon)}} $$

Since L (0)(|F|) = β|E|, we have

$$ \begin{array}{lll} L^{(i)(|F|)}&\leq&\frac{\beta|E|}{(1-\epsilon/OPT)^i}\\ &=&\frac{\beta|E|}{(1-\epsilon/OPT)}\left(1+\frac{\epsilon}{OPT-\epsilon}\right)^{i-1}\\ &\leq&\frac{\beta|E|}{(1-\epsilon/OPT)}e^{\frac{\epsilon(i-1)}{OPT-\epsilon}}\\ &\leq&\frac{\beta|E|}{1-\epsilon}e^{\frac{\epsilon(i-1)}{OPT(1-\epsilon)}} \end{array} $$

where the last inequality assumes that OPT ≥ 1. The algorithm stops at the first phase t for which L (t)(|F|) ≥ 1. Therefore,

$$ 1\leq L^{(t)(|F|)}\leq\frac{\beta|E|}{1-\epsilon}e^{\frac{\epsilon(t-1)}{OPT(1-\epsilon)}} $$

which implies

$$\frac{OPT}{t-1}\leq\frac{\epsilon}{(1-\epsilon)\ln\frac{1-\epsilon}{\beta|E|}} $$
(38)

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,

$$\frac{OPT}{OPT'}<\log_{1+\epsilon}1/\beta $$
(39)

Substituting the bound on OPT/(t − 1) from Inequality (38), we get

$$ \frac{OPT}{OPT'}<\frac{\epsilon\log_{1+\epsilon}1/\beta}{(1-\epsilon)\ln\frac{1-\epsilon}{\beta|E|}}=\frac{\epsilon}{(1-\epsilon)\ln(1+\epsilon)}\frac{\ln 1/\beta}{\ln\frac{1-\epsilon}{\beta|E|}} $$

When β = (|E|/(1 − ε)) − 1/ε, the above in Equality becomes

$$ \begin{array}{lll} \frac{OPT}{OPT'}&<&\frac{\epsilon}{(1-\epsilon)^2\ln(1+\epsilon)}\\ &\leq&\frac{\epsilon}{(1-\epsilon)^2(\epsilon-\epsilon^2/2)}\frac{1}{\leq(1-\epsilon)^3}\leq(1-3\epsilon) \end{array} $$

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

$$ 1\leq\frac{OPT}{OPT'}<\log_{1+\epsilon}1/\beta $$

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

$$L^{{{\left( i \right)}{\left( j \right)}}} = L^{{{\left( i \right)}{\left( {j - 1} \right)}}} + d{\left( {f_{j} } \right)}\mu {\left( {P^{{{\left( i \right)}{\left( {j - 1} \right)}}} } \right)}\frac{{\lambda ^{*} {\left( {{\boldsymbol{d}}^{{{\left( i \right)}}} } \right)}}}{{p{\left( {{\boldsymbol{d}}^{{{\left( i \right)}}} } \right)}}}$$

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,

$$ \begin{array}{lll} L^{(i)(|F|)}&=&L^{(i)(0)}+\epsilon\sum_{j=1}^{|F|}d(f_j)\mu(P^{(i)(j-1)})\frac{\lambda^*({\boldsymbol{d}}^{(i)})}{p({\boldsymbol{d}}^{(i)})}\\ &\leq&L^{(i)(0)}+\epsilon\sum_{j=1}^{|F|}d(f_j)\mu(P^{(i)(|F|)})\frac{\lambda^*({\boldsymbol{d}}^{(i)})}{p({\boldsymbol{d}}^{(i)})} \end{array} $$

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11036-008-0033-9

Keywords

Navigation