# An Efficient Relayed Broadcasting Based on the Duplication Estimation Model for IoT Applications
## 3 Duplication Suppression and Re-Queuing
### Redundancy Suppression with Duplication Ratio  
Based on the observations on the duplication ratio in Section 3, we designed the redundancy suppression scheme described in Algorithm 1, which is invoked whenever a node receives frame \(F_{i,j}\). We consider two kinds of duplicate frames; _arriving duplicate frame (ADF)_ and _queued duplicate frame (QDF)_. An arriving frame is defined as ADF if a node has already received one or more frames with the same sequence number as the arriving frame. When a node receives a frame, there may exist a frame in the transmission buffer that has the same sequence number as the arriving frame, which is defined as QDF. The node determines whether the received frame is a duplicate by checking its sequence number. If it is a new frame, the node enqueues it and initializes the duplication counter \(c_{i,j}\) to 1 for frames with the sequence number \(j\). Otherwise, the node discards the ADF and increases \(c_{i,j}\) by 1. Next, the node generates a random variable (\(rand()\)) uniformly distributed between 0 and 1 and compares it with the duplication ratio with the duplication counter \(c_{i,j}\) (\(DR_{i}(c_{i,j})\)). If \(rand()\leq DR_{i}(c_{i,j})\), the node deletes the QDF from the transmission buffer so that it will not be relayed. According to Algorithm 1, the ADF is definitely discarded whereas the QDF is deleted with the probability of \(DR_{i}(c_{i,j})\). It is noteworthy that the even a new arriving frame (not ADF) may not be relayed because it can be deleted with a small probability of \(DR_{i}(1)\).  
```
\(F^{*}_{i,j}\) = receive(\(F^{*}\)); % Receive an unknown arriving frame \(F^{*}\) and obtain its sequence number \(j\). ifis_new_frame(\(F^{*}_{i,j}\))then % The identified arriving frame \(F^{*}_{i,j}\) is a new frame. \(F_{i,j}\) = enqueue(\(F^{*}_{i,j}\)); % Enqueue \(F^{*}_{i,j}\) and switch its state to a queued frame \(F_{i,j}\). \(c_{i,j}\) = 1; else % The identified frame \(F^{*}_{i,j}\) is an arriving duplicate frame (ADF). discard(\(F^{*}_{i,j}\)); % \(F^{*}_{i,j}\) is not allowed to enter the buffer. \(c_{i,j}=c_{i,j}+1\);  end if ifrand() \(\leq DR_{i}(c_{i,j})\)then  delete(\(F_{i,j}\)); % The queued duplicate frame (QDF) \(F_{i,j}\) is deleted from the transmission buffer. else % The frame \(F_{i,j}\) remains in the transmission buffer to be relayed later.  end if
```  
**Algorithm 1**The redundancy suppression scheme based on the duplication ratio.  
Figure 5: The approximated duplication ratio with several values of \(\mu\).  
The basic rationale of this operation is that the most of adjacent nodes around to node \(i\) have already received frame \(F_{i,j}\) at the probability of \(DR_{i}(c_{i,j})\), thus the rebroadcasting of this frame needs to be suppressed at the same probability to reduce the redundancy. We define \(P_{t,x,i}(\tau)\) as the probability that frame \(F_{i,j}\) could be rebroadcasted without being deleted until its duplication counter reaches \(\tau\). Subsequently, \(P_{t,x,i}(\tau)\) becomes  
\[P_{t,x,i}(\tau)=\prod_{c=1}^{\tau}\big{(}1-DR_{i}(c)\big{)}. \tag{4}\]  
Figure 6a shows \(P_{t,x,i}(\tau)\) with various values of \(\alpha\) (as shown in Figure 4). As \(\tau\) increased, \(P_{t,x,i}\) exponentially decreased and converged to 0. In addition, the smaller values of \(\alpha\) (e.g., 0.7 and 0.5) resulted in a significant decrease in \(P_{t,x,i}\) in other words, the aggressive suppression of transmission. Similarly, Figure 6b shows \(P_{t,x,i}\) obtained from \(ADR_{i}(\tau)\) as exhibited in Figure 5. The difference between \(P_{t,x,i}\) obtained from \(DR_{i}(\tau)\) and \(ADR_{i}(\tau)\) was not notable. Especially when \(\mu\) was 100, the difference was negligible for the whole range of \(\tau\), confirming that the approximated duplication ratio can be practically used in the duplication suppression scheme.