| Algorithm 1 Algorithm of the sending node |
| for each node(i) wakes up do |
| broadcast HP |
| if |
| //T is time after this node broadcasts HP |
| node(i) = SN |
| else if receive HPR |
| if node(i).re > SN.re |
| node(i) = SN |
| else |
| get node(i).starttime and go to Sleep |
| end if |
| end if |
| end for |