The current Internet offers a single service quality: ``best efforts packet service.'' Packets are transported first-come, first-served with no guarantee of success. Some packets may experience severe delays, while others may be dropped and never arrive.
However, different kinds of data place different demands on network services. E-mail and file transfers requires 100% accuracy, but can easily tolerate delay. Real-time voice broadcasts require much higher bandwidth than file transfers, and can only tolerate minor delays, but they can tolerate significant distortion. Real time video broadcasts have very low tolerance for delay and distortion.
Voice telephony networks handle the quality of service problem by assigning each call a physical circuit with fixed resources sufficient to guarantee a minimal quality of service. One limitation of this scheme is that the amount of resources devoted to each call is hardwired into the engineering of the network. As we have discussed, the Internet takes the approach of sharing all of its resources, all of the time, which accomodates the wildly varying bandwidth requirements of different applications, and which gains from averaging over the wildly varying bandwidth requirements during a session with most applications. A hybrid approach to offering different resources, along with guarantees, to different uses would be to allow flexible, dynamic resource reservation. That is, allow a user (or her software agent) to declare how much bandwidth, what maximal delay and what type of delay variation she requires for a given session, and allocate those resources to her. An experimental implementation of such a scheme is given in the RSVP protocol [Zhang et al. 1993].