# Energy Efficient Resource Allocation for M2M Devices in LTE/LTE-A
## 3 System Model and the Novel Schedulers
### FDPS-Carrier-By-Carrier-Modified  
Our algorithm, called FDPS-carrier-by-carrier-Modified (CBC-M) [33], considers the coexistence of H2H and M2M devices. Our scheduler is divided into two steps: TDPS and FDPS. In TDPS, the scheduler priorities the H2H devices and reserves \(L_{H2H}\) resource blocks to H2H users. In FDPS, selected H2H users are scheduled using FDPS-carrier-by-carrier (CBC) scheduler, proposed by [PERSON] et al. [34]. CBC, which is represented in Algorithm 1, allocates RBs, starting from the first RB, to the user with best metric. Once a UE has been assigned a RB, it can no longer be assigned RBs unless it satisfies the contiguity constraint. Then, the next RB is assigned to UE with maximum value UE-RB.  
```
1:Let U be the set of schedulable modules;
2:Let M[i][j] be the metric of \(H2H_{j}\) module at \(RB_{i}\);
3:Let A[m] be RB-to-module assignment status;
4:for RB c = 1 to m do
5: pick the best module \(i\in U\) with largest value \(M_{i,c}\);
6: Assign \(RB_{c}\) to module i (i.e. \(A[c]\gets i\));
7: Let l be RBs already assigned to module \(i\);
8:if l = \(\varnothing\) then
9:\(U=U-A[c-1]\)
10:endif;
11:endfor.
```  
**Algorithm 1** FDPS-Carrier-By-Carrier  
Table 1 shows an example of RBs' allocations using a CBC scheduler. \(RB_{1}\) is assigned to \(UE_{2}\) which has the highest metric. Then, because \(UE_{1}\) has the highest value, \(RB_{2}\) is allocated to it. At \(RB_{3}\), \(UE_{3}\) has the highest value, so \(RB_{3}\) is assigned to it. When we reach \(RB_{4}\), \(UE_{1}\) has the highest value, but the resource block can not be assigned to it as it violates the contiguity constraint. However,  
is assigned to \(UE_{3}\) as it satisfies contiguity constraint. \(RB_{6}\) again belongs to \(UE_{1}\) but it can not be assigned to it again for the same reason.  
The rest of the resource blocks (RBs) (Equation (2)) are assigned to M2M devices using Algorithm 2:  
\[L_{M2M}=N_{RBs}-L_{H2H}, \tag{2}\]  
where:  
* \(L_{M2M}\) is the number of RBs assigned to \(M2M\) devices;
* \(N_{RBs}\) is the total resources blocks available for scheduling;
* \(L_{H2H}\) designs the number of RBs assigned to \(H2H\) devices.  
CBC-M starts allocating RBs to M2M devices from the first un-allocated RB. For each RB, the M2M device with the best CQI is selected. The resource block is allocated to M2M device only if the maximum power is not yet reached.  
```
1:Let M be the set of schedulable M2M modules;
2:Let MCQI[i][j] be the metric of \(M2M_{j}\) module at \(RB_{i}\);
3:Let \(L_{M2M}\) be the number of RBs not allocated to H2H users;
4:Let \(P_{T}(j)\) be the transmission power of \(M2M_{j}\);
5:for RB c = m+1 to \(N_{RBs}\)do
6: Find \(M2M_{k}\) with best MCQI[c][k];
7:if\((P_{T}(k)<P_{max})\)then
8: Assign \(RB_{c}\) to \(M2M_{k}\);
9: Let I be the number of RBs already assigned to \(M2M_{k}\);
10:endif;
11:endfor.
```  
**Algorithm 2** FDPS-carrier-by-carrier-Modified  
By allocating RBs with good channel quality, M2M device reduces the number of necessary RBs to send data and consequently the power transmission is reduced. However, CBC-M does not take into consideration delay constraint. For this reason, our second proposed algorithm considers power consumption and delay constraints while allocating resource blocks to M2M devices.