# An Efficient Relayed Broadcasting Based on the Duplication Estimation Model for IoT Applications
## 3 Duplication Suppression and Re-Queuing
### Re-Queuing to Compensate for Delivery Failure
#### 3.3.2 Frame Observation Period for Re-Queuing  
Another issue of re-queuing is how to determine the observation period \(T_{RQ}\) properly. If \(T_{RQ}\) is set too small, a frame is re-queued unnecessarily; otherwise, if it is set too large, the compensation is delayed for too long. Here, we provide a rough guideline to set \(T_{RQ}\) appropriately by following the performance analysis of WLANs presented in [37]. Please note that the objective of this analysis is not to derive an accurate model for evaluating the performance of the re-queuing scheme.  
We make the following assumptions: (i) node \(i\) contends for channel access with \(C_{i}^{max}\) adjacent nodes, (ii) all of the nodes can sense the transmissions made by each other and they always have data frames to transmit, and (iii) the size of the contention window is fixed to \(CW\) in all of the nodes (Similar to the conventional broadcasting mechanisms, our mechanism works without the ACK frame, and thus the size of the contention window cannot be adapted according to the BEB mechanism). We define \(P_{i}^{acc}\) as the probability that at least one node (either node \(i\) or an adjacent node) attempts to transmit frames, which can be represented from [37] as  
\[P_{i}^{acc}=1-(1-\lambda)^{C_{i}^{max}+1}, \tag{8}\]  
where \(\lambda=\frac{2}{CW}\) is the probability that a node accesses the channel to transmit a frame in a given time slot according to the carrier sense multiple access (CSMA). We also define \(\overline{T}_{tx}\) as the average transmission time of a data frame, regardless of whether the transmission has been successful or not. According to [37], \(\overline{T}_{tx}\) can be represented as  
\[\begin{split}\overline{T}_{tx}&=\frac{1}{P_{i}^{acc }}\left((1-P_{i}^{acc})T_{slot}+P_{i}^{acc}T_{tx}\right),\\ &=\frac{1-P_{i}^{acc}}{P_{i}^{acc}}T_{slot}+T_{tx},\end{split} \tag{9}\]  
where, \(T_{slot}\) is the slot time and \(T_{tx}\) is the transmission time of data frame including the distributed coordination function inter-frame space (DIFS) time. In (9), the first and second terms represent the idle time due to backoff and the busy time due to data frame transmission, respectively. We set \(T_{RQ}\) as the multiplication of \(\overline{T}_{tx}\) and \(C_{i}^{max}\), i.e.,  
\[T_{RQ}=C_{i}^{max}\overline{T}_{tx}. \tag{10}\]  
Figure 7: An example of duplication counter distribution.  
Considering that node \(i\) usually receives the duplicate frame \(C_{i}^{mode}\) times successfully, rather than \(C_{i}^{max}\) times, it seems that \(T_{RQ}\) in (10) is somewhat overestimated. However, this is not the case. The frame transmission may fail due to interference by hidden nodes as well as collisions. By taking the unsuccessful transmissions into account, we set \(T_{RQ}\) as the expected time of \(C_{i}^{max}\) transmissions instead of \(C_{i}^{mode}\) transmissions. From (8)-(10), we can see that \(T_{RQ}\) mostly depends on \(C_{i}^{max}\), which can be easily estimated. For example, it ranges between 4.4 and 13.2 ms for a typical value of \(C_{i}^{max}\) between 10 and 30.