With the advance of computer and communication networks, many new information services over IP-based networks such as video streaming and VoIP (Voice over IP) are growing rapidly. These services can tolerate some packets lost in transmission without too much damage to their quality. The content carried in the packets of these services is not equally important in their replay processes. For example, key frames (e.g. I-Frames) of a video encoded in MPEG format are more important than others. The loss of I-frames may have a large impact to the quality of the transmitted video, while the loss of other types of frames may only have nominal damage. Unfortunately, the two most popular transport protocols, UDP and TCP, treat all packets equally without any discrimination. TCP guarantees the delivery of all packets, while UDP doesn't. TCP may waste too much resource to guarantee the delivery of unimportant packets, while UDP may fail to deliver too many important packets.
This thesis proposes a new TCP protocol, named Partial-Reliable TCP (PR-TCP), which applies selective retransmission strategy to provide delivery guarantee to the selected packets designated by the application programs. In this way, we can save bandwidth consumption and reduce average delivery time without significant quality degradation. In fact, if the delivery of an object requires a stringent delivery time, the reduction of average delivery time may also lead to the reduction of abandoned packets at the receiver end. We propose two different versions of PR-TCP, Basic PR-TCP and Single-Side PR-TCP. Basic PR-TCP requires both ends of a connection to adopt PR-TCP while Single-Side PR-TCP only requires the sender end to adopt it. It is much easier to deploy Single-Side PR-TCP on the client-server systems where only servers need to use PR-TCP.
Finally, we use NS-2 network simulator to evaluate our PR-TCP against TCP Reno, TFRC and UDP. Two video stream samples are used for video sources. Three quality parameters are evaluated: wasted bandwidth consumption, PSNR, and the number of packets in decodable frames. Under heavy loaded wired network and short delay bound (<0.8 sec.), the simulation shows that Basic PR-TCP can outperform TCP Reno and TFRC in the number of packets in decodable frames by at least 18%. It can outperform TCP Reno, TFRC, and UDP in PSNR by at least 12%. The performance of Single-Side PR-TCP is less then Basic PR-TCP in terms of PSNR by 10%, and it consumes larger bandwidth by 8%. Under wireless environments where error rate is high, the simulation shows that Basic PR-TCP can outperform TCP Reno and TFRC in the number of packets in decodable frames by at least 19% as well as wasted transmission overhead by at least 15%. It can also outperform TCP Reno, TFRC, and UDP in PSNR by at least 20%. The performance of Single-Side PR-TCP is less then Basic PR-TCP in terms of PSNR by 14%, and it consumes larger bandwidth by 10%. Under large delay bound (>8 sec.), the quality (PSNR) of the video transmitted using Basic PR-TCP is downgraded by only 3%, while it can save network bandwidth by 8%. The performance of Single-Side PR-TCP is about the same as Basic PR-TCP in terms of PSNR, but it consumes slightly larger bandwidth by 5%.