I. Introduction
Network operators generally use proprietary vendor-specific hardware and software systems to build their physical networks and offer services to users. However, this approach features high level of hardware-software dependency and coupling, which can lead to a lack of service exibility and very costly and complex upgrade requirements [1]. Hence, network designers proposed various concepts to reduce the network operational complexity, such as software-defined networks (SDN) that decouples the network data and control planes. Furthermore, network function virtualization (NFV) have also been proposed to advance the data plane and reduce dependency/cost on vendor-specialized hardware switching and routing platforms. NFV separates the physical layer devices from the network functions (NF) that they run. Instead, software-based virtual network functions (VNF) are defined as application instances running on commodity commercial-off-the-shelf (COTS) servers. This includes firewalls, network address translation (NAT) boxes, domain name service (DNS) servers, etc. Moreover, multiple VNF instances can be instantiated and interconnected to build customized function sequences, hence provisioning a wide range of end-user client services, i.e., termed as service function chains (SFC). Moreover, client VNFs can also be hosted beyond the enterprise in cloud- or fog-based (servers) nodes. This softwarization process yields in high scalability and reduced capital expenditure (CapEx) and operational expenditure (OpEX) for network operators. Hence, NFV-based cloud architectures have been proposed to support various technological advancement, such as virtual radio access networks, [2]–[4], internet of things, and mobile edge. Here cloud nodes offer abundant resources, albeit with extended link delays. Hence fog computing has emerged as a candidate solution to solve this problem. Namely, fog computing brings the cloud to the network edge to reduce the long separation distances between cloud nodes. However, this is realized at the expense of reduced processing resources at the fog nodes. Hence fog computing can support delaysensitive applications, but at limited resources, which impacts the network capacity and scalability.