Skip to main content
Log in

Tree-assisted gossiping for overlay video distribution

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

Given its readily deployable nature and broad applications for digital entertainment, video streaming through overlay networks has received much attention recently. While a tree topology is often advocated due to its scalability, it suffers from discontinuous playback under highly dynamic network environments. For on-demand streaming, the asynchronicity among client requests further aggravates the problem. On the other hand, gossip protocols using random message dissemination, though robust, fail to meet the real-time constraints for streaming applications. In this paper, we propose TAG, a Tree-Assisted Gossip protocol that addresses the above issues. TAG adopts a tree structure with time indexing to accommodate asynchronous requests, and an efficient pull-based gossip algorithm to mitigate the impact of network dynamicity. It seamlessly integrates these two approaches and realizes their best features, namely, low delay with a regular tree topology, and robust delivery with smart switching among multiple paths, thus making effective use of the available bandwidth in the network. We evaluate the performance of TAG under various settings, and the results demonstrate that it is quite robust in the presence of local and global bandwidth fluctuations. As compared to pure tree-based overlay VOD system, it achieves much lower and stable segment missing rates, even under highly dynamic network conditions.

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
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

References

  1. Banerjee S, Bhattacharjee B, Kommareddy C (2002, August) Scalable application layer multicast. In: Proc. ACM SIGCOMM'02, Pittsburgh, Penssylvania

  2. Banerjee S, Bhattacharjee B, Srinivasan A (2003, June) Resilient multicast using overlays. In: Proc. ACM SIGMETRICS'03, San Diego, California, USA

  3. Castro M, Druschel P, Kermarrec A-M, Nandi A, Rowstron A, Singh A (2003, October) SplitStream: high-bandwidth multicast in cooperative environment. In: Proc. ACM SOSP'03, New York, USA

  4. Chu Y, Rao S, Zhang H (2000) A case for end system multicast. In: Proc. ACM SIGMETRICS'00, Santa Clara, California, USA

  5. Chu Y-H, Ganjam A, Ng TSE, Guo SG, Sripanidkulchai K, Zhan J, Zhang H (2004, June) Early deployment experience with an overlay based Internet broadcasting system. In: Proc. USENIX Annual Technical Conference

  6. Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms, 2nd edn, MIT, Cambridge, Massachusetts

    MATH  Google Scholar 

  7. Cui Y, Nahrstedt K (2003, June) Layered peer-to-peer streaming. In: Proc. NOSSDAV'03, Monterey, California, USA

  8. Cui Y, Li B, Nahrstedt K (2004, January) oStream: asynchronous streaming multicast. IEEE J Sel Areas Commun 22:91–106

    Google Scholar 

  9. Deshpande H, Bawa M, Garcia-Molina H (2001) Streaming live media over peer-to-peer network, Technical Report, Stanford University

  10. Do T, Hua KA, Tantaoui M (2004, June) P2VoD: providing fault tolerant video-on-demand streaming in peer-to-peer environment. In: Proc. IEEE ICC'04, Paris, France

  11. Eugster P, Guerraoui R, Kermarrec A-M, Massoulie L (2004, May) From epidemics to distributed computing. IEEE Computer 37(5):60–67

    Google Scholar 

  12. Guo Y, Suh K, Kurose J, Towsley D (2003, May) P2Cast: peer-to-peer patching scheme for VoD service. In: Proc. WWW'03, Budapest, Hungary

  13. Guo Y, Suh K, Kurose J, Towsley D (2003, July) A peer-to-peer on-demand streaming service and its performance evaluation. In: Proc. IEEE ICME'03, Baltimore, Maryland

  14. Guo L, Chen S, Ren S, Chen X, Jiang S (2004, March) PROP: a scalable and reliable P2P assisted proxy streaming system. In: Proc. IEEE ICDCS'04, Tokyo, Japan

  15. Hefeeda M, Bhargava B (2003, May) On-demand media streaming over the Internet. In: Proc. IEEE FTDCS'03, San Juan, Puerto Rico

  16. Heffeeda M, Habib A, Botev B, Xu D, Bhargava B (2003, November) PROMISE: peer-to-peer media streaming using CollectCast. In: Proc. ACM Multimedia(MM'03), Berkeley, California

  17. Jin S, Bestavros A (2002, October) Cache-and-relay streaming media delivery for asynchronous clients. In: Proc. International Workshop on Networked Group Communication(NGC'02). Boston, Massachusetts, USA

  18. Kostic D, Rodriguez A, Albrecht J, Vahdat A (2003, October) Bullet: high bandwidth data dissemination using an overlay mesh. In: Proc. ACM SOSP'03, New York, USA

  19. Kermarrec A-M, Massoulie L, Ganesh AJ (2003, March) Probabilistic reliable dissemination in large-scale systems. IEEE Trans Parallel Distrib Syst 14(3):248–258

    Article  Google Scholar 

  20. Liu J, Li B, Zhang Y-Q (2003, January February) Adaptive video multicast over the internet, IEEE Multimed 10(1):22–31

    Article  MathSciNet  Google Scholar 

  21. Padamanabhan VN, Wang HJ, Chou PA, Sripanidkulchai K (2002, May) Distributing streaming media content using cooperative networking. In: Proc. NOSSDAV'02, USA

  22. Rejaie R, Ortega A (2003, June) PALS: peer to peer adaptive layered streaming. In: Proc. NOSSDAV'03, Monterey, California, USA

  23. Shen S, Hua K, Tavanapong W (1997, June) Chaining: a generalized batching technique for video-on-demand systems. In: Proc. IEEE ICMCS'97, Ottawa, Ontario, Canada

  24. Sripanidkulchai K, Ganjam A, Maggs B, Zhang H (2004, August) The feasibility of supporting large-scale live streaming applications with dynamic application end-points. In: Proc. ACM SIGCOMM'04, Portland, Oregon, USA

  25. Tran DA, Hua KA, Do TT (2004, January) A peer-to-peer architecture for media streaming. IEEE J Sel Areas Commun 22:121–133

    Google Scholar 

  26. Xu D, Hefeeda M, Hambrusch S, Bhargava B (2002, July) On peer-to-peer media streaming. In: Proc. IEEE ICDCS'02, Wien, Austria

  27. Yang M, Fei Z (2004, March) A proactive approach to reconstructing overlay multicast tree. In: Proc. IEEE INFOCOM'04, Hong Kong

  28. Zegura E, Calvert K, Bhattacharjee S (1996, March) How to model an internetwork. In: Proc. IEEE INFOCOMM, San Francisco, California, USA

  29. Zhang X, Liu J, Li B, Yum T-SP (2005, March) CoolStreaming/DONet: a data-driven overlay network for live media streaming, to appear In: Proc. IEEE INFOCOM'05, Miami, FL, USA

  30. Zhuang SQ, Zhao BY, Joseph AD, Katz RH, Kubiatowicz JD (2001, June) Bayeux: an architecture for scalable and fault-tolerant wide-area data dissemination. In: Proc. NOSSDAV'01, New York

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jiangchuan Liu.

Additional information

This research is supported by a Canadian NSERC Discovery Grant, an NSERC RTI Grant, a CFI New Oppurtunities Grant, and an SFU President's Research Grant.

The author names are in alphabetical order.

Appendices

Appendix

In the failure recovery algorithm for AVL index tree, assume that the predecessor and successor in the timing list for the failed node F are P and S, respectively, and W P is the last node traversed by P's probe and W S is that by S's probe. We have the following observations:

  1. Case 1:

    Both probe stop after encountering a broken links. In the AVL index tree, W P and W S must be the avlLeftChild and the avlRightChild of F, respectively. Furthermore, S must be a leaf node or a node with only the right child in the AVL tree.

  2. Case 2:

    Only one probe stops after encountering a broken link; the other stops after reaching the root, or there is no probe message sent in that branch at all. In this case, F must have either avlLeftChild or avlRightChild, while not both;

  3. Case 3:

    Neither reaches a broken link. The failed node in this case must be a leaf node in the AVL tree.

Proof:

  1. Case 1:

    In this case, obviously, both the P and S are non-empty. Moreover, according to the AVL tree construction algorithm, the P must be in the left subtree of F, and S in the right subtree. It follows that, in the AVL index tree, W P and W S must, respectively, be the avlLeftChild and the avlRightChild of F, the failed node.

    Suppose S has a left child, whose virtual join time should be less than that of S, but greater than that of F. That is, in the timing list, this left child should be the successor of F, which contradicts the fact that S is the successor. Hence, S must be a leaf node or a node with only the right child;

  2. Case 2:

    We first assume that only P's probe reaches a node with a broken link, which must be the avlLeftChild of the failed in the AVL tree, as proved in case 1.

    In this case, if F's successor S is empty, i.e., there is no probe sent in the right branch at all, F cannot have a right child in the AVL tree; otherwise, one of the nodes in F's right subtree will become its successor in the timing list.

    On the other hand, suppose S is non-empty and F has a right child. Since S's probe does not reach the avlRightChild of F, S cannot be in the right subtree of F. Assume R is the root of the minimum subtree that covers both F and S. Then, S must be in the left subtree of R, while F must be either R itself or a node in the right subtree of R; otherwise, S's probe will reach a broken link as well. It follows that the right child of F has a virtual join time greater than that of F, but less than that of S. This contradicts our assumption that S is the successor of F, and hence, the failed node F does not have right child.

    Similarly, we can prove that F does not have a left child if only S's probe reaches a broken link (Note that, we can ignore the case that P is empty in the proof given that content server persists). In summary, the failed node has a single child in this case;

  3. Case 3:

    Suppose F has a non-empty avlRightChild. Since the virtual join time of this avlRightChild is greater than that of F, F must have a non-empty successor according to the AVL tree construction algorithm. As proved in Case 2, if S is non-empty and F has a right child, S must be in the right subtree of F. Hence, S's probe will encounter the broken link in the right branch, which contracts the fact that no broken link is encountered. Similarly, we can prove that F does not have a left child, and it thus must be a leaf node.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Liu, J., Zhou, M. Tree-assisted gossiping for overlay video distribution. Multimed Tools Appl 29, 211–232 (2006). https://doi.org/10.1007/s11042-006-0013-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-006-0013-7

Keywords

Navigation