# Energy Efficient Determinism in WSN through Reverse Packet Elimination
## 4 Reverse Packet Elimination  
This paper proposes a novel Reverse Packet Elimination (RPE) algorithm that aims at increasing reliability while limiting the negative effect of reduced network lifetime. Similar to [7] two disjoint paths are created from the source to the sink. The motivation for using packet replication is to increase the reliability of the WSN. It is assumed, as in [7], that the scheduler establishes the paths or tracks based on routing and connectivity information obtained through the control plane links [20]. The disjoint paths or tracks may be computed by a centralized PCE running, e.g., the Traffic Aware Scheduling Algorithm (TASA) as proposed by [21]. The source node replicates its data packet, that is one candidate packet for each path. However, the node transmits initially only one of the packets and obtains the second. The following description discusses the motivation and criterion for delaying the second packets. Forwarding two packets increases the traffic load and thus the energy usage in the network. Furthermore, as the packets have the same size, they have the same drop probability over lossy links (links with high Bit Error Rate (BER)). In addition, adding traffic increases the funneling effect. The first packet that arrives at the sink, triggers the sink to send a small RPE-cancelling packet down the alternative path from the path of the packet. The RPE-cancelling packet searches for the copy that is propagating upstream and cancels it, i.e., stop further forwarding of the packet in order to conserve energy. The basic structure of the RPE algorithm is packet replication and enabling the sink to cancel the second packet. However, a second feature is introduced, this is a delay of transmitting the second packet. Depending on the requirements for delay and robustness, the second copy can be withheld by an adjustable time delay \(\tau\). This is depicted in Figure 2.  
An example network illustrating RPE is shown at the right hand side of Figure 3. The source node is node number 7 and the sink is node number 0. From the source to the sink two disjoint paths are shown, as Path A and Path B. The source node holds initially two copies of the packet (the original and the replicated packet). Our proposed RPE method is described in six steps:  
Figure 3: Example of a Path Computation Element (PCE) scheduling tracks from source to sink. Figure 2: Illustration of how the replicated is withheld by \(\tau\). 1. A PCE schedules 6 TISCH tracks in daisy chains with two disjoint paths, Path A and Path B. Path A is by design scheduled to send the first packet. As shown in Figure 3, blue cells make up a track from source to sink (0). 2. The source node replicates the data packet and sends it along Path A. Next, the sender schedules the copied packet to be transmitted along path B, which is disjoint from A. Both paths have explicit routes towards the sink as seen in Figure 4a. The copied packet along Path B is delayed dependent on the upper bound latency of the application. The motivation for delaying this packet will be discussed further in the following text. 3. The two packets propagate along the two disjoint paths towards the sink. As depicted in Figure 4b, the packet arriving last is discarded if both packets arrive at the sink before the sink could send an RPE-cancelling packet. 4. If they do not arrive simultaneously, the sink sends an RPE-cancelling packet down the alternative path from path of the arriving packet as shown in Figure 5a. For example, if the Path A packet arrives first, the RPE-cancelling packet is sent down Path B and vice versa. 5. The RPE-cancelling packet traverses towards the source. In each visiting node, the packet triggers a search in the node's queues for a copy of the packet that arrived at the sink. As illustrated in Figure 5b. If a packet is located with an identical sequence number, this packet is dropped. 6. If an RPE-cancelling packet arrives at the source (looping back) before the replicated packet is sent, the source revokes the transmission of the copied packet.