Fair queuing

[1][2][3] A byte-weighted version was proposed by Alan Demers, Srinivasan Keshav and Scott Shenker in 1989, and was based on the earlier Nagle fair queuing algorithm.

[4][5] The byte-weighted fair queuing algorithm aims to mimic a bit-per-bit multiplexing by computing theoretical departure date for each packet.

Fair queuing is used in routers, switches, and statistical multiplexers that forward packets from a buffer.

The buffer works as a queuing system, where the data packets are stored temporarily until they are transmitted.

In a short time interval the data rate may fluctuate around this value since the packets are delivered sequentially in turn.

A natural extension consists in letting the user specify the portion of bandwidth allocated to each flow leading to weighted fair queuing and generalized processor sharing.

This algorithm attempts to emulate the fairness of bitwise round-robin sharing of link resources among competing flows.