# Energy Efficiency in Short and Wide-Area IoT Technologies--A Survey
## 4 Classification of Energy Efficiency Methods
### Mechanisms for RFID Active Tags
The results showed that EGMLE is able to achieve better energy efficiency, requiring fewer number of responses. Another set of methods based on polling was proposed in [108], aiming to minimize the average amount of energy consumed by the tags. The methods are based on the observation that energy consumption can be divided in two main components, that is, the energy for data transmissions towards the reader, and the energy for the reception of polling requests and other information from the reader. Three polling protocols are then introduced and compared:  
* Basic Polling Protocol (BP)--The reader broadcasts the tag IDs one by one, and waits for the tags to transmit during the correct timeslots. The tags listen to the channel to detect the list of IDs, and transmit their data when the detect their own ID, before going into sleep mode. The BP protocol requires each tag to spend large amounts of energy in order to continuously listen to the channel, compare the detected IDs, and finally transmit the data;
* Coded Polling Protocol (CP)--This protocol functions on the basis that each tag ID carries two elements: the first being _the identification number_ and the second element being a _cyclic redundancy code_ (_CRC_) for error detection. The reader arranges the tag IDs in pairs, and broadcasts the code of each pair one by one. This pairing of IDs leads to a reduction of polling exchanges, by half the number of the pollings needed in BP. This is caused by the fact that in CP polling is done to detect the code of each pair of IDs, while in BP the polling is done to detect each ID separately. This process in CP leads to a reduction in the amount of data each tag has to receive, conserving the energy of the tags;
* Tag-Ordering Polling Protocol (TOP)--The reader broadcasts a _reporting-order_ vector \(V\), instead of tag IDs. Each ID is mapped into bit in the vector V using a hash function. Each tag needs to only check its specific bit in V, using the information from the hash function of its own ID. This bit is the _representative bit_ of the tag, and it is one if the tag is polled by the reader for data transmission, while it is zero if the tag is not polled by a reader. Information about the order in which the polled tags will transmit is kept on the vector \(V\), which is fit into a timeslot of total length \(t_{tag}\). If \(V\) is not able to fit in one timeslot, it is divided into segments, and each segment is broadcasted into timeslots of length \(t_{tag}\). The reader also broadcasts the size of the vector \(V\). This helps a tag to hash its ID and find the location of its bit representative in the \(V\) vector. Simulation results showed that the CP protocol outperforms BP in terms of energy consumption and execution time, while TOP outperforms CP in terms of energy consumption, while having higher execution time on average. The Energy-Efficient Tag Searching in Multiple reader RFID systems (ESiM) is another polling protocol proposed in [109]. ESiM functions on the basis of the interrogation range (also called read zone, it is the range within which the reader sends polling requests). The RFID reader, also called the interrogator, is able to read and write data to and from tags. Interrogators are also able communicate with and control nearby sensors in the interrogation zone. The capability of an RFID interrogator to communicate successfully with a tag is heavily dependent on two factors, that is, the distance between the interrogator and the tag, and the tag's dwell time (the time that a tag will be in the interrogator's range). The ESiM protocol first establishes if a specific tag is in the reader's interrogation range. If it is not part of any interrogation range, then that tag is not taken into consideration, and all the other remaining tags constitute the final group of tags that form the interrogation range that work with the protocol. In this way, the ESiM protocol works only with tags that are considered part of the interrogation range, and have IDs known to the reader.