# A Multi-Service Adaptive Semi-Persistent LTE Uplink Scheduler for Low Power M2M Devices
## 3 Multi-Service Adaptive Semi-Persistent Scheduling Algorithm
### Multi-Service Adaptive SPS Algorithm  
Figure 4 demonstrates the functionality of the multi-service adaptive SPS algorithm. Firstly, when an M2M UE (here we refer to both standalone M2M devices and M2M gateways as M2M UEs) sends an initial request, the algorithm checks whether the device requires an SPS or a dynamic allocation, which can be indicated by the request parameters and traffic patterns. If the M2M application sends one-off data without any specific pattern, then it is indicated in the device class which means the scheduling scheme would be dynamic. However, if the device has a regular pattern of intermittent traffic burst (which is non-deterministic such as Poisson arrival process), then the preferred scheduling scheme is adaptive SPS, subject to fulfillment of certain conditions. If the UE requires an SPS allocation, the traffic class \(S\) is determined from the request parameters and the optimum value of SPS period \(T_{SPS,S}\) is determined. The proposed algorithm aims to achieve maximum service capacity for each traffic class i.e., increasing the number of subscribers supported by adaptive SPS scheme thus saving control channel resources of the system. The higher the SPS period for a traffic class, the greater number of subscribers can be served by the SPS scheme for the same class (as per Equation (12)). However, the SPS period \(T_{SPS,S}\) is proportional to the control parameter \(f_{S}\) and the PDB \(T_{PDB,S}\) of the class \(S\). The PDB is constant for a class whereas the maximum value of \(f_{S}\) is dependent on the adaptation function used in Equation (1). For the buffer-based adaptiveSPS allocations, to meet the delay requirements, \(f_{S}\) must be in the range \(0<f_{S}<0.5\). But the value of the SPS period \(T_{SPS,S}\) must also satisfy the condition in Equation (4). Therefore, the optimum value of \(T_{SPS,S}\) is determined by selecting the maximum value of \(f_{S}\) in the supported range, while the SPS period is an integer multiple of the LTE frame duration i.e., 10 ms. For the buffer-based adaptive SPS allocations, the optimum value of \(T_{SPS,S}\) is found for \(f_{S}=0.4\), for all traffic classes. Since the theoretical supported range of \(f_{S}\) for ensuring 100% packets are transmitted within their PDB values, is dependent on the adaptation function, not on the traffic patterns or the actual PDB values of the classes. Increasing the value of \(f_{S}\) beyond that range would require changes to the adaptation function. Afterwards,the scheduler checks with the uplink subframe(s) primarily designated for traffic class \(S\) whether there are enough resources available to  
Figure 4: Multi-service adaptive Semi-Persistent Scheduling (SPS) algorithm with pre-emptive functionality. is done by comparing the number of ongoing adaptive SPS connections for class \(S\) to its service capacity \(N_{S}\). If enough resources are available then the new user is admitted for SPS allocation and the database is updated accordingly. Then the initial SPS grant is sent to the user device via PDCCH including the necessary parameters i.e., the designated uplink subframe number, starting frame number, the starting index, the range of PRBs allowed for the device and the required MCS index. The device starts transmitting in its allocated resources and the buffered data volume is piggybacked with every uplink transmission (in form of BSR MAC control element). The BSR information sent with the \(t\)th uplink transmission is used to adapt the next i.e., \((t+1)\)th allocation size by both the scheduler and the device with the calculation from Equation (1). Whenever an SPS request is denied by the scheduler due to capacity constraint, the default scheduling scheme is dynamic. In case of the dynamic scheduler, the experienced packet delay is dependent upon many factors such as the instantaneous system load, data and control channel capacities etc. and in general, there is a higher probability of meeting the delay constraints for the traffic classes with higher delay budget.