 lower-weight ones slightly more frequently for some periods of time. DWRR performs similar actions, but it also considers the size of the packets, which can be of variable length for some queues (regardless of the queue's weight). Another variation of RR is frame-based deficit round robin (FB-DRR), which uses a configurable quan- tum of service that ends up reducing the latency and jitter constraints associated with the DRR algorithm. In general, the RR approach and its variations, including WRR and DRR, suffer from some unwanted side effects from traffic that is characterized by bursty or jittery time characteristics. As a result, some network session may end up being served twice when others have not even been served once. However, some interesting proprietary variations are available, such as Agere's patented smoothed- deficit weighted round robin scheduling algorithm, which can reduce the service quantum to a single minimum-sized packet and thereby interleave service to different sessions. This is an interesting way to avoid this general RR drawback. Another interesting, but less frequently used, approach is that of class-based queuing (CBQ), where the principle is similar to the one found in WFQ. The difference is that weights are now assigned to classes of traffic instead of being assigned to queues/flows. The effort of being fair is now made in the mathematical space of traffic classes. For some applications (as in ATM networks), some other algorithms are used. A good example is the Earliest Deadline First (EDF) scheduler, which makes a decision based on the time when a packet must be injected into the network in order to be able to meet stipulated latency specification requirements. Finally, as this is a very active domain of research in the industry and academia, many other algorithms have been developed. These include Delay Earliest Due Date (D-EDD), Jitter Earliest Due Date (J-EDD), Rate-Controlled Scheduling For interested readers, Keshav's book (from references) is a very good place to delve deeper.