SlideShare a Scribd company logo
IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 4263
Joint Dynamical VNF Placement and SFC Routing
in NFV-Enabled SDNs
Liang Liu , Songtao Guo , Senior Member, IEEE, Guiyan Liu , and Yuanyuan Yang , Fellow, IEEE
Abstract—Due to that Service Function Chain (SFC) permits
the forwarding of flows along a predetermined sequence chain
of Virtual Network Functions (VNFs), it has become a com-
mon service in Network Function Virtualization (NFV)-enabled
Software Defined Networks (SDNs). Generally, since there are
multiple same VNF-instances in NFV-Enabled SDNs, this brings
a great challenge for selecting or placing the required VNF-
instances to satisfy the routing of SFC Request flows (SRs). In
this paper, we study the routing problem for SRs by jointly
considering dynamical VNF placement and multiple Resources
and Quality of Service (QoS) constraints in NFV-Enabled SDNs.
Specifically, we first define two optimization problems: one is
the Dynamical VNF Placement and Routing Problem for SRs
(DVPRP) and the other is the Delay, packet Loss and Jitter
Aware Dynamical VNF Placement and Routing Problem for SRs
(DLJA-DVPRP). We then formulate the two problems as Integer
Linear Programming (ILP) problems. Next, we creatively devise
an auxiliary edge-weight graph and propose two efficient algo-
rithms to solve the problems with the aim of minimizing the
resource consumption costs as well as ensuring multiple QoS con-
straints. Especially, we utilize the shortest path algorithm based
on Lagrange relaxation method to solve the DLJA-DVPRP with
multiple QoS constraints. Compared with existing algorithms,
simulation results demonstrate our proposed algorithms have
better performance in terms of throughput, traffic acceptance
rate and load balance.
Index Terms—Software defined network, service function
chain, dynamical VNF placement, multiple QoS contraints,
Lagrangian relaxation method.
Manuscript received October 31, 2020; revised March 20, 2021; accepted
May 9, 2021. Date of publication June 30, 2021; date of current version
December 9, 2021. This work was supported by the National Natural
Science Foundation of China (No. 61772432, 61772433), Natural Science
Key Foundation of Chongqing (cstc2020jcyj-zdxmX0026), the Technological
Innovation and Application Demonstration Projects of Chongqing
(cstc2018jszx-cyztzxX0014), Fundamental Research Funds for the Central
Universities (2020CDCGJSJ071, 2020CDCGJSJ038, 2019CDYGZD004,
2021CDJXXXB006), and Zhejiang Lab (NO. 2021LC0AB01). The associate
editor coordinating the review of this article and approving it for publication
was P. Calyam. (Corresponding author: Songtao Guo.)
Liang Liu is with the College of Electronic and Information Engineering,
Southwest University, Chongqing 400715, China, and also with the School of
Communication and Information Engineering, Chongqing University of Posts
and Telecommunications, Chongqing 400065, China.
Songtao Guo and Guiyan Liu are with the Key Laboratory of Dependable
Service Computing in Cyber-Physical-Society (Ministry of Education), and
the College of Computer Science, Chongqing University, Chongqing 400044,
China (e-mail: songtao_guo@163.com).
Yuanyuan Yang is with the Department of Electrical and Computer
Engineering, Stony Brook University, Stony Brook, NY 11794 USA.
Digital Object Identifier 10.1109/TNSM.2021.3091424
I. INTRODUCTION
NETWORK Function Virtualization (NFV) as an emerging
technology makes the deployment of new devices flexi-
ble and efficient by decoupling the software from conventional
hardware devices. Based on NFV technology, the conventional
hardware middle-boxes such as Intrusion Detection Systems
(IDSs), Firewalls (FWs), Intrusion Prevention Systems (IPSs)
and HTTP proxies have been replaced by more flexible soft-
ware applications on the Virtual Machines (VMs), which
are called Virtual Network Functions (VNFs) [1]. Software
Defined Network (SDN) separates network control plane from
underlying switches and routers into logically centralized con-
trollers [2], which enables the global network information
to be collected by the SDN controller to provide flexible
network programmability. Generally, for satisfying the busi-
ness requirement, the flows in NFV-Enabled SDNs should be
forwarded through a specific sequence of middle-boxes which
implement the required VNFs [3]. For example if one needs
to highly restrict the access to an Intranet server, the incom-
ing flow may first traverse an FW, then an IPS or IDS. Such
an ordered set of VNFs is called a service function chain
(SFC) [4], and the flow Request with SFC is called as SFC
Request flows (SRs).
Benefitting from NFV and SDN, the operator can dynam-
ically select or deploy the required VNF-instances on nodes
to meet the routing requirements of SRs and ensure the load
balance of network. However, in NFV-Enabled SDNs, each
type of VNF usually has multiple instances, and SRs need
to traverse across a sequence of distinctive VNF-instances in
a predetermined order. Consequently, one should develop an
optimal strategy to select or dynamically deploy VNFs from
the multiple VNF-instances environment to meet the routing
order requirements of SRs. Jia et al. [5] and Pei et al. [6] con-
sidered the routing problem of SRs in the already placed VNF
multi-instance environment, but did not consider the dynamic
deployment of VNF when routing SRs in the network.
In addition, when dynamically deploying the VNFs, we
should consider the following factors: i) the deployment cost
of a new VNF instance; ii) the resource consumption cost of
running the VNF instance; iii) the flow forwarding cost among
VNF-instances. We can place just enough VNFs to route SR,
which may consume the lowest deployment and resource con-
sumption cost. However, controlling flow to travel the required
VNFs may increase forwarding costs and eventually result in
constraint violation of resources such as links and flow-table
entries capacity. On the contrary, one can deploy VNFs in
1932-4537 c
 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See https://www.ieee.org/publications/rights/index.html for more information.
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
4264 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021
all possible locations and always forward flow by the shortest
path. This may refrain from resources constraint violation, but
will definitely cause huge deployment costs. Li et al. [7]–[9]
considered the running cost and deployment cost of VNF, but
did not jointly consider the forwarding cost of the switching
nodes in the network.
Furthermore, to ensure the network load balancing and QoS
constraints, one should jointly consider the resources of the
bandwidth on physical links, the flow-table entries on switch
nodes and the computing resources on function nodes when
routing a SR in a NFV-Enabled SDN. Moreover, owing to
the rise of Industrial Internet, the end-to-end delay, packet
loss rate and jitter cannot be neglected as well. Hence, when
searching a routing path for SR, a trade-off mechanism among
multiple resources, with multiple QoS constraints such as end-
to-end delay, packet loss rate and jitter needs to be designed,
in order to reduce network congestion and maintain network
load balance. Chemodanov et al. [10] studied a near optimal
SFC composition approach for geodistributed cloud infras-
tructures that also admits end-to-end network QoS constraints
such as latency, packet loss, but they did not consider the
flow-table resources on switch nodes and the jitter in the
network. Liu et al. [11] utilized Lagrange relaxation method
to investigate a Min-Cost QoS Routing Algorithm (MCQRA)
for SDN-WMN (Wireless Mesh Network), they considered the
delay and packet loss constraints on links, but they did not con-
sider the flow-table resources on switch nodes, CPU resources
on function nodes and the jitter in the network.
Most of the existing studies either focus on the placement
of VNFs [4], [8], [12]–[15], or SFC routing based on part
of resources and QoS constraints [1], [5]–[7], [16]. But they
hardly considered all the above mentioned issues to allocate
routing paths for SR to achieve the aim of network load
balance and multiple QoS constraints. To the best of our
knowledge, our work is the first one to focus on enforcing
SR routing by jointly considering the following issues in a
NFV-Enabled SDN: i) Dynamical VNF Placement; ii) multiple
resource constraints including the forwarding table capacity
on SDN switches, the bandwidth capacity on links, the CPU
capacity on function nodes which implemented by VNFs;
iii) the QoS constraints involving the end-to-end delay, packet
loss rate and jitter of the SR’s routing path; iv) network
load balancing. The major contributions of this work can be
summarized as follows.
• We define two optimization SFC routing problems
for SRs, the Dynamical VNF Placement and Routing
Problem (DVPRP) and the Delay, packet Loss and
Jitter Aware Dynamical VNF Placement and Routing
Problem (DLJA-DVPRP), by jointly considering multiple
resources constraints and multiple QoS constraints,
respectively.
• We propose a novel relative cost model of nodes
and link resources and formulate DVPRP and DLJA-
DVPRP as Integer Linear Programming problems (ILPs),
respectively.
• To solve the two NP-hard problems, we creatively
construct a generic heuristic optimization structure
called as VNF-Splited Multi-Stage edge-Weight Graph
(VSMSWG), and devise a heuristic algorithm to solve the
DVPRP. Especially, we utilize an improved lagrangian
relaxation method to solve the DLJA-DVPRP with the
constraints of end-to-end delay, packet loss rate and jitter.
• We compare the performance of our heuristic methods
with that of existing algorithms. Simulation results show
that our proposed algorithms outperform the previous
algorithms in terms of traffic acceptance rate, network
throughput, and load balancing.
The remainder of this paper is organized as follows. We first
review the related works in Section II. We then present the
system model and the problem definition in Section III and
formulate the problem in IV. In Section V, we propose the
heuristic optimization structure and algorithms. Furthermore,
we analyze the performance of the proposed approaches in
Section VI. Section VII concludes this paper.
II. RELATED WORK
This section will discuss the related works from the follow-
ing two aspects: i) the placement problems of VNF; ii) the
routing for SFC.
A. Virtualized Network Function Placement
Agarwal et al. [12] proposed a fast and efficient solution
strategy called MaxZ to solve the VNF placement, resource
assignment and traffic routing in 5G networks, but they did
not consider the SFC order of flows. Zhang et al. [13] tackled
the VNF placement problem in a general 5G network slice
framework where contains both edge cloud and core cloud
servers, and proposed an Adaptive Interference-Aware (AIA)
algorithm to place VNFs in service customized network slices,
but they did not study the multiple resources and load balanc-
ing in the network. Bari et al. [8] formulated an ILP model
to determine the amount and location of VNFs in order to
minimize the operational costs and resources utilization of
the network. Khosravi et al. [17] studied the dynamic VM
placement method for minimizing energy and carbon cost
in SDN-NFV network. However, they did not take the SFC
requirements of the flows into account.
Some works studied the placement problem of VNF in data
center. Particularly, Bhamare et al. [14] studied the VNF place-
ment problem by jointly considering SFC formation in the
geographically distributed clouds and modeled the problem
of minimizing the inter-cloud traffic as an ILP optimization
problem. Li et al. [15] proposed a Two-Stage heuristic algo-
rithm to address the VNF placement problem in cloud data
center. Tang et al. [4] proposed a traffic forecasting method,
and designed two VNF dynamic placement algorithms to solve
the scaling of VNF instance in data center. To maximize
the admitted SRs to mobile clients and minimize the energy
and computation resources when communicating in cloud data
centers, Shojafar et al. in [18] proposed an energy-aware algo-
rithm for VNF placement. Nevertheless, these solutions just
focused on the SFC requirements of flows and dynamical
placement of VNFs, but the other QoS constraints such as
end-to-end delay, the packet loss rate and jitter for the SR are
not considered.
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4265
B. Routing for Service Function Chaining
The authors in [19] pointed out that OpenDayLight, the
largest open source SDN controller, can support random selec-
tion algorithm, loop algorithm, SP algorithm and load balanc-
ing algorithm to select VNF instances in NFV-Enabled SDNs.
Cao et al. [20] proposed a novel algorithm named Competitive
Online Algorithm for Traffic Steering (COATS). In COATS,
the authors iteratively updated the costs on links and routed
flows with SFC requests based on a layered graph. They did
not jointly consider flow-table resource,CPU resource and QoS
constraints when routing SFC. Huang et al. [21] devised two
heuristic algorithms to find a cost-optimal routing path for
SR in SDN with VNFs, and the aim is to ensure flow-table
entries and link bandwidth resource constraints while max-
imizing the network throughput, but they did not consider
CPU resource constraint on function nodes and packet loss
rate constraint for SR. Wang et al. [22] adopted a cost model
where jointly consider operating cost, capital cost and link
cost to allocate VNF resource and route SFC. Huang et al. [23]
proposed a polynomial algorithm based on the Markov approx-
imation technique to solve the optimization problem of VNF
selection and routing with the aim of maximizing the through-
put in SDN, however, they did not jointly consider flow-table
resource and QoS constraints when routing SFC.
The authors in [1], [5]–[7] paid attention to SR scheduling
by jointly considering multiple resources and QoS constraints
in SDN/NFV. Particularly, Tajiki et al. [1] proposed a novel
resource allocation architecture while considering the con-
straints on path delay, server capacity and link capacity. They
utilized ILP model to formulate the allocation and place-
ment problem of VNFs as well as flows routing problem.
Pei et al. [6] proposed a Resource-Aware Routing Algorithm
to solve fine-grained flow features scheduling of SRs by jointly
considering the end-to-end delay of routing path and the
load balancing of SDN and NFV-enabled network. In [5],
Jia et al. studied Routing Cost Minimization and Throughput
Maximization of NFV-Enabled Unicasting with SR in SDN.
Li et al. [7] used a linear programming technique with ran-
domized rounding to solve the resource provision of SR,
and the objective was to maximize the admitted SR num-
ber in the whole cloud data center. However, few solutions
jointly and comprehensively considered the tradeoff among
dynamical VNF placement with the constraints of multiple
kinds of resources and QoS when routing SRs.
III. SYSTEM MODEL AND PROBLEM DEFINITION
In this section, we will describe the system model and define
our optimization problems.
A. Network Model
We denote the NFV-Enabled SDN as an undirected graph
G(N, L), where N, L denote the set of nodes and links,
respectively. We use u, v ∈ N and uv ∈ L to indicate the
physical nodes and the physical links, respectively. In the
network, there are two types of nodes, one is switch node
which is in charge of forwarding data, and the other one is
function node consisting of one or more commodity servers,
Fig. 1. A NFV-Enabled SDN G with a subset nodes Ns = {v2, v5, v6}
and a subset nodes Nf = {v1, v3, v4}
which is not only responsible for forwarding information but
also processing SRs through deployed VNF-instances. Let
Nf ⊂ N and Ns ⊂ N be the set of function nodes and
switch nodes, respectively. There is one SDN controller in G
that performs the dynamical VNFs Placement and routing path
selection for each incoming SR. Fig. 1 depicts an example of a
NFV-Enabled SDN, where nodes v1, v3, v4 are function nodes
and the rest nodes are switch nodes.
We use SRi to indicate the ith flow request with SFC.
The flow-table capacity and the ratio of remaining flow-table
entries are denoted by C
ft
u and r
ft
i,u on node u when rout-
ing SRi . Each node can provide some running resources such
as CPU, memory, disk, etc. To simplify the problem, we
only consider the capacity of CPU resource of node, and
use Ccpu
u and rcpu
i,u to denote the capacity and the remain-
ing ratio of CPU on node u. The capacity and remaining ratio
of bandwidth, propagation delay, packet loss rate and jitter of
a physical link uv ∈ L are represented by Cbw
uv , rbw
i,uv , δ
delay
uv ,
γloss
uv , jjitter
uv respectively. We use η(u) to indicate the set of
neighbors of node u.
η(u) = {v|uv ∈ L or vu ∈ L}, u, v ∈ N. (1)
Note that we ignore the CPU consumption in the switch
nodes because it is reasonably assumed that function nodes
are mainly used to deploy VNF-instances in the model. In
addition, due to the function nodes can be implemented by
micro data center or cloud data center, we also neglect the
consumption of flow-table entries in the function nodes [6].
B. Virtualization Network Functions (VNFs)
Various types of VNFs such as IDS, FW, IPS can be
deployed on function nodes. We use the set P to denote the
possible VNF types in the network. Each VNF type p has a
specific deployment cost, CPU demand, processing delay, and
packet loss rate of processing, which are denoted as Dp, κcpu
p ,
δ
delay
p (ms), and γloss
p (%), respectively. We explain these
quantities as follows:
• Deployment Cost (Dp) contains the cost of booting a
VNF of type p and image transfer on a function node.
• CPU demand (κcpu
p ) is the amount of CPU resource on
function node that a type of VNF p requires.
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
4266 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021
Fig. 2. An example of VNF chains.
• Processing Delay (δ
delay
p ) is the average delay (ms)
which is experienced by packets while traversing across
a VNF of type p.
• packet loss rate of processing (γloss
p ) is considered as 0,
owing to the performance of software and hardware is
becoming better and better. It’s almost not likely to lose
bit data when a packet traverse across a VNF of type p.
C. Flow Requests With SFC Requirement
We use a 7-tuple to denote the SRi :
SRi =

Si , Di , Ψi , Rbw
i , R
cpu
i , R
delay
i , Rloss
i , R
jitter
i

(2)
where Si and Di represent the entry node and the egress
node, respectively, Ψi = {Ψi (1), Ψi (2), . . . , Ψi (l)} indicates
the ordered VNF set that the flow must traverse across (Eg.,
FW → IDS → IPS), l = |Ψi | denotes the SFC length of
SRi , i.e., the total number of VNF-instances of SRi , Ψi (j)
denotes the jth VNF requirement instance of the SRi where
j = 1, 2, . . . , l, and Rbw
i , Rcpu
i , Rdelay
i , Rloss
i , Rjitter
i indicate
the bandwidth demand, the CPU demand, the maximum tol-
erated delay ,the maximum tolerated packet loss rate and ,the
maximum tolerated jitter, respectively.
In order to clearly depict the visit order of VNF-instances
in SFC, and denote the mapping relationship between the SFC
and the original network in the later problem formulation,
we transform an ordered VNF sequence Ψi into a service
function graph Ḡi = (N̄i , L̄i ) where N̄i and L̄i indicate the
set of traffic nodes including entry, VNFs, and egress nodes
and the links between the nodes, and the graph is a directed
acyclic graph. We use ū, v̄ ⊂ N̄i and ūv̄ ⊂ L̄i to denote
two nodes and the link which connect ū, v̄ on Ḡi . An exam-
ple of VNF chains for SRi is presented in Fig. 2, where
Si , Di , Ψi (1), Ψi (2), Ψi (3) are nodes, and SRi must tra-
verse Si and the chain FW −→ IDS −→ IPS in order before
arriving at Di .
We also define ηi (ū1) to represent the neighbors of ū1∈N̄i .
ηi (ū1) =

ū2|ū1ū2 ∈ L̄i or ū2ū1 ∈ L̄i

, ū1, ū2 ∈ N̄i . (3)
Without loss of generality, we consider ū2  ū1, iff ū2 appears
after ū1 in the topological order of Ḡi .
D. Problem Definition
We consider a scenario where a NFV-Enabled SDN pro-
vides service to a set of SRs 
F. The network has allocated
some VNFs and route paths for the SRs in 
F. A series of
new SRs denoted as F are incoming and are required to
allocate the needed VNFs and routing paths with the aim
of minimizing the resource consumption costs and enhancing
the network load balancing. Then, SDN controller will meet
the requirement from the following steps by i) providing an
Fig. 3. Physical Network Convertion.
optimal number of VNFs, ii) deploying or activating VNFs
at the optimal locations and iii) looking for the optimal route
paths for each SR under the constraints of resource capacity
and multiple QoS as well as specific ordered VNF sequence.
Accordingly, two optimization problems are defined as
follows.
Definition 1: Given a set of Nf and Ns for an SRi =
Si , Di , Ψi , Rbw
i , Rcpu
i , the Dynamical VNF Placement and
Routing Problem (DVPRP) in a NFV-Enabled SDN G(N, L)
is to look for or construct a route path for SRi so that it
can minimize the implementation cost based on both band-
width, CPU and flow-table resource consumption as well as
subjecting to the bandwidth capacity constraint of each link
and flow-table constraint on Ns and CPU resource constraint
on Nf in G. Furthermore, after allocating the path, it can
ensure the load balance of the network.
Definition 2: Given a set of Nf and Ns for an SRi =
Si , Di , Ψi , Rbw
i , Rcpu
i , Rdelay
i , Rloss
i , Rjitter
i , the Delay and
packet Loss Aware Dynamical VNF Placement and Routing
Problem (DLJA-DVPRP) in a NFV-Enabled SDN G(N, L)
is to look for or construct a route path for SRi so that it can
minimize the implementation cost while the end-to-end delay,
packet loss rate and jitter of the path are no greater than given
threshold R
delay
i , Rloss
i and R
jitter
i respectively, subject to
the bandwidth capacity constraint of each link and flow-table
constraint on Ns and CPU resource constraint on Nf in G.
Furthermore, after allocating the path, it can ensure the load
balance of the network.
IV. PROBLEM FORMULATION
In this section, we formulate the problems by i) convert-
ing the physical networks to an extended pseudo-network;
ii) defining the relative cost of resources; and iii) for-
mulating the DVPRP and DLJA-DVPRP as ILP models.
The main notations used in the paper are summarized in
Table I.
A. Physical Network Conversion
In the real network, the types of VNF allowed to be
deployed on functional nodes may be different. In order to
formulate this constraint conveniently and reduce the com-
plexity of the proposed problem, we first convert the original
physical network to an expanded pseudo-network. The con-
version process is described in Fig. 3. A topology of partial
original network with three nodes (u1 , u2 and u3) is depicted
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4267
TABLE I
KEY NOTATIONS TABLE
in Fig. 3(a), where u1 and u3 ∈ Ns are switch nodes and
u2 ∈ Nfn is a function node.
We enumerate all possible VNFs which can be deployed on
each function node according to the CPU demand of a type
of VNF p and the CPU capacity of the function node. For
example if the CPU of a function node has 8000MIPS [24],
the CPU demand of FW, IDS and IPs is 2000MIPS, 4000MIPS
and 8000MIPS respectively, we can deploy 4 FWs or 2 IDSs or
1 IPS on this function node. The enumerated VNFs of function
node u2 is presented in 3(b).
These enumerated VNFs are called pseudo-VNFs and
denoted as M. For simplicity, the pseudo-VNFs and VNFs
can be exchanged in the rest of this paper. Each VNF m ∈ M
may be deployed to a function node u ∈ Nf . We define the
function ζ(m) for indicating the mapping.
ζ(m) = u, if VNF m is deployed on node u ∈ Nf . (4)
We use the function τ(m) to return the type of VNF m:
τ(m) = p, if the type of VNFm is p, m ∈ M, p ∈ P.
(5)
In addition, we use rcpu
i,m to denote the ratio of remaining
CPU on VNF m when routing SRi .
B. The Definition of Relative Cost
An important feature of the resource usage in G is that
the marginal cost will inflate with the increasing of resources
workload. Due to that more rules need to be considered in a
heavily-loaded SDN switch, it will take more time and energy
on handling an incoming network packet compared with a
lightly-loaded one. Similarly, compared with a lightly-loaded
link, a heavily-loaded link will spend more time and energy
on processing an incoming network packet as more packets
will be queued [25]. In order to describe this characteristic,
we utilize relative costs to denote the usage cost of resources
and define them as follows.
vbw
i,uv = (ωbw )1−rbw
i,uv , uv ∈ L (6)
v
ft
i,u =

ωft
1−rft
i,u , u ∈ Ns (7)
v
cpu
i,m =

ωcpu
1−rcpu
i,m , m ∈ M. (8)
We use vbw
i,uv , vft
i,u and vcpu
i,m to indicate the relative costs
for bandwidth on link, flow-table on switch node and CPU on
VNF m, where ωbw , ωft and ωcpu are constants and ωbw , ωft ,
ωcpu  1. The relative cost has an exponential relationship to
the load of resource. In Eq. (6), ωbw  1 is a tuning parameter.
The larger the values of ωbw is, the more links with high
bandwidth utilizations would be discouraged. The exponent
1 − rbw
i,uv is the bandwidth utilization rate of a link uv. If
1 − rbw
i,uv is larger, it means that the workload of the link is
larger and its relative cost would be bigger. Furthermore, the
relative cost of the link increases rapidly because the marginal
cost of link bandwidth usage considerably inflates with the
increase of link load. If the relative cost of the link is high, it
can be identified as a bottleneck. Eq. (7) and Eq. (8) have the
similar properties of Eq. (6). In order to obtain the maximum
throughput in the network, we usually set ωbw , ωft , ωcpu =
2|V| [5], [25], [26].
C. ILP Formulation
1) Variables: Since there may be particular hardware
demands (e.g., hardware encryption for IDS), a function node
may be prevented from running a specific type of VNF. We
suppose that for each VNF type there is a set of function
nodes on which it may be allocated. Define binary variable
dp
u ∈ {0, 1}, where dp
u = 1 indicates the VNF of type p can
be provided on node u. Define gū
i,p ∈ {0, 1}, where gū
i,p = 1
indicates the VNF node ū is type of p. Define binary variable
qm
p ∈ {0, 1}, where qm
p = 1 represent the VNF m is of type
p. It is worth noting that the enumerated pseudo-VNFs only
indicate a specific type of VNF that can be provided on func-
tion nodes. We define ya
m ∈ {0, 1}, where ya
m = 1 indicates a
pseudo-VNF has been deployed and activated. Define binary
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
4268 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021
variable xū
i,m ∈ {0, 1}, to denote whether the VNF ū ∈ V̄i is
in the service of VNF m. Define binary variable ym
u ∈ {0, 1},
where ym
u = 1 indicates VNF m is accommodated on the node
u ∈ Nf . Define binary variables zūv̄
i,uv ∈ {0, 1}, zūv̄
i,u ∈ {0, 1}
respectively, where zūv̄
i,uv = 1 indicates ūv̄ passes through
physical link uv and zūv̄
i,u = 1 represents ūv̄ passes through
physical node u.
In fact, we can use the variable xū
i,m to derive the variable
ya
m as follows:
ya
m = 1 iff
i∈F ū∈V̄i
xū
i,m  0.
2) Constraints: We assume that x̂ū
i,m indicates the value of
xū
i,m at the last traffic assignment event. In order to ensure
the resources previously assigned to the traffic will not be
released, the following inequality must be satisfied.
xū
i,m ≥ x̂ū
i,m, ∀i ∈ F̂, ū ∈ V̄i , m ∈ M. (9)
We use ŷa
m ∈ {0, 1} to represent the value of ya
m at the last
traffic assignment event, it can be derived as follows:
ŷa
m = 1 iff
i∈F ū∈V̄i
x̂ū
i,m  0
Similarly, to ensure that resources for previously provi-
sioned traffic will not be released, the following condition
should be satisfied
ya
m ≥ ŷa
m, ∀m ∈ M. (10)
We suppose that ẑūv̄
i,uv denotes the value of zūv̄
i,uv at the
last traffic assignment event. To ensure that the resources
for preceding assigned traffic are not released in the current
iteration, we have
zūv̄
i,uv ≥ ẑūv̄
i,uv , ∀i ∈ F̂, ∀(ū, v̄)
∈

(a, b)|a ∈ V̄i , b ∈ ηi (a), b  a

, ∀u, v ∈ V. (11)
In order to assure each directed link of a SRi is not mapped
to both directions of a physical link, we have
zūv̄
i,uv + zūv̄
i,vu ≤ 1, ∀i ∈ F, ∀(ū, v̄)
∈

(a, b)|a ∈ V̄i , b ∈ ηi (a), b  a

, ∀u, v ∈ V.
(12)
The following inequality ensures that each link of a SRi is
assigned on one path of the physical network.
u∈V v∈V
zūv̄
i,uv + zūv̄
i,vu ≥ 1,
∀(ū, v̄) ∈

(a, b)|a ∈ V̄i , b ∈ ηi (a), b  a

, ∀i ∈ F.
(13)
When a link is chosen, it must be ensured that the two
endpoints of the link are also chosen.
zūv̄
i,u zūv̄
i,v =

1, zūv̄
i,uv = 1, ∀ūv̄ ∈ L̄i , ∀u, v ∈ V, ∀uv ∈ L
0, otherwise
. (14)
Equation (15) ensures the bandwidth capacity constraint on
physical links uv when routing SRi :
ūv̄∈L̄i
Rbw
i zūv̄
i,uv ≤ rbw
i,uv Cbw
uv , ∀uv ∈ L. (15)
Equation (16) ensures the flow-table capacity constraint of
switch node u when routing SRi :
ūv̄∈L̄i
zūv̄
i,u ≤ r
ft
i,uCft
u , ∀u ∈ Ns. (16)
Equation (17) ensures the capacity constraint of CPU on the
selected VNF type p when routing SRi :
xū
i,mya
mR
cpu
i ≤ r
cpu
i,m κ
cpu
τ(m)
, ∀ū ∈ V̄i , ∀m ∈ M. (17)
To ensure the CPU capacity constraint holds when deploy-
ing VNF m on the function node, Eq. (18) should be satisfied.
ū∈V̄i m∈M
xū
i,mya
mym
u κ
cpu
τ(m)
≤ r
cpu
i,u Ccpu
u , ∀u ∈ Nf . (18)
The following equation ensures that the route path for SRi
is consecutive and cannot be split:
v∈V ūv̄∈L̄i
zūv̄
i,uv − zūv̄
i,vu =
⎧
⎨
⎩
1, u = Si
−1, u = Di
0, otherwise
. (19)
To guarantee that all function nodes containing the selected
VNF-instances of SRi are traversed by the route path, we have
xū
i,mym
u ≤ zūv̄
i,u , ∀u ∈ Nf
∀ū ∈ V̄i , ∀ūv̄ ∈ L̄i , ∀m ∈ M. (20)
The following equation ensures every requested VNF ū ∈
V̄i {Si , Di } on Ḡi must be mapped to a proper VNF type:
xū
i,mgū
i,p = qm
p , ∀i ∈ F, ū ∈ V̄i , m ∈ M, p ∈ P. (21)
As aforementioned, a given type of VNF can be deployed on
a specific set of function nodes, so we have following equation
qm
p = d
p
ζ(m)
. (22)
The following equation assures every requested VNF ū ∈
V̄i {Si , Di } on Ḡi may only get the service of one VNF
instance m:
m∈M
xū
i,m =

1, ū is in the service of VNF m
0, otherwise.
. (23)
We use the following uniqueness constraint to ensure that
every VNF instance m may only be accommodated on one
function node:
u∈Nf
ym
u = 1, ∀m ∈ M. (24)
The following equation ensures that the end-to-end delay
constraint of the selected path for SRi :
ūv̄∈L̄i uv∈L
δdelay
i,uv zūv̄
i,uv +
ū∈V̄i
δdelay
i,τ(ū)
≤ Rdelay
i . (25)
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4269
In the above equation, the first part is the propagation delay
of the links and the second part is the processing delay on the
VNF m.
The end-to-end packet loss rate constraint of the selected
path for SRi must be satisfied:

ūv̄∈L̄i

uv∈L
γloss
i,uv zūv̄
i,uv ≤ Rloss
i . (26)
In Eq. (26), as described in III-B, the packet loss rate on
the VNF processing is regarded as zero. We only consider
the packet loss rate on the links. Due to the Eq. (26) is non-
linear, we linearize it by taking logarithm on both sides of the
inequality,
ūv̄∈L̄i uv∈L
log γloss
i,uv zūv̄
i,uv ≤ log Rloss
i . (27)
In addition, the jitter constraint of the selected path for SRi
need be satisfied:
ūv̄∈L̄i uv∈L
jjitter
i,uv zūv̄
i,uv ≤ Rjitter
i . (28)
Finally, we define the deployment costs of VNFs on function
nodes u as follows.
Du =
m∈M|ya
m =1
Dpym
u qm
p (ya
m − ŷa
m). (29)
In the paper, we use the relative costs vbw
i,uv , v
ft
i,u and v
cpu
i,u to
characterize whether the nodes and links are congested or not.
We calculate the resource consumption and VNF placement
costs of the route path of SRi as follows.
C =
uv∈L ūv̄∈L̄i
vbw
i,uv zūv̄
i,uv +
u∈Ns ūv̄∈L̄i
v
ft
i,uzūv̄
i,u
+
u∈Nf ū∈V̄i m∈M
vcpu
i,m xū
i,mym
u ya
m +
u∈Nf ū∈V̄i
Du
(30)
In Eq. (30), the total cost C of the route path of SRi is
denoted as the sum of the relative cost of links and nodes
included in the path and the cost of VNFs deployment. If the
total cost C is small, it indicates that the path contains suffi-
cient remaining resources and fewer bottleneck links or nodes.
Employing this path to route SRi will not cause network con-
gestion. Otherwise, if the cost C is large, it represents the path
contains bottleneck links or nodes. We need to look for another
path with smaller C to avoid network congestion. Furthermore,
since we enumerate all pseudo-VNFs that can be deployed on
each function node, when routing SRi , the model may select
the existing VNFs with less resource consumption in the pro-
cess of path selection, or it may dynamically deploy VNFs on
function nodes to reduce network congestion and achieve load
balancing.
3) Optimization Problem: Based on the above discussion,
we can formulate our two optimization problems as follows.
(1) The Dynamical VNF Placement and Routing
Problem(DVPRP) in an NFV-Enabled SDN G(N, L)
with a set Nf and Ns for a SRi = Si , Di , Ψi , Rbw
i , R
cpu
i 
is formulated as Eq. (31):
Minimize C
s.t. Eq. (9) − (24) (31)
(2) The Delay and packet Loss Aware Dynamical VNF
Placement and Routing Problem(DLJA-DVPRP) in an NFV-
Enabled SDN G(N, L) with a set Nf and Ns for a SRi =
Si , Di , Ψi , Rbw
i , R
cpu
i , R
delay
i , Rloss
i , R
jitter
i  is formulated
as Eq. (32):
Minimize C
s.t. Eq. (9) − (25), (27) − (28) (32)
As the VNE problem [27] and the well-known Delay-
Constrained Shortest path Problem(DCSP) [28] are NP-hard,
VNE problem is a special case of our first problem and the
DCSP is a special case of our second problem, therefore, both
DVPRP and DLJA-DVPRP are NP-hard as well.
V. HEURISTIC OPTIMIZATION ALGORITHMS
In this section, we propose a heuristic algorithm to solve the
DVPRP and DLJA-DVPRP. Given a NFV-Enabled SDN G, a
batch of SRs and a set of VNF specifications, the algorithm
looks for the required number and locations of different types
of VNFs for SRs to minimize routing cost. It is implemented
by three steps, i) the G is modeled as an auxiliary edge-weight
graph G
i for SRi ; ii) the G
i is converted to VNF-Splited
Multi-Stage edge-Weight Graph (VSMSWG) 
Gi with associ-
ated costs; and iii) efficient algorithms are devised to seek a
near-optimal route path for SRi from the 
Gi .
A. Construction of Auxiliary Edge-Weight Graph
The fundamental idea of the proposed algorithm is to trans-
form the problem in G(N, L) into the problem of searching
the shortest path for SRi in a set of G
i = (V 
i , E
i ; ωi,e )
for SRi . In the following, we use the node splitting method
similar to [26] to construct the G
i .
We split each switch node v ∈ Ns into two nodes denoted
as v and v, and add them to V 
i . Then we add a directed
edge v, v to E
i . For each VNF m in function nodes Vfn, we
split m into two nodes m and m and add them to V 
i . Then
a directed edge m, m is added to E
i . For consistency, we
add a high-speed link between m and m, and we assume that
there are high-speed optical links between switch and servers
on function nodes. The capacity, delay, packet loss rate and
jitter on these high-speed links are not considered.
For each link uv ∈ L, we add an edge u, v to E
i ,
i.e., V 
i = {v, v|v ∈ V } ∪ {m, m|m ∈ M} and E
i =
{v, v|v ∈ V } ∪ {m, m|m ∈ M} ∪ {u, v|uv ∈
L}∪{m, m|m ∈ M}. Intuitively, in G
i , the edge v, v
represents switch node v, the edge m, m represents VNF
m and the link uv is represented by an edge u, v in G.
Fig. 4 gives an example of forming G
i .
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
4270 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021
Fig. 4. The construction of auxiliary edge-weight graph G
i .
When a SRi arrives, we assign cost weights to edge e ∈ E
i
as follows:
ωcost
i,e =
⎧
⎪
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎪
⎩

ωft
1−rft
i,v , if e =

v, v

∈ E
i
(ωbw )1−rbw
i,uv , if e =

u, v

∈ E
i

ωcpu
1−rcpu
i,m , if e =

m, m

∈ E
i ,

ya
m = 1, ya
m = 1
(33)
Especially, if e = m, m ∈ E
i , 
ya
m = 0, ya
m = 1,
ωcost
i,e =

ωcpu
1−rcpu
i,m + Dτ(m)
The above equation means that if VNF m do not exist or is
inactive, then its deployment cost Dτ(m) should be considered.
Additionally, since VNF m is on one function node, we set the
cost weight of m, m to 0.
Since the DLJA-DVPRP is to solve the minimum cost path
problem with the constraints of delay, packet loss rate and
jitter, we assign these weights for links e ∈ E
i in G
i as
follows.
ω
delay
i,e =
⎧
⎪
⎨
⎪
⎩
0, if e =

v, v

∈ E
i
δ
delay
uv , if e =

u, v

∈ E
i
δ
delay
τ(m)
, if e =

m, m

∈ E
i
(34)
ωloss
i,e =
⎧
⎨
⎩
0, if e =

v, v

∈ E
i
γloss
uv , if e =

u, v

∈ E
i
0, if e =

m, m

∈ E
i
(35)
ωjitter
i,e =
⎧
⎨
⎩
0, if e =

v, v

∈ E
i
γ
jitter
uv , if e =

u, v

∈ E
i
0, if e =

m, m

∈ E
i
(36)
As aforementioned, the performance of software and hardware
is getting better and better, in Eq. (34), so we set the delay
weight of edge v, v as 0, and in Eq. (35) and Eq. (36),
we set the packet loss and jitter weights of v, v, m, m
as 0.
B. Conversion of Auxiliary Graph
In order to ensure the candidate routing paths for SRi
to satisfy the predefined VNF order, we further convert G
i
to VNF-Splited Multi-Stage edge-Weight Graph (VSMSWG)
which is a directed graph composed of the entry node, egress
node and candidate VNF-instances for SRi , which is denoted
by 
Gi = (
Vi , 
Li ; ωi,
e), where 
u, 
v ∈ 
Vi denote two nodes,

e = 
u, 
v ∈ 
Li indicates a link on 
Gi , and ωi,
e denotes the
weight of the edge in the 
Gi .
We construct 
Gi by the following two processes. The first
process is to look for all the nodes required for SRi and place
them in the predefined order. First of all, we choose the entry
node Si and put it in the 1st column. Then, according to the
VNF request sequence Ψi = {Ψi (1), Ψi (2), . . . , Ψi (l)} of
SRi , we choose the VNF-instances of the same type of Ψi (1)
and put it in the 2nd column. After that, we split this column
into two columns and they are denoted as Ψi (1) and Ψi (1),
and the corresponding nodes 
u are split as two nodes, which
are denoted as 
u and 
u respectively. Next, we perform the
same manipulation in order on the VNF-instances of the same
type from Ψi (2) to Ψi (l). At last, we put the egress node Di
in the (2l + 2)th column.
The second process is to generate links for 
Gi . We first
connect Si with all the nodes 
u in the Ψi (1) column, then
we connect the nodes 
u in Ψi (1) column with the nodes 
u
in the Ψi (1) column by one to one. After that, we connect
every node 
u in the Ψi (1) column with all the nodes 
u in
the Ψi (2) by one to all. Next, we perform the same operation
sequentially until Ψi (l) column. At last, we connect all the
nodes 
u in the Ψi (l) column to Di . It is worth to noting
that the direction of all the generated links is from the node
in the previous column to the node in the next column. Fig. 5
shows an example of the above process.
In 
Gi , for brevity, we refer to the edge 
u
u as VNF-
derived edges, and the weight of 
u
u is identical to the
weight of mm in G
i . Besides the VNF-derived edges, each
link 
u
v is corresponding to a path generated by SP (e.g.,
Dijkstra) on G
i . We denote the path by pi (uv). The weight
of 
u
v is the sum of the weight of the path pi (uv) in
G
i , i.e., if 
e = 
u, 
v ∈ 
Li , ωi,
e =

e∈pi (uv)
ωi,e . The
following equations present the weights computation of the
links in 
Gi .
ωcost
i,
e =
 
ωcpu
1−rcpu
i,m , if 
e =


u, 
u

∈ 
Li

e∈pi (uv) ωcost
i,e , if 
e =


u, 
v

∈ 
Li
(37)
ωdelay
i,
e =

δdelay
τ(m)
, if 
e =


u, 
u

∈ 
Li

e∈pi (uv) ω
delay
i,e , if 
e =


u, 
v

∈ 
Li
(38)
ωloss
i,
e =

0, if 
e =


u, 
u

∈ 
Li

e∈pi (uv) ωloss
i,e , if 
e =


u, 
v

∈ 
Li
(39)
ωjitter
i,
e =

0, if 
e =


u, 
u

∈ 
Li

e∈pi (uv) ωjitter
i,e , if 
e =


u, 
v

∈ 
Li .
(40)
C. Heuristic Algorithm For DVPRP
Based on the relationship among G, G and 
G, the rel-
ative costs of resource consumption are all transformed and
denoted by the links on 
G. Since all candidate VNF-instances
of SRi are laid by the predetermined order on 
G, we can
find a routing path 
pi on 
Gi which satisfies the following
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4271
Fig. 5. Solving DVPRP and DLJA-DVPRP on 
Gi .
equation,
Minimize

e∈
pi
ωcost
i,
e (41)
which implies that an optimal solution for SRi is obtained.
We can get the final routing path for SRi by mapping path 
pi
to original network G.
Fig. 5 shows an example for routing the SRi on the

Gi . In Fig. 5, the SRi starts from the entry node Si and
requires for passing through the VNF-instances in the order of
Ψi (1), Ψi (2), Ψi (3) before arriving at node Di . We suppose
Si → VNF11 → VNF21 → VNF32 → Di is the minimum
cost path calculated by Eq. (41). According to Fig. 5, it
implies that SRi will be processed by VNF11, VNF21 and
VNF32 on some function nodes. We can map this path 
pi
to original network G and get the routing path for SRi . It
is worth noting that some VNFs may not exist or not be
active on G when routing SRi , i.e., its pseudo VNF, and we
can deploy them immediately and dynamically on function
nodes.
In the path set composed by each combination of VNF-
instances on 
G, only one path not only satisfies the require-
ment of SR, but also has the lowest cost. The path set is just
a subset of the original network graph G. Hence, 
G supplies
a concise view of the network topology by eliminating sub-
optimal solution, which enables us to calculate the path more
efficiently.
The detailed algorithm for DVPRP is given in Algorithm 1.
In the Alg. 1, we first enumerate all possible VNFs that can
be deployed on each function node according to the resource
capacity of the function node and the resource demands of a
type of VNF (line 1). Then, we construct the G
i by removing
all the nodes and links which have no sufficient resources for
serving SRi (line 2). Next, we invoke Alg. 2 to construct 
Gi
(line 3) and find the minimum cost path 
pi in 
Gi (line 4).
Finally, we admit the SRi and map the 
pi to G and update
resource remaining ratios or reject request SRi (lines 5-10).
Theorem 1: The time-complexity of DVPR-A is
O(|Vfn|2 + |Vfn|2(|L| + |V| log |V|)).
Algorithm 1 The Dynamical VNF Placement and Routing
Algorithm (DVPR-A) for SRi
Input: NFV-Enabled SDN: G = (V, L),
Flow request: SRi =

Si , Di , Ψi , Rbw
i , R
cpu
i

,
Resource capacities: Cbw
uv , C
ft
u , C
cpu
u , κ
cpu
τ(m)
,
Resource remaining ratios: rbw
i,uv , r
ft
i,u, r
cpu
i,u , r
cpu
i,m .
Output: Admit or reject the request SRi .
1: According to IV-A, enumerate all possible VNFs which
can be deployed on each function node in G;
2: Calculate ωi,e based on Eq. (33) and construct G
i from a
subgraph of G by removing all the nodes and links which
have no sufficient resources to serve SRi ;
3: Construct VSMSWG 
Gi based on G
i by Alg. 2
4: Find the minimum cost path 
pi in 
Gi based on Eq. (41);
5: if 
pi exists then
6: A routing walk p in G for SRi is mapped by replacing
each edge in 
pi with its corresponding shortest path in
G;
7: Update rbw
i,uv , rft
i,u, rcpu
i,u and rcpu
i,m ;
8: else
9: Routing failed, reject request SRi ;
10: Return;
11: end if
Proof: When executing DVPR-A, firstly, we need to enu-
merate all possible VNFs which can be deployed on each func-
tion node in G and the complexity is O(|Vfn|). Secondly, the
complexity of calculating the relative cost of links and nodes in
G is O(|Vsn|+|M|+|L|). Thirdly, in the worst case, all types
of VNF-instances can be deployed on every function node, and
the SP algorithm will be executed (l −1)|Vfn|2 +2|Vfn| times
to generate the links on 
G. Due to the complexity of the SP
is O(|L| + |V| log |V|) on G, the complexity of establish-
ing 
G is O((l − 1)|Vfn|2(|L| + |V| log |V|)). At last, 
G has
2l|Vfn| + 2 nodes and (l − 1)|Vfn|2 + l|Vfn| + 2|Vfn| links
at most, therefore, the running time is O(((l − 1)|Vfn|2 +
l|Vfn|+2|Vfn|)+(2l|Vfn|+2) log(2l|Vfn|+2)) = O(l|Vfn|2+
l|Vfn| log(l|Vfn|)). The complexity for path mapping and
resource updating is O(1). Since l indicates the length of SRi ,
its value is small and finite. Therefore, the complexity of the
DVPR-A is O(|Vfn|2 + |Vfn|2(|L| + |V| log |V|)).
Alg. 2 describes the establishment of 
Gi according to the
weight of links ωcost
i,
e , ωdelay
i,
e , ωloss
i,
e , ωjitter
i,
e . Lines 1-3 of the
algorithm record sequentially VNF-instances of the same type
Ψi in ξ. Then, the entry node Si and egress node Di are added
to ξ(1) and ξ(l + 2) (lines 4-5). After that, the algorithm uses
the SP to generate the links for 
Gi (lines 6-13). Each VNF
instance in ξ is split into two nodes and connected by one to
one and assigned corresponding weight (lines 14-18). Finally,
the 
Gi is obtained (line 19).
D. Solution for DLJA-DVPRP
DLJA-DVPRP is a Multiple Qos-Constraints Routing
Problem and it is NP-hard. As the LAgrange Relaxation-based
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
4272 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021
Algorithm 2 Construct VSMSWG 
Gi
Input: Auxiliary Graph :G
i =

V 
i , E
i ; ωi,e

,
Flow request: SRi ;
Output: 
Gi = 
Vi , 
Li , ωi,
e ;
1: for j = 1 to l do
2: Recording the VNF-instances of the same type Ψj of
network G into ξ(j + 1);
3: end for
4: ξ(1) = Si ;
5: ξ(l + 2) = Di
6: for j = 1 to l + 1 do
7: while 
u ∈ ξ(j) do
8: while 
v ∈ ξ(j + +) do
9: Invoke SP Dijkstra algorithm to calculate ωcost
i,
e ,
ωdelay
i,
e , ωloss
i,
e , ωjitter
i,
e based on Eq. (37)-(39) in 
G,
respectively;
10: Connect 
u
v and assign these values to the edges.
11: end while
12: end while
13: end for
14: for j = 2 to l + 1 do
15: Split ξ(j + 1) to 
u and 
u;
16: Connect 
u and 
u by one to one as an edge;
17: Assign the values ωcost
i,
e , ωdelay
i,
e , ωloss
i,
e and ωjitter
i,
e based
on Eq. (37)-(40) to the edge 
u
u;
18: end for
19: return 
Gi = 
Vi , 
Li , ωi,
e ;
Aggregated Cost (LARAC) [28] has been regarded as among
the best central routing algorithms for finding an approximate
solution to a Constrained Shortest Path (CSP) problem [29].
We define LARAC’s multi-constrained version to solve our
DLJA-DVPRP.
1) Transforming the DLJA-DVPRP to ILP: We first
reduce the original problem to the following ILP based on
the 
Gi .
min

e∈ 
Li
ωcost
i,
e x
e
S.t.
⎧
⎪
⎪
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎪
⎪
⎩
C1 :


e∈ 
Li
ωdelay
i,
e x
e ≤ Rdelay
i
C2 :


e∈ 
Li
ωloss
i,
e x
e ≤ Rloss
i
C3 :


e∈ 
Li
ω
jitter
i,
e x
e ≤ R
jitter
i
x
e =

0, 
e /
∈ 
pi
1, 
e ∈ 
pi
(42)
where x
e represents whether the path 
pi contains the link 
e ∈

Li or not, and C1, C2 and C3 ensure the path satisfies the
QoS constraints of SRi . As the constraint C2 is nonlinear, we
handle the C2 by taking logarithm on two sides and transform
it from multiply into addition. The transformed C2 becomes


e∈ 
Li
log(ωloss
i,
e )x
e ≤ log Rloss
i .
2) Lagrange Relaxation: Let μ, ν and γ ∈ R+ be the
Lagrange multipliers for constraints C1-C3, respectively.
Thus, our ILP reduces to the following Lagrange dual problem.
L(μ, ν, γ) = min
⎡
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣


e∈ 
Li
ωcost
i,
e x
e
+μ



e∈ 
Li
ω
delay
i,
e x
e − R
delay
i

+ν



e∈ 
Li
log ωloss
i,
e x
e − log Rloss
i

+γ



e∈ 
Li
ωjitter
i,
e x
e − Rjitter
i

⎤
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
= min
⎡
⎢
⎣


e∈ 
Li
ωcost
i,
e + μωdelay
i,
e + ν log ωloss
i,
e + γωjitter
i,
e
x
e − μR
delay
i + ν log Rloss
i + γR
jitter
i
⎤
⎥
⎦
(43)
Since μR
delay
i + ν log Rloss
i + γR
jitter
i is a constant. The
optimal solution of function (43) is equal to the function 44:
min

e∈ 
Li
ωcost
i,
e + μω
delay
i,
e + ν log ωloss
i,
e + γω
jitter
i,
e x
e
(44)
It is also equivalent to the shortest path between Si
and Di with the cost of the links given by the
weight:ωcost
i,
e + μωdelay
i,
e + ν log(ωloss
i,
e ) + γωjitter
i,
e .
3) Algorithm For DLJA-DVPRP Based on Sub-Gradient
Optimization: The pseudo-code of Algorithm 3 to solve
DLJA-DVPRP is described as follows. Firstly, we construct

Gi (lines 1-3), which are identical with the lines 1-3 of Alg. 1.
Then, we utilize a sub-gradient descent method [30] to search
the solution space of the dual problem Eq. (43). All the
Lagrange multipliers are initialized and the Upper Bound (UB)
for the sub-gradient descent algorithm is set as the product of
the number of edges in 
Gi and the maximum cost among all
edges(line 4). As we find a feasible path while iterating (lines
6-14), we update the UB with the cost of that feasible path
(line 12). The A, B and C denote the sub-gradients for the
relaxed constraints C1, C2, C3 and be computed (line 7) as
follows:
A =
∂L(μ, ν, γ)
∂μ
=

e∈
pj
i
ω
delay
i,
e − R
delay
i (45)
B =
∂L(μ, ν, γ)
∂ν
=

e∈
pj
i
log ω
delay
i,
e − log R
delay
i (46)
C =
∂L(μ, ν, γ)
∂γ
=

e∈
pj
i
ωjitter
i,
e − Rjitter
i (47)
The optimal solution judgment rule of Lagrange dual function
is used to judge whether the path 
pi is the optimal path (line 9).
The scalar step size σ is computed by:
σ =
UB − LB
A2 + B2 + C2
(48)
The step size depends upon the difference between the current
UB and the current LB with A2 + B2 + C2 being the scaling
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4273
factor. The Lagrange multipliers are updated (Line 20) and
the Lagrange dual function is solved again with this new set
of multipliers. In the iteration process, the optimal path (line
10) or suboptimal but feasible path (line 12) is recorded in
candidate path set Φ. The iteration is terminated if it runs a
predefined K times or it meets the optimality condition (line
9). It is worth noting that when the step size is very small, the
Lagrange multiplier’s adjustment is very small. Therefore, we
directly terminate the iteration when σ  0.01 (lines 17-18).
After completing at most K times of iterations, we select
one path with minimum cost from the path set Φ as our
optimal solution and we map this path to original network
(lines 22-32). Finally, we update the resource remaining ratios
and terminate the algorithm. The SRi will be rejected if there
isn’t available path in Φ (line 30).
Theorem 2: The time-complexity of DLJA-DVPR-A is
O(K|Vfn|2 + |Vfn|2(|L| + |V| log |V|)).
Proof: When executing DLJA-DVPR-A, the complexity
of establishing 
G is the same as that of DVPR-A, it is
O((l − 1)|Vfn|2(|L| + |V| log |V|)). At last, 
G has 2l|Vfn| + 2
nodes and (l − 1)|Vfn|2 + l|Vfn| + 2|Vfn| links at most,
in the worst case, the DLJA-DVPR-A will be iterated K
times for obtaining the solution, therefore, the running time
is O(K(((l − 1)|Vfn|2 + l|Vfn| + 2|Vfn|) + (2l|Vfn| +
2) log(2l|Vfn| + 2))) = O (K(l|Vfn|2 + l|Vfn| log(l|Vfn|))).
The complexity for path mapping and resource updating is
O(1). Since l indicates the length of SRi , its value is small
and finite. Therefore, the complexity of the DLJA-DVPR-A is
O(K|Vfn|2 + |Vfn|2(|L| + |V| log |V|)).
VI. PERFORMANCE EVALUATION
The section discusses the performance comparison with
existing algorithms.
A. Simulation Settings
1) Topology Settings: We use Python NetworkX 2.4
Library [31] to generate network topologies and evaluate our
proposed algorithms. A U.S. carrier network topology called
CORONET CONUS Topology [6], [32], composed by 60
nodes and 79 links, is used as our network graph. In the
network, we choose the first 30% of nodes which are sorted
in descending order based on the node degree as function
nodes [6]. We consider six types of VNFs: Firewall, Proxy,
NAT, IDS, IPS and gateways, and the CPU requirements of
these VNFs are 1600MIPS, 1600MIPS, 800MIPS, 3200MIPS,
2400MIPS, and 1600MIPS, respectively [8]. The deployment
cost (Dp) of VNF of type p is set as the product of a ran-
domly distributed constant from 0 to 10 and the value of
Rcpu
i . The bandwidth of each link varies from 1 Gbps to 10
Gbps [33]. The flow-table capacity on switch nodes is set as
800 units [34] and the CPU capacity on function nodes is set
as 8000 MIPS [24]. The delay of a link is between 2 ms and
5 ms [33], the packet loss rate of each link is between 0 and
0.0005 and the jitter of each link is between 0.5 ms and 2 ms
randomly. The ωbw , ωft , ωcpu are set as 2|V| [5], [26].
2) SFC Request Settings: For each SR, the bandwidth
demand Rbw
i varies from 10 to 120Mbps [35]. The CPU
Algorithm 3 The Dynamical VNF Placement and Routing
Algorithm (DLJA-DVPR-A) for SRi
Input: NFV-Enabled SDN: G = (V, L),
Flow request:
SRi =

Si , Di , Ψi , Rbw
i , Rcpu
i , Rdelay
i , Rloss
i , Rjitter
i

,
Resource capacities: Cbw
uv , Cft
u , Ccpu
u , κcpu
τ(m)
,
Resource remaining ratios: rbw
i,uv , rft
i,u, rcpu
i,u , rcpu
i,m ,
Iteration times: K.
Output: Admit or reject the request SRi .
1: According to IV-A to enumerate all possible VNFs which
can be deployed on each function node in G;
2: Calculate ωi,e based on Eq. (33) and construct G
i from a
subgraph of G by removing all the nodes and links without
sufficient resources to serve SRi ;
3: Construct VSMSWG 
Gi based on G
i ; Alg. 2
4: Initialize μ, ν, γ, UB = |E| max
e∈ 
Li
ωcost
i,
e ,
Φ as ∅;
5: for j = 1 to K do
6: Find the shortest path 
pi based on 
Gi by the each edge
weight as (ωcost
i,
e + μω
delay
i,
e + ν log(ωloss
i,
e ) + γω
jitter
i,
e )
;
7: Compute A, B, C based on Equ. 45-47 ;
8: if A ≤ 0 and B ≤ 0 and C ≤ 0 then
9: if (μ == 0 or A == 0) and (ν == 0 or B == 0)
and (γ == 0 or C == 0) then
10: Φ ← 
pi ; break;
11: else
12: Φ ← 
pi ; UB =


e∈
pi
ωcost
i,
e ;
13: end if
14: end if
15: LB =


e∈
pj
i
ωcost
i,
e + μA + νB + γC ;
16: σ = UB−LB
A2+B2+C2 ;
17: if σ  0.01 then
18: break;
19: end if
20: μ = μ + max(0, σ × A); ν = ν + max(0, σ × B);
γ = γ + max(0, σ × C);
21: end for
22: if ∼Isempty(Φ) then
23: for j = 0 to | Φ | do
24: choose minimum cost path 
pi in Φ;
25: end for
26: A routing walk p in G for SRi is mapped by replacing
each edge in 
pi with its corresponding shortest path in
G;
27: Update rbw
i,uv , r
ft
i,u, r
cpu
i,u and r
cpu
i,m ;
28: Return;
29: else
30: Routing fails and request SRi is rejected;
31: Return;
32: end if
demand R
cpu
i equals to the product of a randomly distributed
constant from 0 to 10 and the value of Rbw
i . The unit of R
cpu
i
is MIPS [36]. R
delay
i is set between 50ms and 100ms [37],
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
4274 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021
Rloss
i is set between 0.001 and 0.002 and R
jitter
i is set between
10ms and 40ms. In addition, we set the length of SFC and the
maximum number of DLJA-DVPR-A iterations K as 4 and 5,
respectively. We will use the average of the results out of 30
times experiment as the value in each figure.
3) Comparison Algorithm:
• MCQRA [11]: The Min-Cost QoS Routing Algorithm
(MCQRA) utilizes Lagrange relaxation method, and con-
siders the delay and packet loss constraints on links,
but does not concern the flow-table resources and CPU
resources on nodes, and did not involve the dynamic
placement of VNF and link jitter.
• RA-RA [6]: The CPU, flow-table, link bandwidth
resources are all transformed as links where each link is
given a cost based on the ratio of the remaining capacity
to the total capacity. Then, SP algorithm is used to find a
path with the lowest cost to route SR. However, dynamic
placement of VNF, packet loss rate and link jitter are not
involved.
• COATS [20]: The usage cost is calculated according
to the remaining bandwidth of the physical link. Then,
COATS uses a hierarchical graph to choose a path with
the lowest cost to route SR. COATS only considers the
cost of using link resources, but does not consider the
cost of flow table resources on switching nodes and CPU
resources on functional nodes.
• SP [19]: The SP utilizes the Dijkstra shortest path algo-
rithm based on the number of hops to choose appropriate
VNF-instances and route a SR.
B. Performance Comparison
1) Comparison of Average Acceptance Rate, Throughput
and Hop Count: Fig. 6(a) shows the comparison on aver-
age acceptance traffic rate among the algorithms of MCQRA,
RA-RA, COATS, SP and ours. We can observe that when the
number of incoming SRs is 8000, the performance of DVPR-A
is the best, which accepts about 4% SRs more than DLJA-
DVPR-A. The acceptance traffic rate of DLJA-DVPR-A is
about 2% higher than MCQRA, about 6% higher than RA-RA,
about 12% higher than COATS and about 25% higher than
SP. In DVPR-A and DLJA-DVPR-A, we achieve dynamical
placement of VNF and load balancing, which presents the
better performance. However, the DVPR-A does not consider
the QoS constraints, it’s performance is better than DLJA-
DVPR-A. Both DLJA-DVPR-A and MCQRA consider QoS
constraints during routing, due to DLJA-DVPR-A may dynam-
ically place VNF, the performance of DLJA-DVPR-A is better
than that of MCQRA.
Fig. 6(b) demonstrates the comparison on average traffic
throughput. When the number of incoming SRs is 6400, the
throughput of DVPR-A is about 5 Gbps higher than DLJA-
DVPR-A, 9 Gbps higher than MCQRA, 14 Gbps higher than
RA-RA, 20 Gbps higher than COATS and 35 Gbps higher than
SP. Since COATS and SP cannot ensure the balanced usage
of network resources, their performance is worse than that of
RA-RA. In MCQRA, the VNFs are fixed and cannot be scaled
dynamically on function nodes, the throughout is lower than
DLJA-DVPR-A and DVPR-A.
Fig. 6(c) illustrates the comparison on average cumulative
hop count when receiving 4000 SRs. Since SP always looks
for the paths based on the smallest hop counts for SRs, its
performance is better than other algorithms, and there is about
80% of the SRs which traverse less than 12 hops. In addition,
since the DVPR-A can dynamically place VNF in function
nodes, it surpasses COATS and RA-RA. Due to the fact that
MCQRA needs to consider simultaneously resources and the
Qos constraints and can’t dynamically place VNF in function
nodes when routing SR, it’s performance is the worst.
2) CDF Comparison of Remaining Bandwidth, Flow-Table
Entries and CPU: Fig. 7(a) demonstrates the CDF of the aver-
age remaining bandwidth of links when 5000 SRs enter the
network. The SP has about 14% bottleneck links while other
algorithms do not. In addition, for COATS, the network has
about 63% of links whose remaining bandwidth is from 4Gbps
to 8Gbps, with regard to DVPR-A, RA-RA, DLJA-DVPR-
A,MCQRA, it is about 52%, 40%, 35%, 31%,respectively,
and for SP, it has only 27%. Obviously, the utilization of
link resources in COATS is more balanced than DVPR-
A and DLJA-DVPR-A. This is because that DVPR-A and
DLJA-DVPR-A consider not only the utilization of bandwidth
resources on links, but also the utilization of flow-table entries
and CPU on nodes.
Fig. 7(b) describes the CDF of average remaining flow-
table entries when 4000 SRs enter the network. We can see
that COATS and SP have about 8% and 13% bottlenecks
switch nodes. Furthermore, COATS has about 60% of the
switch nodes whose remaining flow-table entries is less than
400 units, which is 49% for SP, 45% for MCQRA, 42% for
DLJA-DVPR-A, 35% for RA-RA, 30% for DVPR-A, there is
a similar trend in 600 units. The performance of DVPR-A is
superior to that of other algorithms.
Fig. 7(c) shows the CDF of average remaining CPU on
function nodes when 4000 SRs enter the network. We can
find that SP has worst performance and DVPR-A outperforms
other algorithms. Due to that SP and COATS cannot ensure the
balanced use of CPU on function nodes, there are about 14%
and 10% bottleneck nodes for SP and COATS, respectively.
For DVPR-A, the network has about 79% of function nodes
whose remaining CPU is between 1600 and 4000 MIPS, which
is just about 67% for RA-RA, 56% for DLJA-DVPR-A, 52%
for MCQRA, 44% for COATS and 38% for SP.
3) Comparison of Average Acceptance Rate: The results
are shown In Fig. 8 when 8000 SRs are randomly entering
the network.
Fig. 8(a) depicts the average acceptance rate in various
length of SR. As the network resource consumed by SR
increases with the length of SFC, therefore, the traffic accep-
tance rate will decrease rapidly. Since MCQRA, COATS and
SP cannot balance the utilization of the flow-table and CPU
resources, their performance is worse. Although RA-RA also
considers the balance of resources, the VNFs are fixed on
function nodes, and its performance is lower than DVPR-A
and DLJA-DVPR-A. In addition, due to that DLJA-DVPR-A
needs to consider the constraints delay and packet loss rate,
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4275
Fig. 6. The comparison of traffic acceptance rate, throughput and path hop count.
Fig. 7. Cumulative Distribution Function (CDF) of average remaining bandwidth, flow-table entries and CPU.
Fig. 8. The comparison of average acceptance rate in various parameters.
its performance is slightly lower than DVPR-A with the SFC
length of SR increasing.
Fig. 8(b) demonstrates the average acceptance rate in vari-
ous proportion of function nodes. In the network, the higher
the proportion of functional nodes is, the more nodes can
dynamically deploy VNF-instances. SR can choose redun-
dantly VNF-instances to meet its predetermined order, and the
average traffic acceptance rate of these algorithms is higher,
and vice versa, the lower it will be. The results show that when
the proportion of function nodes is from 10% to 20%, the traf-
fic acceptance rate of these algorithms is relatively low, and the
performance gap is small. However, when the proportion of
function nodes increases to more than 20%, the performance
gap of these algorithms becomes more and more obvious.
Fig. 8(c) illustrates the average acceptance rate of DVPR-
A and DLJA-DVPR-A by varying the value of ω in
Eq. (6), (7), (8) between 2|V| and 8|V|. We can see that
DVPR-A and DLJA-DVPR-A will accept less SRs with the
ω increasing. For example, when ω = 2|V| and ω = 8|V|, the
average acceptance rate for DVPR-A is 62% and 40%, and
Fig. 9. The comparison of execution time.
58% and 25% for DLJA-DVPR-A. This is because the usage
cost of resources becomes larger as the value of ω increases,
which results in low acceptance rate.
4) Comparison of Execution Time: We solve our ILP
problem (Here,we call it as DLJA-ILP) by calling CPLEX via
Python, and due to the time complexity of DLJA-DVPR-A,
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
4276 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021
DVPR-A and MCQRA is the same, we only compare the exe-
cution time of the heuristic algorithms RARA, DLJA-DVPR-A
and DLJA-ILP under different network sizes. The results are
shown In Fig. 9.
Under the same conditions, with the increase of the number
of network nodes, the execution time of DLJA-ILP increases
exponentially, while RA-RA and DLJA-DVPR-A increase in
square and cubic order respectively, which is consistent with
the theoretical time complexity. With the increase of network
size, the time complexity of each algorithm is much different.
VII. CONCLUSION
This paper studies the routing problem for SR by jointly
considering Dynamical VNF placement and multiple QoS
constraints in NFV-Enabled SDNs. We first define two rout-
ing problems with and without the constraints of end-to-end
delay and packet loss rate, and formulate them as ILP mod-
els. For the incoming SR, in order to minimize the routing
cost calculated based on the resources of CPU on function
nodes, bandwidth on links, flow-table on switch nodes and
VNF deployment on function nodes, we propose a general
optimization structure and devise effective VNF dynamical
placement and routing algorithms to solve the admission of
a SR. Especially, we utilize Lagrange relaxation method to
address the delay and packet loss aware VNF dynamical place-
ment and routing problem. Finally, the performance of the
algorithms are evaluated by experiment simulation. Compared
with other existing algorithms, simulation results show that our
algorithms have better performance on average acceptance rate
and remaining bandwidth of links. In the future, we will study
whether the proposed optimization structure can be extended
for multicast routing of SR with and without the constraints of
end-to-end delay and packet loss rate in NFV-Enabled SDNs.
REFERENCES
[1] M. M. Tajiki, S. Salsano, L. Chiaraviglio, M. Shojafar, and B. Akbari,
“Joint energy efficient and QoS-aware path allocation and VNF place-
ment for service function chaining,” IEEE Trans. Netw. Service Manag.,
vol. 16, no. 1, pp. 374–388, Mar. 2019.
[2] N. Mckeown et al., “OpenFlow: Enabling innovation in campus
networks,” ACM SIGCOMM Comput. Commun. Rev., vol. 38, no. 2,
pp. 69–74, 2008.
[3] S. Kulkarni, M. Arumaithurai, K. K. Ramakrishnan, and X. Fu, “Neo-
NSH: Towards scalable and efficient dynamic service function chaining
of elastic network functions,” in Proc. 20th Conf. Innov. Clouds Internet
Netw. (ICIN), 2017, pp. 308–312.
[4] H. Tang, D. Zhou, and D. Chen, “Dynamic network function instance
scaling based on traffic forecasting and VNF placement in operator data
centers,” IEEE Trans. Parallel Distrib. Syst., vol. 30, no. 3, pp. 530–543,
Mar. 2019.
[5] M. Jia, W. Liang, M. Huang, Z. Xu, and Y. Ma, “Routing cost
minimization and throughput maximization of NFV-enabled unicast-
ing in software-defined networks,” IEEE Trans. Netw. Service Manag.,
vol. 15, no. 2, pp. 732–745, Jun. 2018.
[6] J. Pei, P. Hong, K. Xue, and D. Li, “Resource aware routing
for service function chains in SDN and NFV-enabled network,”
IEEE Trans. Services Comput., early access, Jun. 22, 2018,
doi: 10.1109/TSC.2018.2849712.
[7] Y. Li, L. T. X. Phan, and B. T. Loo, “Network functions virtualization
with soft real-time guarantees,” in Proc. 35th Annu. IEEE Int. Conf.
Comput. Commun., Apr. 2016, pp. 1–9.
[8] F. Bari, S. R. Chowdhury, R. Ahmed, R. Boutaba, and
O. C. M. B. Duarte, “Orchestrating virtualized network func-
tions,” IEEE Trans. Netw. Service Manag., vol. 13, no. 4, pp. 725–739,
Dec. 2016.
[9] H. Feng, J. Llorca, A. M. Tulino, D. Raz, and A. F. Molisch,
“Approximation algorithms for the NFV service distribution problem,”
in Proc. IEEE Conf. Comput. Commun., 2017, pp. 1–9.
[10] D. Chemodanov, P. Calyam, and F. Esposito, “A near optimal reli-
able composition approach for geo-distributed latency-sensitive service
chains,” in Proc. IEEE Conf. Comput. Commun., 2019, pp. 1792–1800.
[11] K. Liu, Y. Cao, Y. Liu, G. Xie, and C. Wu, “A novel min-cost QoS
routing algorithm for SDN-based wireless mesh network,” in Proc. 2nd
IEEE Int. Conf. Comput. Commun., 2016, pp. 1998–2003.
[12] S. Agarwal, F. Malandrino, C. F. Chiasserini, and S. De, “VNF place-
ment and resource allocation for the support of vertical services in
5G networks,” IEEE/ACM Trans. Netw., vol. 27, no. 1, pp. 433–446,
Feb. 2019.
[13] Q. Zhang, F. Liu, and C. Zeng, “Adaptive interference-aware VNF place-
ment for service-customized 5G network slices,” in Proc. IEEE Conf.
Comput. Commun., Apr. 2019, pp. 2449–2457.
[14] D. Bhamare, M. Samaka, A. Erbad, R. Jain, L. Gupta, and H. A. Chan,
“Optimal virtual network function placement in multi-cloud service
function chaining architecture,” Comput. Commun., vol. 102, pp. 1–16,
Apr. 2017.
[15] D. Li, P. Hong, K. Xue, and j. Pei, “Virtual network function placement
considering resource optimization and SFC requests in cloud datacen-
ter,” IEEE Trans. Parallel Distrib. Syst., vol. 29, no. 7, pp. 1664–1677,
Jul. 2018.
[16] L. Qu, C. Assi, and K. Shaban, “Delay-aware scheduling and
resource optimization with network function virtualization,” IEEE Trans.
Commun., vol. 64, no. 9, pp. 3746–3758, Sep. 2016.
[17] A. Khosravi, L. L. H. Andrew, and R. Buyya, “Dynamic VM place-
ment method for minimizing energy and carbon cost in geographically
distributed cloud data centers,” IEEE Trans. Sustain. Comput., vol. 2,
no. 2, pp. 183–196, Apr.–Jun. 2017.
[18] M. Shojafar, N. Cordeschi, and E. Baccarelli, “Energy-efficient adap-
tive resource management for real-time vehicular cloud services,” IEEE
Trans. Cloud Comput., vol. 7, no. 1, pp. 196–209, Jan.–Mar. 2019.
[19] Opendaylight. Accessed: Mar. 25, 2020. [Online]. Available:
https://www.opendaylight.org/
[20] Z. Cao, M. Kodialam, and T. V. Lakshman, “Traffic steering in software
defined networks: Planning and online routing,” SIGCOMM Comput.
Commun. Rev., vol. 44, no. 4, pp. 65–70, Aug. 2014.
[21] M. Huang, W. Liang, Z. Xu, and S. Guo, “Efficient algorithms for
throughput maximization in software-defined networks with consoli-
dated middleboxes,” IEEE Trans. Netw. Service Manag., vol. 14, no. 3,
pp. 631–645, Sep. 2017.
[22] L. Wang, Z. Lu, X. Wen, R. Knopp, and R. Gupta, “Joint optimization
of service function chaining and resource allocation in network function
virtualization,” IEEE Access, vol. 4, pp. 8084–8094, 2016.
[23] H. Huang, S. Guo, J. Wu, and J. Li, “Joint middlebox selection and rout-
ing for software-defined networking,” in Proc. IEEE Int. Conf. Commun.
(ICC), May 2016, pp. 1–6.
[24] T. Kuo, B. Liou, K. C. Lin, and M. Tsai, “Deploying chains of vir-
tual network functions: On the relation between link and server usage,”
IEEE/ACM Trans. Netw., vol. 26, no. 4, pp. 1562–1576, Aug. 2018.
[25] L. Liu, S. Guo, G. Liu, and Y. Zeng, “Priority-based online flow
scheduling for network throughput maximization in software defined
networking,” Concurrency Comput. Pract. Exp., vol. 32, no. 9, 2020,
Art. no. e5633.
[26] M. Huang, W. Liang, Z. Xu, W. Xu, S. Guo, and Y. Xu, “Dynamic rout-
ing for network throughput maximization in software-defined networks,”
in Proc. 35th Annu. IEEE Int. Conf. Comput. Commun., 2016, pp. 1–9.
[27] N. M. K. Chowdhury and R. Boutaba, “A survey of network virtualiza-
tion,” Comput. Netw., vol. 54, no. 5, pp. 862–876, 2010.
[28] A. Juttner, B. Szviatovski, I. Mecs, and Z. Rajko, “Lagrange relaxation
based method for the QoS routing problem,” in Proc. IEEE INFOCOM,
vol. 2, Apr. 2001, pp. 859–868.
[29] J. W. Guck, A. Van Bemten, M. Reisslein, and W. Kellerer, “Unicast QoS
routing algorithms for SDN: A comprehensive survey and performance
evaluation,” IEEE Commun. Surveys Tuts., vol. 20, no. 1, pp. 388–415,
1st Quart., 2018.
[30] S. Boyd, L. Xiao, and A. Mutapcic, “Subgradient methods,” Lecture
Notes ee392o, Stanford University, Stanford, CA, USA, 2004.
[31] Networkx2.4. Accessed: Mar. 25, 2020. [Online]. Available:
https://pypi.org/project/networkx/
[32] Sample Optical Network Topology Files. Accessed: Mar. 25, 2020.
[Online]. Available: http://www.monarchna.com/topology.html
[33] S. Knight, H. X. Nguyen, N. Falkner, R. Bowden, and M. Roughan,
“The Internet topology zoo,” IEEE J. Sel. Areas Commun., vol. 29, no. 9,
pp. 1765–1775, Oct. 2011.
[34] K. He et al., “Measuring control plane latency in SDN-enabled
switches,” in Proc. 1st ACM SIGCOMM Symp. Softw. Defined Netw.
Res., 2015, p. 25.
[35] “Amazon EC2 instance configuration,” Amazon Web
Services, Seattle, WA, USA, 2016. [Online]. Available:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-ec2-
config.html
[36] D. Kliazovich, P. Bouvry, and S. U. Khan, “Greencloud: A packet-
level simulator of energy-aware cloud computing data centers,” J.
Supercomput., vol. 62, no. 3, pp. 1263–1283, Dec. 2012.
[37] L. Pantel and L. C. Wolf, “On the impact of delay on real-time multi-
player games,” in Proc. 12th Int. Workshop Netw. Oper. Syst. Support
Digit. Audio Video, 2002, pp. 23–29.
Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.

More Related Content

Similar to Joint_Dynamical_VNF_Placement_and_SFC_Routing_in_NFV_Enabled_SDNs.pdf

ENHANCING AND MEASURING THE PERFORMANCE IN SOFTWARE DEFINED NETWORKING
ENHANCING AND MEASURING THE PERFORMANCE IN SOFTWARE DEFINED NETWORKINGENHANCING AND MEASURING THE PERFORMANCE IN SOFTWARE DEFINED NETWORKING
ENHANCING AND MEASURING THE PERFORMANCE IN SOFTWARE DEFINED NETWORKING
IJCNCJournal
 
A Fuzzy Based Dynamic Queue Management Approach to Improve QOS in Wireless se...
A Fuzzy Based Dynamic Queue Management Approach to Improve QOS in Wireless se...A Fuzzy Based Dynamic Queue Management Approach to Improve QOS in Wireless se...
A Fuzzy Based Dynamic Queue Management Approach to Improve QOS in Wireless se...
IJARIDEA Journal
 
Multipath qos aware routing protocol
Multipath qos aware routing protocolMultipath qos aware routing protocol
Multipath qos aware routing protocol
IJCNCJournal
 
FLEXIBLE VIRTUAL ROUTING FUNCTION DEPLOYMENT IN NFV-BASED NETWORK WITH MINIMU...
FLEXIBLE VIRTUAL ROUTING FUNCTION DEPLOYMENT IN NFV-BASED NETWORK WITH MINIMU...FLEXIBLE VIRTUAL ROUTING FUNCTION DEPLOYMENT IN NFV-BASED NETWORK WITH MINIMU...
FLEXIBLE VIRTUAL ROUTING FUNCTION DEPLOYMENT IN NFV-BASED NETWORK WITH MINIMU...
IJCNCJournal
 
A Cross-Layer Based Multipath Routing Protocol To Improve QoS In Mobile Adhoc...
A Cross-Layer Based Multipath Routing Protocol To Improve QoS In Mobile Adhoc...A Cross-Layer Based Multipath Routing Protocol To Improve QoS In Mobile Adhoc...
A Cross-Layer Based Multipath Routing Protocol To Improve QoS In Mobile Adhoc...
IDES Editor
 
Traffic-aware adaptive server load balancing for softwaredefined networks
Traffic-aware adaptive server load balancing for softwaredefined networks Traffic-aware adaptive server load balancing for softwaredefined networks
Traffic-aware adaptive server load balancing for softwaredefined networks
IJECEIAES
 
N fv good
N fv goodN fv good
IMPROVED QUALITY OF SERVICE PROTOCOL FOR REAL TIME TRAFFIC IN MANET
IMPROVED QUALITY OF SERVICE PROTOCOL FOR REAL TIME TRAFFIC IN MANETIMPROVED QUALITY OF SERVICE PROTOCOL FOR REAL TIME TRAFFIC IN MANET
IMPROVED QUALITY OF SERVICE PROTOCOL FOR REAL TIME TRAFFIC IN MANET
IJCNCJournal
 
Proposal of a Transparent Relay System with vNIC for Encrypted Overlay Networks
Proposal of a Transparent Relay System with vNIC for Encrypted Overlay NetworksProposal of a Transparent Relay System with vNIC for Encrypted Overlay Networks
Proposal of a Transparent Relay System with vNIC for Encrypted Overlay Networks
IJCSIS Research Publications
 
Qos
QosQos
Ijarcet vol-2-issue-4-1420-1427
Ijarcet vol-2-issue-4-1420-1427Ijarcet vol-2-issue-4-1420-1427
Ijarcet vol-2-issue-4-1420-1427
Editor IJARCET
 
K010635566
K010635566K010635566
K010635566
IOSR Journals
 
QoS Oriented Coding For Mobility Constraint in Wireless Networks
QoS Oriented Coding For Mobility Constraint in Wireless NetworksQoS Oriented Coding For Mobility Constraint in Wireless Networks
QoS Oriented Coding For Mobility Constraint in Wireless Networks
iosrjce
 
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
IJCNCJournal
 
DYNAMIC SDN CONTROLLER PLACEMENT BASED ON DEEP REINFORCEMENT LEARNING
DYNAMIC SDN CONTROLLER PLACEMENT BASED ON DEEP REINFORCEMENT LEARNINGDYNAMIC SDN CONTROLLER PLACEMENT BASED ON DEEP REINFORCEMENT LEARNING
DYNAMIC SDN CONTROLLER PLACEMENT BASED ON DEEP REINFORCEMENT LEARNING
josephjonse
 
Dynamic SDN Controller Placement based on Deep Reinforcement Learning
Dynamic SDN Controller Placement based on Deep Reinforcement LearningDynamic SDN Controller Placement based on Deep Reinforcement Learning
Dynamic SDN Controller Placement based on Deep Reinforcement Learning
josephjonse
 
ENERGY CONSUMPTION REDUCTION IN WIRELESS SENSOR NETWORK BASED ON CLUSTERING
ENERGY CONSUMPTION REDUCTION IN WIRELESS SENSOR NETWORK BASED ON CLUSTERINGENERGY CONSUMPTION REDUCTION IN WIRELESS SENSOR NETWORK BASED ON CLUSTERING
ENERGY CONSUMPTION REDUCTION IN WIRELESS SENSOR NETWORK BASED ON CLUSTERING
IJCNCJournal
 
Kz3618761878
Kz3618761878Kz3618761878
Kz3618761878
IJERA Editor
 
A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for Wireless ...
A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for   Wireless ...A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for   Wireless ...
A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for Wireless ...
IRJET Journal
 
IRJET-A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for Wir...
IRJET-A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for   Wir...IRJET-A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for   Wir...
IRJET-A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for Wir...
IRJET Journal
 

Similar to Joint_Dynamical_VNF_Placement_and_SFC_Routing_in_NFV_Enabled_SDNs.pdf (20)

ENHANCING AND MEASURING THE PERFORMANCE IN SOFTWARE DEFINED NETWORKING
ENHANCING AND MEASURING THE PERFORMANCE IN SOFTWARE DEFINED NETWORKINGENHANCING AND MEASURING THE PERFORMANCE IN SOFTWARE DEFINED NETWORKING
ENHANCING AND MEASURING THE PERFORMANCE IN SOFTWARE DEFINED NETWORKING
 
A Fuzzy Based Dynamic Queue Management Approach to Improve QOS in Wireless se...
A Fuzzy Based Dynamic Queue Management Approach to Improve QOS in Wireless se...A Fuzzy Based Dynamic Queue Management Approach to Improve QOS in Wireless se...
A Fuzzy Based Dynamic Queue Management Approach to Improve QOS in Wireless se...
 
Multipath qos aware routing protocol
Multipath qos aware routing protocolMultipath qos aware routing protocol
Multipath qos aware routing protocol
 
FLEXIBLE VIRTUAL ROUTING FUNCTION DEPLOYMENT IN NFV-BASED NETWORK WITH MINIMU...
FLEXIBLE VIRTUAL ROUTING FUNCTION DEPLOYMENT IN NFV-BASED NETWORK WITH MINIMU...FLEXIBLE VIRTUAL ROUTING FUNCTION DEPLOYMENT IN NFV-BASED NETWORK WITH MINIMU...
FLEXIBLE VIRTUAL ROUTING FUNCTION DEPLOYMENT IN NFV-BASED NETWORK WITH MINIMU...
 
A Cross-Layer Based Multipath Routing Protocol To Improve QoS In Mobile Adhoc...
A Cross-Layer Based Multipath Routing Protocol To Improve QoS In Mobile Adhoc...A Cross-Layer Based Multipath Routing Protocol To Improve QoS In Mobile Adhoc...
A Cross-Layer Based Multipath Routing Protocol To Improve QoS In Mobile Adhoc...
 
Traffic-aware adaptive server load balancing for softwaredefined networks
Traffic-aware adaptive server load balancing for softwaredefined networks Traffic-aware adaptive server load balancing for softwaredefined networks
Traffic-aware adaptive server load balancing for softwaredefined networks
 
N fv good
N fv goodN fv good
N fv good
 
IMPROVED QUALITY OF SERVICE PROTOCOL FOR REAL TIME TRAFFIC IN MANET
IMPROVED QUALITY OF SERVICE PROTOCOL FOR REAL TIME TRAFFIC IN MANETIMPROVED QUALITY OF SERVICE PROTOCOL FOR REAL TIME TRAFFIC IN MANET
IMPROVED QUALITY OF SERVICE PROTOCOL FOR REAL TIME TRAFFIC IN MANET
 
Proposal of a Transparent Relay System with vNIC for Encrypted Overlay Networks
Proposal of a Transparent Relay System with vNIC for Encrypted Overlay NetworksProposal of a Transparent Relay System with vNIC for Encrypted Overlay Networks
Proposal of a Transparent Relay System with vNIC for Encrypted Overlay Networks
 
Qos
QosQos
Qos
 
Ijarcet vol-2-issue-4-1420-1427
Ijarcet vol-2-issue-4-1420-1427Ijarcet vol-2-issue-4-1420-1427
Ijarcet vol-2-issue-4-1420-1427
 
K010635566
K010635566K010635566
K010635566
 
QoS Oriented Coding For Mobility Constraint in Wireless Networks
QoS Oriented Coding For Mobility Constraint in Wireless NetworksQoS Oriented Coding For Mobility Constraint in Wireless Networks
QoS Oriented Coding For Mobility Constraint in Wireless Networks
 
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
Evaluating feasibility of using wireless sensor networks in a coffee crop thr...
 
DYNAMIC SDN CONTROLLER PLACEMENT BASED ON DEEP REINFORCEMENT LEARNING
DYNAMIC SDN CONTROLLER PLACEMENT BASED ON DEEP REINFORCEMENT LEARNINGDYNAMIC SDN CONTROLLER PLACEMENT BASED ON DEEP REINFORCEMENT LEARNING
DYNAMIC SDN CONTROLLER PLACEMENT BASED ON DEEP REINFORCEMENT LEARNING
 
Dynamic SDN Controller Placement based on Deep Reinforcement Learning
Dynamic SDN Controller Placement based on Deep Reinforcement LearningDynamic SDN Controller Placement based on Deep Reinforcement Learning
Dynamic SDN Controller Placement based on Deep Reinforcement Learning
 
ENERGY CONSUMPTION REDUCTION IN WIRELESS SENSOR NETWORK BASED ON CLUSTERING
ENERGY CONSUMPTION REDUCTION IN WIRELESS SENSOR NETWORK BASED ON CLUSTERINGENERGY CONSUMPTION REDUCTION IN WIRELESS SENSOR NETWORK BASED ON CLUSTERING
ENERGY CONSUMPTION REDUCTION IN WIRELESS SENSOR NETWORK BASED ON CLUSTERING
 
Kz3618761878
Kz3618761878Kz3618761878
Kz3618761878
 
A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for Wireless ...
A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for   Wireless ...A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for   Wireless ...
A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for Wireless ...
 
IRJET-A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for Wir...
IRJET-A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for   Wir...IRJET-A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for   Wir...
IRJET-A Virtual Grid-Based Dynamic Routes Adjustment (VGDRA) Scheme for Wir...
 

Recently uploaded

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 

Recently uploaded (20)

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 

Joint_Dynamical_VNF_Placement_and_SFC_Routing_in_NFV_Enabled_SDNs.pdf

  • 1. IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 4263 Joint Dynamical VNF Placement and SFC Routing in NFV-Enabled SDNs Liang Liu , Songtao Guo , Senior Member, IEEE, Guiyan Liu , and Yuanyuan Yang , Fellow, IEEE Abstract—Due to that Service Function Chain (SFC) permits the forwarding of flows along a predetermined sequence chain of Virtual Network Functions (VNFs), it has become a com- mon service in Network Function Virtualization (NFV)-enabled Software Defined Networks (SDNs). Generally, since there are multiple same VNF-instances in NFV-Enabled SDNs, this brings a great challenge for selecting or placing the required VNF- instances to satisfy the routing of SFC Request flows (SRs). In this paper, we study the routing problem for SRs by jointly considering dynamical VNF placement and multiple Resources and Quality of Service (QoS) constraints in NFV-Enabled SDNs. Specifically, we first define two optimization problems: one is the Dynamical VNF Placement and Routing Problem for SRs (DVPRP) and the other is the Delay, packet Loss and Jitter Aware Dynamical VNF Placement and Routing Problem for SRs (DLJA-DVPRP). We then formulate the two problems as Integer Linear Programming (ILP) problems. Next, we creatively devise an auxiliary edge-weight graph and propose two efficient algo- rithms to solve the problems with the aim of minimizing the resource consumption costs as well as ensuring multiple QoS con- straints. Especially, we utilize the shortest path algorithm based on Lagrange relaxation method to solve the DLJA-DVPRP with multiple QoS constraints. Compared with existing algorithms, simulation results demonstrate our proposed algorithms have better performance in terms of throughput, traffic acceptance rate and load balance. Index Terms—Software defined network, service function chain, dynamical VNF placement, multiple QoS contraints, Lagrangian relaxation method. Manuscript received October 31, 2020; revised March 20, 2021; accepted May 9, 2021. Date of publication June 30, 2021; date of current version December 9, 2021. This work was supported by the National Natural Science Foundation of China (No. 61772432, 61772433), Natural Science Key Foundation of Chongqing (cstc2020jcyj-zdxmX0026), the Technological Innovation and Application Demonstration Projects of Chongqing (cstc2018jszx-cyztzxX0014), Fundamental Research Funds for the Central Universities (2020CDCGJSJ071, 2020CDCGJSJ038, 2019CDYGZD004, 2021CDJXXXB006), and Zhejiang Lab (NO. 2021LC0AB01). The associate editor coordinating the review of this article and approving it for publication was P. Calyam. (Corresponding author: Songtao Guo.) Liang Liu is with the College of Electronic and Information Engineering, Southwest University, Chongqing 400715, China, and also with the School of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065, China. Songtao Guo and Guiyan Liu are with the Key Laboratory of Dependable Service Computing in Cyber-Physical-Society (Ministry of Education), and the College of Computer Science, Chongqing University, Chongqing 400044, China (e-mail: songtao_guo@163.com). Yuanyuan Yang is with the Department of Electrical and Computer Engineering, Stony Brook University, Stony Brook, NY 11794 USA. Digital Object Identifier 10.1109/TNSM.2021.3091424 I. INTRODUCTION NETWORK Function Virtualization (NFV) as an emerging technology makes the deployment of new devices flexi- ble and efficient by decoupling the software from conventional hardware devices. Based on NFV technology, the conventional hardware middle-boxes such as Intrusion Detection Systems (IDSs), Firewalls (FWs), Intrusion Prevention Systems (IPSs) and HTTP proxies have been replaced by more flexible soft- ware applications on the Virtual Machines (VMs), which are called Virtual Network Functions (VNFs) [1]. Software Defined Network (SDN) separates network control plane from underlying switches and routers into logically centralized con- trollers [2], which enables the global network information to be collected by the SDN controller to provide flexible network programmability. Generally, for satisfying the busi- ness requirement, the flows in NFV-Enabled SDNs should be forwarded through a specific sequence of middle-boxes which implement the required VNFs [3]. For example if one needs to highly restrict the access to an Intranet server, the incom- ing flow may first traverse an FW, then an IPS or IDS. Such an ordered set of VNFs is called a service function chain (SFC) [4], and the flow Request with SFC is called as SFC Request flows (SRs). Benefitting from NFV and SDN, the operator can dynam- ically select or deploy the required VNF-instances on nodes to meet the routing requirements of SRs and ensure the load balance of network. However, in NFV-Enabled SDNs, each type of VNF usually has multiple instances, and SRs need to traverse across a sequence of distinctive VNF-instances in a predetermined order. Consequently, one should develop an optimal strategy to select or dynamically deploy VNFs from the multiple VNF-instances environment to meet the routing order requirements of SRs. Jia et al. [5] and Pei et al. [6] con- sidered the routing problem of SRs in the already placed VNF multi-instance environment, but did not consider the dynamic deployment of VNF when routing SRs in the network. In addition, when dynamically deploying the VNFs, we should consider the following factors: i) the deployment cost of a new VNF instance; ii) the resource consumption cost of running the VNF instance; iii) the flow forwarding cost among VNF-instances. We can place just enough VNFs to route SR, which may consume the lowest deployment and resource con- sumption cost. However, controlling flow to travel the required VNFs may increase forwarding costs and eventually result in constraint violation of resources such as links and flow-table entries capacity. On the contrary, one can deploy VNFs in 1932-4537 c 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See https://www.ieee.org/publications/rights/index.html for more information. Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 2. 4264 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 all possible locations and always forward flow by the shortest path. This may refrain from resources constraint violation, but will definitely cause huge deployment costs. Li et al. [7]–[9] considered the running cost and deployment cost of VNF, but did not jointly consider the forwarding cost of the switching nodes in the network. Furthermore, to ensure the network load balancing and QoS constraints, one should jointly consider the resources of the bandwidth on physical links, the flow-table entries on switch nodes and the computing resources on function nodes when routing a SR in a NFV-Enabled SDN. Moreover, owing to the rise of Industrial Internet, the end-to-end delay, packet loss rate and jitter cannot be neglected as well. Hence, when searching a routing path for SR, a trade-off mechanism among multiple resources, with multiple QoS constraints such as end- to-end delay, packet loss rate and jitter needs to be designed, in order to reduce network congestion and maintain network load balance. Chemodanov et al. [10] studied a near optimal SFC composition approach for geodistributed cloud infras- tructures that also admits end-to-end network QoS constraints such as latency, packet loss, but they did not consider the flow-table resources on switch nodes and the jitter in the network. Liu et al. [11] utilized Lagrange relaxation method to investigate a Min-Cost QoS Routing Algorithm (MCQRA) for SDN-WMN (Wireless Mesh Network), they considered the delay and packet loss constraints on links, but they did not con- sider the flow-table resources on switch nodes, CPU resources on function nodes and the jitter in the network. Most of the existing studies either focus on the placement of VNFs [4], [8], [12]–[15], or SFC routing based on part of resources and QoS constraints [1], [5]–[7], [16]. But they hardly considered all the above mentioned issues to allocate routing paths for SR to achieve the aim of network load balance and multiple QoS constraints. To the best of our knowledge, our work is the first one to focus on enforcing SR routing by jointly considering the following issues in a NFV-Enabled SDN: i) Dynamical VNF Placement; ii) multiple resource constraints including the forwarding table capacity on SDN switches, the bandwidth capacity on links, the CPU capacity on function nodes which implemented by VNFs; iii) the QoS constraints involving the end-to-end delay, packet loss rate and jitter of the SR’s routing path; iv) network load balancing. The major contributions of this work can be summarized as follows. • We define two optimization SFC routing problems for SRs, the Dynamical VNF Placement and Routing Problem (DVPRP) and the Delay, packet Loss and Jitter Aware Dynamical VNF Placement and Routing Problem (DLJA-DVPRP), by jointly considering multiple resources constraints and multiple QoS constraints, respectively. • We propose a novel relative cost model of nodes and link resources and formulate DVPRP and DLJA- DVPRP as Integer Linear Programming problems (ILPs), respectively. • To solve the two NP-hard problems, we creatively construct a generic heuristic optimization structure called as VNF-Splited Multi-Stage edge-Weight Graph (VSMSWG), and devise a heuristic algorithm to solve the DVPRP. Especially, we utilize an improved lagrangian relaxation method to solve the DLJA-DVPRP with the constraints of end-to-end delay, packet loss rate and jitter. • We compare the performance of our heuristic methods with that of existing algorithms. Simulation results show that our proposed algorithms outperform the previous algorithms in terms of traffic acceptance rate, network throughput, and load balancing. The remainder of this paper is organized as follows. We first review the related works in Section II. We then present the system model and the problem definition in Section III and formulate the problem in IV. In Section V, we propose the heuristic optimization structure and algorithms. Furthermore, we analyze the performance of the proposed approaches in Section VI. Section VII concludes this paper. II. RELATED WORK This section will discuss the related works from the follow- ing two aspects: i) the placement problems of VNF; ii) the routing for SFC. A. Virtualized Network Function Placement Agarwal et al. [12] proposed a fast and efficient solution strategy called MaxZ to solve the VNF placement, resource assignment and traffic routing in 5G networks, but they did not consider the SFC order of flows. Zhang et al. [13] tackled the VNF placement problem in a general 5G network slice framework where contains both edge cloud and core cloud servers, and proposed an Adaptive Interference-Aware (AIA) algorithm to place VNFs in service customized network slices, but they did not study the multiple resources and load balanc- ing in the network. Bari et al. [8] formulated an ILP model to determine the amount and location of VNFs in order to minimize the operational costs and resources utilization of the network. Khosravi et al. [17] studied the dynamic VM placement method for minimizing energy and carbon cost in SDN-NFV network. However, they did not take the SFC requirements of the flows into account. Some works studied the placement problem of VNF in data center. Particularly, Bhamare et al. [14] studied the VNF place- ment problem by jointly considering SFC formation in the geographically distributed clouds and modeled the problem of minimizing the inter-cloud traffic as an ILP optimization problem. Li et al. [15] proposed a Two-Stage heuristic algo- rithm to address the VNF placement problem in cloud data center. Tang et al. [4] proposed a traffic forecasting method, and designed two VNF dynamic placement algorithms to solve the scaling of VNF instance in data center. To maximize the admitted SRs to mobile clients and minimize the energy and computation resources when communicating in cloud data centers, Shojafar et al. in [18] proposed an energy-aware algo- rithm for VNF placement. Nevertheless, these solutions just focused on the SFC requirements of flows and dynamical placement of VNFs, but the other QoS constraints such as end-to-end delay, the packet loss rate and jitter for the SR are not considered. Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 3. LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4265 B. Routing for Service Function Chaining The authors in [19] pointed out that OpenDayLight, the largest open source SDN controller, can support random selec- tion algorithm, loop algorithm, SP algorithm and load balanc- ing algorithm to select VNF instances in NFV-Enabled SDNs. Cao et al. [20] proposed a novel algorithm named Competitive Online Algorithm for Traffic Steering (COATS). In COATS, the authors iteratively updated the costs on links and routed flows with SFC requests based on a layered graph. They did not jointly consider flow-table resource,CPU resource and QoS constraints when routing SFC. Huang et al. [21] devised two heuristic algorithms to find a cost-optimal routing path for SR in SDN with VNFs, and the aim is to ensure flow-table entries and link bandwidth resource constraints while max- imizing the network throughput, but they did not consider CPU resource constraint on function nodes and packet loss rate constraint for SR. Wang et al. [22] adopted a cost model where jointly consider operating cost, capital cost and link cost to allocate VNF resource and route SFC. Huang et al. [23] proposed a polynomial algorithm based on the Markov approx- imation technique to solve the optimization problem of VNF selection and routing with the aim of maximizing the through- put in SDN, however, they did not jointly consider flow-table resource and QoS constraints when routing SFC. The authors in [1], [5]–[7] paid attention to SR scheduling by jointly considering multiple resources and QoS constraints in SDN/NFV. Particularly, Tajiki et al. [1] proposed a novel resource allocation architecture while considering the con- straints on path delay, server capacity and link capacity. They utilized ILP model to formulate the allocation and place- ment problem of VNFs as well as flows routing problem. Pei et al. [6] proposed a Resource-Aware Routing Algorithm to solve fine-grained flow features scheduling of SRs by jointly considering the end-to-end delay of routing path and the load balancing of SDN and NFV-enabled network. In [5], Jia et al. studied Routing Cost Minimization and Throughput Maximization of NFV-Enabled Unicasting with SR in SDN. Li et al. [7] used a linear programming technique with ran- domized rounding to solve the resource provision of SR, and the objective was to maximize the admitted SR num- ber in the whole cloud data center. However, few solutions jointly and comprehensively considered the tradeoff among dynamical VNF placement with the constraints of multiple kinds of resources and QoS when routing SRs. III. SYSTEM MODEL AND PROBLEM DEFINITION In this section, we will describe the system model and define our optimization problems. A. Network Model We denote the NFV-Enabled SDN as an undirected graph G(N, L), where N, L denote the set of nodes and links, respectively. We use u, v ∈ N and uv ∈ L to indicate the physical nodes and the physical links, respectively. In the network, there are two types of nodes, one is switch node which is in charge of forwarding data, and the other one is function node consisting of one or more commodity servers, Fig. 1. A NFV-Enabled SDN G with a subset nodes Ns = {v2, v5, v6} and a subset nodes Nf = {v1, v3, v4} which is not only responsible for forwarding information but also processing SRs through deployed VNF-instances. Let Nf ⊂ N and Ns ⊂ N be the set of function nodes and switch nodes, respectively. There is one SDN controller in G that performs the dynamical VNFs Placement and routing path selection for each incoming SR. Fig. 1 depicts an example of a NFV-Enabled SDN, where nodes v1, v3, v4 are function nodes and the rest nodes are switch nodes. We use SRi to indicate the ith flow request with SFC. The flow-table capacity and the ratio of remaining flow-table entries are denoted by C ft u and r ft i,u on node u when rout- ing SRi . Each node can provide some running resources such as CPU, memory, disk, etc. To simplify the problem, we only consider the capacity of CPU resource of node, and use Ccpu u and rcpu i,u to denote the capacity and the remain- ing ratio of CPU on node u. The capacity and remaining ratio of bandwidth, propagation delay, packet loss rate and jitter of a physical link uv ∈ L are represented by Cbw uv , rbw i,uv , δ delay uv , γloss uv , jjitter uv respectively. We use η(u) to indicate the set of neighbors of node u. η(u) = {v|uv ∈ L or vu ∈ L}, u, v ∈ N. (1) Note that we ignore the CPU consumption in the switch nodes because it is reasonably assumed that function nodes are mainly used to deploy VNF-instances in the model. In addition, due to the function nodes can be implemented by micro data center or cloud data center, we also neglect the consumption of flow-table entries in the function nodes [6]. B. Virtualization Network Functions (VNFs) Various types of VNFs such as IDS, FW, IPS can be deployed on function nodes. We use the set P to denote the possible VNF types in the network. Each VNF type p has a specific deployment cost, CPU demand, processing delay, and packet loss rate of processing, which are denoted as Dp, κcpu p , δ delay p (ms), and γloss p (%), respectively. We explain these quantities as follows: • Deployment Cost (Dp) contains the cost of booting a VNF of type p and image transfer on a function node. • CPU demand (κcpu p ) is the amount of CPU resource on function node that a type of VNF p requires. Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 4. 4266 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 Fig. 2. An example of VNF chains. • Processing Delay (δ delay p ) is the average delay (ms) which is experienced by packets while traversing across a VNF of type p. • packet loss rate of processing (γloss p ) is considered as 0, owing to the performance of software and hardware is becoming better and better. It’s almost not likely to lose bit data when a packet traverse across a VNF of type p. C. Flow Requests With SFC Requirement We use a 7-tuple to denote the SRi : SRi = Si , Di , Ψi , Rbw i , R cpu i , R delay i , Rloss i , R jitter i (2) where Si and Di represent the entry node and the egress node, respectively, Ψi = {Ψi (1), Ψi (2), . . . , Ψi (l)} indicates the ordered VNF set that the flow must traverse across (Eg., FW → IDS → IPS), l = |Ψi | denotes the SFC length of SRi , i.e., the total number of VNF-instances of SRi , Ψi (j) denotes the jth VNF requirement instance of the SRi where j = 1, 2, . . . , l, and Rbw i , Rcpu i , Rdelay i , Rloss i , Rjitter i indicate the bandwidth demand, the CPU demand, the maximum tol- erated delay ,the maximum tolerated packet loss rate and ,the maximum tolerated jitter, respectively. In order to clearly depict the visit order of VNF-instances in SFC, and denote the mapping relationship between the SFC and the original network in the later problem formulation, we transform an ordered VNF sequence Ψi into a service function graph Ḡi = (N̄i , L̄i ) where N̄i and L̄i indicate the set of traffic nodes including entry, VNFs, and egress nodes and the links between the nodes, and the graph is a directed acyclic graph. We use ū, v̄ ⊂ N̄i and ūv̄ ⊂ L̄i to denote two nodes and the link which connect ū, v̄ on Ḡi . An exam- ple of VNF chains for SRi is presented in Fig. 2, where Si , Di , Ψi (1), Ψi (2), Ψi (3) are nodes, and SRi must tra- verse Si and the chain FW −→ IDS −→ IPS in order before arriving at Di . We also define ηi (ū1) to represent the neighbors of ū1∈N̄i . ηi (ū1) = ū2|ū1ū2 ∈ L̄i or ū2ū1 ∈ L̄i , ū1, ū2 ∈ N̄i . (3) Without loss of generality, we consider ū2 ū1, iff ū2 appears after ū1 in the topological order of Ḡi . D. Problem Definition We consider a scenario where a NFV-Enabled SDN pro- vides service to a set of SRs F. The network has allocated some VNFs and route paths for the SRs in F. A series of new SRs denoted as F are incoming and are required to allocate the needed VNFs and routing paths with the aim of minimizing the resource consumption costs and enhancing the network load balancing. Then, SDN controller will meet the requirement from the following steps by i) providing an Fig. 3. Physical Network Convertion. optimal number of VNFs, ii) deploying or activating VNFs at the optimal locations and iii) looking for the optimal route paths for each SR under the constraints of resource capacity and multiple QoS as well as specific ordered VNF sequence. Accordingly, two optimization problems are defined as follows. Definition 1: Given a set of Nf and Ns for an SRi = Si , Di , Ψi , Rbw i , Rcpu i , the Dynamical VNF Placement and Routing Problem (DVPRP) in a NFV-Enabled SDN G(N, L) is to look for or construct a route path for SRi so that it can minimize the implementation cost based on both band- width, CPU and flow-table resource consumption as well as subjecting to the bandwidth capacity constraint of each link and flow-table constraint on Ns and CPU resource constraint on Nf in G. Furthermore, after allocating the path, it can ensure the load balance of the network. Definition 2: Given a set of Nf and Ns for an SRi = Si , Di , Ψi , Rbw i , Rcpu i , Rdelay i , Rloss i , Rjitter i , the Delay and packet Loss Aware Dynamical VNF Placement and Routing Problem (DLJA-DVPRP) in a NFV-Enabled SDN G(N, L) is to look for or construct a route path for SRi so that it can minimize the implementation cost while the end-to-end delay, packet loss rate and jitter of the path are no greater than given threshold R delay i , Rloss i and R jitter i respectively, subject to the bandwidth capacity constraint of each link and flow-table constraint on Ns and CPU resource constraint on Nf in G. Furthermore, after allocating the path, it can ensure the load balance of the network. IV. PROBLEM FORMULATION In this section, we formulate the problems by i) convert- ing the physical networks to an extended pseudo-network; ii) defining the relative cost of resources; and iii) for- mulating the DVPRP and DLJA-DVPRP as ILP models. The main notations used in the paper are summarized in Table I. A. Physical Network Conversion In the real network, the types of VNF allowed to be deployed on functional nodes may be different. In order to formulate this constraint conveniently and reduce the com- plexity of the proposed problem, we first convert the original physical network to an expanded pseudo-network. The con- version process is described in Fig. 3. A topology of partial original network with three nodes (u1 , u2 and u3) is depicted Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 5. LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4267 TABLE I KEY NOTATIONS TABLE in Fig. 3(a), where u1 and u3 ∈ Ns are switch nodes and u2 ∈ Nfn is a function node. We enumerate all possible VNFs which can be deployed on each function node according to the CPU demand of a type of VNF p and the CPU capacity of the function node. For example if the CPU of a function node has 8000MIPS [24], the CPU demand of FW, IDS and IPs is 2000MIPS, 4000MIPS and 8000MIPS respectively, we can deploy 4 FWs or 2 IDSs or 1 IPS on this function node. The enumerated VNFs of function node u2 is presented in 3(b). These enumerated VNFs are called pseudo-VNFs and denoted as M. For simplicity, the pseudo-VNFs and VNFs can be exchanged in the rest of this paper. Each VNF m ∈ M may be deployed to a function node u ∈ Nf . We define the function ζ(m) for indicating the mapping. ζ(m) = u, if VNF m is deployed on node u ∈ Nf . (4) We use the function τ(m) to return the type of VNF m: τ(m) = p, if the type of VNFm is p, m ∈ M, p ∈ P. (5) In addition, we use rcpu i,m to denote the ratio of remaining CPU on VNF m when routing SRi . B. The Definition of Relative Cost An important feature of the resource usage in G is that the marginal cost will inflate with the increasing of resources workload. Due to that more rules need to be considered in a heavily-loaded SDN switch, it will take more time and energy on handling an incoming network packet compared with a lightly-loaded one. Similarly, compared with a lightly-loaded link, a heavily-loaded link will spend more time and energy on processing an incoming network packet as more packets will be queued [25]. In order to describe this characteristic, we utilize relative costs to denote the usage cost of resources and define them as follows. vbw i,uv = (ωbw )1−rbw i,uv , uv ∈ L (6) v ft i,u = ωft 1−rft i,u , u ∈ Ns (7) v cpu i,m = ωcpu 1−rcpu i,m , m ∈ M. (8) We use vbw i,uv , vft i,u and vcpu i,m to indicate the relative costs for bandwidth on link, flow-table on switch node and CPU on VNF m, where ωbw , ωft and ωcpu are constants and ωbw , ωft , ωcpu 1. The relative cost has an exponential relationship to the load of resource. In Eq. (6), ωbw 1 is a tuning parameter. The larger the values of ωbw is, the more links with high bandwidth utilizations would be discouraged. The exponent 1 − rbw i,uv is the bandwidth utilization rate of a link uv. If 1 − rbw i,uv is larger, it means that the workload of the link is larger and its relative cost would be bigger. Furthermore, the relative cost of the link increases rapidly because the marginal cost of link bandwidth usage considerably inflates with the increase of link load. If the relative cost of the link is high, it can be identified as a bottleneck. Eq. (7) and Eq. (8) have the similar properties of Eq. (6). In order to obtain the maximum throughput in the network, we usually set ωbw , ωft , ωcpu = 2|V| [5], [25], [26]. C. ILP Formulation 1) Variables: Since there may be particular hardware demands (e.g., hardware encryption for IDS), a function node may be prevented from running a specific type of VNF. We suppose that for each VNF type there is a set of function nodes on which it may be allocated. Define binary variable dp u ∈ {0, 1}, where dp u = 1 indicates the VNF of type p can be provided on node u. Define gū i,p ∈ {0, 1}, where gū i,p = 1 indicates the VNF node ū is type of p. Define binary variable qm p ∈ {0, 1}, where qm p = 1 represent the VNF m is of type p. It is worth noting that the enumerated pseudo-VNFs only indicate a specific type of VNF that can be provided on func- tion nodes. We define ya m ∈ {0, 1}, where ya m = 1 indicates a pseudo-VNF has been deployed and activated. Define binary Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 6. 4268 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 variable xū i,m ∈ {0, 1}, to denote whether the VNF ū ∈ V̄i is in the service of VNF m. Define binary variable ym u ∈ {0, 1}, where ym u = 1 indicates VNF m is accommodated on the node u ∈ Nf . Define binary variables zūv̄ i,uv ∈ {0, 1}, zūv̄ i,u ∈ {0, 1} respectively, where zūv̄ i,uv = 1 indicates ūv̄ passes through physical link uv and zūv̄ i,u = 1 represents ūv̄ passes through physical node u. In fact, we can use the variable xū i,m to derive the variable ya m as follows: ya m = 1 iff i∈F ū∈V̄i xū i,m 0. 2) Constraints: We assume that x̂ū i,m indicates the value of xū i,m at the last traffic assignment event. In order to ensure the resources previously assigned to the traffic will not be released, the following inequality must be satisfied. xū i,m ≥ x̂ū i,m, ∀i ∈ F̂, ū ∈ V̄i , m ∈ M. (9) We use ŷa m ∈ {0, 1} to represent the value of ya m at the last traffic assignment event, it can be derived as follows: ŷa m = 1 iff i∈F ū∈V̄i x̂ū i,m 0 Similarly, to ensure that resources for previously provi- sioned traffic will not be released, the following condition should be satisfied ya m ≥ ŷa m, ∀m ∈ M. (10) We suppose that ẑūv̄ i,uv denotes the value of zūv̄ i,uv at the last traffic assignment event. To ensure that the resources for preceding assigned traffic are not released in the current iteration, we have zūv̄ i,uv ≥ ẑūv̄ i,uv , ∀i ∈ F̂, ∀(ū, v̄) ∈ (a, b)|a ∈ V̄i , b ∈ ηi (a), b a , ∀u, v ∈ V. (11) In order to assure each directed link of a SRi is not mapped to both directions of a physical link, we have zūv̄ i,uv + zūv̄ i,vu ≤ 1, ∀i ∈ F, ∀(ū, v̄) ∈ (a, b)|a ∈ V̄i , b ∈ ηi (a), b a , ∀u, v ∈ V. (12) The following inequality ensures that each link of a SRi is assigned on one path of the physical network. u∈V v∈V zūv̄ i,uv + zūv̄ i,vu ≥ 1, ∀(ū, v̄) ∈ (a, b)|a ∈ V̄i , b ∈ ηi (a), b a , ∀i ∈ F. (13) When a link is chosen, it must be ensured that the two endpoints of the link are also chosen. zūv̄ i,u zūv̄ i,v = 1, zūv̄ i,uv = 1, ∀ūv̄ ∈ L̄i , ∀u, v ∈ V, ∀uv ∈ L 0, otherwise . (14) Equation (15) ensures the bandwidth capacity constraint on physical links uv when routing SRi : ūv̄∈L̄i Rbw i zūv̄ i,uv ≤ rbw i,uv Cbw uv , ∀uv ∈ L. (15) Equation (16) ensures the flow-table capacity constraint of switch node u when routing SRi : ūv̄∈L̄i zūv̄ i,u ≤ r ft i,uCft u , ∀u ∈ Ns. (16) Equation (17) ensures the capacity constraint of CPU on the selected VNF type p when routing SRi : xū i,mya mR cpu i ≤ r cpu i,m κ cpu τ(m) , ∀ū ∈ V̄i , ∀m ∈ M. (17) To ensure the CPU capacity constraint holds when deploy- ing VNF m on the function node, Eq. (18) should be satisfied. ū∈V̄i m∈M xū i,mya mym u κ cpu τ(m) ≤ r cpu i,u Ccpu u , ∀u ∈ Nf . (18) The following equation ensures that the route path for SRi is consecutive and cannot be split: v∈V ūv̄∈L̄i zūv̄ i,uv − zūv̄ i,vu = ⎧ ⎨ ⎩ 1, u = Si −1, u = Di 0, otherwise . (19) To guarantee that all function nodes containing the selected VNF-instances of SRi are traversed by the route path, we have xū i,mym u ≤ zūv̄ i,u , ∀u ∈ Nf ∀ū ∈ V̄i , ∀ūv̄ ∈ L̄i , ∀m ∈ M. (20) The following equation ensures every requested VNF ū ∈ V̄i {Si , Di } on Ḡi must be mapped to a proper VNF type: xū i,mgū i,p = qm p , ∀i ∈ F, ū ∈ V̄i , m ∈ M, p ∈ P. (21) As aforementioned, a given type of VNF can be deployed on a specific set of function nodes, so we have following equation qm p = d p ζ(m) . (22) The following equation assures every requested VNF ū ∈ V̄i {Si , Di } on Ḡi may only get the service of one VNF instance m: m∈M xū i,m = 1, ū is in the service of VNF m 0, otherwise. . (23) We use the following uniqueness constraint to ensure that every VNF instance m may only be accommodated on one function node: u∈Nf ym u = 1, ∀m ∈ M. (24) The following equation ensures that the end-to-end delay constraint of the selected path for SRi : ūv̄∈L̄i uv∈L δdelay i,uv zūv̄ i,uv + ū∈V̄i δdelay i,τ(ū) ≤ Rdelay i . (25) Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 7. LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4269 In the above equation, the first part is the propagation delay of the links and the second part is the processing delay on the VNF m. The end-to-end packet loss rate constraint of the selected path for SRi must be satisfied: ūv̄∈L̄i uv∈L γloss i,uv zūv̄ i,uv ≤ Rloss i . (26) In Eq. (26), as described in III-B, the packet loss rate on the VNF processing is regarded as zero. We only consider the packet loss rate on the links. Due to the Eq. (26) is non- linear, we linearize it by taking logarithm on both sides of the inequality, ūv̄∈L̄i uv∈L log γloss i,uv zūv̄ i,uv ≤ log Rloss i . (27) In addition, the jitter constraint of the selected path for SRi need be satisfied: ūv̄∈L̄i uv∈L jjitter i,uv zūv̄ i,uv ≤ Rjitter i . (28) Finally, we define the deployment costs of VNFs on function nodes u as follows. Du = m∈M|ya m =1 Dpym u qm p (ya m − ŷa m). (29) In the paper, we use the relative costs vbw i,uv , v ft i,u and v cpu i,u to characterize whether the nodes and links are congested or not. We calculate the resource consumption and VNF placement costs of the route path of SRi as follows. C = uv∈L ūv̄∈L̄i vbw i,uv zūv̄ i,uv + u∈Ns ūv̄∈L̄i v ft i,uzūv̄ i,u + u∈Nf ū∈V̄i m∈M vcpu i,m xū i,mym u ya m + u∈Nf ū∈V̄i Du (30) In Eq. (30), the total cost C of the route path of SRi is denoted as the sum of the relative cost of links and nodes included in the path and the cost of VNFs deployment. If the total cost C is small, it indicates that the path contains suffi- cient remaining resources and fewer bottleneck links or nodes. Employing this path to route SRi will not cause network con- gestion. Otherwise, if the cost C is large, it represents the path contains bottleneck links or nodes. We need to look for another path with smaller C to avoid network congestion. Furthermore, since we enumerate all pseudo-VNFs that can be deployed on each function node, when routing SRi , the model may select the existing VNFs with less resource consumption in the pro- cess of path selection, or it may dynamically deploy VNFs on function nodes to reduce network congestion and achieve load balancing. 3) Optimization Problem: Based on the above discussion, we can formulate our two optimization problems as follows. (1) The Dynamical VNF Placement and Routing Problem(DVPRP) in an NFV-Enabled SDN G(N, L) with a set Nf and Ns for a SRi = Si , Di , Ψi , Rbw i , R cpu i is formulated as Eq. (31): Minimize C s.t. Eq. (9) − (24) (31) (2) The Delay and packet Loss Aware Dynamical VNF Placement and Routing Problem(DLJA-DVPRP) in an NFV- Enabled SDN G(N, L) with a set Nf and Ns for a SRi = Si , Di , Ψi , Rbw i , R cpu i , R delay i , Rloss i , R jitter i is formulated as Eq. (32): Minimize C s.t. Eq. (9) − (25), (27) − (28) (32) As the VNE problem [27] and the well-known Delay- Constrained Shortest path Problem(DCSP) [28] are NP-hard, VNE problem is a special case of our first problem and the DCSP is a special case of our second problem, therefore, both DVPRP and DLJA-DVPRP are NP-hard as well. V. HEURISTIC OPTIMIZATION ALGORITHMS In this section, we propose a heuristic algorithm to solve the DVPRP and DLJA-DVPRP. Given a NFV-Enabled SDN G, a batch of SRs and a set of VNF specifications, the algorithm looks for the required number and locations of different types of VNFs for SRs to minimize routing cost. It is implemented by three steps, i) the G is modeled as an auxiliary edge-weight graph G i for SRi ; ii) the G i is converted to VNF-Splited Multi-Stage edge-Weight Graph (VSMSWG) Gi with associ- ated costs; and iii) efficient algorithms are devised to seek a near-optimal route path for SRi from the Gi . A. Construction of Auxiliary Edge-Weight Graph The fundamental idea of the proposed algorithm is to trans- form the problem in G(N, L) into the problem of searching the shortest path for SRi in a set of G i = (V i , E i ; ωi,e ) for SRi . In the following, we use the node splitting method similar to [26] to construct the G i . We split each switch node v ∈ Ns into two nodes denoted as v and v, and add them to V i . Then we add a directed edge v, v to E i . For each VNF m in function nodes Vfn, we split m into two nodes m and m and add them to V i . Then a directed edge m, m is added to E i . For consistency, we add a high-speed link between m and m, and we assume that there are high-speed optical links between switch and servers on function nodes. The capacity, delay, packet loss rate and jitter on these high-speed links are not considered. For each link uv ∈ L, we add an edge u, v to E i , i.e., V i = {v, v|v ∈ V } ∪ {m, m|m ∈ M} and E i = {v, v|v ∈ V } ∪ {m, m|m ∈ M} ∪ {u, v|uv ∈ L}∪{m, m|m ∈ M}. Intuitively, in G i , the edge v, v represents switch node v, the edge m, m represents VNF m and the link uv is represented by an edge u, v in G. Fig. 4 gives an example of forming G i . Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 8. 4270 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 Fig. 4. The construction of auxiliary edge-weight graph G i . When a SRi arrives, we assign cost weights to edge e ∈ E i as follows: ωcost i,e = ⎧ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎩ ωft 1−rft i,v , if e = v, v ∈ E i (ωbw )1−rbw i,uv , if e = u, v ∈ E i ωcpu 1−rcpu i,m , if e = m, m ∈ E i , ya m = 1, ya m = 1 (33) Especially, if e = m, m ∈ E i , ya m = 0, ya m = 1, ωcost i,e = ωcpu 1−rcpu i,m + Dτ(m) The above equation means that if VNF m do not exist or is inactive, then its deployment cost Dτ(m) should be considered. Additionally, since VNF m is on one function node, we set the cost weight of m, m to 0. Since the DLJA-DVPRP is to solve the minimum cost path problem with the constraints of delay, packet loss rate and jitter, we assign these weights for links e ∈ E i in G i as follows. ω delay i,e = ⎧ ⎪ ⎨ ⎪ ⎩ 0, if e = v, v ∈ E i δ delay uv , if e = u, v ∈ E i δ delay τ(m) , if e = m, m ∈ E i (34) ωloss i,e = ⎧ ⎨ ⎩ 0, if e = v, v ∈ E i γloss uv , if e = u, v ∈ E i 0, if e = m, m ∈ E i (35) ωjitter i,e = ⎧ ⎨ ⎩ 0, if e = v, v ∈ E i γ jitter uv , if e = u, v ∈ E i 0, if e = m, m ∈ E i (36) As aforementioned, the performance of software and hardware is getting better and better, in Eq. (34), so we set the delay weight of edge v, v as 0, and in Eq. (35) and Eq. (36), we set the packet loss and jitter weights of v, v, m, m as 0. B. Conversion of Auxiliary Graph In order to ensure the candidate routing paths for SRi to satisfy the predefined VNF order, we further convert G i to VNF-Splited Multi-Stage edge-Weight Graph (VSMSWG) which is a directed graph composed of the entry node, egress node and candidate VNF-instances for SRi , which is denoted by Gi = ( Vi , Li ; ωi, e), where u, v ∈ Vi denote two nodes, e = u, v ∈ Li indicates a link on Gi , and ωi, e denotes the weight of the edge in the Gi . We construct Gi by the following two processes. The first process is to look for all the nodes required for SRi and place them in the predefined order. First of all, we choose the entry node Si and put it in the 1st column. Then, according to the VNF request sequence Ψi = {Ψi (1), Ψi (2), . . . , Ψi (l)} of SRi , we choose the VNF-instances of the same type of Ψi (1) and put it in the 2nd column. After that, we split this column into two columns and they are denoted as Ψi (1) and Ψi (1), and the corresponding nodes u are split as two nodes, which are denoted as u and u respectively. Next, we perform the same manipulation in order on the VNF-instances of the same type from Ψi (2) to Ψi (l). At last, we put the egress node Di in the (2l + 2)th column. The second process is to generate links for Gi . We first connect Si with all the nodes u in the Ψi (1) column, then we connect the nodes u in Ψi (1) column with the nodes u in the Ψi (1) column by one to one. After that, we connect every node u in the Ψi (1) column with all the nodes u in the Ψi (2) by one to all. Next, we perform the same operation sequentially until Ψi (l) column. At last, we connect all the nodes u in the Ψi (l) column to Di . It is worth to noting that the direction of all the generated links is from the node in the previous column to the node in the next column. Fig. 5 shows an example of the above process. In Gi , for brevity, we refer to the edge u u as VNF- derived edges, and the weight of u u is identical to the weight of mm in G i . Besides the VNF-derived edges, each link u v is corresponding to a path generated by SP (e.g., Dijkstra) on G i . We denote the path by pi (uv). The weight of u v is the sum of the weight of the path pi (uv) in G i , i.e., if e = u, v ∈ Li , ωi, e = e∈pi (uv) ωi,e . The following equations present the weights computation of the links in Gi . ωcost i, e = ωcpu 1−rcpu i,m , if e = u, u ∈ Li e∈pi (uv) ωcost i,e , if e = u, v ∈ Li (37) ωdelay i, e = δdelay τ(m) , if e = u, u ∈ Li e∈pi (uv) ω delay i,e , if e = u, v ∈ Li (38) ωloss i, e = 0, if e = u, u ∈ Li e∈pi (uv) ωloss i,e , if e = u, v ∈ Li (39) ωjitter i, e = 0, if e = u, u ∈ Li e∈pi (uv) ωjitter i,e , if e = u, v ∈ Li . (40) C. Heuristic Algorithm For DVPRP Based on the relationship among G, G and G, the rel- ative costs of resource consumption are all transformed and denoted by the links on G. Since all candidate VNF-instances of SRi are laid by the predetermined order on G, we can find a routing path pi on Gi which satisfies the following Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 9. LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4271 Fig. 5. Solving DVPRP and DLJA-DVPRP on Gi . equation, Minimize e∈ pi ωcost i, e (41) which implies that an optimal solution for SRi is obtained. We can get the final routing path for SRi by mapping path pi to original network G. Fig. 5 shows an example for routing the SRi on the Gi . In Fig. 5, the SRi starts from the entry node Si and requires for passing through the VNF-instances in the order of Ψi (1), Ψi (2), Ψi (3) before arriving at node Di . We suppose Si → VNF11 → VNF21 → VNF32 → Di is the minimum cost path calculated by Eq. (41). According to Fig. 5, it implies that SRi will be processed by VNF11, VNF21 and VNF32 on some function nodes. We can map this path pi to original network G and get the routing path for SRi . It is worth noting that some VNFs may not exist or not be active on G when routing SRi , i.e., its pseudo VNF, and we can deploy them immediately and dynamically on function nodes. In the path set composed by each combination of VNF- instances on G, only one path not only satisfies the require- ment of SR, but also has the lowest cost. The path set is just a subset of the original network graph G. Hence, G supplies a concise view of the network topology by eliminating sub- optimal solution, which enables us to calculate the path more efficiently. The detailed algorithm for DVPRP is given in Algorithm 1. In the Alg. 1, we first enumerate all possible VNFs that can be deployed on each function node according to the resource capacity of the function node and the resource demands of a type of VNF (line 1). Then, we construct the G i by removing all the nodes and links which have no sufficient resources for serving SRi (line 2). Next, we invoke Alg. 2 to construct Gi (line 3) and find the minimum cost path pi in Gi (line 4). Finally, we admit the SRi and map the pi to G and update resource remaining ratios or reject request SRi (lines 5-10). Theorem 1: The time-complexity of DVPR-A is O(|Vfn|2 + |Vfn|2(|L| + |V| log |V|)). Algorithm 1 The Dynamical VNF Placement and Routing Algorithm (DVPR-A) for SRi Input: NFV-Enabled SDN: G = (V, L), Flow request: SRi = Si , Di , Ψi , Rbw i , R cpu i , Resource capacities: Cbw uv , C ft u , C cpu u , κ cpu τ(m) , Resource remaining ratios: rbw i,uv , r ft i,u, r cpu i,u , r cpu i,m . Output: Admit or reject the request SRi . 1: According to IV-A, enumerate all possible VNFs which can be deployed on each function node in G; 2: Calculate ωi,e based on Eq. (33) and construct G i from a subgraph of G by removing all the nodes and links which have no sufficient resources to serve SRi ; 3: Construct VSMSWG Gi based on G i by Alg. 2 4: Find the minimum cost path pi in Gi based on Eq. (41); 5: if pi exists then 6: A routing walk p in G for SRi is mapped by replacing each edge in pi with its corresponding shortest path in G; 7: Update rbw i,uv , rft i,u, rcpu i,u and rcpu i,m ; 8: else 9: Routing failed, reject request SRi ; 10: Return; 11: end if Proof: When executing DVPR-A, firstly, we need to enu- merate all possible VNFs which can be deployed on each func- tion node in G and the complexity is O(|Vfn|). Secondly, the complexity of calculating the relative cost of links and nodes in G is O(|Vsn|+|M|+|L|). Thirdly, in the worst case, all types of VNF-instances can be deployed on every function node, and the SP algorithm will be executed (l −1)|Vfn|2 +2|Vfn| times to generate the links on G. Due to the complexity of the SP is O(|L| + |V| log |V|) on G, the complexity of establish- ing G is O((l − 1)|Vfn|2(|L| + |V| log |V|)). At last, G has 2l|Vfn| + 2 nodes and (l − 1)|Vfn|2 + l|Vfn| + 2|Vfn| links at most, therefore, the running time is O(((l − 1)|Vfn|2 + l|Vfn|+2|Vfn|)+(2l|Vfn|+2) log(2l|Vfn|+2)) = O(l|Vfn|2+ l|Vfn| log(l|Vfn|)). The complexity for path mapping and resource updating is O(1). Since l indicates the length of SRi , its value is small and finite. Therefore, the complexity of the DVPR-A is O(|Vfn|2 + |Vfn|2(|L| + |V| log |V|)). Alg. 2 describes the establishment of Gi according to the weight of links ωcost i, e , ωdelay i, e , ωloss i, e , ωjitter i, e . Lines 1-3 of the algorithm record sequentially VNF-instances of the same type Ψi in ξ. Then, the entry node Si and egress node Di are added to ξ(1) and ξ(l + 2) (lines 4-5). After that, the algorithm uses the SP to generate the links for Gi (lines 6-13). Each VNF instance in ξ is split into two nodes and connected by one to one and assigned corresponding weight (lines 14-18). Finally, the Gi is obtained (line 19). D. Solution for DLJA-DVPRP DLJA-DVPRP is a Multiple Qos-Constraints Routing Problem and it is NP-hard. As the LAgrange Relaxation-based Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 10. 4272 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 Algorithm 2 Construct VSMSWG Gi Input: Auxiliary Graph :G i = V i , E i ; ωi,e , Flow request: SRi ; Output: Gi = Vi , Li , ωi, e ; 1: for j = 1 to l do 2: Recording the VNF-instances of the same type Ψj of network G into ξ(j + 1); 3: end for 4: ξ(1) = Si ; 5: ξ(l + 2) = Di 6: for j = 1 to l + 1 do 7: while u ∈ ξ(j) do 8: while v ∈ ξ(j + +) do 9: Invoke SP Dijkstra algorithm to calculate ωcost i, e , ωdelay i, e , ωloss i, e , ωjitter i, e based on Eq. (37)-(39) in G, respectively; 10: Connect u v and assign these values to the edges. 11: end while 12: end while 13: end for 14: for j = 2 to l + 1 do 15: Split ξ(j + 1) to u and u; 16: Connect u and u by one to one as an edge; 17: Assign the values ωcost i, e , ωdelay i, e , ωloss i, e and ωjitter i, e based on Eq. (37)-(40) to the edge u u; 18: end for 19: return Gi = Vi , Li , ωi, e ; Aggregated Cost (LARAC) [28] has been regarded as among the best central routing algorithms for finding an approximate solution to a Constrained Shortest Path (CSP) problem [29]. We define LARAC’s multi-constrained version to solve our DLJA-DVPRP. 1) Transforming the DLJA-DVPRP to ILP: We first reduce the original problem to the following ILP based on the Gi . min e∈ Li ωcost i, e x e S.t. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ C1 : e∈ Li ωdelay i, e x e ≤ Rdelay i C2 : e∈ Li ωloss i, e x e ≤ Rloss i C3 : e∈ Li ω jitter i, e x e ≤ R jitter i x e = 0, e / ∈ pi 1, e ∈ pi (42) where x e represents whether the path pi contains the link e ∈ Li or not, and C1, C2 and C3 ensure the path satisfies the QoS constraints of SRi . As the constraint C2 is nonlinear, we handle the C2 by taking logarithm on two sides and transform it from multiply into addition. The transformed C2 becomes e∈ Li log(ωloss i, e )x e ≤ log Rloss i . 2) Lagrange Relaxation: Let μ, ν and γ ∈ R+ be the Lagrange multipliers for constraints C1-C3, respectively. Thus, our ILP reduces to the following Lagrange dual problem. L(μ, ν, γ) = min ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ e∈ Li ωcost i, e x e +μ e∈ Li ω delay i, e x e − R delay i +ν e∈ Li log ωloss i, e x e − log Rloss i +γ e∈ Li ωjitter i, e x e − Rjitter i ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ = min ⎡ ⎢ ⎣ e∈ Li ωcost i, e + μωdelay i, e + ν log ωloss i, e + γωjitter i, e x e − μR delay i + ν log Rloss i + γR jitter i ⎤ ⎥ ⎦ (43) Since μR delay i + ν log Rloss i + γR jitter i is a constant. The optimal solution of function (43) is equal to the function 44: min e∈ Li ωcost i, e + μω delay i, e + ν log ωloss i, e + γω jitter i, e x e (44) It is also equivalent to the shortest path between Si and Di with the cost of the links given by the weight:ωcost i, e + μωdelay i, e + ν log(ωloss i, e ) + γωjitter i, e . 3) Algorithm For DLJA-DVPRP Based on Sub-Gradient Optimization: The pseudo-code of Algorithm 3 to solve DLJA-DVPRP is described as follows. Firstly, we construct Gi (lines 1-3), which are identical with the lines 1-3 of Alg. 1. Then, we utilize a sub-gradient descent method [30] to search the solution space of the dual problem Eq. (43). All the Lagrange multipliers are initialized and the Upper Bound (UB) for the sub-gradient descent algorithm is set as the product of the number of edges in Gi and the maximum cost among all edges(line 4). As we find a feasible path while iterating (lines 6-14), we update the UB with the cost of that feasible path (line 12). The A, B and C denote the sub-gradients for the relaxed constraints C1, C2, C3 and be computed (line 7) as follows: A = ∂L(μ, ν, γ) ∂μ = e∈ pj i ω delay i, e − R delay i (45) B = ∂L(μ, ν, γ) ∂ν = e∈ pj i log ω delay i, e − log R delay i (46) C = ∂L(μ, ν, γ) ∂γ = e∈ pj i ωjitter i, e − Rjitter i (47) The optimal solution judgment rule of Lagrange dual function is used to judge whether the path pi is the optimal path (line 9). The scalar step size σ is computed by: σ = UB − LB A2 + B2 + C2 (48) The step size depends upon the difference between the current UB and the current LB with A2 + B2 + C2 being the scaling Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 11. LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4273 factor. The Lagrange multipliers are updated (Line 20) and the Lagrange dual function is solved again with this new set of multipliers. In the iteration process, the optimal path (line 10) or suboptimal but feasible path (line 12) is recorded in candidate path set Φ. The iteration is terminated if it runs a predefined K times or it meets the optimality condition (line 9). It is worth noting that when the step size is very small, the Lagrange multiplier’s adjustment is very small. Therefore, we directly terminate the iteration when σ 0.01 (lines 17-18). After completing at most K times of iterations, we select one path with minimum cost from the path set Φ as our optimal solution and we map this path to original network (lines 22-32). Finally, we update the resource remaining ratios and terminate the algorithm. The SRi will be rejected if there isn’t available path in Φ (line 30). Theorem 2: The time-complexity of DLJA-DVPR-A is O(K|Vfn|2 + |Vfn|2(|L| + |V| log |V|)). Proof: When executing DLJA-DVPR-A, the complexity of establishing G is the same as that of DVPR-A, it is O((l − 1)|Vfn|2(|L| + |V| log |V|)). At last, G has 2l|Vfn| + 2 nodes and (l − 1)|Vfn|2 + l|Vfn| + 2|Vfn| links at most, in the worst case, the DLJA-DVPR-A will be iterated K times for obtaining the solution, therefore, the running time is O(K(((l − 1)|Vfn|2 + l|Vfn| + 2|Vfn|) + (2l|Vfn| + 2) log(2l|Vfn| + 2))) = O (K(l|Vfn|2 + l|Vfn| log(l|Vfn|))). The complexity for path mapping and resource updating is O(1). Since l indicates the length of SRi , its value is small and finite. Therefore, the complexity of the DLJA-DVPR-A is O(K|Vfn|2 + |Vfn|2(|L| + |V| log |V|)). VI. PERFORMANCE EVALUATION The section discusses the performance comparison with existing algorithms. A. Simulation Settings 1) Topology Settings: We use Python NetworkX 2.4 Library [31] to generate network topologies and evaluate our proposed algorithms. A U.S. carrier network topology called CORONET CONUS Topology [6], [32], composed by 60 nodes and 79 links, is used as our network graph. In the network, we choose the first 30% of nodes which are sorted in descending order based on the node degree as function nodes [6]. We consider six types of VNFs: Firewall, Proxy, NAT, IDS, IPS and gateways, and the CPU requirements of these VNFs are 1600MIPS, 1600MIPS, 800MIPS, 3200MIPS, 2400MIPS, and 1600MIPS, respectively [8]. The deployment cost (Dp) of VNF of type p is set as the product of a ran- domly distributed constant from 0 to 10 and the value of Rcpu i . The bandwidth of each link varies from 1 Gbps to 10 Gbps [33]. The flow-table capacity on switch nodes is set as 800 units [34] and the CPU capacity on function nodes is set as 8000 MIPS [24]. The delay of a link is between 2 ms and 5 ms [33], the packet loss rate of each link is between 0 and 0.0005 and the jitter of each link is between 0.5 ms and 2 ms randomly. The ωbw , ωft , ωcpu are set as 2|V| [5], [26]. 2) SFC Request Settings: For each SR, the bandwidth demand Rbw i varies from 10 to 120Mbps [35]. The CPU Algorithm 3 The Dynamical VNF Placement and Routing Algorithm (DLJA-DVPR-A) for SRi Input: NFV-Enabled SDN: G = (V, L), Flow request: SRi = Si , Di , Ψi , Rbw i , Rcpu i , Rdelay i , Rloss i , Rjitter i , Resource capacities: Cbw uv , Cft u , Ccpu u , κcpu τ(m) , Resource remaining ratios: rbw i,uv , rft i,u, rcpu i,u , rcpu i,m , Iteration times: K. Output: Admit or reject the request SRi . 1: According to IV-A to enumerate all possible VNFs which can be deployed on each function node in G; 2: Calculate ωi,e based on Eq. (33) and construct G i from a subgraph of G by removing all the nodes and links without sufficient resources to serve SRi ; 3: Construct VSMSWG Gi based on G i ; Alg. 2 4: Initialize μ, ν, γ, UB = |E| max e∈ Li ωcost i, e , Φ as ∅; 5: for j = 1 to K do 6: Find the shortest path pi based on Gi by the each edge weight as (ωcost i, e + μω delay i, e + ν log(ωloss i, e ) + γω jitter i, e ) ; 7: Compute A, B, C based on Equ. 45-47 ; 8: if A ≤ 0 and B ≤ 0 and C ≤ 0 then 9: if (μ == 0 or A == 0) and (ν == 0 or B == 0) and (γ == 0 or C == 0) then 10: Φ ← pi ; break; 11: else 12: Φ ← pi ; UB = e∈ pi ωcost i, e ; 13: end if 14: end if 15: LB = e∈ pj i ωcost i, e + μA + νB + γC ; 16: σ = UB−LB A2+B2+C2 ; 17: if σ 0.01 then 18: break; 19: end if 20: μ = μ + max(0, σ × A); ν = ν + max(0, σ × B); γ = γ + max(0, σ × C); 21: end for 22: if ∼Isempty(Φ) then 23: for j = 0 to | Φ | do 24: choose minimum cost path pi in Φ; 25: end for 26: A routing walk p in G for SRi is mapped by replacing each edge in pi with its corresponding shortest path in G; 27: Update rbw i,uv , r ft i,u, r cpu i,u and r cpu i,m ; 28: Return; 29: else 30: Routing fails and request SRi is rejected; 31: Return; 32: end if demand R cpu i equals to the product of a randomly distributed constant from 0 to 10 and the value of Rbw i . The unit of R cpu i is MIPS [36]. R delay i is set between 50ms and 100ms [37], Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 12. 4274 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 Rloss i is set between 0.001 and 0.002 and R jitter i is set between 10ms and 40ms. In addition, we set the length of SFC and the maximum number of DLJA-DVPR-A iterations K as 4 and 5, respectively. We will use the average of the results out of 30 times experiment as the value in each figure. 3) Comparison Algorithm: • MCQRA [11]: The Min-Cost QoS Routing Algorithm (MCQRA) utilizes Lagrange relaxation method, and con- siders the delay and packet loss constraints on links, but does not concern the flow-table resources and CPU resources on nodes, and did not involve the dynamic placement of VNF and link jitter. • RA-RA [6]: The CPU, flow-table, link bandwidth resources are all transformed as links where each link is given a cost based on the ratio of the remaining capacity to the total capacity. Then, SP algorithm is used to find a path with the lowest cost to route SR. However, dynamic placement of VNF, packet loss rate and link jitter are not involved. • COATS [20]: The usage cost is calculated according to the remaining bandwidth of the physical link. Then, COATS uses a hierarchical graph to choose a path with the lowest cost to route SR. COATS only considers the cost of using link resources, but does not consider the cost of flow table resources on switching nodes and CPU resources on functional nodes. • SP [19]: The SP utilizes the Dijkstra shortest path algo- rithm based on the number of hops to choose appropriate VNF-instances and route a SR. B. Performance Comparison 1) Comparison of Average Acceptance Rate, Throughput and Hop Count: Fig. 6(a) shows the comparison on aver- age acceptance traffic rate among the algorithms of MCQRA, RA-RA, COATS, SP and ours. We can observe that when the number of incoming SRs is 8000, the performance of DVPR-A is the best, which accepts about 4% SRs more than DLJA- DVPR-A. The acceptance traffic rate of DLJA-DVPR-A is about 2% higher than MCQRA, about 6% higher than RA-RA, about 12% higher than COATS and about 25% higher than SP. In DVPR-A and DLJA-DVPR-A, we achieve dynamical placement of VNF and load balancing, which presents the better performance. However, the DVPR-A does not consider the QoS constraints, it’s performance is better than DLJA- DVPR-A. Both DLJA-DVPR-A and MCQRA consider QoS constraints during routing, due to DLJA-DVPR-A may dynam- ically place VNF, the performance of DLJA-DVPR-A is better than that of MCQRA. Fig. 6(b) demonstrates the comparison on average traffic throughput. When the number of incoming SRs is 6400, the throughput of DVPR-A is about 5 Gbps higher than DLJA- DVPR-A, 9 Gbps higher than MCQRA, 14 Gbps higher than RA-RA, 20 Gbps higher than COATS and 35 Gbps higher than SP. Since COATS and SP cannot ensure the balanced usage of network resources, their performance is worse than that of RA-RA. In MCQRA, the VNFs are fixed and cannot be scaled dynamically on function nodes, the throughout is lower than DLJA-DVPR-A and DVPR-A. Fig. 6(c) illustrates the comparison on average cumulative hop count when receiving 4000 SRs. Since SP always looks for the paths based on the smallest hop counts for SRs, its performance is better than other algorithms, and there is about 80% of the SRs which traverse less than 12 hops. In addition, since the DVPR-A can dynamically place VNF in function nodes, it surpasses COATS and RA-RA. Due to the fact that MCQRA needs to consider simultaneously resources and the Qos constraints and can’t dynamically place VNF in function nodes when routing SR, it’s performance is the worst. 2) CDF Comparison of Remaining Bandwidth, Flow-Table Entries and CPU: Fig. 7(a) demonstrates the CDF of the aver- age remaining bandwidth of links when 5000 SRs enter the network. The SP has about 14% bottleneck links while other algorithms do not. In addition, for COATS, the network has about 63% of links whose remaining bandwidth is from 4Gbps to 8Gbps, with regard to DVPR-A, RA-RA, DLJA-DVPR- A,MCQRA, it is about 52%, 40%, 35%, 31%,respectively, and for SP, it has only 27%. Obviously, the utilization of link resources in COATS is more balanced than DVPR- A and DLJA-DVPR-A. This is because that DVPR-A and DLJA-DVPR-A consider not only the utilization of bandwidth resources on links, but also the utilization of flow-table entries and CPU on nodes. Fig. 7(b) describes the CDF of average remaining flow- table entries when 4000 SRs enter the network. We can see that COATS and SP have about 8% and 13% bottlenecks switch nodes. Furthermore, COATS has about 60% of the switch nodes whose remaining flow-table entries is less than 400 units, which is 49% for SP, 45% for MCQRA, 42% for DLJA-DVPR-A, 35% for RA-RA, 30% for DVPR-A, there is a similar trend in 600 units. The performance of DVPR-A is superior to that of other algorithms. Fig. 7(c) shows the CDF of average remaining CPU on function nodes when 4000 SRs enter the network. We can find that SP has worst performance and DVPR-A outperforms other algorithms. Due to that SP and COATS cannot ensure the balanced use of CPU on function nodes, there are about 14% and 10% bottleneck nodes for SP and COATS, respectively. For DVPR-A, the network has about 79% of function nodes whose remaining CPU is between 1600 and 4000 MIPS, which is just about 67% for RA-RA, 56% for DLJA-DVPR-A, 52% for MCQRA, 44% for COATS and 38% for SP. 3) Comparison of Average Acceptance Rate: The results are shown In Fig. 8 when 8000 SRs are randomly entering the network. Fig. 8(a) depicts the average acceptance rate in various length of SR. As the network resource consumed by SR increases with the length of SFC, therefore, the traffic accep- tance rate will decrease rapidly. Since MCQRA, COATS and SP cannot balance the utilization of the flow-table and CPU resources, their performance is worse. Although RA-RA also considers the balance of resources, the VNFs are fixed on function nodes, and its performance is lower than DVPR-A and DLJA-DVPR-A. In addition, due to that DLJA-DVPR-A needs to consider the constraints delay and packet loss rate, Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 13. LIU et al.: JOINT DYNAMICAL VNF PLACEMENT AND SFC ROUTING IN NFV-ENABLED SDNs 4275 Fig. 6. The comparison of traffic acceptance rate, throughput and path hop count. Fig. 7. Cumulative Distribution Function (CDF) of average remaining bandwidth, flow-table entries and CPU. Fig. 8. The comparison of average acceptance rate in various parameters. its performance is slightly lower than DVPR-A with the SFC length of SR increasing. Fig. 8(b) demonstrates the average acceptance rate in vari- ous proportion of function nodes. In the network, the higher the proportion of functional nodes is, the more nodes can dynamically deploy VNF-instances. SR can choose redun- dantly VNF-instances to meet its predetermined order, and the average traffic acceptance rate of these algorithms is higher, and vice versa, the lower it will be. The results show that when the proportion of function nodes is from 10% to 20%, the traf- fic acceptance rate of these algorithms is relatively low, and the performance gap is small. However, when the proportion of function nodes increases to more than 20%, the performance gap of these algorithms becomes more and more obvious. Fig. 8(c) illustrates the average acceptance rate of DVPR- A and DLJA-DVPR-A by varying the value of ω in Eq. (6), (7), (8) between 2|V| and 8|V|. We can see that DVPR-A and DLJA-DVPR-A will accept less SRs with the ω increasing. For example, when ω = 2|V| and ω = 8|V|, the average acceptance rate for DVPR-A is 62% and 40%, and Fig. 9. The comparison of execution time. 58% and 25% for DLJA-DVPR-A. This is because the usage cost of resources becomes larger as the value of ω increases, which results in low acceptance rate. 4) Comparison of Execution Time: We solve our ILP problem (Here,we call it as DLJA-ILP) by calling CPLEX via Python, and due to the time complexity of DLJA-DVPR-A, Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.
  • 14. 4276 IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, VOL. 18, NO. 4, DECEMBER 2021 DVPR-A and MCQRA is the same, we only compare the exe- cution time of the heuristic algorithms RARA, DLJA-DVPR-A and DLJA-ILP under different network sizes. The results are shown In Fig. 9. Under the same conditions, with the increase of the number of network nodes, the execution time of DLJA-ILP increases exponentially, while RA-RA and DLJA-DVPR-A increase in square and cubic order respectively, which is consistent with the theoretical time complexity. With the increase of network size, the time complexity of each algorithm is much different. VII. CONCLUSION This paper studies the routing problem for SR by jointly considering Dynamical VNF placement and multiple QoS constraints in NFV-Enabled SDNs. We first define two rout- ing problems with and without the constraints of end-to-end delay and packet loss rate, and formulate them as ILP mod- els. For the incoming SR, in order to minimize the routing cost calculated based on the resources of CPU on function nodes, bandwidth on links, flow-table on switch nodes and VNF deployment on function nodes, we propose a general optimization structure and devise effective VNF dynamical placement and routing algorithms to solve the admission of a SR. Especially, we utilize Lagrange relaxation method to address the delay and packet loss aware VNF dynamical place- ment and routing problem. Finally, the performance of the algorithms are evaluated by experiment simulation. Compared with other existing algorithms, simulation results show that our algorithms have better performance on average acceptance rate and remaining bandwidth of links. In the future, we will study whether the proposed optimization structure can be extended for multicast routing of SR with and without the constraints of end-to-end delay and packet loss rate in NFV-Enabled SDNs. REFERENCES [1] M. M. Tajiki, S. Salsano, L. Chiaraviglio, M. Shojafar, and B. Akbari, “Joint energy efficient and QoS-aware path allocation and VNF place- ment for service function chaining,” IEEE Trans. Netw. Service Manag., vol. 16, no. 1, pp. 374–388, Mar. 2019. [2] N. Mckeown et al., “OpenFlow: Enabling innovation in campus networks,” ACM SIGCOMM Comput. Commun. Rev., vol. 38, no. 2, pp. 69–74, 2008. [3] S. Kulkarni, M. Arumaithurai, K. K. Ramakrishnan, and X. Fu, “Neo- NSH: Towards scalable and efficient dynamic service function chaining of elastic network functions,” in Proc. 20th Conf. Innov. Clouds Internet Netw. (ICIN), 2017, pp. 308–312. [4] H. Tang, D. Zhou, and D. Chen, “Dynamic network function instance scaling based on traffic forecasting and VNF placement in operator data centers,” IEEE Trans. Parallel Distrib. Syst., vol. 30, no. 3, pp. 530–543, Mar. 2019. [5] M. Jia, W. Liang, M. Huang, Z. Xu, and Y. Ma, “Routing cost minimization and throughput maximization of NFV-enabled unicast- ing in software-defined networks,” IEEE Trans. Netw. Service Manag., vol. 15, no. 2, pp. 732–745, Jun. 2018. [6] J. Pei, P. Hong, K. Xue, and D. Li, “Resource aware routing for service function chains in SDN and NFV-enabled network,” IEEE Trans. Services Comput., early access, Jun. 22, 2018, doi: 10.1109/TSC.2018.2849712. [7] Y. Li, L. T. X. Phan, and B. T. Loo, “Network functions virtualization with soft real-time guarantees,” in Proc. 35th Annu. IEEE Int. Conf. Comput. Commun., Apr. 2016, pp. 1–9. [8] F. Bari, S. R. Chowdhury, R. Ahmed, R. Boutaba, and O. C. M. B. Duarte, “Orchestrating virtualized network func- tions,” IEEE Trans. Netw. Service Manag., vol. 13, no. 4, pp. 725–739, Dec. 2016. [9] H. Feng, J. Llorca, A. M. Tulino, D. Raz, and A. F. Molisch, “Approximation algorithms for the NFV service distribution problem,” in Proc. IEEE Conf. Comput. Commun., 2017, pp. 1–9. [10] D. Chemodanov, P. Calyam, and F. Esposito, “A near optimal reli- able composition approach for geo-distributed latency-sensitive service chains,” in Proc. IEEE Conf. Comput. Commun., 2019, pp. 1792–1800. [11] K. Liu, Y. Cao, Y. Liu, G. Xie, and C. Wu, “A novel min-cost QoS routing algorithm for SDN-based wireless mesh network,” in Proc. 2nd IEEE Int. Conf. Comput. Commun., 2016, pp. 1998–2003. [12] S. Agarwal, F. Malandrino, C. F. Chiasserini, and S. De, “VNF place- ment and resource allocation for the support of vertical services in 5G networks,” IEEE/ACM Trans. Netw., vol. 27, no. 1, pp. 433–446, Feb. 2019. [13] Q. Zhang, F. Liu, and C. Zeng, “Adaptive interference-aware VNF place- ment for service-customized 5G network slices,” in Proc. IEEE Conf. Comput. Commun., Apr. 2019, pp. 2449–2457. [14] D. Bhamare, M. Samaka, A. Erbad, R. Jain, L. Gupta, and H. A. Chan, “Optimal virtual network function placement in multi-cloud service function chaining architecture,” Comput. Commun., vol. 102, pp. 1–16, Apr. 2017. [15] D. Li, P. Hong, K. Xue, and j. Pei, “Virtual network function placement considering resource optimization and SFC requests in cloud datacen- ter,” IEEE Trans. Parallel Distrib. Syst., vol. 29, no. 7, pp. 1664–1677, Jul. 2018. [16] L. Qu, C. Assi, and K. Shaban, “Delay-aware scheduling and resource optimization with network function virtualization,” IEEE Trans. Commun., vol. 64, no. 9, pp. 3746–3758, Sep. 2016. [17] A. Khosravi, L. L. H. Andrew, and R. Buyya, “Dynamic VM place- ment method for minimizing energy and carbon cost in geographically distributed cloud data centers,” IEEE Trans. Sustain. Comput., vol. 2, no. 2, pp. 183–196, Apr.–Jun. 2017. [18] M. Shojafar, N. Cordeschi, and E. Baccarelli, “Energy-efficient adap- tive resource management for real-time vehicular cloud services,” IEEE Trans. Cloud Comput., vol. 7, no. 1, pp. 196–209, Jan.–Mar. 2019. [19] Opendaylight. Accessed: Mar. 25, 2020. [Online]. Available: https://www.opendaylight.org/ [20] Z. Cao, M. Kodialam, and T. V. Lakshman, “Traffic steering in software defined networks: Planning and online routing,” SIGCOMM Comput. Commun. Rev., vol. 44, no. 4, pp. 65–70, Aug. 2014. [21] M. Huang, W. Liang, Z. Xu, and S. Guo, “Efficient algorithms for throughput maximization in software-defined networks with consoli- dated middleboxes,” IEEE Trans. Netw. Service Manag., vol. 14, no. 3, pp. 631–645, Sep. 2017. [22] L. Wang, Z. Lu, X. Wen, R. Knopp, and R. Gupta, “Joint optimization of service function chaining and resource allocation in network function virtualization,” IEEE Access, vol. 4, pp. 8084–8094, 2016. [23] H. Huang, S. Guo, J. Wu, and J. Li, “Joint middlebox selection and rout- ing for software-defined networking,” in Proc. IEEE Int. Conf. Commun. (ICC), May 2016, pp. 1–6. [24] T. Kuo, B. Liou, K. C. Lin, and M. Tsai, “Deploying chains of vir- tual network functions: On the relation between link and server usage,” IEEE/ACM Trans. Netw., vol. 26, no. 4, pp. 1562–1576, Aug. 2018. [25] L. Liu, S. Guo, G. Liu, and Y. Zeng, “Priority-based online flow scheduling for network throughput maximization in software defined networking,” Concurrency Comput. Pract. Exp., vol. 32, no. 9, 2020, Art. no. e5633. [26] M. Huang, W. Liang, Z. Xu, W. Xu, S. Guo, and Y. Xu, “Dynamic rout- ing for network throughput maximization in software-defined networks,” in Proc. 35th Annu. IEEE Int. Conf. Comput. Commun., 2016, pp. 1–9. [27] N. M. K. Chowdhury and R. Boutaba, “A survey of network virtualiza- tion,” Comput. Netw., vol. 54, no. 5, pp. 862–876, 2010. [28] A. Juttner, B. Szviatovski, I. Mecs, and Z. Rajko, “Lagrange relaxation based method for the QoS routing problem,” in Proc. IEEE INFOCOM, vol. 2, Apr. 2001, pp. 859–868. [29] J. W. Guck, A. Van Bemten, M. Reisslein, and W. Kellerer, “Unicast QoS routing algorithms for SDN: A comprehensive survey and performance evaluation,” IEEE Commun. Surveys Tuts., vol. 20, no. 1, pp. 388–415, 1st Quart., 2018. [30] S. Boyd, L. Xiao, and A. Mutapcic, “Subgradient methods,” Lecture Notes ee392o, Stanford University, Stanford, CA, USA, 2004. [31] Networkx2.4. Accessed: Mar. 25, 2020. [Online]. Available: https://pypi.org/project/networkx/ [32] Sample Optical Network Topology Files. Accessed: Mar. 25, 2020. [Online]. Available: http://www.monarchna.com/topology.html [33] S. Knight, H. X. Nguyen, N. Falkner, R. Bowden, and M. Roughan, “The Internet topology zoo,” IEEE J. Sel. Areas Commun., vol. 29, no. 9, pp. 1765–1775, Oct. 2011. [34] K. He et al., “Measuring control plane latency in SDN-enabled switches,” in Proc. 1st ACM SIGCOMM Symp. Softw. Defined Netw. Res., 2015, p. 25. [35] “Amazon EC2 instance configuration,” Amazon Web Services, Seattle, WA, USA, 2016. [Online]. Available: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-ec2- config.html [36] D. Kliazovich, P. Bouvry, and S. U. Khan, “Greencloud: A packet- level simulator of energy-aware cloud computing data centers,” J. Supercomput., vol. 62, no. 3, pp. 1263–1283, Dec. 2012. [37] L. Pantel and L. C. Wolf, “On the impact of delay on real-time multi- player games,” in Proc. 12th Int. Workshop Netw. Oper. Syst. Support Digit. Audio Video, 2002, pp. 23–29. Authorized licensed use limited to: Kent State University Libraries. Downloaded on September 27,2023 at 20:14:14 UTC from IEEE Xplore. Restrictions apply.