Fitting Theory into Reality in the ALTQ case

The ALTQ project started as a challenge to implement various theoretical QoS mechanisms onto the existing open source operating systems running on commodity PC hardware. In the course of the ALTQ development, we have faced a number of limitations and complexities imposed by hardware and software. These practical issues are often overlooked by research people. This paper examines gaps between the theoretical QoS models and the real system. One is in the queue operation model and the other is in the output buffer model. A new set of queue operations are defined in ALTQ as a tradeoff between clean abstraction and compatibility with the existing drivers. A token backet regulator is added to the output queue model in order to control the number of packets buffered in network cards.