Virtual Clock
Goal
- Guarantee a bandwidth per “flow”
Algorithm
- Packets are classified, and sent to queues each with a bandwidth specification
- Timestamp candidate packet with:
- Virtual clock time += (packet_size / queue_rate);
- Transmit packets ordered by timestamps
Problems
- Classes using idle bandwidth are penalized later
- Not Fair