# Novel Fuzzy Logic Scheme for Push-Based Critical Data Broadcast Mitigation in VNDN
## 3 Push-Based Data Forwarding in VNDN  
The VNDN basically supports a pull-based architecture in which communication is initiated by a consumer node/vehicle. However, in vehicular communication, there might be some critical situations in which push-based communication should be applied. These critical situations may include the broadcast of traffic information, advertisements, and critical alerts, among others. Figure 2 demonstrates a comparison of the pull-based and push-based data forwarding mechanisms in VNDN.  
A VNDN is represented by the undirected graph \(G_{\text{f}}(V,\varepsilon_{t})\), where \(V\) is the collection of vertices and \(\varepsilon_{t}\) indicates the links that connect the vehicles at time \(t\). \(V\) denotes the connected vehicles in the network, such as \(v_{1}\), \(v_{2}\), \(v_{3}\),..., \(v_{N}\). \(p\) is the producer that contains the original content, and \(c\) is the consumer that intends to obtain that content. The symbol \(O\) refers to an object of the content that has two different kinds of chunks: the non-critical chunks consist of \(n_{1}\), \(n_{2}\), \(n_{3}\),..., \(n_{K}\), while the critical chunks include \(r_{1}\), \(r_{2}\), \(r_{3}\),..., \(r_{M}\). Using Equation (1), we can calculate the total transfer time for the data packet in a pull-based VNDN system [19]. We assume that the size of every chunk, regardless of the class, is the same and is denoted by \(s_{r}\).  
Figure 2: Comparison of pull-based and push-based data forwarding in VNDN.  
\[\begin{split} T_{TCT}(G_{t_{R}},G_{tI},G_{tr},p,c)=& Q(G_{t_{R}},p,c)t_{R}+Q(G_{tI},c,p)\Bigg{[}\sum_{k=1}^{M}\left(t_{y}+\frac{S_{I}}{ \tau_{y}}\right)\Bigg{]}\\ &+Q(G_{tr},p,c)\Bigg{[}\sum_{l=1}^{N}\left(t_{x}+\frac{S_{r}}{ \tau_{x}}\right)\Bigg{]}\end{split} \tag{1}\]  
where \(t_{x}\) and \(\tau_{x}\) represent the latency and transfer rate for data chunks, whereas \(t_{y}\) and \(\tau_{y}\) represent the latency and transfer rate for interest packets. \(Q(n_{1},n_{2})\) is the distance between two nodes (vehicles). \(G_{t}\alpha\) represents the status of the network at the moment when a producer broadcasts the data content. \(G_{tI}\) defines the condition of the network at the moment when an interest packet is broadcast. \(G_{tr}\) represents the network status at the moment when a chunk of the data content is disseminated. \(S_{I}\) and \(S_{r}\) represent the length of interest and data packets, respectively. \(t_{\alpha}\) indicates the time required for a node/vehicle to forward the data packet to its nearby nodes/vehicles.  
On the other hand, Equation (2) can be used in the push-based communication model to calculate the total transfer time for critical data packets [19].  
\[T_{STT}(G_{t\beta},G_{tr},p,c)=Q(G_{t\beta},p,c)t_{\beta}+Q(G_{tr},p,c)\Bigg{[} \sum_{l=1}^{N}\left(t_{x}+\frac{S_{r}}{\tau_{x}}\right)\Bigg{]} \tag{2}\]  
where, \(t_{x}\) and \(\tau_{x}\) represent the latency and transfer rate for the chunks of the critical data content. \(Q(n_{1},n_{2})\) indicates the distance between two nodes (vehicles). \(G_{t\beta}\) denotes the status of the network at the moment when a producer broadcasts the critical data content. \(G_{tr}\) is the network status at the time when a producer transmits a chunk of critical data content. \(S_{r}\) indicates the size of the critical data content. \(t\beta\) is the time required for a node/vehicle to forward the critical data packet to its nearby nodes/vehicles.