Packets from various application flows are mixed in the network and queued for transmission in each router. Scheduling is the discipline that decides which queued packets are selected for transmission on the link. Therefore, scheduling plays an important role in providing Quality-of-Service guarantees.
Important scheduling disciplines applied in many routers are:
FIFO (First-In-First-Out): packets are selected for transmission in the same order in which they arrive at the queue.
FIFO with priority: arriving packets are classified into priority classes. Each class has its own queue. Packets with higher priority are always transmitted first.
Round Robin: arriving packets are again sorted into classes and stored in class specific queues. In each round, queue after queue is checked and if there is a packet waiting, it is transmitted.
WQF (Weighted Fair Queuing): as in Round Robin, class-based queues are applied, but moreover each queue is assigned a weight. WQF operates in a Round Robin manner, but instead of one packet per round, each class receives a service based on its weight. Thus, the scheduler serves the queues in a circular manner and transmits one or more packets from each queue based on the weight of the queue.
In this application 4 data streams transmit packets over one router. Two of them, HTTP and FTP, are typical data transmissions whereas the other two, audio and video, are multimedia streams. Try by yourself which service each application is given by the different scheduling disciplines!