PRRT: A Protocol Stack with Predictable Reliability under Predictable Delay
Surely the non-deterministic design of the Internet infrastructure was never intended to serve as a basis for the large-scale distribution of
multimedia content. Yet the broad availability of the Internet Protocol (IP) on various platforms and architectures leads the media
consider it as a reasonable alternative to established delivery networks. Media distribution over unmanaged delivery networks became a
within the digital TV broadcast. At the same time the vast amount of user-generated content evolves the Internet to a "multimedia network" rather than
a textual data
Yet another Transport Protocol?
The Transmission Control Protocol (TCP) is the prevalent protocol in today's Internet. Being a result of careful design it offers fully
connection with flow and congestion control. Currently it is the preferred protocol for Internet media streaming as well. However, audiovisual
applications prefer timeliness before reliability. This fact clearly contradicts TCP's policy.
Audio-visual real-time services such as Internet Protocol Television (IPTV) or Internet telephony (Voice over IP, VoIP) rely on the User
Datagram Protocol (UDP). Using the option to deliver datagrams via connectionless IP multicast it is a scalable basis for the live media broadcast
(cf. DVB-IP). Usually, UDP is extended by the Real-time Transfer Protocol (RTP) in order to enable Quality of Service (QoS) improvements on
application layer. Nevertheless, in contrast to TCP, UDP's simplicity in design comes along with two major issues: It does not provide
reliability in presence of packet loss as well as fairness among concurrent connections.
It is not possible to offer sufficient reliability while maintaining a timely and scalable delivery using off-the-shelf protocol support.
Future transport protocols have to offer predictable behavior in terms of packet loss and delivery time in order to serve the needs of the
application and to minimize the amount of allocated network bandwidth at the same time. For the unmanaged delivery of real-time audio-visual
media they have to support a Predictable Reliability under a Predictable Delay (PRPD).
PRRT in a Nutshell
PRRT (Predictably Reliable Real-time Transport) is a prototype implementation representing a protocol stack, integrated into the Linux kernel, that operates according to the PRPD
paradigm. Our socket implementation is mainly based on the available UDP stack. It inherits its properties including the multicast support as well as the connectionless
datagram delivery, i. e. the broadcast-friendly characteristics of the UDP are preserved. Additional 32 bit of header fields are appended to the standard UDP
header in order to sufficiently feed the PRRT protocol logic with information. The socket enables duplex communication between the end nodes since a return
channel is required for the transmission of receiver feedback. Among the identification of the lost packets, channel state information are included into the
A Queue for Every Purpose
The protocol logic operates on top of several FIFO queues with parallel access (cf. figure 2). In contrast to available stop-and-wait architectures the PRRT protocol stack avoids the stalling of the real-time data stream by means of parallel event and data processing. The flexible protocol logic allows individual coding parameters at a granularity of single coding blocks.
The core of our media-oriented transport protocol is an Adaptive Hybrid Error Correction (AHEC) approach based on previous work from Guoping Tan (Application Layer Hybrid Error Correction Techniques for DVB Services in Wireless Home Networks). Adaptive coding is the consequent usage of the
bidirectional characteristic of available IP networks. The highly flexible composition of NACK based ARQ and adaptive packet-level FEC leads to near-optimal
coding efficiency as it is controlled by analytical parameter derivation based on a statistical channel model.
The ability to fit to certain delay and reliability constraints even allows the parameter optimization beyond the end-to-end connection granularity: Wired and
wireless networks usually significantly differ in terms of packet loss (Pe). On the other hand, home network segments provide a much lower round trip delay (RTT) than IP
based delivery networks. Obviously, pure end-to-end error correction schemes are not efficient in such heterogeneous network environments. Therefore, our AHEC
scheme offers a link-level operation mode, which relieves reliable links from the redundancy required for rather unreliable links.
Where to use it?
The proposed protocol stack has been applied successfully in wireless IEEE 802.11 multicast scenarios. Actually, the unreliable transmission mode in the IEEE 802.11
multicast is a common problem, current IPTV delivery systems are suffering from. Therefore, the implementation might be of reasonable interest for the IP based
media broadcast. Of course the field of potential applications is not limited to wireless and local networks. The flexibility in the parameter choice allows
the implemented transport protocol to be the basis of any Internet application formulating a certain reliability and delay requirement.