Network coding-aware flow control in wireless ad-hoc networks with multi-path routing | Wireless Networks Skip to main content
Log in

Network coding-aware flow control in wireless ad-hoc networks with multi-path routing

  • Published:
Wireless Networks Aims and scope Submit manuscript

Abstract

In this paper, we study a flow control problem considering network coding in wireless ad-hoc networks with multi-path routing. As a network coding scheme, we use XOR network coding, in which each node bitwise-XORs some packets received from different sessions, and then broadcasts this coded packet to multiple nodes in a single transmission. This process can reduce the number of required transmissions, and thus can improve network utilization, especially if it is used with appropriate network coding-aware protocols. Considering this XOR network coding, we formulate an optimization problem for flow control that aims at maximizing network utility. By solving the optimization problem in a distributed manner, we implement a distributed flow control algorithm that provides the optimal transmitting rate on each of multiple paths of each session. The simulation results show that our flow control algorithm performs well exploiting the advantages of network coding and provides significant performance improvement.

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

Access this article

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Japan)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. In this paper, we call a packet before network coding a native packet or an uncoded packet and a packet after network coding a coded packet.

  2. We say that directional link (nm) is active, if a packet transmission from node n to node m can be successful without any collisions at node m.

  3. In this paper, the capacity of a link is defined as the net throughput of the link after considering collisions and packet transmission errors at its receiver nodes.

  4. How to determine multiple paths for each session is out of the scope in this paper. There are several multi-path routing algorithms for wireless ad hoc networks [9, 11, 20].

References

  1. Ahlswede, R., Ning, C., Li, S. Y. R., Yeung, R. W. (2000). Network information flow. IEEE Trans. Inf. Theory, 46(4), 1204–1216. doi:10.1109/18.850663.

    Article  MATH  Google Scholar 

  2. Chong, E. K., & Zak, S. H. (1994). An introduction to optimization. London: Wiley.

    Google Scholar 

  3. Chou, P. A., & Wu, Y. (2007). Network coding for the Internet and wireless networks. Microsoft research technical report MSR-TR-2007-70.

  4. Fragouli, C., Katabi, D., Markopoulou, A., Medard, M., Rahul, H. (2007). Wireless network coding: Opportunities and challenges. In IEEE Milcom 2007 (pp. 1–8).

  5. Katti, S., Rahul, H., Wenjun, H., Katabi, D., Medard, M., Crowcroft, J. (2008). XORs in the air: Practical wireless network coding. IEEE/ACM Transactions on Networking, 16(3), 497–510. doi:10.1109/TNET.2008.923722.

    Article  Google Scholar 

  6. Kelly, F. (1997). Charging and rate control for elastic traffic. European Transactions on Telecommunications, 8(1), 33–37.

    Article  Google Scholar 

  7. Kelly, F., Maulloo, A., & Tan, D. (1998). Rate control in communication networks. Journal of the Operational Research Society, 49(3), 237–252.

    MATH  Google Scholar 

  8. Khreishah, A., Wang, C. C., & Shroff, N. (2008). Optimization based rate control for communication networks with inter-session network coding. In IEEE INFOCOM (pp. 81–85).

  9. Lee, S. J., & Gerla, M. (2001). Split multipath routing with maximally disjoint paths in ad hoc networks. In IEEE ICC 2001 (pp. 3201–3205).

  10. Low, S. H., & Lapsley, D. E. (1999). Optimization flow control-I: Basic algorithm and convergence. IEEE/ACM Transactions on Networking, 7(6), 861–874.

    Article  Google Scholar 

  11. Marina, M. K., & Das, S. R. (2001). On-demand multipath distance vector routing in ad hoc networks. In Network Protocols, 2001 (pp. 14–23).

  12. Ronasi, K., Mohsenian-Rad, A., Wong, V., Gopalakrishnan, S., Schober, R. (2009). Reliability-based rate allocation in wireless inter-session network coding systems. In IEEE GLOBECOM, pp. 1–6.

  13. Scalia, L., Soldo, F., & Gerla, M. (2007). PiggyCode: A MAC layer network coding scheme to improve TCP performance over wireless networks. In IEEE GLOBECOM 2007 (pp. 3672–3677).

  14. Seferoglu, H., & Markopoulou, A. (2009). Distributed rate control for video streaming over wireless networks with intersession network coding. In Packet video workshop (pp. 1–10).

  15. Seferoglu, H., Markopoulou, A., & Kozat, U. (2009). Network coding-aware rate control and scheduling in wireless networks. In ICME 2009 (pp. 1496–1499).

  16. Sengupta, S., Rayanchu, S., & Banerjee, S. (2007). An analysis of wireless network coding for unicast sessions: The case for coding-aware routing. In IEEE INFOCOM 2007 (pp. 1028–1036).

  17. Sundararajan, J. K., Shah, D., Medard, M., Mitzenmacher, M., & Barros, J. (2009). Network coding meets TCP. In IEEE INFOCOM 2009.

  18. Wu, Y. (2007). Network coding for wireless networks. Microsoft research technical report MSR-TR-2007-90.

  19. Wu, Y., Das, S. M., & Chandra, R. (2007). Routing with a markovian metric to promote local mixing. In IEEE INFOCOM 2007 (pp. 2381–2385).

  20. Ye, Z., Krishnamurthy, S. V., & Tripathi, S. K. (2003). A framework for reliable routing in mobile ad hoc networks. In IEEE INFOCOM (pp. 270–280).

Download references

Acknowledgments

This research was supported in part by Seoul R&BD Program (WR080951) and by the KCC(Korea Communications Commission), Korea, under the R&D program supervised by the KCA(Korea Communications Agency) (KCA-2012-(11-911-04-004)).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jang-Won Lee.

Appendix

Appendix

In this appendix, we derive iterative procedures in (16)–(19) from the Lagrangian function in (13). By substituting the expression on the right hand side of the inequality in (11) for h n m (x) and by using (4), we can rewrite the Lagrangian function in (13) as:

$$ \begin{aligned} L({\bf x}, {\varvec{\lambda}}) =& \sum_{s \in S} U_s\left(\sum_{p \in P(s)} x_{(s,p)} \right) + \sum_{n \in N} \sum_{m \in N(n)} \lambda_{m}^n \left\{ c_{m}^n + \frac{1}{2} \sum_{k\in N(n)\backslash \{m\}} c_{(k,m)}^n \right. \\ & \left. - x^n_{m} - \sum_{k\in N(n)\backslash \{m\}} x_{(k, m)}^n + \frac{1}{2} \sum_{k\in N(n)\backslash \{m\}} \min \left[x_{(k,m)}^n,\,x_{(m,k)}^n,\,c_{(k,m)}^n \right] \right\}. \end{aligned} $$
(20)

Then, by rearranging the above Lagrangian function, we obtain the following:

$$ \begin{aligned} L({\bf x}, {\varvec{\lambda}}) =& \sum_{s \in S} U_s\left(\sum_{p \in P(s)} x_{(s,p)} \right) \\ &- \sum_{n \in N} \sum_{m \in N(n)} \lambda_{m}^n x^n_{m} - \sum_{n \in N} \sum_{m \in N(n)} \sum_{k\in N(n) \backslash \{m\}} \lambda_{m}^n x_{(k, m)}^n \\ & + \frac{1}{2} \sum_{n \in N} \sum_{m \in N(n)} \sum_{k\in N(n) \backslash \{m\}} \lambda_{m}^n \left( \delta_{(k,m)}^n x_{(k,m)}^n + \delta_{(m,k)}^n x_{(m,k)}^n + \zeta_{(k,m)}^n c_{(k,m)}^n \right) \\ & + \sum_{n \in N} \sum_{m \in N(n)} \lambda_{m}^n c_{m}^n + \frac{1}{2} \sum_{n \in N} \sum_{m \in N(n)} \sum_{k\in N(n) \backslash \{m\}} \lambda_{m}^n c_{(k,m)}^n, \end{aligned} $$
(21)

where

$$ \delta_{(k,m)}^n = \left\{ \begin{array}{ll} 1, & \hbox{if}\, \min \left[x_{(k,m)}^n, \, x_{(m,k)}^n, \, c_{(k,m)}^n \right] = x_{(k,m)}^n \\ 0, & \hbox{otherwise}\\ \end{array} \right., \quad \forall k,m \in N(n), \,\, k \neq m, \,\, \forall n \in N, $$

and

$$ \zeta_{(k,m)}^n = \left\{ \begin{array}{ll} 1, & \hbox{if}\, \min \left[x_{(k,m)}^n,\,x_{(m,k)}^n,\,c_{(m,k)}^n \right] = c_{(k,m)}^n \\ 0, & \hbox{otherwise} \end{array} \right., \quad \forall k,m \in N(n) \,\, k \neq m, \,\, \forall n \in N. $$

We can further rewrite (21) by substituting (8) for x n m , and (3) for x n(k,m) and x n(m,k) as:

$$ \begin{aligned} L({\bf x}, {\varvec{\lambda}}) =& \sum_{s \in S} \left\{ U_s\left(\sum_{p \in P(s)} x_{(s,p)}\right) \right. \\ &\left. + \sum_{p \in P(s)} x_{(s,p)} \sum_{n \in p} \left[-\lambda_{t_{(s,p)}(n)}^n + \frac{1}{2} \delta_{(r_{(s,p)}(n), t_{(s,p)}(n))}^n \left( \lambda_{t_{(s,p)}(n)}^n + \lambda_{r_{(s,p)}(n)}^n \right) \right] \right\} \\ & + \sum_{n \in N} \sum_{m \in N(n)} \lambda_{m}^n c_{m}^n + \frac{1}{2} \sum_{n \in N} \sum_{m \in N(n)} \sum_{k \in N(n) \backslash \{m\}} \left( 1 + \zeta_{(k,m)}^n \right) \lambda_{m}^n c_{(k,m)}^n. \end{aligned} $$
(22)

Hence, from (20) and (22), we can obtain the partial derivatives of the Lagrangian function with respect to λ n n and x (s,p) as:

$$ \begin{aligned} \frac{\partial L({\bf x},{\varvec{\lambda}})}{\partial \lambda_{m}^n} =h_{m}^n({\bf x})=& c_{m}^n + \frac{1}{2} \sum_{k\in N(n)\backslash \{m\}}c_{(k,m)}^n - x^n_{m} - \sum_{k\in N(n)\backslash \{m\}} x_{(k,m)}^n \\ &+ \frac{1}{2} \sum_{k\in N(n)\backslash \{m\}} \min\left[x_{(k,m)}^n,\,x_{(m,k)}^n,\,c_{(k,m)}^n \right]\end{aligned} $$

and

$$ \begin{aligned} \frac{\partial L({\bf x}, {\varvec{\lambda}})}{\partial x_{(s,p)}} \,=\,& \frac{\partial U_s \left( \sum_{p \in P(s)} x_{(s,p)} \right)}{\partial x_{(s,p)}} + g^n_{(s,p)}({\varvec{\delta, \lambda}})\\ \,=\,& \frac{\partial U_s \left( \sum_{p \in P(s)} x_{(s,p)} \right)}{\partial x_{(s,p)}} -\lambda_{t_{(s,p)}(n)}^{n} + \frac{1}{2} \delta_{(r_{(s,p)}(n), t_{(s,p)}(n))}^n \left( \lambda_{t_{(s,p)}(n)}^n + \lambda_{r_{(s,p)}(n)}^n \right), \end{aligned} $$

where \({\varvec{\delta}} = \left( \delta_{(k,m)}^n \right)_{k \neq m, \, k,m \in N(n),\, n \in N}\).

Hence, the Lagrangian algorithm can be implemented as

$$ \begin{aligned} {x_{(s,p)}}^{(i+1)} =& \left[ {x_{(s,p)}}^{(i)} + \alpha^{(i)} \frac{\partial L({{\bf x}}^{(i)}, {\varvec{\lambda}}^{(i)})}{\partial x_{(s,p)}} \right]^{+} \\ =& \left[ {x_{(s,p)}}^{(i)} + \alpha^{(i)} \left\{ \left.\frac{\partial U_s \left( \sum_{p \in P(s)} x_{(s,p)} \right)}{\partial x_{(s,p)}} \right|_{{\bf x}={{\bf x}}^{(i)}} + \sum_{n \in p} g^n_{(s,p)}({\varvec{\delta}}^{(i)}, {\varvec{\lambda}}^{(i)}) \right\} \right]^+, \quad \forall p \in P(s), \,\, \forall s \in S \end{aligned} $$

and

$$ \begin{aligned} {\lambda_{m}^n}^{(i+1)} =& \left[ {\lambda_{m}^n}^{(i)} - \beta^{(i)} { \frac{\partial L({{\bf x}}^{(i)}, {\varvec{\lambda}}^{(i)})}{\partial \lambda_{m}^n}} \right]^+\\ =& \left[ {\lambda_{m}^n}^{(i)} - \beta^{(i)} h_{m}^n({\bf x}^{(i)}) \right]^+ , \quad \forall m \in N(n), \,\, \forall n \in N, \end{aligned} $$

where α(i) and β(i) are step sizes at iteration i, [a]+ = max {a, 0},

$$ \begin{aligned} {\delta_{(k,m)}^n}^{(i+1)} = & \left\{ \begin{array}{ll} 1, & \hbox{if}\, \min \left[{x_{(k,m)}^n}^{(i)},\,{x_{(m,k)}^n}^{(i)},\,c_{(k,m)}^n \right] = {x_{(k,m)}^n}^{(i)} \\ 0, & \hbox{otherwise} \\ \end{array}\right.,\quad \forall k,m \in N(n), \,\, k \neq m, \,\, \forall n \in N, \end{aligned} $$

and

$$ \begin{aligned} g^n_{(s,p)}({\varvec{\delta}}^{(i)}, {\varvec{\lambda}}^{(i)}) =& -{\lambda_{t_{(s,p)}(n)}^{n}}^{(i)} + \frac{1}{2} {\delta_{(r_{(s,p)}(n), t_{(s,p)}(n))}^n}^{(i)} \left( {\lambda_{t_{(s,p)}(n)}^n}^{(i)} + {\lambda_{r_{(s,p)}(n)}^n}^{(i)} \right), \quad \forall n \in N, \,\, \forall p \in P(s), \,\, \forall s \in S. \end{aligned} $$

Rights and permissions

Reprints and permissions

About this article

Cite this article

Roh, HT., Lee, JW. Network coding-aware flow control in wireless ad-hoc networks with multi-path routing. Wireless Netw 19, 785–797 (2013). https://doi.org/10.1007/s11276-012-0501-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11276-012-0501-9

Keywords

Navigation