Video On Demand is a recent 'hype' in the field of multimedia networking. A major challenge in providing VOD in today's Internet is how to transmit, in real time, video streams across a heterogenous best effort network while ensuring an acceptable quality of service. Because the video stream is variable bit rate, the bandwidth requirement is variable. The interarrival time for each frame must lie within a specified delay bound in order for the frame to be useful. Packet losts due to congestion inside the network could also degrade video quality. However, video is typically transmitted using UDP, which treats each video packet independent of each other, provides no service guarantees and no feedback to the sender.
In order to improve the received video quality, there are two possible approaches. The first one, an end to end approach, is to design and implement network aware VOD servers and clients. The server utilizes feedback information from the client about the network connection and the client's reception to adjust its transmission. There is a question of whether the feedback of previous performance and network conditions will be a sufficient predictor of the future and will be relevant enough to be used by the server.
The second approach is to have intermediate nodes in the network (ie. active routers) which understand the semantics of the VOD application and will assist in providing an acceptable quality of service. For example, using MPEG encoding, upon congestion, the active router will try to avoid dropping I and P frames and will drop only B frames. This capability is not available in today's Internet.
For my project, I would like to focus on the first approach and if time
permits, set up a framework for the second approach. A simple MPEG-based
VOD server and receiver will be put together for the midterm project. The
proposed client-server network aware protocol will be implemented, tested
and compared with the typical UDP transmission for the final project.