Video Streaming across wide-area networks is one of the most important applications on the Internet. In this paper we focus on the quality assurance issue on best-effort networks and propose a practical technique, named staggered two-flow video streaming. We deliver a stored video through two separate flows in a staggered fashion via a VPN pipe from a central server to a proxy server. One flow containing the essential portion of the video is delivered using a novel controlled TCP (cTCP), and the other flow containing the enhanced portion of the video is transmitted using a rate-controlled RTP/ UDP (rUDP). To provide video-quality assurance in such a system, we design several application-aware flow-control and adaptation approaches to control bandwidth sharing and interactions among flows by exploiting the inherent priority structure in videos, the storage space on proxy servers and the coarse-grain bandwidth assurance of VPN. Our experiments using FreeBSD and simulations on NS2 both have demonstrated the efficacy of the proposed technique in protecting essential data and significantly reducing the numbers of packets retransmitted/lost in transmission and the sizes of video prefixes required on proxy servers. In summary, our application-aware approach provides stable and predictable performance in streaming videos across wide-area best-effort networks. In addition, another salient feature of our approach is that it requires no changes on the client-receiving side and minimal changes on the server-sending side.
Bibliographical noteFunding Information:
∗This work was supported in part by the National Science Foundation under the grants EIA-9818338, ANI-9903228, ITR-0085824, and CAREER Award NCR-9734428 as well as a University of Minnesota McKnight Land-Grant Professorship. Any opinions, findings, and conclusions or recommendations expressed in this paper are those of the authors and do not necessarily reflect the views of the funding agencies.
- Application-aware flow control
- Multimedia content distribution
- Proxy server
- Quality assurance
- Video streaming