3.1. Problem Formulation
This paper implements MLWDF for downlink radio resource management. MLWDF is a throughput-optimal scheduling algorithm which considers packet delay and probability of packet loss along with instantaneous and previous throughput of the user. The scheduler maximizes the utility function
to achieve better QoS, where
ri(
t) is the instantaneous transmission rate of user
i at TTI
t and
is the previous average transmission rate. For convenience,
Table 2 shows the symbols used in this paper.
Let
i,
j,
k,
l be the user, CC, RB, and MSC index, respectively where
i ϵ
Q = {1, ….,
Q},
j ϵ
R = {1, ….,
R},
k ϵ
S = {1, ….,
S} and
l ϵ
T = {1, ….,
T}. In the above function,
ri(
t)/
can be denoted as the weighted transmission rate
Wi,j,k,l for user
i, CC
j, RB
k, and MSC
l. For simplification, the TTI
t is removed from the rest of the paper. The resource scheduling is defined by solving the following function according to the MLWDF algorithm.
Subjected to the following conditions:
where
ψi,j,k,l is a variable to indicate whether or not CC
j, RB
k, and MSC
l is assigned to user
i,
Di,j is the HOL delay of user
i and CC
j. The condition in (2) states that each RB of a CC can be assigned to maximum one user. The condition in (3) assures that one user can use only one MSC with assigned CC and RB. The condition in (4) restricts the user not to be assigned more than
m number of CC. The condition in (5) mentions that HOL delay must be lower than the delay threshold. By the definition of the MLWDF algorithm,
αi in Equation (1) is a variable which allows the scheduler to control the distribution of packet delay [
18]. Increasing the value of
αi for user
i, while keeping the values for other users unchanged, reduces the packet delay for user
i at the cost of increasing the waiting time for other users. The variable
αi is defined in the following Equation (7).
Here,
τi is the delay threshold for user
i based on their applications and
δi represents the probability of packet loss. Delays of the user data packets need to be kept below a specific threshold value. The probability of exceeding this value must be equal or less than the probability of packet loss. Therefore, the QoS requirement of user
i is defined as
Table 3 shows the delay threshold values with corresponding priority levels for different applications. The lower the priority level, the higher the priority in the congested queue such as here where the conversational voice has the highest priority. If queue congestion happens, data packets of the lowest application priority would be discarded first.
As the real-life wireless environment is affected by various noise and interference, errors occur in large scale while receiving the data packets. Therefore, a two-state Markov chain model is widely used by previous researchers [
30,
31] to assess the performance accurately. This paper calculates the probability of packet loss
δi by this Markov model with a closed-form expression [
23]. Instead of modeling the queue, the model in [
23] considers packet delay which has an advantage that a packet can be dropped, if the packet delay exceeds the threshold value. It is complicated to formulate the expression of the probability of packet loss in terms of its basic parameters. For having a simple and meaningful interpretation, the expression has been simplified by making approximations and restricting the parameter values. According to the Markov model, a success state has small error probability and a failure state has large error probability. This paper considers the success state as a usable system when packets can be transmitted successfully. The error probability, maximum delay, and the probability from failure state to success state are considered in the simplified expression of small error probability scenario. The equation is described in (9).
where
εi is the error probability and
Pi is the probability from failure state to success state of user
i. The error probability
εi assumed to be small value whereas
Pi should be larger than
εi in success state to make the system usable. The probability of packet loss
δi largely depends on the queue length and the delay threshold value. The model in [
23] shows that
δi can be calculated accurately by considering constant values of
εi and
Pi with varying the delay threshold values. Therefore, for success state, this paper assumes that
εi ≈ 0.01,
Pi ≈ 0.1 and the maximum delay is the delay threshold
τi for user
i based on their applications (
Table 3). The probability of packet loss
δi decreases drastically when (1 −
Pi) decreases, especially when delay threshold
τi is large with a constant value of
εi. On the other hand,
δi increases if the delay threshold
τi is not large enough when the errors are likely to occur. If the packet transmission fails, the packet is retransmitted until it reaches to a delay threshold. After exceeding the threshold value, the packet will be discarded and the next packet transmission will start.
The error probability
εi is large and
Pi is relatively smaller than
εi in failure state with large error probability. Therefore, the probability of packet loss in the failure state can be written as
This equation indicates that the outcome of the Equation (7) will be very low. Thus, there will be very low chance that the scheduler allocates any RB to the user. No packets can be transmitted successfully in this state due to excessive error and this can make the system unusable. Therefore, by considering the success state, Equation (9) can be written as follows
Considering the error probability and the probability from failure state to success state in (9), Equation (7) can be replaced by the following Equation (12).
A greedy-based method is proposed in this paper to give a solution with low computational complexity to the scheduling problem in (1) while satisfying the conditions in (2)–(6).
3.2. Proposed Greedy-Based Model
The purpose of the proposed method is to maximize the user throughput and maintain the fairness by considering the probability of packet loss and HOL delay while minimizing the computational complexity. The weighted transmission rate of all users is calculated first. Then all possible gain of user i for assigning CC j are measured. Here, gain is defined as the difference between the weighted transmission rate based on available resources and the transmission rate of a user currently being allocated. If the weighted transmission rate is more than the current rate, user can transmit more data and thus can achieve the gain. By considering the queue length, if the maximum gain is better than zero, CC j with MSC l is assigned to user i. If the weighted transmission rate with the variable αi and delay for each RB is higher than that of currently assigned, RB k is assigned to user i. The step-by-step procedure of this algorithm is given below.
Step 1: Let Ω (j, k) be the current transmission rate of the user which is currently being allocated with CC j and RB k. As it is assumed that RBs of all CCs are not allocated to any user initially, Ω (j, k) is set to zero at the beginning stage. The weighted transmission rate Wi,j,k,l of user i, CC j, RB k, and MSC l is calculated by the instantaneous transmission rate and previous average transmission rate.
Step 2: Let
g (
i,
j,
l) be the gain of user
i after assigning CC
j with MSC
l. The gain is calculated by the following equation.
The difference between the weighted and current transmission rate is considered as the gain in (13). If the current rate Ω (
j,
k) is higher than the weighted rate
Wi,j,k,l, there will be no gain for that particular user. After calculating all possible gains and queue length
ξj of CC
j, assignment (
i’,
j’,
l’) with the highest gain can be found by (14):
If the g (i′, j′, l′) is more than zero, CC j′ with MSC l′ will be assigned to user i′. Otherwise, it will enter into the next iteration.
Step 3: Then, HOL delay Di′, j′ for user i′ and CC j′ is calculated by waiting time in the queue. After that, the variable αi′ of user i′ is calculated by the above Equations (7)–(12). This variable considers several criteria, such as the probability of packet loss and delay threshold.
Step 4: For each RB k of CC j′, weighted transmission rate σ (i′, j′, k, l′) of user i′ with variable αi’ and delay Di′, j′ is calculated. If the σ (i′, j′, k, l′) is higher than the transmission rate with currently assigned RB Ω (j, k), then RB k of CC j′ is assigned to user i′ and Ω (j, k) is set to σ (i′, j′, k, l′).
Step 5: Assigned CC j′ is removed from the list of available CC for user i′ so that CC j′ cannot be assigned twice to the same user. Moreover, it ensures that user i′ can be assigned maximum m CC.
Step 6: Repeat Step 2–5 until it reaches to the following conditions: (a) all users have been assigned with the required CCs; (b) no further gain is possible after assigning a new CC; and (c) reaches to any terminating condition. The proposed greedy-based method of downlink resource allocation is given in
Table 4.