This paper presents an approach used in CoopNet which aims to improve resilience of peer-to-peer streaming over Internet. This approach introduces redundancy in both streaming paths and contents to enhance distribution robustness. Inspired by SplitStream, the authors change their tree construction algorithm from randomized into deterministic in order to generate shorter and more diverse distribution trees in a root centralized tree management framework. The key idea is to make each node (a willing peer) interior within at most one tree; it becomes a leaf within all the other trees. Meanwhile, they use a particular Multiple Description Coding (MDC, based on layered audio or video coding, Reed-Soloman encoding for forward error correction, priority encoded transmission and optimized bit allocation) to encode an audio and/or video signal into multiple streams, such that any subset of these streams can be received and decoded. These streams are distributed through the trees constructed with the above algorithm, and the more streams one node receives, the better it can remove the distortions. The authors also develop a scalable client feedback mechanism to tune the MDC parameters. Their performance evaluation shows that with multiple distribution trees CoopNet provides an improvement (up to 22 dB in PSNR in some cases) in the video quality received by clients.
Buck pointed out this paper is the first one in the series addressing application-level multi-cast or overlay network. CoopNet stands for "Cooperative Network". Researchers are using similar meaning phrases more and more frequently to substitute the phrase "peer-to-peer network". Buck explained the acronyms NATs (Network Address Translators), IETF (Internet Engineering Task Force), STUNs (Simple Traversal of UDP through NATs) and some feedbacks on the protocol. Some of the CoopNet's goals such as shortness vs. efficiency, diversity vs. efficiency, and speed vs. scalability may be mutually conflicting. Shortness requires the trees to be bushy, which consumes more bandwidth and competes with other traffic. Diversity may cause the tree structure does not match the underlying network topology. Scalability prefers distributed algorithm to centralized one, paying the cost of longer join and leave processing time. The CoopNet focuses on shortness, diversity and speed. It uses centralized protocol anchored at the source server. About the tree construction algorithm, Buck stated that in general, a randomized algorithm can generate better result than the particular one the authors used. This paper gives a very clear explanation to the general MDC scheme. The evaluation shows the PSNR is about 32 dB with 8 trees, and it holds on this level for a rather long period. We will discuss SplitStream in next class.