Given the large amount of data required to present a realistic motion video stream to the user, it is inevitable that in an internetworked video application, transmitted packets will be lost either through collisions or in overrun buffers when the necessary transmission bandwidth exceeds the available network bandwidth. The TCP/IP protocol suite has provided Internet application developers with two transport layer protocols: a fully-reliable stream protocol (TCP) and a best-effort datagram delivery service (UDP). However, the recent trend toward real-time multimedia data transmission over an internetwork demands a type of service that TCP/IP alone, by design, cannot provide: semi-reliability. The notion of semi-reliability stems from the observation that the most important factor in the user appreciation of real-time, multimedia data is the linear time-wise progression of the time-sensitive data.
Ideally, multimedia applications should have a certain amount of control over what data needs to get through, and what data can be discarded if network congestion occurs. Recently, real-time multimedia applications have been making use of UDP as an alternative to the more robust TCP. UDP functions primarily as an interface to the best-effort delivery service of IP, and as such offers no guarantees of the reliability of its data transmission service. In fact, UDP offers no sort of flow control whatsoever, frequently resulting in less-than-desirable performance on fast computers where applications are able to overload local networking buffers, losing packets before they even enter the physical network. Using TCP to transmit the data certainly guarantees that all data will be received at the other end of the connection. If no buffering methods were in place in the application, this behavior would result in highly variable delays in the presented video stream. Even utilization of TCP with buffering, or multimedia streaming, can result in a long initial presentation delay at the user's end, and a great deal of abuse of network bandwidth resulting from the multiple segment retransmits that may be needed to enforce TCP's reliability. Protocols such as XTP have focused primarily on multimedia data delivery over high speed networks (ATM primarily) and do little to solve the existing problem of transporting multimedia data over our now heavily congested Internet. RTP (the Real Time Protocol) is designed specifically for internetworking usage, but places the burden of flow control in the application layer if used directly by any application. The recent (1996) ITU-T H.323 standard provides a structured means of regulating video communication, specifically, on internetworks that do not implement Quality of Service (QoS). XUDP provides flexible and configurable services that can accommodate many multimedia transmission requirements and network modalities.
This paper documents the research and development of the eXtended User Datagram Protocol (XUDP), built to fill a ``middle layer'' between the application and the User Datagram Protocol. It attempts to fit the need for semi-reliability by making use of concepts and innovations from standard existing protocols such as the Transmission Control Protocol and recent multimedia-specific protocols such as the eXpress Transport Protocol (XTP). During the design of XUDP, particular attention was paid to the well-documented historical development of TCP. Our proposed solution is built around a concept known as timed-obsolescence, which states that multimedia data should have a window of usefulness associated with it, a sort of expiration date for video and audio.
XUDP is currently an in-progress effort, conducted by the Convergent Technology Center at WPI. Early results obtained with a primitive implementation of XUDP are promising.
Section 2 characterizes multimedia data transmission in a context relevant to the concept of timed-obsolescence. Section 3 describes the eXtended User Datagram Protocol and presents certain implementation issues. Section 4 concludes the paper.