## 6 Discussion  
Implementing the communication-induced checkpointing (CiC) mechanism to whichever device or system, brings benefits such as supporting fault tolerance, and increments regarding dependability. We leverage the fact that there is a trade-off between systems performance under different circumstances, i.e., when system performance is correct and when system performance suffers degradation or deviations. Therefore, we minimize performance issues due to storage space and propose a solution that checkpoints efficiently.  
Various approaches for distributed checkpointing algorithms are available (see Section 2), but most of them rely their efforts on strategies on how to checkpoint and avoid dangerous patters: zigzag paths and z-cycles. Most do not consider discarding forced checkpoints and therefore, are not appropriate for less powerful devices, cannot consider non-functional requirements and cannot discard unnecessary the frequency for checkpointing in their solutions.  
Considering QoS while the checkpointing mechanism is run, systems can leverage opportunities to discard forced triggered checkpoints. Thus the frequency for generating checkpoints is diminished.  
\begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \(N^{\underline{a}}\)**of** & \(DCFI\) & \(DCFI\) & **Reduction** & \(FINE\) & \(FINE\) & **Reduction** & \(DCFI\) & **\(DCFI\)** & **Reduction** \\
**Processes** & **No Fuzzy** & **Fuzzy** & **\%** & **No Fuzzy** & **Fuzzy** & **\%** & **No Fuzzy** & **Fuzzy** & **\%** \\ \hline
10 & 331 & 328 & 0.9063 & 367 & 350 & 4.6322 & 375 & 359 & 4.2667 \\
20 & 359 & 357 & 0.5571 & 371 & 369 & 0.5391 & 378 & 375 & 0.7937 \\
30 & 368 & 366 & 0.5435 & 377 & 374 & 0.79576 & 383 & 378 & 1.3055 \\
40 & 374 & 372 & 0.5347 & 379 & 376 & 0.79156 & 383 & 382 & 0.2611 \\
50 & 375 & 373 & 0.5333 & 379 & 377 & 0.5277 & 382 & 378 & 1.0471 \\
60 & 373 & 370 & 0.8043 & 376 & 374 & 0.5319 & 379 & 378 & 0.2639 \\
70 & 375 & 372 & 0.8 & 377 & 377 & 0 & 382 & 379 & 0.7853 \\
80 & 378 & 376 & 0.5291 & 380 & 377 & 0.7894 & 382 & 380 & 0.5236 \\
90 & 376 & 374 & 0.5319 & 378 & 374 & 1.0582 & 380 & 378 & 0.5263 \\
100 & 374 & 372 & 0.5347 & 376 & 373 & 0.7979 & 378 & 377 & 0.2646 \\
110 & 374 & 371 & 0.8021 & 376 & 372 & 1.0638 & 377 & 374 & 0.7958 \\
120 & 371 & 368 & 0.8086 & 372 & 368 & 1.0753 & 374 & 371 & 0.8021 \\
130 & 369 & 366 & 0.8130 & 370 & 368 & 0.5405 & 372 & 371 & 0.2688 \\
140 & 369 & 367 & 0.5420 & 371 & 369 & 0.5391 & 372 & 372 & 0 \\
150 & 370 & 367 & 0.8108 & 371 & 369 & 0.5391 & 372 & 371 & 0.26882 \\ \hline \hline \end{tabular}
\end{table}
Table 4: Comparison between static approach and dynamic approach for 2500 messages.  
\begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline \(N^{\underline{a}}\)**of** & \(DCFI\) & \(DCFI\) & **Reduction** & \(FINE\) & \(FINE\) & **Reduction** & \(DCFI\) & \(DCFI\) & **Reduction** \\
**Processes** & **No Fuzzy** & **Fuzzy** & **\%** & **No Fuzzy** & **Fuzzy** & **\%** & **No Fuzzy** & **Fuzzy** & **\%** \\ \hline
10 & 661 & 656 & 0.7564 & 698 & 693 & 0.7163 & 752 & 717 & 4.6543 \\
20 & 721 & 717 & 0.5548 & 740 & 734 & 0.8108 & 763 & 752 & 1.4417 \\
30 & 741 & 737 & 0.5398 & 754 & 749 & 0.6631 & 772 & 763 & 1.1658 \\
40 & 755 & 749 & 0.7947 & 764 & 759 & 0.6545 & 776 & 772 & 0.5155 \\
50 & 762 & 757 & 0.6562 & 769 & 764 & 0.6510 & 776 & 769 & 0.9021 \\
60 & 757 & 752 & 0.6605 & 764 & 759 & 0.6545 & 773 & 769 & 0.5175 \\
70 &