# Energy Efficient Resource Allocation for M2M Devices in LTE/LTE-A
## 3 System Model and the Novel Schedulers
### Recursive Maximum Expansion Modified  
Our second algorithm, called recursive maximum expansion modified [33], takes into account the coexistence of H2H and M2M devices. It uses recursive maximum expansion (RME) scheduler [30] to assign resource blocks to H2H devices. \(L_{H2H}\) RBs are reserved to H2H devices and the rest of the RBs are assigned to M2M devices. RME consists of finding the UE-RB that has the highest metric value and assigning this RB to the selected UE. Then, it expands the allocation at the right and left hand side of the RB selected for the same UE. This continues until another UE with better metric is found. A new search for highest UE-RB is done. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline  & \(RB_{1}\) & \(RB_{2}\) & \(RB_{3}\) & \(RB_{4}\) & \(RB_{5}\) & \(RB_{6}\) \\ \hline \(UE_{1}\) & 0.52 & **1.8** & 0.2 & 1.7 & 0.9 & 0.7 \\ \(UE_{2}\) & 0.9 & 0.5 & 1 & 0.6 & 0.52 & 0.65 \\ \(UE_{3}\) & 0.71 & 0.4 & **1.8** & **0.23** & **1.2** & 0.55 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Example with frequency domain packet scheduling (FDPS)-carrier-by-carrier. Table 2 shows an example of resource blocks allocation using RME. \(UE_{1}\) has the highest metric at \(RB_{2}\), so this latter is allocated to \(UE_{1}\). Then, RME checks at the right and left side of \(RB_{2}\) if \(UE_{1}\) has higher values than other H2H devices. But because none of the RBs belong to it, RME starts a new search. \(UE_{1}\) can no longer be assigned RBs until all UEs have been assigned an RB. The next highest value belongs to \(UE_{3}\) at \(RB_{5}\), so \(RB_{5}\) is allocated to \(UE_{3}\). At the right and left side, none of RBs belong to \(UE_{3}\), so a new search is started and \(RB_{3}\) is allocated to \(UE_{2}\) which has the highest metric at \(RB_{3}\). Lastly, the remaining RBs of \(L_{H2H}\) that have not been allocated are assigned to UEs which satisfy the contiguity constraint. Remaining resource blocks, \(L_{M2M}\), are allocated to M2M devices using the RME-M scheduler, whose framework is shown in Figure 3. The steps of this algorithm are as follows. 1. Every TTI, calculate, using RME-M, the remaining delay \(\mathrm{d_{k}}\) which corresponds to the difference between the maximum tolerable delay for each application and time spent in the buffer. 2. Sort M2M devices in ascending order according to their delay \(\mathrm{d_{k}}\). 3. If \(\mathrm{d_{i}}\) of the \(\mathrm{i^{th}}\) M2M device is lower than a delay threshold (\(\mathrm{d_{Th}}\)), then find the \(RB_{i}\) corresponding to the best CQI. From RB\({}_{1}\), allocate all the required RBs for M2M\({}_{\mathrm{i}}\). Exclude the allocated RBs from \(L_{RB}^{M2M}\). Delay threshold changes dynamically according to the minimum tolerable delay for each application. It has to be higher than the tolerable delay and higher than 4 ms (time necessary for each application to prepare its data to be sent after receiving allocation table from the eNB). 4. If \(\mathrm{d_{i}}\) is higher than the delay threshold (\(\mathrm{d_{th}}\)), find M2M\({}_{\mathrm{j}}\) with the highest CQI. 5. For M2M\({}_{\mathrm{j}}\), sort RBs in descending order according to their CQI (called table T\({}_{\mathrm{CQI}}\)). 6. Find for each element in T\({}_{\mathrm{CQI}}\), the maximum number of RBs that can be allocated to M2M\({}_{\mathrm{j}}\). 7. From T\({}_{\mathrm{CQI}}\), find the first RB\({}_{\mathrm{k}}\) that allows for sending the maximum data while power transmission is lower than the maximum transmission power. 8. Allocate the RB\({}_{\mathrm{k}}\) to M2M\({}_{\mathrm{j}}\). 9. Expand the allocation both on the right and left hand side of RB\({}_{\mathrm{k}}\) until another M2M device has a better metric. 10. Put M2M\({}_{\mathrm{j}}\) in the idle state. 11. Repeat Steps 3-10 by searching for the maximum among non idled M2M devices. Stop when all RBs are allocated or all M2M devices are in the idle state.