Abstract
In current networks, end-user devices are usually equipped with several network interfaces. The design of a multipath protocol that can cooperate with current single-path transport protocols is an interesting research field. Most previous works on multipath network utility maximization (NUM) lead to rate-based control protocols. Moreover, these studies do not model a case in which paths from a source may have different characteristics. Thus, these approaches are difficult to deploy to the Internet. In this paper, we introduce a multipath NUM model for a network with both multipath and single-path users. The proposed algorithm converges to a global solution to the multipath NUM. Based on the mathematical framework, we develop a multipath TCP called mReno. Analysis and simulations indicate that mReno is completely compatible with TCP Reno and achieves load-balance, fairness, and performance improvement targets.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
In the literature, sometimes the utility function of TCP Reno is used \(-3/(2D_s^2 x_s)\) which more precisely described the TCP behaviour in the mathematical models.
We can also increases the window-size by \((1-\epsilon ){\theta }_{s,i}^2 + \epsilon \) in every RTT. Since \(1-q_{s,i} \approx 1\), two statements are similar.
Jains fainess index is calculated by \(f=\frac{(\sum x_s)^2}{|\mathcal N |\sum x_s^2}\). \(f=1\) indicates the best fairness.
Abbreviations
- \(\mathcal N \) :
-
The set of sources/flows
- \(\mathcal L \) :
-
The set of links
- \(|\mathcal N |\) :
-
The number of sources/flows
- \(|s|\) :
-
The number of subflows from source \(s\)
- \((s,i)\) :
-
Subflow \(i\) of source \(s\)
- \(D_{s,i}\) :
-
The round-trip-time of subflow \((s,i)\)
- \(c_l\) :
-
The capacity of link \(l\)
- \(\epsilon \) :
-
The constant combining the fully coupled and uncoupled terms in Main problem
- \(x_{s,i}\) :
-
The rate of subflow \((s,i)\)
- \(\varvec{x}_s\) :
-
The rate vector of flow \(s, \varvec{x}_s = [x_{s,1},\ldots ,x_{s,|s|}]^T\)
- \(\varvec{x}\) :
-
The rate vector of all flows in the network, \(\varvec{x} = [\varvec{x}_1,\ldots ,\varvec{x}_{|\mathcal N |}]^T\)
- \(\theta _{s,i}\) :
-
The auxiliary variable associated with subflow \((s,i)\)
- \(\varvec{\theta }_s, \varvec{\theta }\) :
-
\(\varvec{\theta }_s = [\theta _{s,1},\ldots ,\theta _{s,|s|}]^T\) and \(\varvec{\theta } = [\varvec{\theta }_1,\ldots ,\varvec{\theta }_{|\mathcal N |}]^T\), the vectors of auxiliary variables associated with flow \(s\) and all flows, respectively
- \(y_l\) :
-
The aggregate traffic on link \(l\)
- \(p_l\) :
-
The price of link \(l\)
- \(q_{s,i}\) :
-
The aggregate price of all the links of subflow \((s,i)\)
- \(U_s\) :
-
The utility function of source \(s\)
- \(\tilde{U}_s\) :
-
The utility function of source \(s\) including both fully coupled and uncoupled terms considered in the paper
- \(\hat{U}_{s,i}\) :
-
The approximate utility function associated with subflow \((s,i)\)
References
Kelly FP, Maulloo AK, Tan DKH (1998) Rate control for communication networks: shadow prices, proportional fairness and stability. J Oper Res Soc 49(3):237–252
Low S, Lapsley D (1999) Optimization flow control, i: basic algorithm and convergence. IEEE/ACM Trans Netw 7(6):861–874
Kelly F, Voice T (2005) Stability of end-to-end algorithms for joint routing and rate control. SIGCOMM Comput Commun Rev 35:5–12
Han H, Shakkottai S, Hollot CV, Srikant R, Towsley D (2006) Multi-path tcp: a joint congestion control and routing scheme to exploit path diversity in the internet. IEEE/ACM Trans Netw 14(6):1260–1271
Lin X, Shroff N (2006) Utility maximization for communication networks with multipath routing. IEEE Trans Automatic Control 51(5):766–781
Wang W-H, Palaniswami M, Low SH (2003) Optimal flow control and routing in multi-path networks. Performance Evaluation 52(2–3):119–132
Wischik D, Handley M, Raiciu C (2009) Control of multipath TCP and optimization of multipath routing in the internet series. In: Nez-Queija R, Resing J (eds) Lecture Notes in Computer Science, vol 5894. Springer, Berlin/Heidelberg
Wischik D, Raiciu C, Greenhalgh A, Handley M (2011) Design, implementation and evaluation of congestion control for multipath tcp. In: Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation, series, pp 8–8. NSDI’11
Raiciu C, Handley M, Wischik D (2011) Coupled congestion control for multipath transport protocols. RFC 6356(6356):1–12
Marks BR, Wright GP (1978) A general inner approximation algorithm for nonconvex mathematical programs. Oper Res 26(4):681–683
Chiang M, Tan CW, Palomar D, O’Neill D, Julian D (2007) Power control by geometric programming. IEEE Trans Wireless Commun 6(7):2640–2651
Tran N, Hong CS (2010) Joint rate and power control in wireless network: a novel successive approximations method. IEEE Commun Lett 14(9):872–874
Vo PL, Tran NH, Hong CS (2011) Joint rate and power control for elastic and inelastic traffic in multihop wireless networks. In: Global Telecommunications Conference (GLOBECOM 2011), 2011 IEEE, pp 1–5
Vo PL, Le AT, Hong CS, (2012) The successive approximation approach for multi-path utility maximization problem. In: IEEE ICC, Communication QoS, Reliability and Modeling Symposium (ICC’12 CQRM), Ottawa, ON, Canada
Srikant R. (2004) The mathematics of internet congestion control, series. Systems and control: foundations and applications. Birkhäuser, Boston
Ns-2 network simulator 2 [Online]. http://http://www.isi.edu/nsnam/ns/
Bertsekas DP (1999) Nonlinear programming. Athena Scientific, Belmont
Bertsekas DP, Tsitsiklis JN (1989) Parallel and distributed computation: numerical methods. Prentice-Hall, Inc., Upper Saddle River
Acknowledgments
This research was supported by the MSIP(Ministry of Science, ICT & Future Planning), Korea, under the C-ITRC (Convergence Information Technology Research Center) support program (NIPA-2013-H0301-13-3007) supervised by the NIPA (National IT Industry Promotion Agency). Dr. CS Hong is the corresponding author.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Proof of Proposition 1
The arguments are closely based on the convergence proof of the gradient decent algorithm [17, Prop.2.3.2].
The function \(U_s\) is twice continuously differentiable for all \(s \in \mathcal N \), thus, the function \(\hat{V}\) is has a similar property. That is, there exists a constant \(L\) such that \(\Vert \nabla \hat{V}(\varvec{x}) - \nabla \hat{V}(\varvec{y})\Vert \le L \Vert \varvec{x}-\varvec{y}\Vert , \forall \varvec{x},\varvec{y}\) bounded. The gradient update (4) does not decrease the objective of Approximation problem in every inner-iteration [17, Prop.2.3.2] or [18, Prop.3.3].
If the stepsize \( 0< \kappa < 2/L\), the following inequalities are obtained
Equation (13) is obtained by replacing \(\theta _{s,i}^{(\tau )}\) with \(\frac{x^{(\tau -1)}_{s,i}(K)}{\sum _{j \in s}x^{(\tau -1)}_{s,j}(K)}\) and \(\varvec{x}^{(\tau )}(0)\) with \(\varvec{x}^{(\tau - 1)}(K)\). Inequality (14) is obtained by summing \(K\) inequalities (12) when \(k = 0,..,K-1\). Inequality (15) is satisfied because of (1). \(\square \)
The sequence \(V(\varvec{x}^{(\tau )}(K))\) is non-decreasing and bounded as \(\varvec{x}\) is bounded. Therefore, the sequence \(V(\varvec{x}^{(\tau )}(K))\) converges as \(\tau \rightarrow \infty \). From (13)–(15), we also have \(\Vert \varvec{x}^{(\tau )}(k+1) - \varvec{x}^{(\tau )}(k)\Vert ^2 \rightarrow 0\) as \(\tau \rightarrow \infty \) for \(k=0,\ldots ,K-1\).
Let \(\varvec{x}^*\) be any limit point, i.e., there is a subsequence \(\varvec{x}^{(\tau _n)}(K) \rightarrow \varvec{x}^*\) as \(n \rightarrow \infty \). Since \(\Vert \varvec{x}^{(\tau _n)}(k+1) - \varvec{x}^{(\tau _n)}(k)\Vert ^2 \rightarrow 0\) as \(n \rightarrow \infty , k = 0,\ldots ,K-1\), the limit point \(\varvec{x}^*\) is also a stationary point of the gradient update (4). We have
where \(\theta ^*_{s,i}\) is the limit point of \(\frac{x_{s,i}^{(\tau _n)}(0)}{\sum _{j \in s}x_{s,j}^{(\tau _n)}(0)}\) according to Step 5 of Algorithm 1. Moreover, due to \(\Vert \varvec{x}^{(\tau _n)}(k+1) - \varvec{x}^{(\tau _n)}(k)\Vert ^2 \rightarrow 0\) as \(n \rightarrow \infty \) for \(k=0,\ldots ,K-1\), the sequences \(\varvec{x}^{(\tau _n)}(k), k=0,\ldots ,K\) converges to \(\varvec{x}^*\) as \(n \rightarrow \infty \). Therefore, we have \(\theta ^*_{s,i} = \frac{x^*_{s,i}}{\sum _{k \in s}x^*_{s,k}}\).
Now, we can easily verify that
with \(\theta ^*_{s,i} = \frac{x^*_{s,i}}{\sum _{k \in s}x^*_{s,k}}\) , for all \(s \in \mathcal N \) and \(i \in s\). Therefore,
In case \(0<\epsilon <1, V(\varvec{x})\) is a strictly concave function w.r.t \(\varvec{x}\). Therefore, \(\varvec{x}^*\) is the unique global optimal solution to Main problem.
Rights and permissions
About this article
Cite this article
Vo, P.L., Le, T.A., Lee, S. et al. mReno: a practical multipath congestion control for communication networks. Computing 96, 189–205 (2014). https://doi.org/10.1007/s00607-013-0341-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-013-0341-1