Skip to main content
Log in

Adaptive topology formation for peer-to-peer video streaming

  • Published:
Peer-to-Peer Networking and Applications Aims and scope Submit manuscript

Abstract

In this paper we propose an adaptive P2P video streaming framework to address the challenges due to bandwidth heterogeneity and peer churn on the Internet. This adaptive streaming framework consists of two major components, source rate adaptation and adaptive overlay topology formation, to maximize the video quality and fully utilize the overall peer upload capacity. In the source rate adaptation, the video server adapts the video source rate automatically based on the local measurement of peers’ download rates, so that the P2P network is not overloaded beyond its bandwidth capacity and peers are able to achieve smooth video playback. To combat bandwidth heterogeneity, we propose to construct a desirable link-level homogeneous overlay topology using a Markov chain Monte Carlo method, so that peers achieve an equal per-connection upload/download bandwidth. In this link-level homogeneous network, video flows do not encounter any bottlenecks along the delivery paths, and peers achieve high download rates to ensure smooth video playback. We also design a fully distributed algorithm to implement the dual mechanisms of the adaptive topology formation and the source rate maximization. To evaluate the performance of our streaming framework, we conduct both mathematical analysis and extensive simulations. The simulation results confirm our analysis and show that the proposed distributed algorithm is able to maximize the video playback quality with fast convergence.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  1. Chu Y-H, Rao SG, Seshan S, Zhang H (2002) A case for end-system multicast. IEEE J Sel Areas Commun 20(8):1456–1471

    Article  Google Scholar 

  2. Zhang X, Liu J, Li B, Yum T-SP (2005) CoolStreaming/DONet: a data-driven overlay network for peer-to-peer live media streaming. In: Proc IEEE conference on computer communications (INFOCOM), vol 3, Miami, pp 2102–2111

  3. Liu J, Rao SG, Li B, Zhang H (2008) Opportunities and challenges of peer-to-peer internet video broadcast. Proc IEEE 96(1):11–24

    Article  Google Scholar 

  4. Hei X, Liang C, Liang J, Liu Y, Ross KW (2007) A measurement study of a large-scale P2P IPTV system. IEEE Trans Multimedia 9(8):1672–1687

    Article  Google Scholar 

  5. Luan H, Kwong KW, Huang Z, Tsang DHK (2008) P2P live streaming towards best video quality. In: Proc IEEE consumer communications and networking conference (CCNC), Las Vegas, pp 458–463

  6. Luan H, Tsang DHK, Kwong KW (2006) Media overlay construction via a Markov chain Monte Carlo method. SIGMETRICS Perform Eval Rev 34(3):9–11

    Article  Google Scholar 

  7. Kumar R, Liu Y, Ross KW (2007) Stochastic fluid theory for P2P streaming systems. In: Proc IEEE conference on computer communications (INFOCOM), Anchorage, pp 919–927

  8. Huang C, Li J, Ross KW (2007) Can internet video-on-demand be profitable? In: Proc ACM conference on applications, technologies, architectures, and protocols for computer communications (SIGCOMM), Kyoto, pp 133–144

  9. Cui Y (2005) Content distribution in overlay multicast. PhD dissertation, University of Illinois at Urbana-Champaign, Champaign

    Google Scholar 

  10. Wu C, Li, B (2005) Optimal peer selection for minimum-delay peer-to-peer streaming with rateless codes. In: Proc ACM workshop on advances in peer-to-peer multimedia streaming (P2PMMS), Hilton, Singapore, pp 69–78

  11. Wang M, Li Z, Li B (2005) A high-throughput overlay multicast infrastructure with network coding. In: Proc IEEE international workshop on quality of service (IWQoS), University of Passau

  12. Magharei N, Rejaie R (2007) PRIME: peer-to-peer receiver-driven mesh-based streaming. In: Proc IEEE (INFOCOM), Anchorage, pp 1415–1423

  13. Small T, Li B, Liang B (2007) Outreach: peer-to-peer topology construction towards minimized server bandwidth costs. IEEE J Sel Areas Commun 25(1):35–45

    Article  Google Scholar 

  14. Venkataraman V, Yoshida K, Francis, P (2006) Chunkyspread: heterogeneous unstructured tree-based peer-to-peer multicast. In: Proc IEEE international conference on network protocols (ICNP), pp 2–11

  15. Sung Y-W, Bishop M, Rao S (2006) Enabling contribution awareness in an overlay broadcasting system. In: Proc ACM conference on applications, technologies, architectures, and protocols for computer communications (SIGCOMM), Pisa, pp 411–422

  16. Kwong KW, Tsang DHK (2008) Building heterogeneous peer-to-peer networks: protocol and analysis. IEEE/ACM Trans Netw 2:281–292

    Article  Google Scholar 

  17. Kwong KW, Tsang DHK (2007) Application-aware topology formation algorithm for peer-to-peer networks. In: Proc IEEE international conference on communications (ICC), Glasgow, pp 73–79

  18. ISO-IEC/JTC1/SC29/WG11, DIS11172-1 (1992) Coding of moving pictures and associated audio for digial storage media up to 1.5 Mbps part 2, video. International Standard ISO-IEC/JTC1/SC29/WG11, DIS11172-1

  19. Wu D, Hou YT, Zhu W, Zhang Y-Q, Peha JM (2001) Streaming video over the internet: approaches and directions. IEEE Trans Circuits Syst Video Technol 11(3):282–300

    Article  Google Scholar 

  20. Gkantsidis C, Rodriguez P (2005) Network coding for large scale content distribution. In: Proc IEEE conference on computer communications (INFOCOM), vol 4, pp 2235–2245

  21. Dischinger M, Haeberlen A, Gummadi KP, Saroiu S (2007) Characterizing residential broadband networks. In: Proc ACM SIGCOMM conference on internet measurement (IMC), San Diego, pp 43–56

  22. Kwong KW, Guérin R, Shaikh A, Tao S (2007) Improving service differentiation in IP networks through dual topology routing. In: Proc ACM international conference on emerging networking experiments and technologies (CoNEXT), New York

  23. Mundinger J, Weber R, Weiss G (2008) Optimal scheduling of peer-to-peer file dissemination. J Sched 11(2):105–120

    Article  MATH  MathSciNet  Google Scholar 

  24. Chiu DM, Yeung R, Huang J, Fan B (2006) Can network coding help in P2P networks? In: Proc international symposium on modeling and optimization in mobile. Ad Hoc and Wireless Networks (WiOpt), Boston, pp 1–5

  25. Gilks W, Richardson S, Spiegelhalter D (1995) Markov chain Monte Carlo in practice (interdisciplinary statistics), 1st edn. Chapman & Hall/CRC, London

    Google Scholar 

  26. Ross SM (2006) Introduction to probability models. Academic, London

    MATH  Google Scholar 

  27. Jerrum M, Sinclair A (1997) The Markov chain Monte Carlo method: an approach to approximate counting and integration. In: Approximation algorithms for NP-hard problems. PWS, Boston, pp 482–520

    Google Scholar 

  28. Zhong M, Shen K, Seiferas J (2005) Non-uniform random membership management in peer-to-peer networks. In: Proc IEEE conference on computer communications (INFOCOM), vol 2, pp 1151–1161

  29. Zhong M, Shen K (2006) Random walk based node sampling in self-organizing networks. SIGOPS Oper Syst Rev 40(3):49–55

    Article  Google Scholar 

  30. Cohen B (2003) Incentives build robustness in BitTorrent. In: Workshop on economics of peer-to-peer systems

  31. Pandurangan G, Raghavan P, Upfal E (2003) Building low-diameter peer-to-peer networks. IEEE J Sel Areas Commun 21(6):995–1002

    Article  Google Scholar 

  32. Ross SM (2007) Introduction to probability models, 9th edn. Academic, Amsterdam

    Google Scholar 

  33. Boyd S, Vandenberghe L (2004) Convex optimization. Cambridge University Press, Cambridge

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xiaojun Hei.

Additional information

Parts of the results in this paper have been presented in the IEEE Consumer Communications and Networking Conference (CCNC), Las Vegas, Nevada, USA, Jan. 2008. This work is supported by RGC Earmarked Research Grant 620306.

Appendix

Appendix

A Solution of problem J in Eqs. 13

Problem J is a linear programming problem. The KKT conditions [33] are both necessary and sufficient for Problem J. Let \(d_{i}^{\ast}(t)\), \(\forall i\in V(t)\backslash\{s\}\), be the optimal solution of Problem J. We introduce the Lagrange multiplier φ to relax the constraint of Eq. 2. φ is the shadow price if upload capacities are not fully utilized. We also introduce the Lagrange multiplier ψ i to relax the constraint of Eq. 3. ψ i is the shadow price if peer i does not achieve the required download rate. Then, we have

$$\begin{array}{lll} L(d_{i}(t),r(t);\varphi ,\psi _{i})&=&r(t)+\varphi \left( \underset{i\in V(t)}{\sum }C_{i}-\underset{i\in V(t)\backslash\{s\}}{\sum }d_{i}(t)\right) \\&& +\underset{i\in V(t)\backslash\{s\}}{\sum }\psi _{i}\left( d_{i}(t)-r(t)\right).\end{array}$$

We obtain the KKT conditions as follows.

$$ \underset{i\in V(t)\backslash\{s\}}{\sum }d_{i}(t)\!\leq\! \underset{i\in V(t)}{\sum }C_{i}; \ \ \ d_{i}(t)\!\geq\! r(t), \ \forall i\in V(t)\backslash\{s\}, $$
(31)
$$ \varphi \geq 0; \ \ \ \psi _{i}\geq 0, \ \forall i\in V(t)\backslash\{s\}, $$
(32)
$$\begin{array}{lll} \varphi \left( \underset{i\in V(t)}{\sum }C_{i}\!-\!\underset{i\in V(t)\backslash\{s\}}{\sum }d_{i}(t)\right) \!=\! 0;&& \ \ \ \psi _{i}\left( d_{i}(t)\!-\!r(t)\right) \!=\!0, \\&&\quad \forall i\!\in\! V(t)\backslash\{s\},\end{array}$$
(33)
$$ \frac{\partial L}{\partial d_{i}}=-\varphi +\psi _{i}=0, \ \forall i\in V(t)\backslash\{s\}, $$
(34)
$$ \frac{\partial L}{\partial r}=1-\underset{i\in V(t)\backslash\{s\}}{\sum}\psi _{i}=0. $$
(35)

By Eq. 34, we have \(\varphi =\psi _{i},\forall i\in V(t)\backslash\{s\}\). If φ = 0, we have \(\psi _{i}=0,\forall i\in V(t)\backslash\{s\}\); however, this conflicts with Eq. 35. Therefore, \(\varphi =\psi_{i}>0,\forall i\in V(t)\backslash\{s\}\). Because φ > 0 and ψ i  > 0, by Eq. 33, we have \(\underset{i\in V(t)}{\sum}C_{i}-\underset{i\in V(t)\backslash\{s\}}{\sum }d_{i}(t)=0\) and \(d_{i}(t)-r(t)=0,\forall i\in V(t)\backslash\{s\}\), respectively. Therefore,

$$\underset{i\in V(t)}{\sum}C_{i}-(N(t)-1)r(t)=0.$$

Finally, we have

$$ d_{i}^{\ast }(t)=r^{\ast }(t)=\frac{\underset{j\in V(t)}{\sum }C_{\!j}}{N(t)-1}, \ \forall i\in V(t)\backslash\{s\}. $$
(36)

B Derivation of the average out-degree of nodes

In the following, we show that if each node is of a constant in-degree m, the average out-degree of nodes is approximately m.

Note that \(\sum\limits_{i\in V(t)}O_{i}(t_{i},t)=\sum\limits_{i\in V(t)\backslash\{s\}}I_{i}(t)\) as the overall out-degree equals to the overall in-degree, the expected out-degree of nodes is

$$ \frac{1}{N(t)}\sum_{i\in V(t)}O_{i}(t_{i},t)=\frac{1}{N(t)}\sum_{i\in V(t)\backslash\{s\}}I_{i}(t). $$

Because \(\sum\limits_{i\in V(t)\backslash\{s\}}I_{i}(t)=(N(t)-1)m\) as each node has in-degree m except the server s, we have

$$ \frac{1}{N(t)}\sum_{i\in V(t)}O_{i}(t_{i},t)=\frac{1}{N(t)}(N(t)-1)m. $$

When N(t) ≫ 1, we have

$$ \frac{1}{N(t)}\sum_{i\in V(t)}O_{i}(t_{i},t)\approx m. $$
(37)

C Derivation of Eq. 25

To derive \(\mathcal{Z}\), substituting Eq. 23 into Eq. 21 yields

$$\begin{array}{lll} \mathcal{Z} &=&\lim\limits_{t\rightarrow\infty}\left\langle \int_{0}^{t}\lambda e^{-\mu(t-t_{i})}\frac{C_{i}^{2}}{O_{i}(t_{i},t)}dt_{i}\right\rangle \\ &=&\lim\limits_{t\rightarrow\infty}\left\langle \lambda C_{i}\int_{0}^{t} \frac{e^{-\mu(t-t_{i})}}{\sqrt{\frac{2m\mathcal{N}}{\mathcal{Z}}\left( 1-e^{-2\mu\left( t-t_{i}\right) }\right) }}dt_{i}\right\rangle . \end{array}$$
(38)

Note that the \(\left\langle {\cdot}\right\rangle \) operation is taken with respect to the peer capacity C i in Eq. 38. Therefore, we have

$$ \mathcal{Z}=\left\langle C\,\right\rangle \lim\limits_{t\rightarrow\infty}\int_{0} ^{t}\frac{\lambda}{\sqrt{\frac{2m\mathcal{N}}{\mathcal{Z}}}}\frac {e^{-\mu(t-t_{i})}}{\sqrt{1-e^{-2\mu\left( t-t_{i}\right) }}}dt_{i} . $$
(39)

By denoting τ = t − t i , Eq. 39 becomes

$$ \mathcal{Z}=\frac{\lambda\left\langle C\,\right\rangle }{\sqrt{\frac {2m\mathcal{N}}{\mathcal{Z}}}}\lim\limits_{t\rightarrow\infty}\int_{0}^{t} \frac{e^{-\mu\tau}}{\sqrt{1-e^{-2\mu\tau}}}d\tau. $$
(40)

Then, changing the integration variable x = e  − μτ and plugging it into Eq. 40, we have

$$ \mathcal{Z}=\frac{1}{\mu}\frac{\lambda\left\langle C\,\right\rangle } {\sqrt{\frac{2m\mathcal{N}}{\mathcal{Z}}}}\int_{0}^{1}\frac{1}{\sqrt{1-x^{2}} }dx. $$
(41)

Note that \(\int_{0}^{1}\frac{1}{\sqrt{1-x^{2}}}dx=\frac{\pi}{2}\) and plugging it into Eq. 41; therefore, we have

$$ \mathcal{Z}=\frac{\pi}{2\mu}\frac{\lambda\left\langle C\,\right\rangle } {\sqrt{\frac{2m\mathcal{N}}{\mathcal{Z}}}}. $$
(42)

Plugging \(\lambda=\mathcal{N}\mu\) into Eq. 42, we obtain

$$ \mathcal{Z}=\frac{\pi}{2}\frac{\left\langle C\,\right\rangle }{\sqrt {\frac{2m\mathcal{N}}{\mathcal{Z}}}}\mathcal{N}. $$
(43)

Solving Eq. 43 for \(\mathcal{Z}\), we finally have

$$ \mathcal{Z}=\frac{\pi^{2}\left\langle C\,\right\rangle ^{2}}{8m}\mathcal{N}. $$
(44)

D Derivation of Eqs. 29 and 30

If the nodes reselect their parent nodes periodically, Eq. 14 becomes

$$\begin{array}{lll} \frac{dO_{i}(t_{i},t)}{dt}&=&\left( \lambda m+N(t)\mu m+N(t)m\mu ^{\prime }\right) \pi _{i}(t) \\&&-\,O_{i}(t_{i},t)\mu -O_{i}(t_{i},t)\mu ^{\prime },\end{array}$$
(45)

where the term N(t)′ appears because the nodes re-select each parent at an average rate μ′; \(O_{i}(t_{i},t)\mu ^{\prime }\) is the additional rate of out-degree reduction because node i has O i (t i , t) child nodes which are disconnected from node i at the average rate μ′ due to this reselection operation. Solving Eq. 45, we have

$$\begin{array}{lll} O_{i}(t_{i},t)&=&C_{i}\sqrt{\frac{\mathcal{N}}{\mathcal{Z}^{\prime}}\left( \frac{2\mu m+m\mu ^{\prime }}{\mu +\mu ^{\prime }}\right) \left( 1-e^{-2(\mu +\mu ^{\prime })\left( t-t_{i}\right) }\right)}, \\&& t\geq t_{i}, \end{array}$$
(46)

where \(\mathcal{Z}^{\prime}=\underset{t\rightarrow\infty}{\lim}\left\langle \sum\limits_{i\in V(t)}\frac{C_{i}^{2}}{O_{i}(t_{i},t)}\right\rangle \). As shown in Eq. 46, the convergence rate to the link-level homogeneous state increases by μ′. \(\mathcal{Z}^{\prime }\) can be computed in the same manner as in Appendix C by substituting Eq. 46 into Eq. 21.

$$\begin{array}{lll} \mathcal{Z}^{\prime }\!&=&\!\lim\limits_{t\rightarrow \infty}\!\left\langle \int_{0}^{t}\!\lambda e^{-\mu (t-t_{i})}\phantom{\frac{C_{i}^{2}}{C_{i}\sqrt{\frac{\mathcal{N}}{\mathcal{Z}^{\prime }}\!\left (\frac{2\mu m+m\mu ^{\prime}}{\mu +\mu ^{\prime }}\right)}}}\right. \\&& \left. \quad\quad\quad\times\frac{C_{i}^{2}}{C_{i}\sqrt{\frac{\mathcal{N}}{\mathcal{Z}^{\prime }}\!\left (\frac{2\mu m+m\mu ^{\prime}}{\mu +\mu ^{\prime }}\right)\!\!\left( 1\!-\!e^{-2(\mu +\mu ^{\prime })\!\left( t-t_{i}\right)\!}\right)\!}}dt_{i}\!\right\rangle.\end{array}$$
(47)

Denoting \(a=\frac{\mu^{\prime}}{\mu}\) and substituting it into Eq. 47, we have

$$\begin{array}{lll} \mathcal{Z}^{\prime}&=&\left\langle C\,\right\rangle \sqrt {\frac{\mathcal{Z}^{\prime}\left( 1+a\right) }{\mathcal{N}m\left( 2+a\right) }}\lim\limits_{t\rightarrow\infty}\int_{0}^{t}\lambda e^{-\mu(t-t_{i} )} \\&&\times\frac{1}{\sqrt{\left( 1-e^{-2\mu(1+a)\left( t-t_{i}\right) }\right) } }dt_{i},\\ \sqrt{\mathcal{Z}^{\prime}}&=&\left\langle C\,\right\rangle \sqrt {\frac{\mathcal{N}\left( 1+a\right) }{m\left( 2+a\right) }}\lim\limits_{t\rightarrow\infty}\int_{0}^{t}\frac{\lambda e^{-\mu(t-t_{i})}}{\mathcal{N} }\\ &&\times\frac{1}{\sqrt{1-e^{-2\mu(1+a)\left( t-t_{i}\right) }}}dt_{i}. \end{array}$$
(48)

Denoting\(A=\underset{t\rightarrow\infty}{\lim}\int_{0}^{t}\frac{\lambda e^{-\mu(t-t_{i})}}{\mathcal{N}}\frac{1}{\sqrt{1-e^{-2\mu(1+a)\left( t-t_{i}\right) }}}dt_{i}\) and plugging \(\lambda=\mathcal{N}\mu\), we have

$$ A=\underset{t\rightarrow\infty}{\lim}\int_{0}^{t}\mu e^{-\mu(t-t_{i})}\frac {1}{\sqrt{1-e^{-2\mu(1+a)\left( t-t_{i}\right) }}}dt_{i}. $$

Changing the integration variable \(x=e^{-\mu(t-t_{i})}\), we obtain a simplified expression of A in Eq. 49.

$$ A=\int_{0}^{1}\frac{1}{\sqrt{1-x^{2(1+a)}}}dx. $$
(49)

Plugging Eq. 49 into Eq. 48, we have

$$ \mathcal{Z}^{\prime}=\frac{A^{2}\left\langle C\,\right\rangle ^{2}\left( 1+a\right) }{m\left( 2+a\right) }\mathcal{N}. $$
(50)

Substituting Eq. 50 into Eq. 46, we have

$$ O_{i}(t_{i},t)=C_{i}\frac{m\left( 2+a\right) }{\left\langle C\,\right\rangle A\left( 1+a\right) }\sqrt{\left( 1-e^{-2(\mu+\mu^{\prime})\left( t-t_{i}\right) }\right) },\text{ }t\geq t_{i}. $$

Hence, as t→ ∞, the converged capacity per out-degree value due to the proactive reselection of parent nodes is

$$ \delta^{\prime}=\lim\limits_{t\rightarrow\infty}\frac{C_{i}}{O_{i}(t_{i},t)}=\frac{\left\langle C\,\right\rangle A\left( 1+a\right) }{m\left( 2+a\right)}. $$
(51)

Note that the integration with respect to x in Eq. 49 is conducted in \(\left[ 0,1\right) \). As a→ ∞, x 2(1 + a)→0. Therefore,

$$ \lim\limits_{a\rightarrow\infty}A=\lim\limits_{a\rightarrow\infty}\int_{0}^{1}\frac{1}{\sqrt{1-x^{2(1+a)}}}dx=1. $$
(52)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Luan, H., Kwong, KW., Hei, X. et al. Adaptive topology formation for peer-to-peer video streaming. Peer-to-Peer Netw. Appl. 3, 186–207 (2010). https://doi.org/10.1007/s12083-009-0048-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12083-009-0048-4

Keywords

Navigation