# A Multi-Service Adaptive Semi-Persistent LTE Uplink Scheduler for Low Power M2M Devices
## 3 Multi-Service Adaptive Semi-Persistent Scheduling Algorithm  
### Adaptive Frequency Domain Scheduling  
In our system model, we consider an LTE system which has a frame duration of 10 milliseconds (ms) and consists of 10 subframes. For a Frequency Division Duplex (FDD) system, there are 10 uplink subframes in a frame whereas in a Time Division Duplex(TDD) system, there is a certain downlink/uplink subframe ratio depending on the TDD configuration. Any uplink traffic class \(S\) supported by the adaptive SPS algorithm will have its subscribers assigned to one or more uplink subframes in the LTE frame.  
Each traffic class is designated with an SPS allocation period \(T_{SPS,S}\) which means the allocations are periodic in the time domain with a constant inter-allocation gap. Each subscriber of that class is further allowed to consume variable number of PRBs within a pre-negotiated range in the frequency domain. The variation of the allocated PRBs to a subscriber device is dependent on the latest buffer report of the device which is known to both the device and the eNodeB, and hence does not require to be signalled explicitly. Therefore, for a particular traffic class \(S\), the instantaneous number of uplink PRBs assigned to the adaptive allocation in the frequency domain, \(N_{P,AS}\) can vary according to Equation (1).  
\[N_{P,AS} =\begin{cases}\min\Bigl{\{}N_{P,func(B)},N_{P,max(S)}\Bigr{\}},& for\;N_{P,func(B)}>0\\ 1,&otherwise\end{cases} \tag{1}\]  
where \(N_{P,func(B)}=N_{P,B_{last}}\), for buffer-based adaptive allocations, which means the adaptation function utilized here is the number of uplink PRBs required to transmit the data volume indicated by the latest BSR report of the subscriber device. Note that such an adaptation function uses a reactive approach, so as to grant a conservative amount of resource to only accommodate the data which was already present in the UE buffer at the time of the previous adaptive SPS transmission, which is prudent from resource efficiency perspective, but comes at an expense of increased packet delay. The PRB ceiling \(N_{P,max(S)}\) is set with the initial grant depending on a number of factors such as the expected data volume of the traffic class \(S\) at each SPS interval, and availability of contiguous uplink PRBs which may depend on the instantaneous occupancy of the system by already saved SPS allocations.  
We assume each uplink subframe in the LTE frame supports only one adaptive SPS traffic class, \(S\). The class \(S\) supports maximum \(n_{S}\) subscribers, each having the same adaptive SPS period \(T_{SPS,S}\) and the same adaptation function for the instantaneous number of adaptively calculated PRBs \(N_{P,AS}\). If the maximum possible number of adaptively allocated uplink PRBs to each of the \(n_{S}\) subscribers is given by \(N_{P,max(S)}\), then the total maximum number of adaptively allocated PRBs for all subscribers of the class \(S\) in any given uplink subframe, \(R_{S,max}\) is expressed by Equation (2).  
\[R_{S,max}=n_{S}N_{P,max(S)} \tag{2}\]  
If \(R\) is the number of total uplink PRBs for that particular subframe, then the relation between \(R_{S,max}\) and \(R\) must be governed by Equation (3).  
\[R_{S,max}\leq R \tag{3}\]  
For demonstration purpose, we consider an LTE TDD system with configuration 6 that has 5 uplink subframes per frame. Figure 1 demonstrates how 5 adaptive SPS traffic classes \(A\), \(B\), \(C\), \(D\) and \(E\) are implemented for this configuration where each class is assigned to one uplink subframe. For 3 MHz bandwidth and 2 PRBs reserved for uplink control information, \(R=13\) PRBs are available for scheduling uplink data. In this example, traffic class \(A\) supports \(n_{S}=3\) subscribers in one subframe and they occupy the range of PRBs \(r_{A_{1}}\), \(r_{A_{2}}\), \(r_{A_{3}}\) respectively in the example scheduling instance. The possible maximum number of adaptively allocated PRBs for class \(A\) in the example is, \(N_{P,max(A)}=3\). The Other traffic classes are shown similarly.