I. Introduction
Network function virtualization (NFV) is proposed to reduce capital expenditures (CAPEX) and operational expenses (OPEX) when accommodating clients' network services [1]. With NFV, the network functions required by the client are implemented with software-based modules called service functions (SFs). An NFV-enabled service request (NSR) generally includes a set of SFs and the corresponding resource demands (e.g., computation, bandwidth) [2]. To accommodate an NSR, the service provider must concatenate the required SFs into a service function chain (SFC) and deploy it over a shared physical network (PN). The above process is referred to as the service function chaining and embedding (SFCE) [3]. After the SFCE process, the carrier of an SF is referred to as the SF instance (SFI), and the physical forwarding path that hosts the SFC is called the service function path (SFP) [4].