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