## 4 Proposed Scheme
### Packet Forwarding Mechanism In EESEVBF  
The proposed protocol extends the holding time mechanism of the first-hop forwarder to the second hop for finding the best satisfactory node with respect to the net packet advancement cover in the two hops. In addition, it also avoids the occurrence of a void hole whether it is due to an energy hole or the lack of potential forwarding nodes in the transmission range. There are two types of neighbors of a source node. PFNs are the nodes lying in the upper hemisphere of a source node, whereas suppressed nodes are the ones deeper than the source node. When a packet broadcast by the source node is received by a qualified node, it finds the energy of the neighbors from the neighbor table to calculate its holding time (_HT1 st_) at the first hop. In addition, the qualified node of the source node has sufficient information about expected PFNs at the second hop in its transmission range. The PFN further calculates its own holding time along with the expected nodes at the second hop. To find the _HT2 nd_ of the PFN, the holding time of the node with the highest priority among the second hop PFNs is added with its own holding time. There are two priorities of the qualified nodes, one at the first hop based on its own holding time, and the second is based on its own as well as the expected next PFN at the second hop. The nodes then exchange the container packet to know about the priorities of the other common PFNs with the source node. The format of the sensor is _Struct_(_ID,HT1 st,HT2 nd,HTr_). The identifier ID is a unique integer number representing some specific node in the network and _HT1 st_, _HT2 nd_ represent the holding time values at the first and second hop respectively, while _HTr_ is Resultant Holding Time/Timer value. The _Container Packet CP_ received from the common qualified node contains the information about holding time/priorities of the sending node. Therefore, upon receiving the _CP_, the node places the values of ID, _HT1 st_, and _HT2 nd_ in Struct1. The node then sets its timer, i.e., HTr value after processing the priorities of all the forwarders. The overall holding time phenomena is the same for both first and second hop, only the holding time value is changed at the second hop to adjust the priority. At both first and second hops, the nodes with 1 st priority sets their holding times \(HT_{r}\). Similarly, the nodes with 2 nd highest priority at each hop set their corresponding holding times and the same mechanism is applied to all the remaining nodes. Each node has its own structure and can calculate the holding times HTr for the remaining nodes as well. For instance, as shown in Figure 7, S is the source node with the PFNs A, B, C, D with IDs 1,2,3 and 4, respectively. Let node A after receiving the _Container Packet_ from all the common PFNs with source has Struct1.ID (1,2,3,4), \(Struct1.HT_{1 st}(15 msec,10 msec,17 msec,30 msec)\) and \(Struct1.HT_{2 nd}(70 msec,55 msec,35 msec,45 msec)\), as listed in Table 1.  
At the first hop, node B has its ID 2 and holding time value 10 msec, which is the lowest \(HT_{1 st}\) value and has the highest priority among all the nodes at the first hop. In contrast, node C with ID of 3 is at the 1 st priority at the second hop node. Therefore, node C sets its holding time (\(HT_{r}\)) value as the holding time value of node B at the first hop. The second highest priority node D at second hop sets its holding time (\(HT_{r}\)) value with that of the holding of Node C at the first hop, similarly, node B with 3 rd priority at the second hop sets it holding time value (\(HT_{r}\)) as the holding time of node A at the first hop. A similar mechanism is applied to all the remaining nodes. This results in the new struct1, as shown in Table 2. The nodes A, B, C and D then set their timer values to their corresponding \(HT_{r}\) values. When the timer expires and no duplicate packet is received, the PFN forwards the packet. Algorithm 1 is the proposed algorithm for selecting the next PFN.