# Energy Efficiency in Short and Wide-Area IoT Technologies--A Survey
## 4 Classification of Energy Efficiency Methods
### Energy Efficiency in LPWANs
#### 4.2.2 Cellular IoT (cIoT)
This algorithm works on the assumption that the device positions are known, and the ones located at the cell edges try to save energy by using relay nodes to reach the base station. The algorithm aims to sort active devices by decreasing the distance between active nodes and base station. First, it calculates the amount of energy needed to send data on the direct link towards the base station; then, it searches for the most suitable relay node across Idle devices. An idle device is selected as a candidate relay if its distance to the active device is smaller than the one between the active device and the base station. Among all possible relays, the device with the largest amount of remaining energy is selected as a relay. However, if the amount of energy needed in the 2-hop transmission involving such relay is estimated to be higher than the direct link consumption, the relay is not used and a direct transmission towards the base station is performed. The algorithm decreases the distance from the nodes to the base station, and at the same time calculates the energy that each node will need to send data using a direct link. After calculating the energy levels of the nodes, the algorithm tries to select a suitable relay node between the idle devices. The nodes that are considered to be chosen as relay nodes, must have a distance to the considered active device, smaller than the distance between active nodes and the base station. This procedure is repeated for each active user. Simulation results show that the total amount of energy consumed by the network increases along with the number of active devices. When using relay nodes, the amount of energy saving varies from 12% to 30%, depending on the adopted transmission configurations, for example, if 15 kHz or 3.75 kHz subcarrier spacing is used. **Resource allocation techniques. ** A resource allocation prediction-based energy saving mechanism was proposed in [160]. According to the standard, after establishing the RRC Connected state, the device has to go through a scheduling request procedure in order to transmit in uplink. This is done by each device during the random access procedure. Since NB-IoT does not have dedicated radio resources for access requests, they could collide and thus reattempt the access procedure. As also mentioned above, NB-IoT devicescan also repeat access requests as well as data transmissions several times, depending on their ECCL, leading to an increase in energy consumption. In order to reduce the energy consumption caused by this procedure, the Prediction-Based Energy Saving Mechanism (PBESM) is proposed. The mechanism aims to predict the resources allocated in uplink, as well as the time it will take to process these occurrences. Hence, PBESM pre-assigns radio resources without the need for a scheduling request procedure. PBESM adds two new functional blocks within the standard NB-IoT architecture: Packet Inspection Entity (PIE) and Packet Prediction Entity (PPE). The PIE, located at in MME, determines the protocol type and the IP address based on the packet header, and predicts the possibility that an uplink response message will come, which may be RRC message. At the same time it also measures the time it takes to respond for each occurrence, and sends this information to the PPE, which operates in the base station. The PPE is responsible for managing the organization of the information received from the uplink packet, and the time that is needed to respond to each of the occurrences. The PPE makes use of the received data from the PIE, together with the prediction algorithm, to estimate the time delay between the downlink transmission and the time it will take for the generation of the uplink packet. When this procedure is completed, the base station generates a pre-scheduling command which contains the time of the uplink transmission and the modulation scheme. The prescheduling command is then sent to the device.