Video Proxy Server Project

Multimedia Application Over Broadband Cable Network

Project Overview

Video streaming across wide-area networks is an important component of emerging global multimedia content distribution networks. Proxy-assisted video delivery systems have been developed in both the research community and industry. The following figure depicts a proxy-assisted video delivery system over a rather simplistic internetwork.
 
At the core of this proxy video distribution system resides a (or several) central video server(s) with a large video repository. A collection of video proxy servers is strategically placed across the internetwork, typically attached to the gateway routers connecting the wide-area backbone network and the local access networks. These proxy servers, which are simpler in their functionality, assist the central server(s) in the distribution of stored videos to a large number of end users geographically dispersed at various local access networks. These proxy servers, together with the central server(s), form a virtual video distribution network over the internetwork. Proxy-assisted video streaming systems offer several important advantages. Proxy servers can exploit their processing and buffering capabilities to provide network-wide video streaming and media control along the distribution tree in a coordinated but distributed manner. They can also utilize their potentially large disk storage space to prefetch/cache video data, thereby significantly reducing the network resource requirements in the backbone wide-area network. Furthermore, because of their strategic positions inside an internetwork, proxy servers can take into account both the constraints of the underlying network environments as well as application-specific information in optimizing video transmission. Likewise, proxy servers can also leverage information about client end system constraints and QoS requirements to deliver video of diverse quality to clients. Despite these important advantages, we also face some unique challenges in the design of such a proxy video streaming system. Although a proxy server provides additional disk space for caching or storing videos, it is still limited with regard to the huge volume of videos. As a result, we cannot indiscriminately pre-store or cache entire videos at proxy servers. In other words, many videos (either in their entirety or in part) have to be streamed across the wide-area best-effort network. %from a central video server. Because of the stringent timing constraints, it is important to ensure continuous playback of videos for end users so as to provide consistent and smooth quality. This problem is especially challenging when videos are streamed across a wide-area best-effort network, where the available network resources are often fluctuated. In a content distribution network overlaying on this best-effort network, a proxy server is often connected to a central server via a VPN to deal with the fluctuation. Using such a VPN connection (e.g., the hose model of VPN), the aggregate bandwidth between the two servers is assured; however, for the delivery of individual videos (or packets), no fine-grain delay or bandwidth guarantee is provided due to the best-effort nature of the current Internet. In order to provide controlled service assurance for individual videos delivered across a wide-area best-effort network, we develop a novel proxy-assisted staggered two-flow video streaming technique to meet the above constraints. The proposed technique is developed for stored videos that have inherent priority structures (e.g., the inter-frame dependence). Utilizing the priority structure in a video, we partition the video into an essential part that is reliably prefetched via a VPN pipe and cached at a proxy server, and an enhanced part that is unreliably transmitted in real time via the same VPN pipe. To meet the timing constraint of the essential part, we pre-store its prefix on a proxy server. Both flows are merged at the proxy server and then delivered to end users. In this project, we discuss several challenging issues which arise in the development of the proposed technique. In particular, we focus on a data plane issue, the bandwidth competition between the reliable transmission of the essential data and the unreliable, real time delivery of the enhanced data. For an essential flow, we design a novel controlled TCP (cTCP) scheme (which is a variant of TCP) to support application-level rate control. For a real time flow, we also develop a rate-control UDP (rUDP) protocol to regulate the unreliable delivery. Combining cTCP and rUDP, we are able to control the interactions between the two flows in a session. As a result, our video streaming technique yields more stable and predictable performance which is critical in providing consistent and controlled video quality assurance to end users.

Current Status

On-Going Work

On the control plane, by exploiting the application knowledge such as bandwidth requirements and frame types of a video, we employ application-aware admission control and traffic management schemes to control flows in the limited VPN pipe, so that the essential part is always prefetched reliably, i.e., the quality of the essential part is assured. The performance predictability of our data plane mechanisms also enables us to provide a form of application-aware admission control and traffic management on the control plane, for managing the traffic in the VPN. As a return, these control plane mechanisms help us ensure the requirement of the data plane: sufficient network resources are available for admitted video sessions.

This page is under construction. Please come back again.
 
 

The views and opinions expressed in this page are strictly those of the page author.
The contents of this page have not been reviewed or approved by the University of Minnesota.