  In this paper, we focus on the problems of traffic engineering, failure
recovery, fault prevention, and Service Function Chain (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
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 power
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.
