# A Systematic Literature Review of Reliable Provisioning for Virtual Network Function Chaining
## 4 Results of the Systematic Literature Review
### Different Algorithms to Provide a Reliable Provisioning  
#### 4.2.1 Failure Type  
There are several points of failure in an NFV environment. Failures can occur at a VNF level or at a link level. Different approaches and algorithms provide a reliable NFV environment depending on which type of failure it accommodates. The proposals can even simultaneously provide for both VNF and link failure.  
For VNF failures, a common way to handle failure is to use backup VNFs. In [25], deep reinforcement learning was used to automatically deploy active and standby backup VNFs to increase the fault tolerance. They use several backup schemes ranging from level 0, with no backups, to level 4, which reserves resources for backup in advance. In [10], a deep reinforcement learning approach is proposed. However, it is a proactive backup approach. It can predict the next VNF failure and limit the overall recovery delay. In [21], a SFC routing based on the K-node disjoint shortest path and VNF deployment is proposed. It is a heuristic algorithm that aims to minimize computing and network resource consumption. In [19], replicas are used that are different from backups. The replicas are smaller instances of a VNF, and a pool of replicas can collectively process the same amount of traffic as the original VNF. Other protection strategies are introduced in [22], including Virtual-Node protection, Virtual-Link protection, and End-to-End protection, where VNFs are instantiated in two different physical locations to improve the resiliency against single-node failures.  
For link failures, the methods for increasing fault tolerance are different. In [20], they propose using multi-path protection instead of conventional single-path protection. When data are transmitted through several link disjoint paths, a failure in one path does not cause the interruption of the service. In [39], the authors propose a decision tree approach based on the Monte-Carlo Tree Search strategy. The algorithm would select and assign reliable paths to prevent and reactively re-map the impacted virtual links to more stable physical paths to avoid outages due to link failures. In [22], the authors also propose a Virtual-Link protection. Each virtual link connecting two VNFs is mapped and embedded through two disjoint physical paths. One is a primary path and the other is a backup path.  
Some papers propose solutions that can handle both VNF and link failures. In [22], they propose strategies for VNF and link failures. The authors also propose an End-to-End protection strategy that increases the resiliency for both VNF and link failure. This strategy is the combination of the two previous strategies where there are backup VNFs on different physical nodes and backup links different from the primary one that connects the backup VNFs together. In [18], the authors propose to use a Joint Path-VNF backup model combining both path backup and VNF backup in a joint way. They also used the Affinity-Based Algorithm to reduce the physical link consumption when mapping VNFs. In Table 4, different types of failure for the mentioned algorithms are presented.  
\begin{table}
\begin{tabular}{l l l l} \hline \hline
**Algorithm** & **Simulation Platform** & **Network Topology** & **Number of VNFs Per SFC** \\ \hline JPV-ABA [18] & Java(Alevin) & Tree Topology & 2–6 VNFs \\ \hline P-E2E [22] & C++ & Optical metro Topology & 2–5 VNFs \\ \hline DDQP [25] & Python & Abilene, ANS, AboveNet, Integra, and BICS DC topologies & 1–7 VNFs \\ \hline \hline \end{tabular}
\end{table}
Table 3: Simulation Setup.