On scheduling real-time traffic under controlled load service in an integrated services Internet
The controlled load service defined within the IETF's Integrated Services architecture for quality-of-service (QoS) in the Internet requires source nodes to regulate their traffic while the network, in combination with an admission control strategy, provides a guarantee of performance equivalent to that achieved in a lightly loaded network. Packets sent in violation of the traffic contract are marked so that the network may assign them a lower priority in the use of bandwidth and buffer resources. In this paper, we define the requirements of a scheduler serving packets belonging to the controlled load service and present a novel scheduler that exactly achieves these requirements. In this set of requirements, besides efficiency and throughput, we include an additional important requirement to bound the additional delay of unmarked packets caused due to the transmission of marked packets while dropping as few marked packets as possible. Without such a bound, unmarked packets that are in compliance with the traffic contract are not likely to experience delays consistent with that in a lightly loaded network. For any given desired bound a on this additional delay, we present the CL(alpha) scheduler which achieves the bound while also achieving a per-packet work complexity of O(1) with respect to the number of flows. We provide an analytical proof of these properties of the CL(alpha) scheduler, and we also verify this with simulation using real traces of video traffic. The scheduler presented here may be readily adapted for use in scheduling flows with multi-level priorities such as in some real-time video streams, as well as in other emerging service models of the Internet that mark packets to identify drop precedences.
scheduling real-time traffic controlled load service integrated services architecture