Streamline: An optimal distribution algorithm for peer-to-peer real-time streaming

Abstract

In this paper, we propose and evaluate an overlay distribution algorithm for P2P, chunk-based, streaming systems over forest-based topologies. In such systems, the stream is divided in chunks; chunks are delivered by each node in a store-and-forward way. A relaying node starts distributing a chunk only when it has completed its reception from another node. Peers are logically organized in a forest of trees, where each tree includes all peers. The source periodically distributes different chunks to each tree for their delivery. Our key idea consists in employing serial transmission: for each tree, and thus, for each chunk, the source node sends the chunk to its children in series; the same holds for each peer node of the tree, excluding the leaves. Besides this basic idea, the contributions of this paper are: 1) we demonstrate the feasibility of serial transmission over a forest of trees, which is not a trivial problem, unlike the case of parallel transmission; 2) we derive an analytical model to evaluate the system performance; 3) we derive a theoretical bound for the number of nodes reachable in a given time interval or equivalently for the time required to reach a given number of nodes; 4) we prove the optimality of our approach in terms of its capability to reach such bound; and 5) we develop a general simulation package for P2P streaming systems and use it to compare our solution to literature results. Finally, we stress that this paper is focused on the theoretical properties and performance understanding of the proposed distribution algorithm, rather than on its practical implementation in a real system. However, we also briefly describe a practical workable implementation of our algorithm. © 2006 IEEE.

Publication
IEEE Transactions on Parallel and Distributed Systems