With the recent proliferation of broadband Internet access, video streaming applications are becoming quite commonplace. From news clips on sites such as CNN, to video on demand from sites such as www.movieflix.com, the current Internet offers a much richer multimedia experience than in the past. Traditionally, most video streaming applications have shied away from TCP and have instead utilized UDP for greater flexibility. To prevent congestion-collapse and insure fairness with TCP, much research has gone into creating congestion-controlled UDP protocols such as [1].
There have been several recent proposals [2-4] which challenge the notion that TCP is unsuitable for multimedia streaming. It has been noted that TCP is the most widely used protocol, and has undergone countless enhancements for host and network performance. Fairness and congestion control are non-issues if the streaming application uses TCP itself. Furthermore, at times it is necessary to use TCP due to client-imposed firewalls, which may only permit HTTP traffic.
In recent work, [5], we have shown that, given the assumption that the user’s access link is a bottleneck, it is possible for a modified TCP receiver to control the amount of bandwidth received by certain applications. Specifically, we created a receiver-controlled bandwidth sharing system (BWSS), which allowed the user to specify a minimum rate, and a share of the overall bandwidth that different applications should receive. The BWSS operated by controlling the receiver’s advertised window to limit the throughput of less important flows, as specified by the user’s profile. Hence by using the native TCP-flow control mechanisms, it is possible to provide additional quality-of-service for applications. Preliminary results indicate that it is possible to perform efficient video streaming, with simple client side modifications, such as the BWSS, which allow rapid and easy deployment. Figure 1 shows the results of attempting to stream a video at 480 Kbps (60 KB/s) over TCP, with interfering UDP traffic inject from a time of 50 to 150 seconds. Figure 2 demonstrates the same experiment over TCP using the BWSS, and giving the video stream higher priority than the ftp traffic.

Figure 1: Video streaming at 480 Kbps using standard TCP

Figure 2: Video streaming at 480 Kbps using the BWSS