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.
Similar content being viewed by others
References
Banerjee S, Bhattacharjee B, Kommareddy C (2002, August) Scalable application layer multicast. In: Proc. ACM SIGCOMM'02, Pittsburgh, Penssylvania
Banerjee S, Bhattacharjee B, Srinivasan A (2003, June) Resilient multicast using overlays. In: Proc. ACM SIGMETRICS'03, San Diego, California, USA
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
Chu Y, Rao S, Zhang H (2000) A case for end system multicast. In: Proc. ACM SIGMETRICS'00, Santa Clara, California, USA
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
Cormen TH, Leiserson CE, Rivest RL, Stein C (2001) Introduction to algorithms, 2nd edn, MIT, Cambridge, Massachusetts
Cui Y, Nahrstedt K (2003, June) Layered peer-to-peer streaming. In: Proc. NOSSDAV'03, Monterey, California, USA
Cui Y, Li B, Nahrstedt K (2004, January) oStream: asynchronous streaming multicast. IEEE J Sel Areas Commun 22:91–106
Deshpande H, Bawa M, Garcia-Molina H (2001) Streaming live media over peer-to-peer network, Technical Report, Stanford University
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
Eugster P, Guerraoui R, Kermarrec A-M, Massoulie L (2004, May) From epidemics to distributed computing. IEEE Computer 37(5):60–67
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
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
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
Hefeeda M, Bhargava B (2003, May) On-demand media streaming over the Internet. In: Proc. IEEE FTDCS'03, San Juan, Puerto Rico
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
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
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
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
Liu J, Li B, Zhang Y-Q (2003, January February) Adaptive video multicast over the internet, IEEE Multimed 10(1):22–31
Padamanabhan VN, Wang HJ, Chou PA, Sripanidkulchai K (2002, May) Distributing streaming media content using cooperative networking. In: Proc. NOSSDAV'02, USA
Rejaie R, Ortega A (2003, June) PALS: peer to peer adaptive layered streaming. In: Proc. NOSSDAV'03, Monterey, California, USA
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
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
Tran DA, Hua KA, Do TT (2004, January) A peer-to-peer architecture for media streaming. IEEE J Sel Areas Commun 22:121–133
Xu D, Hefeeda M, Hambrusch S, Bhargava B (2002, July) On peer-to-peer media streaming. In: Proc. IEEE ICDCS'02, Wien, Austria
Yang M, Fei Z (2004, March) A proactive approach to reconstructing overlay multicast tree. In: Proc. IEEE INFOCOM'04, Hong Kong
Zegura E, Calvert K, Bhattacharjee S (1996, March) How to model an internetwork. In: Proc. IEEE INFOCOMM, San Francisco, California, USA
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
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
Author information
Authors and Affiliations
Corresponding author
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:
-
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.
-
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;
-
Case 3:
Neither reaches a broken link. The failed node in this case must be a leaf node in the AVL tree.
Proof:
-
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;
-
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;
-
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
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-006-0013-7