WFQ
WFQ provides isolation and delay guarantees
FQ simulates fair bit-by-bit RR by assigning packets priority based on finishing times under bit-by-bit RR
- E.g. Flow 1 packets of size 5 and 8, Flow 2 packet of size 10: size 5 first, then size 10, then size 8
Round number increases at a rate inversely proportional to number of currently active flows
On packet arrival: recompute round number, compute finish number, insert in priority queue, if no space drop packet with largest finish number (max-min fairness)
Approximation error bounded by max_pkt_size / capacity
WFQ can assign different weights to different flows