text: Abstract Middleboxes have become a vital part of modern networks by providing services such as load balancing, optimization of network traffic, and content filtering. A sequence of middleboxes comprising a logical service is called a Service Function Chain (SFC) . In this context, the main issues are to maintain an acceptable level of network path survivability and a fair allocation of the resource between different demands in the event of faults or failures. In this paper, we focus on the problems of traffic engineering, failure recovery, fault prevention, and SFC with reliability and energy consumption constraints in Software Defined Networks (SDN). These types of deployments use Fog computing as an emerging paradigm to manage the distributed small-size traffic flows passing through the SDN-enabled switches (possibly Fog Nodes). The main aim of this integration is to support service delivery in real-time, failure recovery, and fault-awareness in an SFC context. Firstly, we present an architecture for Failure Recovery and Fault Prevention called FRFP; this is a multi-tier structure in which the real-time traffic flows pass through SDN-enabled switches to jointly decrease the network side-effects of flow rerouting and energy consumption of the Fog Nodes. We then mathematically formulate an optimization problem called the Optimal Fog-Supported Energy-Aware SFC rerouting algorithm (OFES) and propose a near-optimal heuristic called Heuristic OFES (HFES) to solve the corresponding problem in polynomial time. In this way, the energy consumption and the reliability of the selected paths are optimized, while the Quality of Service (QoS) constraints are met and the network congestion is minimized. In a reliability context, the focus of this work is on fault prevention; however, since we use a reallocation technique, the proposed scheme can be used as a failure recovery scheme. We compare the performance of HFES and OFES in terms of energy consumption, average path length, fault probability, network side-effects, link utilization, and Fog Node utilization. Additionally, we analyze the computational complexity of HFES. We use a real-world network topology to evaluate our algorithm. The simulation results show that the heuristic algorithm is applicable to large-scale networks.
  @cite_31: Network Function Virtualization (NFV) is an emerging technology that uses software virtualization techniques to implement network functions that are usually deployed on specific hardware and software devices. With NFV it is possible to design, deploy, and manage network functions in a fraction of the time it often takes to do the same in non-virtualized settings. NFV improves the flexibility and reduces the time for the development, deployment and management of new functions. In this paper, we propose NFV-FD: a NFV to detect process and link failures. NFV-FD relies on an OpenFlow controller from which information about the network is obtained. With this information NFV-FD keeps track of the state of both processes and links. NFV-FD was implemented and experimental results are reported for the amount of resources required by the virtual function, as well as the quality of the failure detection and notification service.
  @cite_21: This paper presents FatTire, a new language for writing fault-tolerant network programs. The central feature of this language is a new programming construct based on regular expressions that allows developers to specify the set of paths that packets may take through the network as well as the degree of fault tolerance required. This construct is implemented by a compiler that targets the in-network fast-failover mechanisms provided in recent versions of the Open- Flow standard, and facilitates simple reasoning about network programs even in the presence of failures. We describe the design of FatTire, present algorithms for compiling FatTire programs to OpenFlow switch configurations, describe our prototype FatTire implementation, and demonstrate its use on simple examples.
  @cite_18: 
summary: Besides, authors in @cite_31 present NFV-FD, a fault-tolerant unreliable failure detector that is adapted based on information (it includes communication links states and the flow characteristics) obtained from an SDN. The paper presents flavor of novelties, but it fails to address the SFC traffic flows. Moreover, our solution utilizes a network equipment fault-aware technique that spreads out the fault tolerance process all over the components running in the SDN. In @cite_21 , authors applied novel rule-based programming language presented in @cite_18 to talk between the controller and the data plane to manage the adopted in-network fast-fail over mechanisms of incoming traffic flows in FatTire programs. Although this method is an interesting step toward to the fault-aware SDN traffic flow policy management, it suffers from fault recovery and fault prevention that matter in our solution.