## 4 The Considered Nodes' Synchronization and Data Transmission Protocol
### Data Transmission Protocol  
The data transmission phase is initialized by the first node in the chain that has a packet to transmit, say it node \(s_{0}\). To elaborate, after a short sleeping period denoted by \(D_{short}\) following the successful transmission of the SYNCH packet, node \(s_{0}\) wakes up and transmits the DATA packet. In general, \(D_{short}(s)\) represents the time that elapses between the end of SYNCH packet delivery and the start of data packet transmission at node \(s\).  
To elaborate, \(D_{short}(s_{0})\) is set equal to a predetermined time interval \(\Delta_{S}\) that is long enough to guarantee that the next node has terminated the synchronization procedure with high probability and, accordingly, it is ready to receive a packet. Farther this paper gives an insight on how to determine this term in order to guarantee a minimum success probability. In order to avoid abuse of notations, we still denote by \(R_{s}\) the scheduled re-activation time of each node after the transmission of the SYNCH packet, i.e., \(R_{s_{0}}=\Delta_{S}\). Then, the procedure for delivering all the required data packets to the Gateway is explained below for the generic couples of nodes \(s\) and \(s+1\), with \(s\geq s_{0}\).  
Upon receiving \(D_{short}(s)\) from node \(s\), node \(s+1\) may calculate the waking up time for receiving data packets from node \(s\), i.e.:  
\[\tilde{R}_{s+1}=D_{short}(s)-(ET(s+1)-ET(s)) \tag{6}\]  
Note that \(ET(s+1)-ET(s)\) gives the delay between node \(s+1\) and node \(s\) in the synchronization chain. Moreover, node \(s+1\) is able to compute the reactivation time \(D_{short}(s+1)\) for forwarding the \(FP(s+1)\) data packets. To this aim, node \(s+1\) first evaluates \(D^{\prime}_{short}(s+1)\) as:  
\[D^{\prime}_{short}(s+1)=\tilde{R}_{s_{1}}+FP(s)T^{\prime}_{p} \tag{7}\]  
Figure 6: Illustrative example: synchronization protocol with the FP and ET values for the first 6 nodes.  
that represents the time instant when node \(s+1\) will have received all the \(FP(s)\) packets from node \(s\), where \(T_{p}^{\prime}=T_{p}-T_{\mathrm{OH}}\) is the duration of a data packet. Hence, the actual \(D_{short}(s+1)\) is computed as:  
\[D_{short}(s+1)=\max\left(D_{short}^{\prime}(s+1),\Delta_{S}\right) \tag{8}\]  
i.e., the actual \(D_{short}(s+1)\) must be evaluated in order to be sure that the next node will have terminated the synchronization process. Afterwards, \(D_{short}(s+1)\) is communicated to node \(s+2\) through the SYNCH packet, and node \(s+1\) goes back to sleeping mode.  
Finally, node \(s+1\) wakes up at instant \(R_{s+1}=\bar{R}_{s+1}-T_{A}\), where \(T_{A}\) is a timing advance that is necessary to compensate for possible small clock offsets that can be accumulated during the short sleeping period. In particular, \(T_{A}\) must be set at least equal to the maximum possible clock offset, so that node \(s+1\) will be for sure ready to receive when node \(s\) wakes up and starts transmitting the data packets.  
Figure 7 sketches the flow of the DATA packets for the first 6 nodes following node \(s_{0}\), referring to the synchronization phase reported in the example of Figure 6. In the Figure the correspondent different nodes' modality, namely, idle listening, data packet transmission (PCK TX) and overhearing are reported.