Real-time multimedia data is expensive to transport and must be received in a timely manner, with utmost importance placed on preserving the linear progression of sequential timed data at the user's end.
Two major obstacles stand in the way of high-fidelity, real-time multimedia data transport over an internet: limited available network bandwidth and dynamically varying transmission delays. Understandably, the larger problem of the two is the high bandwidth requirement necessitated by real time audio and video. In the MPEG-2 compression standard, for example, the Main profile at the Low level allows for a 30 frame per second 352x288 pixel resolution image, requiring a communication channel bandwidth of 4Mbit/s for successful transport. This is a high data transmission rate that is nonetheless supportable on a modern LAN.
For a packet switching internetwork, the transmission latency is inherently non-deterministic, and when networks become congested, extreme latencies, many orders of magnitude greater than that of any average expected latency, can result. Figure 1 represents a set of images that comprise a timely delivered movie of a bouncing ball. Transporting this video stream across an internet with an unbuffered connection can undesirably vary the inter-frame temporal spacing, distorting the presentation of timed sequential data beyond what is acceptable to the viewer. (Figure 2)
The motion depicted by the images in figure 2 defies our kinematic sense about what happens when a ball bounces, and is different than figure 3, in which a frame is skipped, with the inter-frame timing relationships preserved.
Multimedia streaming was developed to attempt to overcome, or at least stave off in moderate cases, the effects of varying transmission delays. By buffering a sufficient amount of the data before presenting it to the user, multimedia streaming can allow an application to maintain the inter-frame timing in the face of variable delivery rates. The rate of data output is independent of the input rate, as long as there is enough data in the buffer to source the required amount of output. If the input rate lags behind the output rate, eventually there will not be enough data in the buffer to support the high output rate, resulting in the depletion of the multimedia reservoir, forcing the presented data stream to follow the variable rate network data supply.
Although this method of multimedia data presentation offers high-fidelity output at the user's end, it can tend to utilize quite a bit more of the available network bandwidth than is acceptable for a ``nicely behaved application.'' If the streaming protocol is built on top of a fully reliable protocol such as TCP, segments of data that are lost due to congestion will be retransmitted until they have been acknowledged properly, adding to the congestion of the network. Reliable data transmission protocols such as TCP were not designed to handle the special requirements of real-time applications. They were designed for low bandwidth interactive applications such as telnet and potentially high bandwidth non-interactive applications such as electronic mail handling and ftp. The best-effort transport services inherent to UDP are more suited for delivering multimedia data payloads.
The User Datagram Protocol is becoming important in the realm of multimedia protocols. Because it is essentially an interface to the low-level Internet Protocol, and because it offers a speedy checksum and I/O multiplexing through Berkeley sockets, it is an ideal choice for applications that do not wish to be constrained to the flow control mechanism in TCP. However, operation without any flow control in place will quickly fill the local socket-level buffers and UDP datagrams will be discarded before they even reach the physical network. In effect, protocols such as TCP, with a highly refined flow control mechanism, attempt to dynamically estimate the optimum transmission rate through the feedback loop formed by data transmission and subsequent data acknowledgment. Given this observation, operation without flow control is out of the question for high-bandwidth multimedia applications.
With earlier protocol efforts, all data was assumed to be important and therefore was delivered reliably; there was very little chance that a transferred file would be acceptable if corrupt or incomplete in any way. With real-time multimedia data, the primary concern should be preservation of the linear presentation of timed sequential data. Other aspects of the end product's quality should be allowed to suffer, as long as the remaining data is delivered in a way that does not disturb the linear time progression of the presentation. Our proposed protocol, XUDP is an internetworking, semi-reliable multimedia data transmission system with the ability to timestamp parcels of data with expiration dates. It is designed to preserve the linear progression of timed sequential data at the user's end in the face of network congestion related data loss and delay. It reduces network bandwidth utilization significantly by not attempting to transmit or retransmit data that has outlived its usefulness.