QoS-aware MAC protocols for wireless sensor networks: A survey <s> Packet scheduler <s> We discuss gateway queueing algorithms and their role in controlling congestion in datagram networks. A fair queueing algorithm, based on an earlier suggestion by Nagle, is proposed. Analysis and simulations are used to compare this algorithm to other congestion control schemes. We find that fair queueing provides several important advantages over the usual first-come-first-serve queueing algorithm: fair allocation of bandwidth, lower delay for sources using less than their full share of bandwidth, and protection from ill-behaved sources. <s> BIB001 </s> QoS-aware MAC protocols for wireless sensor networks: A survey <s> Packet scheduler <s> Fair queuing is a technique that allows each flow passing through a network device to have a fair share of network resources. Previous schemes for fair queuing that achieved nearly perfect fairness were expensive to implement: specifically, the work required to process a packet in these schemes was O(log(n)), where n is the number of active flows. This is expensive at high speeds. On the other hand, cheaper approximations of fair queuing that have been reported in the literature exhibit unfair behavior. In this paper, we describe a new approximation of fair queuing, that we call Deficit Round Robin. Our scheme achieves nearly perfect fairness in terms of throughput, requires only O(1) work to process a packet, and is simple enough to implement in hardware. Deficit Round Robin is also applicable to other scheduling problems where servicing cannot be broken up into smaller units, and to distributed queues. <s> BIB002
In single-queue architectures, there is no need to use a packet scheduler. However, it is mandatory in multi-queue architectures to select the next serviced queue. There exists two design methods for the packet scheduler. The first method is serving the higher priority queue always prior to the lower priority queue explicitly and the second method is utilizing some kind of fair scheduling between the queues of different priority packets. Main drawback of the explicit prioritization is possibility of intolerable performance for lower priority traffic in terms of latency, successful packet delivery ratio. However, the higher priority traffic achieves relatively better performance since it is always served first. Also, the explicit prioritization can be chosen for the sake of simplicity since it is easy to implement and operate. There exist many techniques for fair scheduling such as weighted round robin  , weighted fair queueing BIB001 , deficit round robin BIB002 to be used in the second method. Integrating a fair scheduling mechanism brings some performance degradation for higher priority traffic since it makes a selection among all nonempty queues. However, a small sacrifice from performance of higher priority traffic results in remarkable performance increase for the lower priority traffic. Also, employing a fair scheduler requires an additional decision phase before each transmission attempt.