The performance of real-time applications in packet switched networks depends on both the design of those applications and on the nature of the packet delivery services provided by the network. A widely held view is that most real-time applications will be adaptive, meaning that the delay between packet creation at the source and packet playback at the destination will vary over the lifetime of the application. This design has two advantages over the alternative of non-adaptive applications, which maintain a fixed delay between packet creation and playback. First, since adaptive applications do not depend on delay bounds to function properly, adaptive applications simplify network design by obviating the need for the network to provide a delay bounded service. Second, adaptive applications can achieve lower average delay than non-adaptive ones for a given stream of delivered packets. On the other hand, in addition to incurring the latency introduced by network queuing and application playback delays, adaptive applications experience distortion in the output stream due to the varying playback delay. The application's performance is then a function of both the packet delivery service provided by the network and the adaptation algorithm employed by the application.
A current topic of debate in the design of real-time support for the Internet concerns the nature of packet delivery services. Is a single quality of service sufficient and desirable for all real-time applications, or should multiple levels of service be available to applications? In this paper we consider this question, focusing on two axes along which service can be differentiated: service priority and drop priority. Service priority provides applications with different levels of delay and drop priority provides different levels of loss. Because of the interaction between packet delivery services and application adaptation algorithms, we consider this question in the context of different application adaptation algorithms and different models of application performance.
At first glance, the answers to these questions may seem obvious. After all, one can imagine applications with differing delay requirements (e.g., interactive conferencing and video playback), leading to the conclusion that service discrimination based on delay will better satisfy these diverse requirements, enabling higher network utility. However, whether the resulting distribution of packet delays provided by different delivery services impacts application performance depends fundamentally on the adaptation algorithms used by applications and on models of application utility. For example, if two levels of service differ only in the tail of their delay distributions then the answer depends on whether application performance is sensitive to these tails. Therefore, careful analysis of these questions is needed.
We first consider the question of service discrimination based on delay. We consider a simple model of application performance with simple expressions for how the performance depends on the delay of the playback times of packets and on the distortion introduced by adjusting the application playback point. In conjunction with these performance models, we use several simple application adaptation algorithms that seem well-suited for the application requirements we are considering. We then study how service discrimination affects overall application performance. We find that the answer to this question depends crucially on assumptions about the nature of application requirements and their sensitivity to the tail of packet delay distributions.
The second aspect of service discrimination we consider is drop priority. Priority dropping allows applications to signal their preferences about which packets should be dropped during overloads. This would seem to be a useful mechanism for applications, enabling network switches to give priority to more important packets at the expense of less important packets, such as might be desired with a hierarchically encoded video stream. While this design provides obvious benefits, it has been criticized as giving applications no incentive to reduce their transmissions during network congestion. In an alternative approach, all packets are treated equally. This approach gives applications the responsibility to adjust their transmissions and only inject packets with a high probability of delivery into the network. In essence, this shifts the dropping decision from the switches at the interior of the network to the applications at the edges. Our analysis of this aspect of service discrimination compares the benefits and costs of priority and non-priority dropping. The key questions here are whether adaptation by the applications can achieve the same benefits as priority dropping inside the network, and whether adequate incentives can be provided with priority dropping to achieve stable network operation.