QoS-Promoted Dynamic Bandwidth Allocation (Q-DBA) Method
3.2 Q-DBA Scheme
The OLT determines the bandwidth allocation, when receiving all report messages.
Denote B to be the total bandwidth of each ONU. The allocated bandwidths are individually sent to each ONU by the ”gate message,” which includes G0,i, G1,i, and G2,i. These G0,i, G1,i, and G2,i denote the granted bandwidth in bytes for Q0,i, Q1,i, and Q2,i of ONUi, 1 ≤ i ≤ M, respectively. The gate message tells ONUi, the amount of bandwidth in bytes ONUi can transmit. As soon as ONUs receive their own gate message, they know their own time slot, and prepare to transmit the packets.
The Q-DBA method allocates bandwidth in unit of bytes to all ONUs from the service of the highest priority to that of the lowest one successively until all the bandwidths are used up. As shown in Fig. 3.1, and Fig. 3.2, the bandwidth is allocated sequentially based on the priority of packets and the reported informations if the residual bandwidth is available
Figure 3.2: The six steps in bandwidth allocation of Q-DBA method
in the allocation step. In the Q-DBA method, in order to satisfy QoS requirements, packets of all services are classified into six priorities, and these priorities are considered when the Q-DBA method allocates bandwidth. The six priorities are voice packets, video packets with problem of dropping probability, video packets with problem of delay requirement, data packets considering waiting bound, video packets, and data packets from the highest to the lowest in order. The L0,i, Ldp,i, Ld,i, Lw,i, L1,i, and L2,i in report message represent the information of the service of the first six priorities in order. The voice service plays the highest priority of service because it is strictly delay sensitive. To enhance QoS requirements of video packets, the Q-DBA method secondly allocates the bandwidth to the video packets which will be dropped if they are not transmitted at next timeslot. Then, the Q-DBA method continues to allocate the bandwidth to the data packets, whose waiting times exceed the waiting bound. Data packets do not be dropped even if they wait in the queue for a long time, but the starvation of data packets may occur. The starvation means that the packets are still not transmitted after a long delay. To avoid the starvation, the priority of data packets should be raised when their waiting bound is violated. In this way, if data packets’
priority than before. In the Q-DBA method, this kind of packets has a higher priority than video packets with a non-violating delay time because video packets, which will be dropped, have already been processed, and the QoS requirements of residual video packets is satisfied.
Therefore, the Q-DBA method allocates the bandwidth to the data packets, violating the waiting bound to ensure data service’s QoS requirements to avoid starvation. Then, the Q-DBA method allocates the bandwidth to the unallocated video and data packets in order.
Finally, the voice and video packets proportionally share the residual bandwidth based on their queue occupancy to use up the bandwidth and guarantee QoS in further because they have delay requirement.
The Q-DBA method is described in detail as follows:
Step 1: [Bandwidth Allocation to Voice]
Denote the allocated bandwidth to voice packets in Q0,i by G00,i. Based on the queue occupancy of Q0,i, L0,i, and the total bandwidth of the fiber link, B. The allocated bandwidth to voice, G00,i, is given by
Step 2: [Bandwidth Allocation to Video Packets with the second and the third priorities]
Denote the allocated bandwidth to video packets with the second and the third priorities in Q1,i by G01,i. Based on the amount of video packets with problem of delay requirement, Ldp,i, the amount of video packets with problem of dropping probability requirement, Lp,i, and the residual bandwidth of the fiber link, B −
M
X
i=1
G00,i. The allocated bandwidth to video packets with the second and the third priorities, G01,i, is given by
G01,i=
Step 3: [Bandwidth Allocation to Data Packets with the fourth priority]
Denote the allocated bandwidth to data packets with the fourth priority in Q2,i by G02,i. Based on the amount of data packets considering waiting bound, Lw,i, and the residual bandwidth of the fiber link, B −
M
X
i=1
[G00,i+ G01,i]. The allocated bandwidth to data packets considering waiting bound, G02,i, is given by
G02,i =
Step 4: [Bandwidth Allocation to video packets with the fifth priority]
Denote the allocated bandwidth to video packets with the fifth priority in Q1,i by G001,i. Based on the amount of unallocated video packets, L1,i− Ldp,i, and the residual bandwidth of the fiber link, B −
G001,i =
Step 5: [Bandwidth Allocation to Data Packets with the sixth priority]
Denote the allocated bandwidth to data packets with the sixth priority in Q1,i by G001,i. Based on the amount of unallocated data packets, L2,i− Lw,i, and the residual bandwidth of the fiber link, B −
Denote the allocated bandwidth to voice packets in Q1,i and video packets in Q2,i by G000,i and G0001,i, respectively. Based on the queue occupancy of Q0,i, L0,i, the queue occupancy of Q1,i, L1,i, and the residual bandwidth of the fiber link, B −
M
X
i=1
[G00,i+ G01,i+ G02,i+ G001,i+ G002,i].
The allocated bandwidth to voice packets, G000,i, and video packets G0001,i are given by
Step 7: [Gate Message Generation]
Denote G0,i, G1,i, and G2,i, to be the final granted bandwidth of ONUi, 1 ≤ i ≤ M, in the gate message to Q0,i, Q1,i, and Q2,irespectively. Based on the allocated bandwidth, G00,i, G01,i, G02,i, G001,i, G002,i, G000,i, and G0001,i the granted bandwidths in gate message,G0,i, G1,i, and message to ONUi. ONUi follows the information in the gate message to transmit its own packets, and sends the new report message to the OLT at the end of timeslot.
When ONUs receive their gate message,they transmit packets combining OLT’s grants and queue conditions at that time. If there is some bandwidth left at some queues, the left bandwidth are used to transmit packets in other queues in the same ONU from the highest priority packets to the lowest ones. It not only decreases delay and dropping probability but also uses bandwidth more efficiently.