You are on page 1of 14

This article has been accepted for publication in a future issue of this journal, but has not been

fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 1

Reliability-Aware Virtualized Network Function


Services Provisioning in Mobile Edge Computing
Meitian Huang, Weifa Liang, Senior Member, IEEE, Xiaojun Shen, Senior Member, IEEE, Yu Ma, and
Haibin Kan

Abstract—Along with Network Function Virtualization (NFV), Mobile Edge Computing (MEC) is becoming a new computing paradigm
that enables accommodating innovative applications and services with stringent response delay and resource requirements, including
autonomous vehicles and augmented reality. Provisioning reliable network services for users is the top priority of most network service
providers, as unreliable services or severe service failures can result in tremendous losses of users, particularly for their mission-critical
applications. In this paper, we study reliability-aware VNF instances provisioning in an MEC, where different users request different
network services with different reliability requirements through paying their requested services with the aim to maximize the network
throughput. To this end, we first formulate a novel reliability-aware VNF instance placement problem by provisioning primary and
secondary VNF instances at different cloudlets in MEC for each user while meeting the specified reliability requirement of the user
request. We then show that the problem is NP-hard and formulate an Integer Linear Programming (ILP) solution. Due to the NP-hardness
of the problem, we instead devise an approximation algorithm with a logarithmic approximation ratio for the problem. Moreover, we also
consider two special cases of the problem. For one special case where each request only requests one primary and one secondary VNF
instances, the problem is still NP-hard, and we devise a constant approximation algorithm for it. For another special case where different
VNFs have the same amounts of computing resource demands, we show that it is polynomial-time solvable by developing a dynamic
programming solution for it. We finally evaluate the performance of the proposed algorithms through experimental simulations.
Experimental results demonstrate that the proposed algorithms are promising, and the empirical results of the algorithms outperform their
analytical counterparts as theoretical estimations usually are very conservative.

Index Terms—Reliability-Aware VNF instances provisioning; VNF instance placements; virtualized network function implementation;
approximation algorithms; generalized assignment problems; dynamic programming; Mobile Edge Computing; combinatorial optimization
problems.

1 I NTRODUCTION Many network service providers recently have started


Mobile devices, including smartphones and tablets, have migrating their infrastructure to take advantage of network
experienced exponential growth in recent years. This trend functions virtualization (NFV) [21], [27]. Due to the con-
is coupled with the evolution of new mobile applications tinuous advances in computing hardware, it is possible to
with stringent requirements such as real-time and interac- replace resource demanding user applications, such as voice
tive applications. However, executing computation-intensive recognition, image processing, and other supporting tasks
applications on mobile devices of portable sizes is heavily for smart cities, with software components that provide the
constrained by their limited computing, storage, and battery same capability on top of commodity servers. Each network
capacities. Mobile edge computing (MEC) has emerged, function, such as a software-based video transcoder for a
which brings computation and storage resources, which smart city system, runs in a virtual machine, referred to as
are referred to as cloudlets [30], to the edge of mobile net- a virtualized network function (VNF) instance, hosted in
works [11]. These cloudlets are co-located with access points cloudlets. NFV enables users to offload their tasks to nearby
(APs) in the networks and they are accessible by mobile cloudlets via wireless APs for processing.
users via wireless access. A key advantage of deployment While implementing user applications as VNF instances
of cloudlets is that the close physical proximity between promises significant flexibility and ease of the management
cloudlets and users introduces shorter communication delays, of networks, it also brings more concerns on the reliability
thereby improving the user experience. It thus has been of running VNF instances. Traditional carrier-grade systems
envisioned that MEC has many promising applications have been engineered to offer nearly 99.999% (five nines)
including in smart cities and smart connected vehicles [6], reliability and designed to be highly fault-tolerant [14].
[26], [32], [34]. Achieving this level of reliability is extremely difficult
for NFV in an MEC environment due to various reasons
• M. Huang, W. Liang and Y. Ma are with Research School of Computer including the cloudlets hosting VNF instances are more prone
Science, The Australian National University, Canberra, ACT 2601, to errors and failures compared to the dedicated hardware
Australia Emails: Meitian.Huang@anu.edu.au, wliang@cs.anu.edu.au, appliances, and software for implementing VNF instances
Yu.Ma@anu.edu.au
• X. Shen is with the School of Computing and Engineering, University of may contain bugs [14] and is prone to failures. As a result,
Missouri, Kansas City, MO 64110, USA Email: shenx@umkc.edu in order to provide reliable VNF services to users while
• H. Kan is with School of Computer Science, Fudan University, Shanghai meeting their requirement of the service and mitigate the
200433, P. R. China Email: hbkan@fudan.edu.cn
risk of failures, additional VNF instances should be created

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 2

at other peer cloudlets in the MEC. problem. Moreover, Section 7 deals with two special cases
In this paper, we consider reliability-aware VNF services of the problem and proposes a constant approximation
provisioning in an MEC. We assume that each user request algorithm and an exact solution for the two special cases,
needs a VNF service with a specified reliability requirement. respectively. Section 8 evaluates the proposed algorithms
In order to meet the reliability requirement of the user, empirically, and Section 9 concludes the paper.
multiple VNF instances need to be placed at different
cloudlets. We distinguish between the single primary VNF
instance and one or multiple secondary VNF instances for 2 R ELATED W ORK
each offloaded user request [17]: the former is an active VNF Several studies on the provisioning of reliable VNF services
instance while the latter are idle ones until the primary have been conducted recently. Existing methods to improve
one fails. Moreover, as the usage of network resources reliability of NFV are summarized by Han et al. [17]. For
follows pay-as-you-go, there are multiple users competing for example, Beck et al. [4] conducted one pioneering study
limited network resources, yet the resources at each cloudlet related to survivability of VNF instances in the context of
have capacity constraints. Hence, it needs to be determined the VNF resource allocation, by admitting a set of VNF
which requests should be admitted, subject to the capacity requests with the aim of reducing the amount of network
constraints on cloudlets. resource allocated to VNF chains, while computing resilient
The novelty of the work in this paper lies in the pro- allocations to protect network services from both link and
visioning of reliability-aware VNF instances for network VNF instance failures. They however did not differentiate
function services in MEC, by formulating a novel reliability- reliability requirements of different requests. Casazza et al. [8]
aware VNF instances provisioning problem. Efficient approx- cast a problem of assigning virtual machines for network
imation and exact algorithms are proposed for allocating function implementations to servers in order to guarantee the
network resources to accommodate primary and secondary availability of virtual machines via VNF instance replications.
VNF instances in different cloudlets to meet individual They considered a geo-distributed data center network in
user reliability requirements. Furthermore, the formulated which there are sufficient resources to accommodate all
optimization problem may be of independent interests as the user requests. Their objective is to maximize the minimum
Generalized Assignment Problem (GAP) is a special case of availability among all requests by developing heuristics.
the problem. To the best of our knowledge, there is no prior Ceselli et al. [9] dealt with the design of edge cloud networks
study on similarly formulated problems, and this problem, with the aim to determine where to install cloudlets among
which generalizes the GAP problem, has wide potential the potential AP sites by developing efficient heuristics. Ding
applications in practice, particularly in the fault-tolerance et al. [12] proposed an approach to enhancing the network
domain. resilience while maximizing cost-efficiency of the network
The main contributions of this paper are described as through improving the ratio of the reliability to the backup
follows. We study the provisioning of reliability-aware VNF cost of VNF instances. Fan et al. investigated how to map
instances in an MEC to meet individual user reliability service function chains to a network with high end-to-end
requirements. We first formulate a novel optimization prob- reliability requirements, by adopting on-site and off-site VNF
lem for provisioning multiple VNF instances at different instance backups [14], [15]. Their work is one of the first
cloudlets in MEC to meet the reliability requirement of each works on this topic, and recently Li et al. [25] proposed onsite
request. We then show the NP-hardness of the problem and and off-site backup mechanisms by developing efficient
formulate an integer linear programming (ILP) solution to scheduling algorithms for the problem through adopting
the problem when its size is small, otherwise, we develop the primal and dual update technique. Kang et al. [23]
an approximation algorithm with an approximation ratio of studied the tradeoff between the reliability of a network
O(log K), where K is the number of cloudlets in the MEC. service, as measured by the probability that the service is
Moreover, we also consider two special cases of the problem. correctly executed, and the computational load of servers.
Specifically, we devise a constant approximation algorithm Engelmann et al. [13] studied the end-to-end service reliability
for a special case of the problem where each request needs in data center networks (DCNs). They divided large flows
only one primary and one secondary VNF instances. We also into several smaller flows yet provided only one backup
develop a dynamic programming algorithm that delivers an flow for reliability guarantee. Moualla et al. [28] considered
exact solution to another special case of the problem where the placement of service chains in DCNs, and devised an
the VNF instances of different types of virtual network func- algorithm for the placement on the special fat-tree topological
tions demand the same amount of computing resources. We network structure. Kong et al. [24] proposed a mechanism
finally evaluate the performance of the proposed algorithms that employs both backup path protection and VNF instance
through experimental simulations. Experimental results replication in order to guarantee the availability of a service
demonstrate that the proposed algorithms are promising and function chain. The proposed mechanism determines the
the empirical results outperform their analytical counterparts number of VNF instance replicas required for each VNF in
as the theoretical estimations usually are very conservative. the SFC, and allocates the replicas to physical nodes on the
The rest of the paper is organized as follows. Section 2 primary and backup paths while taking into account the or-
reviews related work. Section 3 introduces notions, nota- dered dependency among VNFs. Herker et al. [18] introduced
tions, and the problem definitions. Section 4 shows the several VNF backup strategies for service function chains,
NP-hardness of the problem. Section 5 provides an ILP and analyzed the impact of different data-center architectures
formulation of the problem, while Section 6 devises an on the service provision. They then proposed cost-per-
algorithm with a logarithmic approximation ratio for the throughput algorithms for a given reliability requirement.

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 3

Carpio and Jukan [7] investigated how to improve service


Access Point
reliability through the joint consideration of replications
and migrations. Qu et al. [29] aimed to minimize the Cloudlet
communication bandwidth usage across the network while
considering the availability requirements, by developing a
heuristic. Aidi et al. [1] recently proposed a framework to
efficiently manage survivability of service function chains
and the backup VNFs. They aimed to determine both the
minimum number and optimal locations of backup VNFs
to protect service function chains. The proposed heuristics
have been empirically demonstrated to deliver near-optimal
solutions.
In this paper, we consider reliability-aware VNF service
provisioning in MEC. We distinguish our work from existing
ones as follows. Most existing studies focused on the place-
ment of service function chains in geo-distributed networks
that consists of many powerful data centers. We provide Fig. 1. An MEC consists of five APs and three cloudlets co-located with
the very first study of reliability-aware VNF placement APs. User devices access the network through their nearby APs and APs
are interconnected by optical links of the MEC.
in MEC. We assume that the required network function
service of a user can be implemented by a single, consoli-
dated VNF instance. Additionally, existing studies mainly instance of fj in a cloudlet, and pj (∈ R+ ) is the revenue
focused on end-to-end requirements of requests specified collected by the service provider if request rj is admitted. In
as the probability of component failures. In this paper, we contrast to some previous studies, we here assume that a user
differentiate reliability requirements of different users by request can be served by a single VNF instance [22], [33], or a
providing different numbers of secondary VNF instances to consolidated VNF instance [20]. This assumption is in align-
ensure their reliability requirements, and devised efficient ment with real world deployments of VNF instances, such
algorithms with performance guarantees for the problem of as Google’s enterprise software-defined networks (SDN) [5],
concern. in which a single general-purpose computer implements
multiple network functions, including network address
3 P RELIMINARIES translation (NAT), firewall, Intrusion Detection System (IDS),
Dynamic Host Configuration Protocol (DHCP) daemon.
In this section, we first introduce the system model, notions
We assume that each request rj needs (nj + 1) VNF
and notations. We then define the problem precisely.
instances of its network function fj , to meet its reliable
service requirement, where nj is calculated by the reliability
3.1 Network model requirement of the request. Without loss of generality, we
We consider an MEC environment for a metropolitan re- assume that nj + 1 ≤ K , i.e., the reliability provided by the
gion. Given a wireless metropolitan area network (WMAN) system through duplicating the VNF instances to different
G = (V, E) consisting of Access Points (APs) and K cloudlets is no more than the number of cloudlets K in
cloudlets, where each cloudlet k is co-located with an AP the system. Among the (nj + 1) VNF instances for request
and they are interconnected by a high-speed optical cable, rj , one of the VNF instances will serve as its primary VNF
yet not all APs have co-located cloudlets, i.e., the number instance, and the remaining ni VNF instances will serve as
of cloudlets in the network is far less than the number of its secondary VNF instances. Specifically, the value of nj ≥ 0
APs. Each cloudlet k has a (residual) computing capacity is determined by the reliability requirement Rj of request
Ck . E is the set of links in which a link e ∈ E between rj , which is a minimum non-negative integer to meet the
two APs if they are interconnected by an optical cable. We following inequality.
assume that there are |F| different types of network function
services offered by the network service provider. Denote by
P r(at least one of the (nj + 1) VNF instances is available)
nj
F = {f1 , f2 , . . . , f|F | } the set of network functions. The n +1
Y
computing resource demand of each VNF instance of a = 1 − P r(fj ) j · P r(Kjl ) (1)
l=0
network function fi ∈ F is ci . Mobile users can access the nj +1
network ubiquitously through their nearby APs. Fig. 1 is an = 1 − P r(fj ) · P r(K)nj +1 (2)
illustrative example of such a network that consists of five ≥ Rj , (3)
APs and three cloudlets.
where P r(fi ) is the failure probability of an instance of
network function fi and P r(Kjl ) is the failure probability of
3.2 User requests the lth instance of request rj , and step (1) in Eq. (3) follows
Denote by R the set of user requests. Each user request because, in order to be functionally identical to the primary
rj ∈ R is defined by a quadruple (fj , Rj , cj , pj ), where fj instance, the secondary VNF instances are often running on
(∈ F ) is the requested type of VNF, Rj is the reliability the same software version and using the same configuration
requirement of request rj with 0 < Rj ≤ 1, cj is the amount as their primary VNF instance, thereby having the same
of computing resource demanded for implementing the VNF failure probabilities as the failure probability of the primary

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 4

VNF instance. Step (2) in Eq. (3) follows we assume that TABLE 1
cloudlets in the system have the same failure probabilities. Table of Symbols
This assumption is in alignment with the common industry
practice where network operators keep their equipments to Notations Descriptions
a limited range so that they can standardize the process and G = (V, E) a WMAN
minimize their OPEX. We also assume that failures of VNF k∈K a cloudlet co-located with an AP
instance are independent with each other and links (optical Ck the residual computing capacity of
cables) in G are reliable. cloudlet k
F (= f1 , f2 , . . . , f|F | ) the set of network functions offered in
As most network functions are stateful, the primary G
and secondary VNF instances of a network function need fi a network functions offered in G
to synchronize with each other so that there is minimum ci the computing resource demand of net-
interruptions when the primary VNF instance fails. It is work function fi
worth noting that the internal state of a VNF instance R the set of user requests
often contain sensitive information, e.g., encryption keys. rj = (fj , Rj , cj , pj ) ∈ R a user request, where fj (∈ F ) is the
If synchronization of the internal states of primary and requested type of VNF, Rj is the relia-
secondary VNF instances is via the same links as user traffic, bility requirement of request rj with
0 < Rj ≤ 1, cj is the amount of
sensitive information may be exposed. Instead, the internal computing resource demanded, and pj
state of the primary VNF instance should be periodically (∈ R+ ) is the revenue
distributed to secondary VNF instances over a dedicated nj the number of secondary VNF instances
out-of-band, i.e., separate from user traffic, network. The needed for request rj to meet its reliable
service requirement
commonly used Control Plane Network (CPN) [16], [31]
is an excellent candidate for synchronization between the
primary and secondary VNF instances of a network function.
profit pi with 1 ≤ i ≤ n. There is a bin with capacity W . If an
item aj can be packed into the bin, it brings a profit of pj . The
3.3 Problem definition knapsack problem is to pack as many items as possible such
Given an MEC G = (V, E), a set R of requests, associated that the total profit of packed items is maximized, subject to
with each request rj ∈ R, there is a payment pj , a network the bin capacity W .
function fj ∈ F , and a reliability requirement represented Given an instance of the knapsack problem, we construct
by the number nj (0 ≤ nj < K ) of secondary VNF instances an instance of the reliability-aware VNF instances provi-
with each of them being placed at a different cloudlet, the sioning problem as follows. We assume that there are two
reliability-aware VNF instances provisioning problem is to admit cloudlets (K = 2) with each having W computing capacity.
as many requests in R as possible such that the total revenue There are n requests, which correspond the n items in the
collected by the service provider is maximized, subject to knapsack problem. We further assume that each request rj
computing capacity constraint on each cloudlet and the has only one secondary VNF instance, i.e., nj = 1. As each
specified reliability guarantee of each admitted request. request implementation has a primary VNF instance. Thus,
A request rj is admitted if its (nj + 1) VNF instances there are two VNF instances for each request allocated to two
are placed at (nj + 1) different cloudlets, and each cloudlet cloudlets. The computing demand of each of the two VNF
has sufficient computing resource to meet the computing instances of rj is wj . If request rj is admitted, the revenue
resource demand cj of its network function fj , assuming brought by its implementation is pj . Then, the reliability-
that max1≤j≤|R| {nj } ≤ K − 1. There are a set R of requests, aware VNF instances provisioning problem is to admit
each request rj ∈ R needs nj + 1 replicas of its VNF fj , as many requests as possible such that the total revenue
and its admission will result in a revenue of pj where each collected from admitted requests is maximized, subject the
instance of fj demands the amount cji of computing resource computing capacity constraints on the two cloudlets.
from each of the nj + 1 cloudlets. The problem is to admit It can be seen that a solution to the latter in turn returns a
as many requests in R as possible to maximize the revenue, solution to the former, while the reduction from an instance
subject to the cloudlet computing capacity constraint. of the knapsack problem to an instance of the reliability-
Notice that in this paper we do not explicitly consider aware VNF instances provisioning problem takes polynomial
user mobility. However, we assume the users are allowed time. Also, verifying the solution of the latter can be easily
to move in the MEC, and they can issue their requests for done in polynomial time. As the knapsack problem is NP-
services through the APs in which they are located. complete, the reliability-aware VNF instances provisioning
Table 1 lists the frequently used notations used in this problem is NP-complete, too.
paper.

5 I NTEGER L INEAR P ROGRAMMING


4 NP-H ARDNESS
In this section, we formulate an ILP solution for the problem.
Theorem 1. The reliability-aware VNF instances provisioning
We assume that xj is a boolean variable, where xj = 1
problem in an MEC G(V, E) is NP-complete.
implies that request rj is admitted; otherwise, it will not
Proof: We show the claim through a reduction from the be admitted. Furthermore, if rj is admitted, there are
well-known NP-complete knapsack problem that is described exactly nj + 1 cloudlets with each having the amount cj
as follows. Given n items, each item ai has a weight wi and a of computing resource to meet the computing resource

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 5

demand by its primary and secondary VNF instances. The 6.2 Algorithm description
optimization objective thus is We first sort all requests by the ratio of the payment of
Pn each request to the total amount of its computing resource
maximize j=1 pj xj , demand to meet its VNF instance reliability. In other words,
pj pi
we rank request rj ahead of request ri if (nj +1)c j
≥ (ni +1)ci
subject to the following constraints. for any two requests ri ∈ R and rj ∈ R. For the sake of
|R|
convenience, we assume that the sorted request sequence is
X r1 , r2 , . . . , r|R| . We then examine requests in the sequence
cj · yj,k ≤ Ck , ∀k, 1 ≤ k ≤ K (4)
one by one to determine whether a request will be admitted
j=1
immediately.
K
X For each request rj , we calculate its normalized cost if one
(nj + 1) · xj = yj,k , ∀rj ∈ R (5)
of its VNF instances is instantiated at cloudlet k as follows.
k=1
Ck (j)
1−
xj ∈ {0, 1}, ∀rj ∈ R (6) wk (j) α Ck
−1
ψk (j) = = . (9)
yj,k ∈ {0, 1}, ∀rj ∈ R, ∀k, 1 ≤ k ≤ K, (7) Ck cj

where yj,k is a boolean variable, yj,k = 1 if a VNF instance For each request rj , we identify top-(nj + 1) cloudlets with
of request rj is allocated to cloudlet k ; yj,k = 0 otherwise. the lowest normalized costs, and denote by Kj the set of
Constraint (4) says that the total computing demand by the cloudlets. We here introduce an admission control policy for
VNF instances of all different requests rj in any cloudlet k request admissions. That is, if the sum of normalized costs of
is no greater than its residual computing resource capacity. the identified top-(nj + 1) cloudlets for request rj is greater
Constraint (5) ensures that the number of secondary VNF than K , i.e., P
k∈Kj ψk (j)
instances at different cloudlets for each admitted request rj > K, (10)
is exactly nj + 1. Constraints (6) and (7) limit the ranges of pj
boolean variables xj and yj,k to either 0 or 1. then request rj will be rejected. Otherwise, it will be admitted,
and its (nj + 1) VNF instances will be placed in the top-
(nj + 1) cloudlets. The algorithm detail for the reliability-
6 A PPROXIMATION A LGORITHM FOR THE aware VNF instances provisioning problem is given in
R ELIABILITY -AWARE VNF I NSTANCES P ROVI - Algorithm 1.
SIONING P ROBLEM Algorithm 1 Approximation algorithm for the reliability-
In this section, we propose an approximation algorithm for aware VNF instances provisioning problem
the reliability-aware VNF instances provisioning problem. Input: A set of K cloudlets with each having a residual
We start with cost modeling, and then provide an overview computing capacity C , a set of requests R with each request
of the proposed algorithm and details of the algorithm. We rj = (fj , Rj , cj , pj )
Output: Admit a subset of requests in R that maximizes the
finally analyze the approximation ratio and time complexity sum of revenues of admitted requests while meeting the
of the proposed algorithm. reliability requirement of each admitted request.
1: A ← ∅ /* the set of admitted requests */;
2: Sort requests in R by the ratio of the payment of each request
6.1 Cost modeling
to the total amount of its computing resource demand to
The approximation algorithm examines the requests in R meet its VNF instance reliability;
one by one. When request rj is considered, the resource 3: for each request rj in the sorted order do
4: Calculate the number nj of secondary VNF instances of
availability of cloudlets affects whether rj can be admitted.
its network function by Inequality (3);
We thus denote by Ck (j) the amount of residual computing 5: Assign each cloudlet k a cost by Eq. (9) if rj is admitted;
resource at cloudlet k with Ck (0) = Ck . 6: Identify top-(nj +1) cloudlets Cj1 , Cj2 , . . . , Cjnj , Cj(nj +1) ,
The key to the approximation algorithm is that we use an with smallest costs, by a linear time selection algorithm;
exponential function to model the cost wk (j) of instantiating 7: if there is a cloudlet jk among the nj + 1 identified
a VNF instance of request rj with computing resource cloudlets such that Cjk < cj or the sum of costs of the
demand cj at cloudlet k , which is defined as follows. (nj + 1) identified cloudlets is greater than K · pj (by
Inequality (10)) then
Ck 1− CCk (j) 8: Reject request rj ;
wk (j) = (α k − 1), (8) 9: else
cj 10: Allocate a VNF instance of request rj to each of the
top-(nj + 1) cloudlets;
where α > 1 is a constant to reflect the sensitivity of the
11: Update the residual computing capacity of each of these
workload at each cloudlet, which will be determined later, cloudlets as Cjk ← Cjk −cj for all k with 1 ≤ k ≤ nj +1;
Ck (j)
and 1 − C k
is the utilization ratio of cloudlet k when request 12: A ← A ∪ {rj };
rj is considered. The rationale is that the high utilization a 13: end if
resource has, the higher the risk associated with the resource 14: end for
utilization, thus the usage of resources with high utilization 15: return Set A of admitted requests and their primary and
should be discouraged. The proposed exponential function secondary VNF instance placements in cloudlets.
will guide the resource allocations.

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 6
K
6.3 Algorithm analysis X X X 1
≤ wk (j) ( ) (13)
In the following, we first provide an upper bound on the k=1 rj 0 ∈D k0 ∈Kopt
Ck0
j0
sum of costs of all cloudlets in G after a subset of requests
K
in R is admitted. We then show a lower bound on the X
sum of costs of cloudlets that an optimal solution uses to ≤ wk (j) · 1 (14)
k=1
admit a request rejected by the proposed algorithm, and
K
we finally analyze the approximation ratio of the proposed X X
= wk (j) ≤ 2K log α · pj 0 by Lemma 1. (15)
approximation algorithm.
k=1 j 0 ∈A
Lemma 1. Given an MEC G(V, E) and a set of requests R, de-
note by A the set of requests admitted by Algorithm 1, Notice that Inequality (12) holds because the utilization
then, the sum of costs of all K cloudlets is of each resource does not decrease and consequently the
cost of any cloudlet k with 1 ≤ k ≤ K does not decrease
K
X X with
Pp morePq request admissions. PInequality (13) holds since
wk (j) ≤ 2K · log α · pj 0 , A B ≤
Pp
A q
B for all Ai ≥ 0 and
i=1 j=1 i j i=1 i j=1 j
k=1 rj 0 ∈A
Bj ≥ 0. The proof of Inequality (14) proceeds as follows. All
where α is a constant with 2K · Qmax + 2 ≤ α ≤ algorithms, including an optimal algorithm for the problem
2Cmin /cmax , Cmin (= min{Ck | 1 ≤ k ≤ K}) is the of concern, the total amount of allocated computing resources
minimum cloudlet computing capacity, R is the set of in any cloudlet is no more than the capacity of the cloudlet.
requests, and Qmax (= max{pj 0 · cj 0 | rj 0 ∈ R}) is the By Inequality (15), we have
maximum product of the profit and computing resource Popt Popt − P
demand among requests. = +1
P P P
Please see Appendix A for the proof. 2 log α · rj0 ∈A pj 0
Let D (⊆ R) be the set of requests that are admitted ≤ P + 1 ≤ 2 log α + 1
rj 0 ∈A pj 0
by an optimal algorithm but rejected by the proposed
approximation algorithm. We now prove a lower bound = O(log(K · Qmax )), when α = 2K · Qmax + 2.
on the sum of normalized costs of all cloudlets used to admit = O(log K + log Qmax )
any request in D. = O(log K), as Qmax usually is a constant,
Lemma 2. Let D be the set of requests that are admitted by
where Qmax is the maximum product of the profit and
an optimal algorithm yet rejected by the approximation
opt computing resource demand among requests, i.e., Qmax =
algorithm, and let Kj 0 be the set of (nj 0 + 1) cloudlets
max{pj 0 · cj 0 | rj 0 ∈ R}.
to which the optimal algorithm places VNF instances for
The running time of Algorithm 1 is dominated by the
request rj 0 ∈ D. Then, for any request rj 0 ∈ D, we have
time required to sort all requests by their ratio, which takes
ψk (j 0 )
P
k∈Kjopt
0
O(|R · | log |R|) time. Then, there are |R| iterations, and
≥ K, (11) within each iteration j , it identifies the top-(nj + 1) cloudlets
pj 0
with the smallest weights using a linear time selection
where α is a constant with 2K · Qmax + 2 ≤ α ≤ algorithm. The algorithm thus takes O(|R| · log |R| + |R| · K)
2Cmin /cmax , Cmin (= min{Ck | 1 ≤ k ≤ K}) is the time.
minimum cloudlet computing capacity, and Qmax (=
max{pj 0 · cj 0 | rj 0 ∈ R}) is the maximum product of the
7 A PPROXIMATION AND E XACT A LGORITHMS FOR
profit and computing resource demand among requests.
S PECIAL C ASES OF THE R ELIABILITY -AWARE VNF
Please see Appendix B for the proof. I NSTANCES P ROVISIONING P ROBLEM
Theorem 2. Given an MEC G(V, E), K cloudlets in G, and a
In this section, we study two special cases of the reliability-
set R of requests, there is an approximation algorithm,
aware VNF instances provisioning problem, and propose a
Algorithm 1, with an approximation ratio of O(log K)
constant approximation algorithm and an exact algorithm
for the reliability-aware VNF instances provisioning
for the cases, respectively.
problem, which takes O(|R| · log |R| + |R| · K) time.
Proof: Let Popt and P be the total revenues of admitted 7.1 A constant approximation algorithm for a special
requests by an optimal algorithm and the proposed approx- reliability-aware VNF instances provisioning problem
imation algorithm for requests in R, respectively, we then
We start dealing with a special case of the reliability-aware
have
X X VNF instances provisioning problem where each request has
K(Popt − P) ≤ K pj 0 = K · pj 0 only one primary and secondary VNF instances, i.e., nj = 1
rj 0 ∈D rj 0 ∈D for all requests rj ∈ R. Even for this special case, it is still
X X wk (j 0 ) NP-hard, for which we develop a constant approximation
≤ ( ), by Lemma 2 algorithm by a non-trivial reduction to the well-known
∈D opt
Ck
rj 0 k∈Kj 0 Generalized Assignment Problem (GAP) [10], and a solution
X X wk (j) to the latter in turn returns a feasible solution to the former.
≤ ( ) (12) The Generalized Assignment Problem (GAP) is defined as
Ck
rj 0 ∈D k∈K 0
j
opt
follows. Given a set B of K bins with each bin Bk ∈ B

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 7

having identical capacity of C , a set I of N items, and for Algorithm 2 An approximation algorithm for the special
each pair of item Ij ∈ I and bin Bk ∈ B , a profit p(Ij , Bk ) reliability-aware VNF instances provisioning problem with
is obtained if item Ij is placed to bin Bk with size s(Ij , Bk ), nj = 1 for every request rj ∈ R
the GAP is to pack as many as items in set I into the bins Input: A set of K cloudlets with each having a residual
in B such that the total profit is maximized, subject to the computing capacity C , a set of requests R with each request
capacity constraint on each bin. rj = (fj , Rj , cj , pj )
Given an instance of this special reliability-aware VNF Output: Admit a subset I 0 of requests in R that maximizes the
sum of revenues of admitted requests while meeting the
instances provisioning problem, we construct an instance of reliability of each admitted request.
the GAP as follows. We first assume that the K cloudlets
are indexed into 1, 2, . . . , K and K is even. Otherwise, we 1: if K is even then
2: Construct an instance of the GAP, where each request
assume that there are K + 1 cloudlets, and one cloudlet is
rj ∈ R has a corresponding item Ij and each pair of
a virtual one that implies that it does not exist. We pair the cloudlets has a corresponding bin Bk0 with bin capacity
K cloudlets into K/2 pairs, let B10 , B20 , . . . , BK/2
0
be the K/2 cap(Bk0 ) = 2C with 1 ≤ k ≤ K/2;
pair-bins with each having 2C computing capacity as the 3: Find an approximate solution I 0 to the GAP problem
instance of the GAP problem. Each request rj ∈ R has a using the approximation algorithm due to Cohen et
corresponding item Ij and with resource demand 2cj for its al. [10];
primary and secondary VNF instances. 4: else
5: Construct an instance of the GAP, where each request
If the primary and secondary VNF instances of request rj ∈ R has a corresponding item Ij and each pair of
rj ∈ R will be placed into one pair of cloudlets, correspond- cloudlets has a corresponding bin Bk0 with bin capacity
ing to one bin Bk0 with size 2cj , then the capacity 2C of bin cap(Bk0 ) = 2C with 1 ≤ k ≤ K+1 , where a virtual cloudlet
2
Bk0 is no less than the total resource demand 2cj by these (bin) is added to the system, and let K 0 = K + 1, which is
two VNF instances, and this placement will result in a profit even;
(revenue) p(Ij , Bk0 ) that is defined as 6: Find an approximate solution I 0 to the GAP problem
using the approximation algorithm due to Cohen et
p(Ij , Bk0 ) = pj , al. [10];
0
7: Pmin ← ∞;
where 1 ≤ j ≤ |R| and 1 ≤ k ≤ K/2. 8: for i ← 1 to K 0 /2 do
The size of placing item Ij into Bk0 is s(Ij , Bk0 ) = 2cj , 9: Calculate Pi0 from I 0 i ;
corresponding to the resource demand 2cj of VNF instances 10: if Pi0 < Pmin
0
then
of request rj . 11: Pmin ← Pi0 ; i0 ← i; Itemp
0 0
← Ii00 ;
The constructed GAP instance can be solved by invoking 12: end if;
the approximation algorithm due to Cohen et al. [10] with 13: end for;
1 14: if i0 = K 0 /2 then
an approximation ratio of 2+ , where  is a constant with I 0 ← I 0 \ IK 0
15: 0 /2 ;
0 <  ≤ 1. 16: else
The solution delivered by the approximation algorithm 17: Ii00 ← IK 0 0 0 0 0 0
0 /2 ; IK 0 /2 ← Itemp ; I ← I \ IK 0 /2 ;
will be in the form of assigning a set I 0 ⊆ I of requests. 18: end if;
Specifically, each item Ij ∈ I 0 that corresponds to the primary 19: end if;
and secondary VNF instances of request rj are assigned 20: for each item Ij ∈ Ik0 assigned to bin Bk0 with 1 ≤ k ≤ dK/2e
to cloudlets B2k and B2k+1 if its corresponding item Ij is do
21: if k ≤ bK/2c then
assigned to bin Bk0 with 1 ≤ k ≤ K/2. 22: Instantiate the primary and secondary VNF instances
We then extend the solution from the even K to the odd of fj for request rj in cloudlets 2k − 1 and 2k;
K , for which we create a virtual cloudlet with the same capac- 23: end if;
ity as other cloudlets. Thus, we now have K 0 = K + 1 bins. 24: end for;
They are corresponding K 0 /2 pair-bins B10 , B20 , . . . , B 0K+1 25: return the set of admitted requests and their primary and
2 secondary VNF instance placements in cloudlets.
with each having the computing capacity of 2C . Assume
that the virtual cloudlet is paired with the cloudlet indexed
K . We then apply the approximation algorithm for the GAP
problem due to Cohen et al. [10]. Theorem 3. Given an MEC G(V, E) that contains K cloudlets
Let I 0 be the approximate solution and I10 .I20 , . . . , IK0
0 /2 with each having identical residual computing capacity
0 0 0
the sets of admitted requests in bins B1 , B2 , . . . , BK 0 /2 , C , and a set of requests R with each request rj ∈ R
respectively. Let P10 , P20 , . . . , PK0
0 /2 be the profit sum of
having exactly one secondary VNF instance, there is an
requests admitted in their corresponding pair-bins. approximation algorithm with an approximation ratio of
PK 0 /2 1
Denote by i=1 Pi0 the total revenue collected by admit- 6+0 , Algorithm 2, for this special reliability-aware VNF
instances provisioning problem. The proposed algorithm
ting the requests in I 0 . The average profit among the K 0 /2 |R|·K
PK 0
P0 0 0
takes O( 0 + K04 ) time, where 0 is a constant with
pair-bins thus is Ki=1 0 /2 . Let Pmin = min1≤i≤K 0 /2 {Pi }. If
i
0
0 <  ≤ 3.
0 0 0
PK 0 /2 = Pmin , we discard the requests in BK 0 /2 from the

solution, i.e., I = I \ IK 0 /2 ; otherwise, let Pi00 = Pmin


0 0 0 0
and Proof: We first show that the solution delivered by
0
i0 6= K /2, we swap the admitted requests between pair-bin Algorithm 2 is feasible. Since a pair-bin Bk0 that corre-
Bi00 and pair-bin BK 0 0 0 0 0
0 /2 , i.e., Ii0 = IK 0 /2 and IK 0 /2 = Ii0 . sponds to cloudlets 2k and 2k + 1 has the computing
0 0 0
Then, the solution is I = I \ IK 0 /2 . The detailed algorithm capacity of 2C , and the size s(Ij , Bk0 ) = 2cj of placing item
is given in Algorithm 2. Ij (admitting request rj by instantiating its primary and

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 8

secondary VNF instances into B2k and B2k+1 ) is equal to The defined profit maximization problem can be solved,
their resource demand 2cj , it follows that the allocation of using dynamic programming as follows. Without loss of
VNF instances by solving the GAP problem, i.e., the capacity generality, we assume
constraint on each cloudlet will not be violated.
We then analyze the approximation ratio of Algorithm 2,
C1 ≥ C2 ≥ . . . ≥ CK , (16)
by distinguishing it into two cases, depending on whether and
the value of K is even or not. If K is even, then the solution U1 ≥ U2 ≥ . . . ≥ Un . (17)
1
is an approximate solution, which is 2+ times the optimal
by the approximation algorithm in [10]; otherwise (K is odd), Because each job needs at most one computing unit from
we create a virtual cloudlet indexed as K 0 (= K + 1). Let I 0 any bin, we assume n ≥ C1 , otherwise excessive capacity
be the approximate solution delivered by the approximation larger than n will be useless.
algorithm. As this solution is built upon the assumption that Let Wi = |{j | Cj ≥ i}| be the number of bins that have at
there are K 0 cloudlets, we in fact have only K cloudlets in the least i computing units, for each and every i with 1 ≤ i ≤ n.
network. Following Algorithm 2, let A be the total profit Notice that some Wi may be zero. We then have
of the approximate solution, the minimum profit among the
W1 ≥ W2 ≥ . . . , ≥ Wn . (18)
K 0 /2 pairs of cloudlets thus is no greater than KA0 /2 . As we
will remove all admitted requests in the minimum profit Definition: If a job J is selected which needs U com-
pair-bin from the solution, the resulting profit by the solution puting units, then we assign one computing unit starting
thus is at least A − KA 2
0 /2 = A(1 − K+1 ) ≥ A/3 due to the from the bin with the largest remaining capacity in an non-
fact that K ≥ 2. Since A ≥ 2+ , 3 ≥ OP
OP T A T increasing order of remaining capacities until U computing
6+0 , where OP T is
0
the optimal solution to the problem, and  = 3 is a constant units have been assigned. We refer to this scheduling method
with 0 < 0 ≤ 3. as the canonical scheduling.
We finally analyze the running time of Algorithm 2. Theorem 4. All jobs J1 , J2 , . . . , Jn can be selected if and only
The construction of the GAP instance takes O(|R| · K) time, if the following condition is satisfied.
while invoking the approximation algorithm due to Cohen i i
|R|·K
et al. [10] takes O( 0 + K04 ) time. The solution delivered
X X
Uj ≤ Wj for all i with 1 ≤ i ≤ n. (19)
by the proposed algorithm, Algorithm 2, thus is no less j=1 j=1
1 0
than 6+ 0 times the optimal one, where  is a constant with
0 Proof: We prove Claim (19) by induction on the number
0 <  ≤ 3.
of jobs n.
We start with induction basis. When n = 1, there is only
7.2 A dynamic programming algorithm for another spe- one job that requires U1 computing units. Therefore, if J1
cial reliability-aware VNF instances provisioning prob- can be selected, we must have U1 ≤ W1 . On the other hand,
lem if U1 ≤ W1 , then J1 can be selected because its demanded
We then study another special case of the reliability-aware U1 computing units can be satisfied. We then assume that
VNF instances provisioning problem where different VNF Claim (19) holds for all n with 1 ≤ n ≤ h. We finally show
instances of different network functions have the same that Claim (19) also holds when n = h + 1 as follows.
amounts of computing resource demands, i.e., ci = cj On one hand, suppose that all h + 1 jobs can be selected.
for all fi ∈ F and fj ∈ F . For the sake of convenience, In this case, since the first h jobs can be selected by the
Pi Pi
we assume that the computing resource demand by each induction assumption, we have j=1 Uj ≤ j=1 Wj for all
network function is one computing unit. We propose an i with 1 ≤ i ≤ h. Now, because the first h + 1 jobs can also
Ph+1 Ph+1
exact algorithm for the problem through a reduction to a be selected, we then must have j=1 Uj ≤ j=1 Wj where
Ph+1
profit maximization problem (defined later), and the solution
j=1 Uj is the total number of computing units required by
to the latter in turn returns a solution to the former. The Ph+1
the h + 1 jobs and j=1 Wj is the total number of available
reduction is as follows. computing units provided by all bins, because any bin with
a capacity larger than h + 1 can only contribute at most h + 1
7.2.1 A dynamic programming algorithm computing units.
Denote by n the number of requests r1 , r2 , . . . , rn in On the other hand, suppose Claim (19) holds, i.e.,
Pi Pi
R, which correspond n jobs J1 , J2 , . . . , Jn . There are K j=1 Uj ≤ j=1 Wj for all i with 1 ≤ i ≤ h + 1. We show
cloudlets in G, and each can be treated as a bin Bi with that all h + 1 jobs can be selected by canonically scheduling
computing capacity Ci , 1 ≤ i ≤ K . The reliability require- J1 and distinguishing two cases: Case A and Case B, to deal
ment of request rj is implemented by placing (nj + 1) VNF with the remaining h jobs.
Pi Pi
instances to nj + 1 cloudlets with each being allocated a Case A: if U1 = W1 , then we have j=2 Uj ≤ j=2 Wj
computing unit at each cloudlet. The implementation of job for all i with 2 ≤ i ≤ h + 1. Because there are h remaining
Jj will take Uj bins and consume one computing unit in jobs, by the induction assumption, all the remaining h jobs
each of the chosen Uj bins. The profit (revenue) obtained can be selected.
by implementing job Jj is pj . The profit maximization problem Case B: if U1 < W1 , then not all W1 bins are used, and
then is to find a subset A of R (A ⊆ R) such as the sum of there are W1 − U1 bins not used. We relabel the h remaining
profits of admitted requests in A is maximized, subject to the jobs by labeling job J2 as J10 , J3 as J20 , . . ., and Jh+1 as
computing capacity on each cloudlet in the network. Jh0 . Accordingly, we have U10 = U2 , U20 = U3 , . . ., Uh0 =

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 9

Uh+1 . Denote by Wi0 the number of bins that have at least


i remaining computing units for all i with 1 ≤ i ≤ n. We
P=4
further distinguish Case B into two subcases: (i) W2 ≤ U1 ;

Capacity
and (ii) W2 > U1 , respectively.
Subcase (i): if W2 ≤ U1 , then
W10 = W2 + W1 − U1 , (20) U1

W20 = W3 , bin 1 bin 2


W6
bin 5 bin 7 bin 9 bin 11 bin 13 bins
W5
.. W3 = W 4
. W2
Wh0 = Wh+1 . W1

We thus have U10 = U2 ≤ W2 + W1 − U1 = W10 , because


U1 + U2 ≤ W1 + W2 . In general, for all i with 2 ≤ i ≤ h, we Fig. 2. An illustration of the proof of Theorem 4.
have
Xi i+1
X i+1
X p−1 i
Uj0 = Uj − U1
X X
Uj = = Wj + Wp+1 + (Wp − U1 ) + Wj0 , by Eq. (23).
j=1 j=2 j=1 j=1 j=p+1
i+1
X p+1 i+1
≤ Wj − U1 , by Claim (19)
X X
= Wj − U1 + Wj , by Eq. (24).
j=1 j=1 j=p+2
i+1
X i+1 i+1 i+1 i
= Wj + (W2 + W1 − U1 ), by Eq. (20)
X X X X
= Wj − U1 ≥ Uj − U1 = Uj = Uj0 . (26)
j=3 j=1 j=1 j=2 j=1
i i
Therefore, by the induction assumption, all h remaining
X X
= Wj0 + W10 = Wj0 (21)
j=2 j=1 jobs can be selected by the bins. The theorem thus follows.
We thus can derive the following corollary from Theo-
By the induction assumption, all h remaining jobs can be
rem 4.
selected by the bins.
Subcase (ii): Assume that there is a p such that W2 > U1 , Corollary 1. Given any subset of jobs {Jj1 , Jj2 , . . . , Jjp } of a
W3 > U1 , . . ., Wp > U1 but Wp+1 ≤ U1 . We then have set of jobs {J1 , J2 , . . . , Jn } with Uj1 ≥ Uj2 ≥ . . . ≥ Ujp ,
jl ∈ {1, 2, . . . , n} and 1 ≤ l ≤ p, each job Jjl demands
W10 = W2 + (W1 − W2 ) = W1 , Ujl (1 ≤ Ujl ≤ K ) bins with one computing unit per bin.
W20 = W3 + (W2 − W3 ) = W2 , Assume that there are K bins with each bin Bk having
.. Ck computing units and C1 ≥ C2 ≥ . . . ≥ CK , all the
. jobs in the subset is admissible by the K bins if and only
0
Wp−1 = Wp + (Wp−1 − Wp ) = Wp−1 , (22) if the following condition is satisfied.
0
Wp = Wp+1 + (Wp − U1 ), (23) h
X h
X
0 Uji ≤ Wi , for all h with 1 ≤ h ≤ p. (27)
Wp+1 = Wp+2 ,
i=1 i=1
..
.
Recall the admission of a job Jj leads to a profit of pj . Let
Wh0 = Wh+1 . (24) U = nj=1 Uj . Define Li = ij=1 Wj for all i with 1 ≤ i ≤ n.
P P

Note that if p = h + 1, then from Inequality (17) we have Denote by P (i, h, Y ) the maximum profit from selecting i
Wj > Uj for all j with 1 ≤ j ≤ h + 1. Then, all jobs can be jobs from the first h jobs with i ≤ h ≤ n, whose total
selected. We thus assume that p ≤ h, and this situation is number of computing units needed is Y . Clearly 0 ≤ Y ≤
n
illustrated in Fig. 2. We now have W10 = W1 ≥ W2 > U1 ≥
P
j=1 Uj = U . If there is no solution, then P (i, h, Y ) = 0.
U2 = U10 . The initiation of P (0, h, Y ) is 0 for any 1 ≤ h ≤ n and
For i = 2, . . . , p − 1, we have 0 ≤ Y ≤ U . The recurrence is defined as follows.
i i+1 i+1 
ph + P (i − 1, h − 1, Z),
X X X
Uj0 = Uj ≤ U1 , from inequality (17)

j=1 j=2 j=2
P (i, h, Y ) = max if Y = Z + Uh and Y ≤ Lh ,

P (i, h − 1, Y ), otherwise.

i
X
≤ Wj , from the assumption of subcase (ii) (28)
j=1 where ph is the revenue collected if request rh is admitted
i
X and Uh = nh + 1 is the number of VNF instances placed
≤ Wj0 . (25) for request rh , and Z is the total number of computing
j=1 units required by the first h − 1 jobs admitted prior to the
Ph−1
For i = p, p + 1, . . . , h, we have admission of job h, i.e., Z = i=1 Uji . Note that from
i p−1 i Corollary 1, Y ≤ Li is to guarantee that the solution is valid.
Denote by V (i, h, Y ) = {j1 , j2 , . . . , ji } the set of indices
X X X
Wj0 = Wj0 + Wp0 + Wj0 ,
j=1 j=1 j=p+1 of the selected i jobs that achieves P (i, h, Y ) – the maximum

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 10

profit for this sub-problem. Then, V (i, h, Y ) is recursively 8 P ERFORMANCE E VALUATION


defined as follows. In this section, we evaluate the performance of the proposed
(
V (i, h − 1, Y ) if P (i, h, Y ) = P (i, h − 1, Y ), algorithms for the reliability-aware VNF instances provision-
V (i, h, Y ) = ing problem. We also investigate the impact of parameters
V (i − 1, h − 1, Z) ∪ {h}.
on the performance of the proposed algorithms.
(29)
The solution to the problem is max{P (i, h, Y ) | 1 ≤
i ≤ h ≤ n, 0 ≤ Y ≤ U }. Specifically, given a set R 8.1 Experimental environment settings
of requests, a set of K cloudlets with each cloudlet k We assume that a MEC G = (V, E) consists of 100 APs, in
accommodating Ck VNF instances, Recurrence (28) can be which the number of cloudlets K is 10% of the network
used to derive the maximum revenue by admitting a subset size, and the cloudlets are randomly co-located with some
of requests in R. An exact algorithm for the reliability-aware of the APs. Each network topology is generated using the
VNF instances provisioning problem then follows, and the widely adopted approach due to Barabási and Albert [3].
detailed algorithm is given in Algorithm 3. The computing capacity Ck of each cloudlet is drawn in a
range from 2,000 to 4,000 MHz [19]. The network offers 20
Algorithm 3 An exact algorithm for the special reliability- different types of network functions, i.e., |F| = 20, where the
aware VNF instances provisioning problem computing resource demand ci of a VNF instance of network
Input: K cloudlets with each cloudlet j accommodating Cj function fi ∈ F is randomly drawn between 40MHz and
VNF instances with the same computing resource demand 400MHz [2]. The number nj of secondary VNF instances
by different network function instances, a set of requests R of the network function for request rj is randomly drawn
with each request rj = (fj , Ri , cj , pj ) ∈ R
Output: Admit a subset of requests in R such that the sum between 0 and 4, because in the extreme case where the
of revenues of admitted requests is maximized while the failure rate of each cloudlet is 10%, allocating four secondary
reliability requirement of each admitted request is met. VNF instances and one primary VNF instance to a request
is able to guarantee a carrier-grade reliability of 99.999%
1: for each request rj ∈ R do
2: Calculate the number nj of secondary VNF instances by (five nines). The running time obtained of each mentioned
Inequality (3); algorithm is based on a desktop with a 4GHz quad-core Intel
3: end for i7 CPU and 16 GB RAM.
4: Identify a subset A of requests in R to maximize the revenue We evaluate the proposed algorithms Algorithm 1,
collected by solving Recurrence (28) for all i, h, and C , and let Algorithm 2, Algorithm 3, and the ILP solution, which are
a subset A is identified such that the revenue is maximized; referred to as ALG-1, ALG-2, ALG-3, and ILP, respectively.
5: Let r10 , r20 , . . . , r|A|
0
be the sequence of the ordered requests
in the solution obtained in A; Each value in figures is the mean of the results of 30 trials.
6: for j ← 1 to |A| do
7: Perform nj +1 VNF instance allocations to nj +1 cloudlets, 8.2 Algorithm performance evaluation for the reliability-
where nj VNF instances serve as secondary VNFs and
one VNF instance serves as the primary VNF instance for aware VNF instances provisioning problem
each admitted request rj0 ∈ A. We first evaluate the proposed approximation algorithm
8: end for Algorithm 1 for the reliability-aware VNF instances pro-
visioning problem against a baseline algorithm Greedy
The rest is to analyze the time complexity of that adopts a linear cost model. Given a request rj =
Algorithm 3 by the following theorem. (fj , Rj , cj , pj ) that needs (nj + 1) VNF instances, algorithm
Theorem 5. Given an MEC G(V, E) and a set of requests R, Greedy places its VNF instances into top-(nj + 1) cloudlets
assume that each cloudlet k of the K cloudlets in G has with the largest residual computing capacity. It takes O(K)
a computing capacity Ck with 1 ≤ k ≤ K , there is an time to identify the top-(nj + 1) cloudlets if a linear-time
exact algorithm, Algorithm 3, for the reliability-aware selection algorithm is applied. Thus, the running of algorithm
VNF instances provisioning problem with different VNF Greedy is O(K · |R|), where K is the number of cloudlets
instances have demanded the same amount of computing and R is the set of requests.
resource, which delivers an exact solution within O(K · Figs. 3 (a)-(b) shows the curves of the total revenues
|R|3 ) time, where K is the number of cloudlets in G. and the normalized revenues delivered by algorithms ILP,
ALG-1 and Greedy, respectively, where the normalized rev-
Proof: The running time of Algorithm 3 is dominated enue refers to the average revenue of admitting a request. It
by solving the recurrence in the dynamic programming and can be observed from these two figures that when the number
subsequently VNF instances allocations for each admitted of requests is very small, algorithm Greedy achieves a
request, both take O(K · |R|3 ) time since 0 ≤ i ≤ |R|, slightly better performance than algorithm ALG-1. However,
1 ≤ h ≤ |R|. The time complexity for solving Recurrence (28) with more and more request arrivals over time, the total
is as follows. Consider how to select i jobs from the first h revenue delivered by algorithm ALG-1 increases steadily
jobs with i ≤ h, such that the
Pntotal required computing unit while algorithm Greedy grows at a much slower rate. When
is Y . Obviously, 0 ≤ W ≤ j=1 Uj ≤ Kn, as each request the number of requests reaches 1,000, the total revenue of
has at most K VNF instances with each placed at one of the algorithm Greedy is approximately 70% of that of algorithm
K cloudlets. For each fixed i, h, and W , we find a solution ALG-1. The reason behind is that algorithm ALG-1 is more
that has the maximum total profit. Since 1 ≤ i ≤ h ≤ |R|, conservative: it rejects those requests with high costs by
there are O(K|R|3 ) sub-problems need to solve. the admission control policy to alleviate overloading of

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 11

Total Revenue in Dollars

Total Revenue in Dollars


35,000 50,000
1 1

Normalized Revenue
ILP

Normalized Revenue
30,000 0.9
ILP
ALG-1 ALG-1 0.9
Greedy 0.8 45,000 0.8
25,000 Greedy
0.7 0.7
20,000 0.6 40,000 0.6
0.5 0.5
15,000
0.4 35,000 0.4
10,000 0.3 ILP 0.3 ILP
5,000 0.2 ALG-1 30,000 0.2 ALG-1
0.1 Greedy 0.1 Greedy
0 0 25,000 0
100 200 300 400 500 600 700 800 9001000 100 200 300 400 500 600 700 800 9001000 20 40 60 80 100 20 40 60 80 100
Number of Requests Number of Requests Number of Cloudlets Number of Cloudlets
(a) Total revenues by different al- (b) Normalized revenues by dif- (c) Total revenues by different al- (d) Normalized revenues by dif-
gorithms with different numbers ferent algorithms with different gorithms with different number of ferent algorithms with different
of requests numbers of requests cloudlets number of cloudlets

Fig. 3. Performance evaluation of the approximation algorithm ALG-1 for the reliability-aware VNF instances provisioning problem

network resources, thereby achieving better performance. We algorithm ALG-1 runs fastest, while algorithm ILP is the
also evaluate the approximation ratio of algorithm ALG-1 slowest. This demonstrates a non-trivial tradeoff between
empirically through comparing the total revenue delivered the quality of a solution and the running time to deliver the
by algorithm ALG-1 and the optimal one by the optimal solution.
algorithm ILP. It can be seen from Figs. 3 (c)-(d) that the We thirdly evaluate the performance of ALG-3 against
empirical approximation ratio of algorithm ALG-1 is at most ILP and ALG-1 for the special reliability-aware VNF in-
1.17 in all cases, compared with the analytical approximation stances provisioning problem where the computing demand
ratio of 20 according to Theorem 2 when K = 100. This by each network function instance is identical, by varying
demonstrates that the empirical performance of algorithm the number of requests from 100 to 1,000.
ALG-1 is significantly better than its analytical counterpart.

Total Revenue in Dollars


60,000
1

Normalized Revenue
ILP
50,000 ALG-3 0.9
ALG-1 0.8
8.3 Algorithm performance evaluation for special 40,000 0.7
0.6
reliability-aware VNF instances provisioning problems 30,000 0.5
0.4
20,000
0.3 ILP
10,000 0.2 ALG-3
ALG-1
Total Revenue in Dollars

40,000 0.1
1
Normalized Revenue

ILP 0
100 200 300 400 500 600 700 800 9001000
0
100 200 300 400 500 600 700 800 9001000
ALG-1 0.9
30,000 ALG-2 0.8 Number of Requests Number of Requests
0.7
0.6 (a) Total revenues (b) Normalized Revenues
20,000 0.5
0.4
Running Time in Seconds

0.3 ILP
10,000 ALG-1 10,000 ILP
0.2
0.1
ALG-2 ALG-3
1,000 ALG-1
0 0
100 200 300 400 500 600 700 800 9001000 100 200 300 400 500 600 700 800 9001000
Number of Requests Number of Requests 100

(a) Total revenues (b) Normalized revenues 10

1
Running Time in Seconds

10,000 ILP 0.1


100 200 300 400 500 600 700 800 9001000
ALG-1 Number of Requests
1,000 ALG-2
100 (c) Running time on a logarithmic
10 scale
1
0.1 Fig. 5. Performance of different algorithms for the special reliability-aware
10
100 200 300 400 500 600 700 800 9001000 VNF instances provisioning problem
Number of Requests
(c) Running time on a logarithmic Figs. 5 (a)-(c) show the total revenue, normalized revenue,
scale running time of the mentioned algorithms, respectively. It can
be seen from Figs. 5 (a)-(b) that both algorithms ALG-3 and
Fig. 4. Performance of different algorithms for the special case of the
reliability-aware VNF instances provisioning problem where each request ILP deliver exact solutions to the problem, while the heuristic
requires exactly one secondary instance algorithm ALG-1 delivers a very good solution. The total
revenue delivered by algorithm ALG-1 is no less than 80%
What follows is to study the performance of the proposed of that by algorithms ALG-3 and ILP. Despite the optimal
approximation algorithm ALG-2 against algorithms ALG-1 solutions delivered by both algorithms ALG-3 and ILP, it
and ILP for the special case of the problem where every can be seen from Fig. 5 (c) that algorithm ILP is very time-
request needs only one secondary VNF instance. It can be consuming and exhibits poor scalability while algorithm
observed from Figs. 4 (a)-(b) that the total revenue delivered ALG-3 runs significantly faster. It is observed that when
by algorithm ALG-2 is nearly close to the exact one delivered there are 100 requests, the running time of algorithm ALG-3
by algorithm ILP, while the solution delivered by algorithm is larger than that of algorithm ILP, due to the overhead
ALG-1 is the worst. Specifically, when the number of requests of constructing data structures for solving the recurrence
is 1,000, the total revenue by algorithm ALG-2 is around 93% in dynamic programming. However, when the number of
of the optimal solution, which is an 8% improvement over requests reaches 1,000, algorithm ALG-3 takes less than one
the one delivered by algorithm ALG-1. It also can be seen minute while algorithm ILP takes more than two hours to
from Fig. 4 (c) that among the three comparison algorithms, find an optimal solution. Meanwhile, Fig. 5 (c) also indicates

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 12

that the running time of algorithm ALG-1 is only a small the performance of algorithm ALG-1. Fig. 7 (a) shows the
fraction of algorithm ALG-3, not to mention algorithm ILP. performance of algorithm ALG-1 with and without adopting
the admission control policy. It can be seen that algorithm
8.4 Parameter impacts on algorithm performance ALG-1 achieves a higher revenue if it does not adopt the
We finally study the impact of important parameters on the admission control policy for the first four hundred requests.
performance of algorithms ALG-1. However, with more and more request arrivals, it achieves
In all experiments so far we assumed that the maximum a higher revenue in the long term if the admission control
number nmax of secondary VNF instances of each request policy is adopted. The rationale is that without any admission
is set at 4. We now investigate the impact of nmax on the control policy, requests that consume excessive resources
performance of algorithm ALG-1, by varying nmax while will be admitted if there are sufficient resources for them.
fixing the number of cloudlets at 20. Fig. 6 (a) shows the total Consequently, such resource allocations will heavily impact
revenue delivered by it when the number of requests grows the admissions of future requests. As a result, the total
from 100 to 1,000. Notice that when the number of requests is revenue by algorithm ALG-1 without the admission control
less than 300, the total revenues of different algorithms with policy is only two-thirds of that by itself with the admission
different nmax are nearly identical, meaning the network has control policy. Fig 7 (b) plots the performance curves of
a relatively abundant amount of resources to accommodate algorithm ALG-1 by varying the value of α in Eq. (9) from
different requests. However, with more requests, the larger 21 K to 25 K , where K is the number of cloudlets in the
the value of nmax , the smaller the total revenue delivered by network. It can be seen from Fig 7 (b) that the larger the
algorithm ALG-1. The reason behind this is that the amount value of α, the less the total revenue delivered by ALG-1 and
of available resources in the network and the payments of vice versa. This is due to the fact that the larger the value of
requests do not change, yet each request demands more α, the higher the cost of using an overloaded resource will
resources when nmax increases. be, leading to more conservative resource usage.
We also evaluate the total revenues delivered by algo-
rithm ALG-1 by varying the number of cloudlets K while
fixing the number of requests at 1,000. The results are shown 9 C ONCLUSION
in Fig. 6 (b). When the number K of cloudlets increases, the In this paper, we studied reliability-aware VNF instances
amount of available resources increases accordingly. As a provisioning in MEC, by casting a novel optimization
result, the larger K is, the higher the total revenue delivered problem. We first showed that the problem is NP-hard and
by algorithm ALG-1 is. Meanwhile, for the same K , the larger formulated an integer linear program solution for it. We
the value of nmax , the lower the total revenue delivered by then proposed a logarithmic-approximation algorithm for the
ALG-1, because the revenue of a request does not increase problem. Particularly for a special case of the problem where
yet the resource demand of the request increases. each request needs only one secondary VNF instance, we
developed a constant approximation algorithm. Moreover,
Total Revenue in Dollars

Total Revenue in Dollars

60,000 90,000 nmax = 0


50,000
nmax = 0
nmax = 1 80,000 nmax = 1 we proposed an exact algorithm for another special case
nmax = 2
40,000
nmax = 2 70,000
nmax = 3
of the problem where resource consumptions of different
nmax = 3
30,000 nmax = 4 60,000 nmax = 4
nmax = 5
VNF instances are identical. We finally evaluated the perfor-
nmax = 5 50,000
20,000
40,000
mance of the proposed algorithms through experimental
10,000 30,000 simulations. Experimental results demonstrated that the
0
100 200 300 400 500 600 700 800 9001000 20,000
20 40 60 80 100
proposed algorithms are promising, and the empirical results
Number of Requests Number of Cloudlets delivered by the proposed algorithms outperform their
(a) Total revenues by varying (b) Total revenues by varying analytical counterparts as theoretical estimation usually are
nmax for different numbers of re- nmax for different numbers of
quests cloudlets very conservative.

Fig. 6. Performance impact of parameter nmax on algorithm ALG-1 A PPENDIX A


P ROOF OF L EMMA 1
Total Revenue in Dollars

Total Revenue in Dollars

40,000 30,000
With Admission Control l=1
35,000 l=2
Without Admission Control 25,000
30,000
20,000
l=3
l=4 Proof: Consider a request rj 0 ∈ A admitted by the
25,000 l=5
20,000 15,000 approximation algorithm. Then, for any cloudlet k with
15,000 10,000 1 ≤ k ≤ K , we have
10,000
5,000
wk (j 0 + 1) − wk (j 0 )
5,000
0 0
100 200 300 400 500 600 700 800 9001000 100 200 300 400 500 600 700 800 9001000
Number of Requests Number of Requests Ck C (j 0 +1) Ck C (j 0 )
1− k C 1− kC
(a) Total revenues by algorithm (b) Total revenues by algorithm
= · (α k − 1) − · (α k − 1)
cj 0 +1 cj 0
ALG-1 with and without the ad- ALG-1 with different α (= 2l · K ) 0 0
mission control policy Ck C (j +1)
1− k C Ck C (j )
1− kC
≤ · (α k − 1) − · (α k − 1) (30)
cj 0 cj 0
Fig. 7. Impacts of the admission control policy and the value of α on the Ck C (j 0 +1) C (j 0 ) 
1− k C 1− kC
performance of algorithm ALG-1 = · α k −α k
cj 0
The rest is to investigate the impacts of both the ad- Ck C (j 0 ) Ck (j 0 )−Ck (j 0 +1)
1− kC
mission control policy and the parameter α in Eq. (9) on = ·α k (α Ck
− 1)
cj 0

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 13
Ck C (j 0 ) c 0
j
1− kC Proof: Consider a request rj 0 that is admitted by the op-
≤ ·α k (α Ck − 1) (31)
cj 0 timal algorithm yet rejected by the proposed approximation
Ck C (j 0 ) c 0
1− kC j
log α algorithm. Since rj 0 is admitted by the optimal algorithm, it
= ·α k (2 Ck − 1)
cj 0 means that the optimal algorithm is able to admit rj 0 using
opt
Ck C (j 0 )
1− kC
a set Kj 0 of cloudlets. There are exactly two cases. Case
≤ ·α k (cj 0 · log α/Ck ) (32) opt
1: every cloudlet in Kj 0 has sufficient resources to admit
cj 0
1−
Ck (j 0 ) rj 0 ; and Case 2: at least one cloudlet in Kjopt 0 does not have
=α Ck
· log α. (33) sufficient resources to meet the resource demand of rj 0 .
In the following we show that Inequality (11) holds in
where Inequality (30) follows because requests are sorted, In-
both of the two cases.
equality (31) holds because at most cj 0 amount of computing opt
Case 1: If every cloudlet in Kj 0 has sufficient re-
resource is consumed at cloudlet k , and Inequality (32) holds
sources to admit rj 0 , the proposed approximation algo-
because 2x − 1 ≤ x with 0 ≤ x ≤ 1.
rithm must be able to find a set Kj 0 of cloudlets such
Recall that Kj 0 is the set of cloudlets in which the
that Kj 0 can meet the resource demand of request rj 0
proposed approximation algorithm places a VNF instance opt
andPfor any set including P Kj 0 of 0nj + 1 cloudlets. That
0
of rj 0 . We then calculate the sum of costs of cloudlets in G 0
when admitting request rj 0 . Notice that if none of the VNF is, k∈Kj 0 ψ k (j ) ≤ opt ψk (j ). Since rj 0 is rejected
k∈Kj 0
instances of rj 0 is created at a cloudlet k , the cost of the by the proposed algorithm, the cost sum of cloudlets
opt
cloudlet does not change after the admission of request rj 0 . in Kj 0 when admitting request rj 0 is no less than the
The difference in the cost sum of all cloudlets before and given threshold in the admission control policy (10), i.e.,
K · pj 0 ≤ k∈Kj0 ψk (j 0 ) ≤ k∈Kopt ψk (j 0 ).
P P
after admitting request rj 0 thus is 0 j
opt
K
X X Case 2: At least one cloudlet in Kj 0 does not have
0 0 0 0 sufficient available resource to meet the demand of request
(wk (j + 1) − wk (j )) = (wk (j + 1) − wk (j ))
k=1 k∈Kj 0 rj 0 . Thus, there must exist at least one cloudlet k 0 such
Ck (j 0 ) that its residual computing capacity Ck0 (j 0 ) is less than
1−
X
≤ (α Ck
· log α), by Inequality (33) the computing demand cj 0 . Consequently, the sum of the
opt
k∈Kj 0 normalized costs of cloudlets in Kj 0 is greater than Kpj 0 :
X  wk (j 0 ) 
C 0 (j 0 )
= log α +1 1− k
Ck X α C 0
k −1
k∈Kj 0 ψk (j 0 ) ≥ ψk0 (j 0 ) =
  c j0
X wk (j 0 ) X k∈Kjopt
0

= log α  + 1 c 0
1− Cj 0
k∈K
Ck k∈K α k −1
j0 j0
> , since Ck (j 0 ) < cj 0
≤ log α · ((pj 0 · K) + K) (34) cj 0
1
= log α · K · (pj 0 + 1) α1− log α − 1
≥ , since α ≤ 2Cmin /cmax ≤ 2Ck0 /cj0
≤ log α · K · (pj 0 + pj 0 ) (35) cj 0
α
=2 log α · K · pj 0 , (36) −1
= 2 ≥ Kpj 0 , since α ≥ 2K · Qmax + 2 ≥ cj 0 · pj 0 + 2.
cj 0
where Ineq. (34) follows from the fact that rj 0 is admitted
and Ineq. (10), Ineq. (35) follows because pj 0 ≥ 1.
The cost sum of all cloudlets after having examined last
request r|R| thus is ACKNOWLEDGMENTS
K |R| K We really appreciate the three anonymous referees and the
associate editor for their expertise comments and construc-
X X X
wk (|R| + 1) = (wk (j 0 + 1) − wk (j 0 ))
k=1 j 0 =1 k=1 tive suggestions, which have helped us improve the quality
K and presentation of the paper greatly.
X X
= (wk (j 0 + 1) − wk (j 0 ))
rj 0 ∈A k=1 R EFERENCES
X
≤ (2K · pj 0 · log α) (37) [1] S. Aidi, M. F. Zhani, and Yehia Elkhatib. On improving service
rj 0 ∈A chains survivability through efficient backup provisioning. Proc. of
X International Conference on Network and Service Management (CNSM),
= 2K · log α · pj 0 , IEEE, 2018.
rj 0 ∈A [2] Amazon Web Services, Inc. Amazon EC2 instance configura-
tion. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/
where Inequality (37) follows from Inequality (36). ebs-ec2-config.html, 2018.
[3] A.-L. Barabási and R. Albert. Emergence of scaling in random
networks. Science, Vol. 286, pp. 509–512, 1999.
[4] M. T. Beck, J. F. Botero, and K. Samelin. Resilient allocation of
A PPENDIX B service function chains. Proc. of IEEE Conference on Network Function
P ROOF OF L EMMA 2 Virtualization and Software Defined Networks (NFV-SDN), IEEE, 2017.
[5] J. Bailey and S. Stuart FAUCET: Deploying sdn in the enterprise.
ACM Queue, Vol. 14, pp. 54–68, 2016.

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2019.2927214, IEEE
Transactions on Mobile Computing
IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. X, NO. X, XX, 2018 14

[6] Flavio Bonomi, Rodolfo Milito, Jiang Zhu, Sateesh Addepalli Fog and Service Management, Vol 14, pp. 554–568, 2017.
computing and its role in the internet of things. Proc. MCC workshop [30] M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies. The case for
on Mobile cloud computing, ACM, 2012. vm-based cloudlets in mobile computing. IEEE Pervasive Computing,
[7] F. Carpio and A. Jukan Improving reliability of service function Vol. 8, pp. 1536–1268, 2009.
chains with combined vnf migrations and replications https://arxiv. [31] A. Singh, J. Ong, A. Agarwal, et al. Jupiter rising: A decade of clos
org/abs/1711.08965, 2018. topologies and centralized control in google’s datacenter network.
[8] M. Casazza, P. Fouilhoux, M. Bouet, and S. Secci. Securing virtual Communications of the ACM, Vol. 59, pp. 88–97, 2016.
network function placement with high availability guarantees. Proc. [32] T. Taleb, S. Dutta, A. Ksentini, M. Iqbal, and H. Flinck. Mobile edge
of IFIP Networking, Lecture Notes in Computer Science, 2017. computing potential in making cities smarter. IEEE Communications
[9] A. Ceselli, M. Premoli, and S. Secci. Mobile edge cloud network Magazine, Vol. 55, No. 3, pp. 38–43, IEEE, 2017.
design optimization. IEEE/ACM Transactions on Networking, Vol.25, [33] Z. Xu, W. Liang, M. Jia, M. Huang, and G. Mao. Task offloading
No.3, pp.1818–1831, 2017. with network function services in a mobile edge-cloud network. To
[10] R. Cohen, L. Katzir, and D. Raz. An efficient approximation for the appear in IEEE Transactions on Mobile Computing, Vol.99, Acceptance
generalized assignment problem. Information Processing Letters, Vol. date: October 19, DOI: 10.1109/TMC.2018.2877623, 2018.
100, pp. 162–166, Elsevier, 2006. [34] S. Yi, C. Li, and Q. Li A survey of fog computing: concepts,
[11] A. V. Dastjerdi and R. Buyya. Fog computing: Helping the internet applications and issues. Proc. of Workshop on Mobile Big Data, ACM,
of things realize its potential Computer, Vol. 49, No. 8, pp. 112–116, 2015.
IEEE, 2016.
[12] W. Ding, H. Yu, and S. Luo. Enhancing the reliability of services in Meitian Huang received the BSc degree with
nfv with the cost-efficient redundancy scheme. Proc. of ICC, IEEE, the first class Honours in Computer Science at
2017. the Australian National University in 2015. He
[13] A. Engelmann and A. Jukan. A reliability study of parallelized vnf currently is studying for his PhD degree in the Re-
chaining. Proc. of ICC, IEEE, 2018. search School of Computer Science at the Aus-
[14] J. Fan, C. Guan, Y. Zhao, and C. Qiao. Availability-aware mapping tralian National University. His research interests
of service function chains. Proc. of INFOCOM’17, IEEE, 2017. include software-defined networking, algorithm
[15] J. Fan, M. Jiang, and C. Qiao. Carrier-grade availability-aware design and analysis, and cloud computing.
mapping of service function chains with on-site backups. Proc. of
IWQoS’17, IEEE, 2017.
[16] R. Govindan, I. Minei, M. Kallahalla, et al. Evolve or die: Weifa Liang (M’99–SM’01) received the PhD
High-availability design principles drawn from google’s network degree from the Australian National University
infrastructure. Proc. of SIGCOMM, ACM, 2016. in 1998, the ME degree from the University of
[17] B. Han, V. Gopalakrishnan, G. Kathirvel, and A. Shaikh. On Science and Technology of China in 1989, and
the resiliency of virtual network functions. IEEE Communications the BSc degree from Wuhan University, China
Magazine, Vol. 55, pp. 152–157, 2017. in 1984, all in Computer Science. He is cur-
[18] S. Herker, X. An, W. Kiess, S. Beker, A. Kirstaedter. Data-center rently a full Professor in the Research School
architecture impacts on virtualized network functions service chain of Computer Science at the Australian National
embedding with high availability requirements. Proc. of 2015 IEEE University. His research interests include design
Globecom Workshops (GC Wkshps), IEEE, 2015. and analysis of energy efficient routing protocols
[19] Hewlett-Packard Development Company. L.P. Servers for enter- for wireless ad hoc and sensor networks, mobile
prise bladeSystem, rack & tower and hyperscale. http://www8.hp. edge computing, cloud computing, Network Function Virtualization and
com/us/en/products/servers/, 2015. Software-Defined Networking, design and analysis of parallel and dis-
[20] M. Huang, W. Liang, Z. Xu, and S. Guo. Efficient algorithms tributed algorithms, approximation algorithms, combinatorial optimization,
for throughput maximization in software-defined networks with and graph theory. He is a senior member of the IEEE.
consolidated middleboxes. IEEE Transactions on Network and Service Xiaojun Shen (SM’02) received the B.S. degree
Management, Vol.14, No.3, pp.631–645, 2017. in numerical analysis from Tsinghua University,
[21] R. Jain and S. Paul. Network virtualization and software defined Beijing, China, in 1968, the M.S. degree in com-
networking for cloud computing: a survey. IEEE Communications puter science from the Nanjing University of
Magazine, Vol. 51, No. 11, pp. 24–31, IEEE, 2013. Science and Technology, China, in 1982, and
[22] M. Jia, W. Liang, and Z. Xu. QoS-aware task offloading in the Ph.D. degree in computer science from the
distributed cloudlets with virtual network function services. Proc of University of Illinois at Urbana-Champaign in
20th ACM International Conference on Modeling, Analysis and Simulation 1989. He is a full Professor in the School of Com-
of Wireless and Mobile Systems (MSWiM), ACM, pp.109–116, 2017. puting and Engineering, University of Missouri-
[23] J. Kang, O. Simeone, and J. Kang. On the trade-off between com- Kansas City. His current research focuses on
putational load and reliability for network function virtualization. fundamental scheduling problems in wired and
IEEE Communications Letters, Vol. 21, pp. 1767–1770, 2017. wireless computer networks.
[24] J. Kong, I. Kim, X. Wang, Q. Zhang, H. C. Cankaya, W. Xie, T.
Ikeuchi, and J. P. Jue. Guaranteed-availability network function Yu Ma received his BSc degree with the first class
virtualization with network protection and vnf replication. Proc. of Honours in Computer Science at the Australian
IEEE Global Communications Conference, IEEE, 2017. National University in 2015. He is currently a PhD
[25] J. Li, W. Liang, M. Huang, and X. Jia. Providing reliability-aware candidate in the Research School of Computer
virtualized network function services for mobile edge computing. Science at the Australian National University.
To appear in Proc. of 39th Int’l Conf. on Distributed Computing Systems His research interests include Software Defined
(ICDCS’19), July, IEEE, 2019. Networking, Internet of Things (IoT), and Social
[26] P. G. Lopez, A. Montresor, D. Epema, A. Datta, T. Higashino, A. Networking.
Iamnitchi, M. Barcellos, P. Felber, and E. Riviere. Edge-centric
computing: vision and challenges. ACM SIGCOMM Computer
Communication Review, Vol. 45, No. 5, pp. 37–42, ACM, 2015. Haibin Kan (M’13) received the Ph.D. degree
[27] R. Mijumbi, J. Serrat, J.-L. Gorricho, N. Bouten, F. De Turck, and from Fudan University, Shanghai, China, 1999.
R. Boutaba. Network function virtualization: State-of-the-art and After receiving the Ph.D. degree, he became a
research challenges. IEEE Communications Surveys & Tutorials, Vol. faculty of Fudan University. From June 2002 to
18, No. 1, pp. 236–262, IEEE, 2016. January 2006, he was with the Japan Advanced
[28] G. Moualla, T. Turletti, and D. Saucez. An availability-aware Institute of Science and Technology as an Assis-
sfc placement algorithm for fat-tree data centers. Proc. of IEEE tant Professor. He went back to Fudan University
International Conference on Cloud Networking, IEEE, 2018. in February 2006, where he is currently a full
[29] L. Qu, C. Assi, K. Shaban, and M. J. Khabbaz. A reliability-aware Professor. His research topics include coding
network service chain provisioning with delay guarantees in nfv- theory, complexity of computing, and information
enabled enterprise datacenter networks. IEEE Transactions on Network security.

1536-1233 (c) 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

You might also like