# A Multi-Service Adaptive Semi-Persistent LTE Uplink Scheduler for Low Power M2M Devices
## 3 Multi-Service Adaptive Semi-Persistent Scheduling Algorithm
### Control Mechanism for the Adaptive SPS Period  
The SPS period assigned to each traffic class has a significant impact on the overall service capacity of the class and also on their QoS performance. From the principle of the adaptive SPS, for any traffic class \(S\), the assigned SPS period \(T_{SPS,S}\) is selected to be an integer multiple of the LTE frame duration \(T_{F}\) so that the subframe number designated to the traffic class is not changed and different subscribers to the traffic class can be multiplexed in different frames. The condition can be expressed as Equation (4). \[T_{SPS,S}=m_{S}T_{F} \tag{4}\]  
where  
* \(m_{S}\) is an integer number. * \(T_{F}\) is the LTE frame duration, fixed at 10 ms [29]. On the other hand, Equation (5) introduces a control mechanism for variation of the adaptive SPS period for QoS guarantee of the traffic class \(S\). \[T_{SPS,S}=f_{S}T_{PDB,S} \tag{5}\]  
where \(T_{PDB,S}\) is the PDB of traffic class \(S\) and \(f_{S}\) is a fractional value i.e., \(0<f_{S}<1\), so that \(T_{SPS,S}\) does not exceed the value of their class-specific \(T_{PDB,S}\). Here, \(f_{S}\) is a control parameter that can be varied to control the statistical delay budget violation probability of the respective traffic class \(S\). In Figure 2, the hypothetical worst case packet delay experienced for traffic class \(S\) is demonstrated, with the assumption that at each adaptive SPS transmission, the system would have enough PRB capacity to accommodate the data reported by the latest BSR of the requesting device i.e., \(N_{P,max(S)}\) is sufficiently large. Figure 1: Multi-service traffic classes allocated in different uplink subframes. As shown in Figure 2, the device sends uplink data along with BSR \(B_{1}\) to the eNodeB at time \(T_{1}\). The packet \(p\) is generated and enters the device buffer immediately at \(T_{1}\), so its volume could not be included in \(B_{1}\). Consequently, the device and the eNodeB both calculate the allocated number of PRBs for the next adaptive SPS transmission \((N_{P,AS})_{T_{2}}\) occurring at time \(T_{2}\) as a function of \(B_{1}\) (as per Equation (1)). Therefore, packet \(p\) would not be served with the allocation \((N_{P,AS})_{T_{2}}\) i.e., PRBs allocated at time \(T_{2}\). However, the volume of packet \(p\) would be indicated in the next BSR \(B_{2}\), sent at time \(T_{2}\). The allocated resources \((N_{P,AS})_{T_{3}}\) at time \(T_{3}\) is based on \(B_{2}\) and can accommodate packet \(p\). Since the LTE subframe duration or TTI is equal to 1 ms which we denote here by \(d\), the transmission of packet \(p\) is completed at time \((T_{3}+d)\). For class \(S\), the worst case hypothetical packet delay \(T_{max,S}\) can be expressed by Equation (6). \[T_{max,S}=2T_{SPS,S}+d \tag{6}\]  
Setting the value of \(T_{max,S}\) as \(T_{PDB,S}\) (ms) and substituting \(d\) by its actual value, we obtain the necessary condition for \(T_{SPS,S}\) to ensure all the packets meet their delay budget as shown in Equation (7) (where all values are expressed in milliseconds). \[T_{SPS,S}\leq\frac{T_{PDB,S}-1}{2} \tag{7}\]  
Therefore, the upper limit of the adaptive SPS period, \(T_{SPS,S}\) to support a given QoS requirement of any delay-bound M2M traffic class is given by Equation (8), if sufficient uplink resources are avaliable at each transmission opportunity. \[T_{SPS,S}<\frac{T_{PDB,S}}{2} \tag{8}\]  
By combining Equations (5) and (8), we derive the condition for the control parameter \(f_{S}\) for any traffic class \(S\) to fulfill the class-specific delay budget requirements. \[f_{S}<0.5 \tag{9}\]  
It should be noted that for the buffer-based reactive adaptation function, the value of the control parameter should be in the range \(0<f_{S}<0.5\). On the other hand, higher values in the range \(0.5\leq f_{S}<1\) support longer SPS periods but the delay budget violation probability is also higher.