Skip to Main Content
Recently, application-layer overlay networks have been suggested as a promising solution for live video streaming over the Internet. To organize a multicast overlay, a natural structure is a tree, which, however, is known vulnerable to end-hosts dynamics. Data-driven approaches address this problem by employing a mesh structure, which enables data exchanges among multiple neighbors, and thus, greatly improves the overlay resilience. It unfortunately suffers from an efficiency-delay trade-off, because data have to be pulled from mesh neighbors by using extra notifications periodically. In this paper, we closely examine the contributions of overlay nodes, and argue that performance of a mesh overlay closely depends on a small set of stable backbone nodes. This is validated through a real trace study on PPLive, the largest commercial application-layer live streaming system to date. Motivated by this observation, we then suggest a novel collaborative tree-mesh design that leverages both mesh and tree structures. The key idea is to identify a set of stable nodes to construct a tree-based backbone, called treebone, with most of the data being pushed over this backbone. These stable nodes, together with others, are further organized through an auxiliary mesh overlay, which facilitates the treebone to accommodate node dynamics and fully exploit the available bandwidth between overlay nodes. This hybrid design, referred to as mTreebone, brings a series of unique and critical design challenges. In particular, the identification of stable nodes and seamless data delivery using both push and pull methods. In this paper, we present optimized solutions to these problems, which reconcile the two overlays under a coherent framework with controlled overhead. We evaluate mTreebone through both simulations and PlanetLab experiments. The results demonstrate the superior efficiency and robustness of this hybrid solution in both static and dynamic scenarios.