Keywords

1 Introduction

Wireless broadband networks have become reliable means to meet the increasing demand for internet connections and integrated multimedia services. WiMAX being one of such networks provides last mile internet access to both residential and enterprise users. It defines the physical (PHY) layer and media access control (MAC) layer. Apart from its ease and cheap cost of deployment as well as maintenance, it also supports multiple QoS classes [1]. The QoS classes are as follows:

  1. I.

    Unsolicited Grant Service (UGS) is designed for real-time services like Voice over Internet Protocol (VoIP)) that require constant bit rate flows. UGS is given higher priority because of its low tolerant for delay and requirement for maximum latency.

  2. II.

    real time Polling Service (rtPS) is designed for real-time services such as MPEG that generates variable data size periodically. It is more delay tolerant than the UGS.

  3. III.

    non-real time Polling Service (nrtPS) is designed for non real-time services like file transfer protocol (FTP) which also generates variable data size periodically. This class is delay tolerant and has minimum bandwidth requirement.

  4. IV.

    Best Effort (BE) is intended for services that do not require QoS guarantee such as Hyper Text Transfer Protocol (HTTP).

The MAC layer is responsible for scheduling these classes with varying QoS requirements such as bandwidth, delay, jitter and packet loss. To satisfy these requirements, an efficient scheduling algorithm is needed.

Several scheduling algorithms have been proposed for resource allocation [2,3,4,5,6,7,8,9]. Recently, Load Aware Weighted Round Robin (LAWRR) has been proposed to mitigate the weakness of Weighted Round Robin (WRR). The LAWRR separates packets into different QoS classes and allocates a dynamic weight to each queue based on its traffic load characteristics. The algorithm employs the dynamic weight to determine the number of packets to be served in each queue. It reduces not only delay and packet loss but also improves average throughput for non-real time traffics. However, it increases delay due to its failure to prioritize real time traffics.

In this paper, a priority load aware scheduling (PLAS) algorithm is proposed to reduce delay in real time traffics. The PLAS introduces a priority weight to increase the service rate of the real time traffics. The algorithm is evaluated using simulations. The result demonstrates that the PLAS achieves superior performance compared to the existing scheme.

The rest of this paper is organized as follows: Sect. 2 presents related works. In Sect. 3, the proposed PLAS is prescribed; Sect. 4 presents performance evaluation while Sect. 5 concludes the paper.

2 Related Works

In this section, some of the scheduling algorithms proposed for WiMAX networks are reviewed as follows:

[1], proposed a priority weighted round robin (PWRR) scheduling algorithm to minimize delay. The PWRR employs a classifier that separate packets based on their priorities. The algorithm employs the priority scheduling (PS) and the weighted round robin (WRR) disciplines to determine packets to transmit. The PS schedule packets from the high priority classes while WRR from low priority classes. The PWRR reduces delay and increases throughput of high priority traffics but starves the low priority classes.

In [9], a modified weighted round-robin (MWRR) scheduling algorithm is proposed to avoid starvation of lower priority classes. The MWRR algorithm assigns weight to each active queue based on its priority. The algorithm multiplies the static WRR and a constant multiplier value to increase the number of packets to be serviced from each queue. The multiplier is an integer value obtained base on a network size; the larger the network the smaller the multiplier value and vice versa. The MWRR reduces delay and increases throughput but may lead to an increase in average delay and decrease in average throughput if the multiplier is wrongly selected.

In [4], a variant of WRR known as adaptive weighted round-robin (AWRR) scheduling algorithm is also proposed to reduce starvation of lower service classes. The AWRR uses input and output schedulers to adjust service classes’ weights. The input scheduler gives priorities to high priority traffic over low priority traffic based on their bandwidth and latency requirements. On the other hand, the output scheduler controls data flows and manage the service classes. The algorithm also employs a threshold for each class which when exceeded triggers dynamic weight adjustment. It reduces delay as well as improves throughput. However, the algorithm increases average delay and packet loss as well as decrease in throughput if the threshold value is inappropriately set.

[5], proposed a low latency weighted round robin (LLWRR) scheduling algorithm to improve latency and fairness in high priority traffics. The LLWRR computes varying weights by multiplying a coefficient value and the static WRR weight at the beginning of each service round. The coefficient value is a function of number of queues, which decreases as the number of queues increases. LLWRR adjusts the weight values based on number of queues. The algorithm improves not only fairness and average throughput but also decreases latency. However, it may lead to an increase in average delay and packet lost under busty input traffics with large number of queues.

[3], proposed a load-aware weighted round-robin (LAWRR) algorithm to address the WRR performance degradation problem under busty traffic condition. The LAWRR algorithm dynamically computes weight of a queue according to its current loads characteristics. The weight of each queue is computed as the product of the dynamic coefficient of a queue and the static WRR weight at the beginning of each base station (BS) round. The dynamic coefficient is obtained by computing the root mean square error from the load variance of the queues. The algorithm reduces not only average delay and packet loss but also improves average throughput for non real- time traffics. However, it increases delay due to starvation of real time traffics.

In addition to the scheduling algorithms reviewed above, other resource management schemes are proposed in [10, 11]. However, to the best of our knowledge, none of the existing algorithms is capable of decreasing delay of real time traffics by prioritization using dynamic weight.

3 The Proposed PLAS Algorithm

This section describes the proposed scheduling algorithm named PLAS. The PLAS is a variant of the LAWRR. However, first, the weakness of LAWRR is described. The LAWRR separates packets into different service classes considering their QoS requirements. It uses a dynamic weight to service each class. The weight is computed in Eqs. (1)–(4) as follows:

First, the root mean square error is computed as:

$$ R_{{r = \sqrt {v_{r} } }} . $$
(1)

Where \( v_{r} \) is the load variance of the queues.

Then the dynamic coefficient of queue \( i \) at round \( r \) is derived as:

$$ w_{i,r} = \left\lceil {\frac{{{\text{L}}_{i,r} }}{{R_{r} + 1}}} \right\rceil . $$
(2)

Where \( {\text{L}}_{i,r} \) is the load of queue \( i \) at round \( r \).

Next, the static WRR weight is computed as:

$$ Sw_{i} = \frac{{MRTR_{i} }}{{\mathop \sum \nolimits_{i = 1}^{n} {\text{MRTR}}_{\text{i}} }}. $$
(3)

Where \( MRTR_{i} \) is the minimum reserve traffic rate of queue i and \( n \) is the total number of queues in a class.

Finally, a dynamic weight of queue \( i \) at round \( r \) is obtained as:

$$ dw_{i,r} = w_{i,r} Sw_{i} . $$
(4)

The algorithm employs Eq. (4) to determine number of packets to be served in each queue. It assigns a weight counter to all non-empty queues. At the beginning of every counter reset, a dynamic weight is assigned to each weight counter. If a packet is sent from a queue, the weight counter value of that queue is decremented by 1. Every queue is served once in every round in a round robin (RR) fashion. The scheduler moves to next round when all queues are served in the current round. The scheduler continues in this fashion until the weight counter of each queue is zero or all queues are empty. To demonstrate the algorithm, Fig. 1 is used.

Fig. 1.
figure 1

Shows the state of a LAWRR scheduler before weights assignment.

From Fig. 1, the dynamic weights are computed using Eq. (4) and shown in Table 1. The dynamic weights are assigned to the weight counters of the queues shown in Fig. 2. The queues in this Fig. are served starting from \( {\text{q}}_{{1,{\text{r}}}} \) to \( {\text{q}}_{{4,{\text{r}}}} \) in every service round and the counter weight of each queue is decremented by 1 when a packet is served. By the end of second round in first counter reset, the counter values of \( {\text{q}}_{1,2} \) and \( {\text{q}}_{3,2} \) become zero each while that of \( {\text{q}}_{2,2} \) and \( {\text{q}}_{4,2} \) become 2 and 4, respectively as shown in Fig. 3. That means, no queue will be served from \( {\text{q}}_{1,2} \) and \( {\text{q}}_{3,2} \) until after the next four rounds when all counter weights become zero and the counter values are reset. By the end of first counter reset, a total of 3 packets remain in \( {\text{q}}_{1,6} \) (UGS) and \( {\text{q}}_{2,6} \)(rtPS) as shown in Fig. 4. This example shows that packets waiting in UGS and rtPS classes are delayed at the end of every counter reset until subsequent counter reset. However, the delay incurred in these queues may cause packet drop and decrease in average throughput in real time traffics. Therefore, LAWRR is only suitable for nrtPS and BE but not for real time traffics.

Table 1. Computation of dynamic weight for LAWRR
Fig. 2.
figure 2

Shows the state of a LAWRR after weights assignment

Fig. 3.
figure 3

Shows the LAWRR after second round.

Fig. 4.
figure 4

Shows the LAWRR after last round

To address the shortcomings of the LAWRR, a PLAS algorithm is proposed to increase the service rate of real time traffics. First, the scheme modifies the LAWRR weight in Eq. (4) by introducing a priority value derived as follows:

$$ Pv_{i,r} = \left\{ {\begin{array}{*{20}l} {2 } \hfill & {if\;UGS\;or\;rtPS\;\& } \hfill & {Nq_{i } \le } \hfill & {{{Bf} \mathord{\left/ {\vphantom {{Bf} 2}} \right. \kern-0pt} 2}} \hfill \\ {{{Nq_{i} } \mathord{\left/ {\vphantom {{Nq_{i} } {dw_{i,r} }}} \right. \kern-0pt} {dw_{i,r} }}} \hfill & {if\;UGS\;or\;rtPS\;\& } \hfill & {Nq_{i} > } \hfill & {{{Bf} \mathord{\left/ {\vphantom {{Bf} 2}} \right. \kern-0pt} 2}} \hfill \\ 1 \hfill & {Otherwise} \hfill & . \hfill & . \hfill \\ \end{array} } \right. $$
(5)

Where \( dw_{i,r} \) is the LAWRR dynamic weight of queue i at round r, \( Bf \) is the size of buffer and \( Nq_{i} \) is the number of packets in queue \( i \).

Then, the modified weight of queue i at round r is computed as:

$$ Mw_{i,r} = Pv_{i,r} \,.\,dw_{i,r} . $$
(6)

Also, Fig. 1 is used to demonstrate the effect of the proposed PLAS. The Fig. and Eq. (6) are used to compute the modified weights as shown in Table 2. The table shows that the modified weights are computed and represented as: \( Mw_{1,1} \) = 4, \( Mw_{2,1} \) = 4, \( Mw_{3,1} \) = 2, and \( Mw_{4,1} \) = 6. These weights are assigned to respective weight counters as: \( WC_{1,1} \) = 4, \( WC_{2,1} \) = 4, \( WC_{3,1} \) = 2, and \( WC_{4,1} \) = 6 as shown in Fig. 5. This Fig. schedules packet as:

Table 2. Modified weight computation
Fig. 5.
figure 5

Shows the state of a PLAS after weights are assigned

q1,1 → q2,1 → q3,1 → q4,1 → q1,2 → q2,2 → q3,2 → q4,2 → q1,3 → q2,3 → q4,3 → 

q1,4 → q2,5 → q4,4 → q2,5 → q4,5 → q4,6

After packets are scheduled from Fig. 5, only one packet is queued before the next counter reset as shown in Fig. 6. In this Fig., as compared with the LAWRR scheduler in Fig. 4, the PLAS scheduler reduced the total number of delayed packets from four to one. Hence, the number of delay sensitive packets (\( q_{1,6} \) and \( q_{2,6} \)) that were delayed have been reduced from three to zero.

Fig. 6.
figure 6

Shows the PLAS after weights have been exhausted

The Pseudo Code for the algorithm is shown in Algorithm 1.

figure a

4 Performance Evaluation

In this section, we compare the performance of LAWRR [3] with the proposed PLAS scheduling algorithm in terms of average delay. A discrete-event simulator was developed and used to conduct simulations for the evaluation. The simulation parameters used were adopted from [3] as shown in Table 3. The simulation topology in [3] was adopted as shown in Fig. 7, which consists of one Base Station (BS), 35 Subscriber Stations (SS) distributed around the BS, and an application server. The traffics are generated from the server, which provides four traffics each from a different application. We assume that each user traffic is carried by one SS and that each user can only use one type of traffic in a given time. The traffics are prioritized according to their QoS requirements in the following order:

Table 3. Simulation parameters
Fig. 7.
figure 7

Shows simulation network topology

UGS → rtPS → nrtPS → BE.

Figure 8 shows the average delay on SSs for LAWRR and PLAS for the rtPS class. The figure demonstrates that the PLAS achieves better result compared to the other scheme. This is as a result of the increase in the service rate that allow majority of packets to be sent and hence lead to a smaller number of packets being delayed in each around.

Fig. 8.
figure 8

Shows average delay for the rtPS class on SS

5 Conclusions

In this paper, a PLAS is proposed to increase the service rate of real time traffics in WiMAX networks. The algorithm introduces a mechanism that prioritizes real time over non-real time traffics. Simulation experiments were carried out to evaluate the performance of the proposed PLAS and the LAWRR algorithms. The results demonstrated that PLAS yields better performance than LAWRR in terms of average delay.