A sample case is presented in Fig. 3 to illustrate the routing process for the simulation study. For example, let mote 1, which could be considered as the SM while the rest as GMs, broadcast or flood a message to all the motes in its one-hop neighborhood or broadcast domain. After motes 2 and 3 receive this message, they add a new record with source_ID=1 and last_transmitter_ID=1 to their routing tables, and then change the last_transmitter_ID field value in the message to theirs and retransmit it. When the two neighbors of mote 2, which are motes 4 and 5, receive this message from mote 2, they now add a record with source_ID=1 and last_transmitter_ID=2 to their routing tables, and as motes 2 and 3 did, change the last_transmitter_ID to theirs and retransmit the updated message. Mote 6 receives the message from mote 3 so it adds source_ID=1 and last_transmitter_ID=3 to its routing table. Now assume that motes 4 and 3 each wants to send a message to mote 1, then they search for destination_ID=1 under the source column in their respective routing tables, and accordingly find that last transmitters are mote 2 (from mote 4 routing table) and mote 1 (from mote 3 routing table). Mote 4 sends its message to mote 2 with destination_ID=1 and last_transmitter_ID=4. Mote 2 next checks the destination, which is mote 1, and searches for source_ID=1 under the source column of its own routing table and locates the last_transmitter ID=1 entry. Now mote 2 retransmits the message that is sourced by mote 4 to mote 1. As to the message sent by mote 3 to mote 1, the message will be labeled with destination_ID=1 and last_transmitter_ID=3 upon broadcast by mote 3. Finally, mote 1 will receive the two messages by motes 3 and 4 through direct transmission by these respective one-hop neighbor motes.