Video Proxy Server Project
Multimedia Application Over Broadband Cable Network
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.
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.