Jitter compensation scheduling schemes for the support of real-time communications

We propose scheduling algorithms for the support of real-time services over packet-switched networks. These algorithms are based on a jitter compensation (JC) principle, and they are designed specifically to control the end-to-end delay jitter levels of real-time packet flows in a network. At each node, a scheduler based on the JC principle biases the service received by a packet based on the actual heretofore delay of the packet and the target delay (TD) assigned to its flow for this node. Packets that are relatively late with respect to their TD values receive better service than packets that are early. We define two JC scheduling algorithms called jitter compensation priority (JCP) and jitter compensation processor sharing (JC-PS). Under JCP, the lateness of the packets is used as the order of service index. Under JC-PS, the output link's bandwidth is allocated dynamically, to the flows depending on the lateness of their packets. Non-work-conserving versions of these two schemes are also defined. Through simulation, we compare the delay performance of the JC schemes with those of the well-known first-come first-serve, packet-by-packet generalized processor, and virtual clock schemes. These simulations show the effectiveness of the JC schemes in providing real-time services, as well as the trade-offs involved.