## 2 Previous Works
Conversely, the nodes 1 and 5 have higher depth than \(S\). Hence, they will discard the packet. All potential forwarders in DBR compute their holding time and the smallest depth node has the very short holding time. DBR computes holding time using the depth difference between _Sender_ and _receiver_ nodes. Hence, the nodes with smaller depth and very large depth difference will always have the short holding time, such as node 3 in the scenario shown in Figure 2. In other words, among all the candidate nodes, the node with minimum depth always forward the packet in the upstream direction. Whenever the same set of senders forward the data packet(s), that particular set of node(s) in the neighborhood with minimum depth are penalized and die out earlier. The number of redundant packet transmissions increases with the increase in the network density because the delay difference between their holding times become negligible. Accordingly, excessive energy is consumed, and more packets fail to reach the sink node. Authors in [16], proposed an Energy Efficient Depth Based Routing (EEDBR). EEDBR computes the holding time using node's residual energy and depth information to forward the packet. Every node maintains the neighborhood list where it records the node identifiers (IDs) along with their residual energy. In EEDBR, the data sending node selects the set of potential forwarders with smaller depths from the neighborhood list and IDs of those potential forwarders are added in the data packet. In addition to that, the required packet delivery ratio set by the application is also added in the data packet header. When a node receives the data packet, it first checks whether it is in the potential forwarder set or not. If a node is not in the potential forwarder set, then it simply discards the packet. On the other hand, if a node is in the potential forwarder set, it compares its residual energy with the residual energy of its neighbors in the neighborhood list. In case, the node has maximum residual energy among its neighbors; it will forward the packet immediately. Rest of the potential nodes with less residual energy, compute and start their holding timer and defer the transmission. If any node  
Figure 2: Depth based routing scenario. during its active holding timer receives a copy of the same data packet, it will compute a random number. This random number is used to decide whether to forward the data packet or not once the holding timer expires. If the random number is less than the packet delivery ratio specified in the data packet and the node received multiple copies of the data packet, then it simply discards the packet. A node only forwards the data packet, after its holding timer expires, if any of the following conditions meet; either its computed random number is larger than the delivery ratio specified in the data packet header, or it did not receive any other copy of the same data packet. EEDBR fails to suppress multiple transmission of the packets and the number of packet transmissions can greatly increase in the dense network scenario. Another depth, hop count, and link quality based routing scheme, called location-free link state routing (LLSR), has been proposed in [17]. The proximity of a node to the Sink is deduced from the hop-count metric and authors assume that this metric avoids the communication through the void region. The beacon dissemination phase started by the Sink with _zero_ hop count value and any node that receives this beacon message just increments and records the received hop count value and then further disseminates the updated hop count in the same beacon message. In addition to the hop count metric, a node also stores the path quality towards the sink. Subsequently, each node periodically broadcasts its depth, path quality, and hop-count metrics during the beacon dissemination phase. Each node maintains the 1-hop neighbor table to make the forwarding decision. The data packet forwarding node first checks the lowest hop-count node neighbor to select it as a potential forwarder.