FOGPLAN A Lightweight QoS-Aware Dynamic Fog Service Provisioning Framework

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

5080 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO.

3, JUNE 2019

F OG P LAN: A Lightweight QoS-Aware Dynamic


Fog Service Provisioning Framework
Ashkan Yousefpour , Graduate Student Member, IEEE, Ashish Patil,
Genya Ishigaki , Graduate Student Member, IEEE, Inwoong Kim , Member, IEEE, Xi Wang, Member, IEEE,
Hakki C. Cankaya, Member, IEEE, Qiong Zhang, Member, IEEE, Weisheng Xie, Member, IEEE,
and Jason P. Jue, Senior Member, IEEE

Abstract—Recent advances in the areas of Internet of Things surveillance, and real-time manufacturing have strict latency
(IoT), big data, and machine learning have contributed to the rise requirements, in some cases below 10 ms [1], [2]. These appli-
of a growing number of complex applications. These applications cations cannot tolerate the large and unpredictable latency of
will be data-intensive, delay-sensitive, and real-time as smart
devices prevail more in our daily life. Ensuring quality of service the cloud when cloud resources are deployed far from, where
(QoS) for delay-sensitive applications is a must, and fog comput- the application data is generated. Fog computing [3], edge
ing is seen as one of the primary enablers for satisfying such tight computing [4], and MEC [5] have been recently proposed to
QoS requirements, as it puts compute, storage, and networking bring low latency and reduced bandwidth to IoT networks, by
resources closer to the user. In this paper, we first introduce locating the compute, storage, and networking resources closer
F OG P LAN, a framework for QoS-aware dynamic fog service pro-
visioning (QDFSP). QDFSP concerns the dynamic deployment of to the users. Fog can decrease latency, bandwidth usage, and
application services on fog nodes, or the release of application costs, provide contextual location awareness, and enhance QoS
services that have previously been deployed on fog nodes, in order for delay-sensitive applications, especially in emerging areas,
to meet low latency and QoS requirements of applications while such as IoT, Internet of Energy, Smart City, Industry 4.0, and
minimizing cost. F OG P LAN framework is practical and oper- big data streaming [6], [7].
ates with no assumptions and minimal information about IoT
nodes. Next, we present a possible formulation (as an optimization Certain IoT applications are bursty in resource usage, both
problem) and two efficient greedy algorithms for addressing the in space and time dimensions. For instance, in situation aware-
QDFSP at one instance of time. Finally, the F OG P LAN framework ness applications, the cameras in the vicinity of an accident
is evaluated using a simulation based on real-world traffic traces. generate more requests than the cameras in other parts of the
Index Terms—Cloud computing services, fog computing, highway (space), while security motion sensors generate more
Internet of Things (IoT) networks, multiaccess edge computing, traffic when there is suspicious activity in the area (time). The
orchestration, quality of experience-centric management, quality resource usage of the delay-sensitive fog applications may
of service (QoS), service management. be dynamic in time and space, similar to that of situational
awareness applications [8].
I. I NTRODUCTION An IoT application may be composed of several services
that are essentially the components of the application and can
HE INTERNET of Things (IoT) is shaping the future of
T connectivity, processing, and reachability. In IoT, every
“thing” is connected to the Internet, including sensors, mobile
run in different locations. Such services are normally imple-
mented as containers, virtual machines (VMs), or unikernels.
For instance, an application may have services, such as authen-
phones, cameras, computing devices, and actuators. IoT is
tication, firewall, caching, and encryption. Some application
proliferating exponentially, and IoT devices are expected to
services are delay-sensitive and have tight delay thresholds,
generate massive amounts of data in a short time, with such
and may need to run closer to the users/data sources (e.g.,
data potentially requiring immediate processing.
caching), for instance at the edge of the network or on
Many IoT applications, such as augmented reality, con-
fog computing devices. On the other hand, some applica-
nected and autonomous cars, drones, industrial robotics,
tion services are delay-tolerant and have high availability
Manuscript received October 26, 2018; revised January 9, 2019; accepted requirements, and may be deployed farther from the users/data
January 24, 2019. Date of publication January 30, 2019; date of current version sources along the fog-to-cloud continuum or in the cloud (e.g.,
June 19, 2019. (Corresponding author: Ashkan Yousefpour.) authentication). We label these fog-capable IoT services that
A. Yousefpour, A. Patil, G. Ishigaki, and J. P. Jue are with the
Department of Computer Science, University of Texas at Dallas, Richardson, could run on the fog computing devices or the cloud servers
TX 75080 USA (e-mail: ashkan@utdallas.edu; axp175330@utdallas.edu; as fog services.
gishigaki@utdallas.edu; jjue@utdallas.edu). Placement of such services on either fog computing devices
I. Kim, X. Wang, and Q. Zhang are with the Fujitsu Laboratories of
America, Richardson, TX 75082 USA (e-mail: inwoong.kim@us.fujitsu.com; (fog nodes) or cloud servers has a significant impact on
xi.wang@us.fujitsu.com; qiong.zhang@us.fujitsu.com). network utilization and end-to-end delay. Although cloud
H. C. Cankaya and W. Xie are with Fujitsu Network Communications, computing is seen as the dominant solution for dynamic
Richardson, TX 75082 USA (e-mail: hakki.cankaya@us.fujitsu.com;
wilson.xie@us.fujitsu.com). resource usage patterns, it is not able to satisfy the ultralow
Digital Object Identifier 10.1109/JIOT.2019.2896311 latency requirements of specific IoT applications, provide
2327-4662 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.

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
YOUSEFPOUR et al.: FOGPLAN 5081

location-aware services, or scale to the magnitude of the data


that IoT applications produce [2], [9]. This is also evident by
the recent edge computing frameworks (Microsoft Azure IoT
Edge [10], Google Cloud IoT Edge [11], and Amazon AWS
Greengrass [12]) introduced by major cloud computing com-
panies to bring their cloud services closer to the edge, on the
IoT devices.
Fog services could be deployed on the fog nodes to provide
low and predictable latency, or in the cloud to provide high
availability with lower deployment cost. The placement of the
fog services could be accomplished in a static manner (e.g.,
with the goal of minimizing the total cost while satisfying
the corresponding latency constraints). Nevertheless, since the
resource usage pattern of certain IoT application is dynamic Fig. 1. General architecture for IoT-fog-cloud. The bottom logical layer
and changing over time, a static placement would not be able (yellow) is the things layer, where IoT devices lie. The top logical layer
to adapt to such changes. Thus, fog services should be placed (blue) is the cloud layer. Fog is the continuum between things and the cloud
layer, and it is not only limited to the edge. [Edge computing occurs at the
dynamically in order to address the bursty resource usage pat- edge layer (green), while fog computing can occur anywhere along the IoT
terns of the overlaying fog-based IoT applications. This is the to cloud].
essence of dynamic placement of fog services, which is to
dynamically deploy and release IoT services on fog comput-
ing devices or cloud servers to minimize the resource cost and Zhang et al. [27] proposed an edge cloud architecture for gam-
meet the latency and QoS constraints of the IoT applications. ing that places local view change updates and frame rendering
In this paper, we introduce FOGPLAN: a lightweight QoS- on edge clouds, and global game state updates on the central
aware dynamic fog service provisioning (QDFSP) framework. cloud. They further propose a service placement algorithm for
In the next section, we discuss the related research studies multiplayer online games that periodically makes placement
and discuss how the QDFSP problem fits in the IoT-fog- decisions, based on QoS, mutual impact among players, and
cloud architecture. We then present a possible formulation player mobility patterns. MigCEP [28] is proposed for place-
of an integer nonlinear programming (INLP) task to address ment and migration of operators in real-time event processing
the QDFSP problem at one time instance (Section III-G), applications over the fog and the cloud. A real-time event
propose two practical greedy algorithms for dynamically processing application is modeled as a set of operators and
adjusting service placement (Section V), and evaluate the algo- MigCEP places the operators based on the mobility of users.
rithms numerically1 (Section VI). We present conclusions and Closely related to the F OG P LAN framework are schemes
suggestions for future research in Section VII. for dynamic resource reconfiguration in fog computing.
Hong et al. [29] implemented a fog computing platform
that dynamically pushes software modules to the fog nodes,
II. R ELATED W ORK whereas the study [30] provides theoretical foundations and
Some frameworks are conceptually similar to F OG P LAN but algorithms for storage- and cost-aware dynamic service provi-
with goals that differ from the goal of meeting the ultralow sioning on edge clouds. The proposed frameworks, however,
latency requirements of IoT applications, that is the goal of are oblivious to QoS and latency, as opposed to the proposed
F OG P LAN. Service migration in edge clouds in response to F OG P LAN framework.
user movement [13], network workload performance [14], Another related and similar framework to F OG P LAN is
and for reducing file system transfer size [15]; and VM service placement in distributed and micro clouds [31]–[33]
migration and handoff in edge clouds [16]–[20] are the and virtual network embedding [34]. Nevertheless, ultralow
most notable among these frameworks. Comparably, the stud- delay requirements and delay violation metrics are not con-
ies [8], [21]–[24] propose deployment platforms and program- sidered in these studies, as opposed to F OG P LAN. The study
ming models for service provisioning in the fog. Similarly, a in [35] proposes a framework for the fog service provision-
framework and software implementation for dynamic service ing problem. The proposed framework, however, does not
deployment based on availability and processing resources of consider the overhead of the introduced components on IoT
edge clouds are presented in [25]. To model resource cost nodes and assumes that IoT nodes run fog software and a
in edge networks for fog service provisioning, Xu et al. [26] virtualization technology. Similar to fog service provisioning,
proposed a model for resource contract establishment between the work in [36] introduces IoT application provisioning by
edge infrastructure provider and cloud service providers based proposing a service-oriented mobile platform. Despite the sub-
on auctioning. stantial contributions in the studies mentioned, they cannot
Some studies proposed frameworks for fog service be directly applied to the dynamic provisioning of delay-
provisioning for specific use cases and applications. sensitive fog-capable IoT applications. First, F OG P LAN is not
application-specific and is designed for general fog-capable
1 The QoS in this paper is modeled in terms of latency, namely the IoT IoT applications. Second, it does not require any knowledge
service delay and latency threshold. of user mobility patterns or status/specifications of the IoT

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
5082 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO. 3, JUNE 2019

devices. Moreover, F OG P LAN does not make any assumptions switches, and base stations are located. Edge computing
about IoT devices and their supported software capabilities normally takes place on the (edge) devices of this layer.
(e.g., virtualization). The F OG P LAN framework is QoS-aware At the top is the cloud layer, where large-scale cloud
and considers ultralow delay requirements of IoT applications servers and well-provisioned data centers are located. The
and customer delay violation metrics. Finally, F OG P LAN is cloud servers and data centers in the cloud layer are nor-
lightweight and designed to scale to the large magnitude of mally far from the IoT devices. The fog continuum (where
IoT networks. Each of the discussed studies considers some fog computing occurs) fills the computing, storage, and deci-
of the above features, whereas F OG P LAN considers all of them sion making the gap between the things layer and the cloud
collectively, to fill the gap in the literature for a lightweight layer [6]. The fog continuum is not only limited to the edge
framework for dynamic provisioning of delay-sensitive fog- layer as it includes the edge layer and expands to the cloud.
capable IoT applications. Fog computing is hierarchical and it provides computing,
networking, storage, and control anywhere from the cloud
A. Summary of Contributions layer to the things layer; while, edge computing tends to be
The contributions of this paper include the following. the computing at the edge layer [6], [7].
1) F OG P LAN, a novel, lightweight, and practical frame- 2) Fog Node: We refer to the devices in the fog contin-
work for QoS-aware dynamic provisioning (deploying uum as fog nodes. Fog nodes provide networking functions,
and releasing) of fog services with no assumptions and computation, and storage to the IoT devices in the things
minimal information about IoT nodes. layer and are located closer than cloud servers to the IoT
2) A formulation of an optimization problem for the devices [7]. Fog nodes could host services packaged in the
QDFSP problem at one time instance. form of VMs, containers, or unikernels. Fog nodes can be
3) Two efficient greedy algorithms (one with regards to routers, switches, dedicated servers for fog computing (e.g.,
on QoS and one with regards to cost) are proposed for cloudlets), customer premises equipment nodes (also called
addressing the QDFSP problem periodically. home gateways), or firewalls [7], [38]. The fog nodes can
4) Evaluation based on real-world traffic traces to verify be either small-scale nodes in a residential environment (e.g.,
the applicability and scalability of the F OG P LAN. home gateways), or medium/high-performance equipment in
an enterprise environment (e.g., routers or aggregation nodes
III. F OG P LAN F RAMEWORK of a Telco network) [38].
3) Handling Requests in IoT-Fog-Cloud: IoT nodes send
The main goal of F OG P LAN is to provide better QoS, in
their requests to the cloud. The IoT requests that are for tra-
terms of reduced IoT service delay and reduced fog-to-cloud
ditional cloud-based services are sent directly to the cloud
bandwidth usage, while minimizing the resource usage of the
without any processing in the fog. In this case, the requests
fog service provider (FSP). Specifically, the QoS improvement
are sent to the cloud and may bypass fog nodes along the path,
is useful for low latency and bandwidth-hungry applications,
but without any fog processing. On the other hand, the IoT
such as real-time data analytics, augmented and virtual reality,
requests that are for fog services will either be processed by
fog-based machine learning, ultralow latency industrial con-
fog nodes, if the corresponding service is deployed on the fog
trol, or big data streaming. F OG P LAN is a framework for the
nodes, or forwarded to the cloud if the service is not deployed
QDFSP problem, which is to dynamically provision (deploy
on fog nodes. Fog nodes may also offload requests to other
or release) IoT services on the fog nodes or cloud servers, in
fog nodes, such as in [39], to balance their workload and to
order to comply with the QoS terms (delay threshold, penal-
minimize response delay of the IoT requests.
ties, etc.) defined as an agreement between the FSP and its
clients, with minimal resource cost for the FSP.
B. Clients’ QoS Requirements
A. IoT-Fog-Cloud Architecture 1) QoS Measure: In this paper, we focus on the average
In this section, we discuss the general architecture for an IoT service delay as the QoS measure of IoT nodes; the
IoT-fog-cloud system, define fog nodes, show how requests average service delay is compared against a desired service
from IoT devices are handled, and describe the available delay threshold as the QoS requirements. These delay param-
communication technologies between nodes in the general eters along with few other metrics (such as penalty cost for
IoT-fog-cloud architecture. delay violation) are used to model QoS. The service delay is
1) Layered Architecture: Fig. 1 shows the general archi- formulated in Section IV-B.
tecture of IoT-fog-cloud. At the bottom is the things layer, 2) Client: In this framework, the client is defined as an
where IoT devices logically lie. The things layer is sometimes IoT application developer, IoT application owner, or the entity
referred to as the mist layer since it is, where mist computing who owns the IoT nodes and agrees with a level of QoS
occurs. Mist computing captures a computing paradigm that requirements with the FSP. When a client signs a contract
occurs on the connected devices [37]. IoT devices are end- with the FSP, the FSP guarantees to provide fog services
point devices, such as sensors, actuators, mobile phones, smart (using F OG P LAN) with service delays below a maximum delay
fridges, cameras, smart watches, cameras, and autonomous threshold th. The FSP also provides a level of the desired QoS
cars. The next logical layer is the edge layer, where edge q, which governs how strict the delay requirements are. For
devices, such as WiFi access points, first hop routers and example, for a given service a, if qa = 99% and tha = 5 ms, it

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
YOUSEFPOUR et al.: FOGPLAN 5083

parameters, the FSC can obtain the delay and other param-
eters of a service. When the traffic demand for a particular
service increases, the Provision Planner module in the FSC
may deploy a new service on the corresponding fog nodes to
reduce the IoT service delay. On the other hand, if demand
for a particular service is not significant, the provision plan-
ner may release the service to save on resource cost. Both the
deploy and the release operations are performed as per the
QoS requirements. For instance, when the traffic demand is
low but the QoS requirement of a service is strict, the service
may not be released.

Fig. 2. F OG P LAN framework. (Only traffic from IoT to cloud is shown.) D. Scalability and Practicality
The F OG P LAN framework is lightweight and practical, and
it operates with no assumptions and with minimal information
means that the client requires that the service delay of service about IoT nodes. The only information from IoT nodes that
a must be less than 5 ms, 99% of the time. All parameters of is required for the purpose of dynamic fog service provision-
the framework are summarized in Table I. ing is the aggregated incoming traffic rate of IoT nodes to
3) Complying With QoS Requirements: The FSP may own the fog nodes (λin aj ). Depending on the definition scope of ser-
fog and edge resources, or it may rent them from edge network vice delay (to be discussed in Sections IV-B1 and IV-B2), the
providers (NPs) (e.g., AT&T, Nokia, and Verizon) or edge average transmission rate r(Ia ,j) and propagation delay d(Ia ,j)
resource owners [26], [40], [41]. To comply with the QoS between the IoT nodes running a service and their correspond-
terms, one trivial solution for the FSP is to blindly deploy ing fog node may also be required. The aggregated traffic rate
the particular service on all the fog nodes close to the client’s can be easily monitored, while the average transmission rate
IoT nodes. Nevertheless, this is not an efficient solution and and the propagation delay can be approximated by round-trip
it wastes the available resources, because it over-provisions delay, which can be measured using a simple ping mecha-
resources for that particular service. If the FSP has many nism. Nevertheless, if obtaining average values for r(Ia ,j) and
clients, it is likely that it does not have adequate resources d(Ia ,j) are not possible in a scenario, the definition scope of ser-
on fog nodes for all the clients’ services. Therefore, the FSP vice delay can be altered (refer to Section IV-B2). Knowing
should employ a dynamic approach (e.g., F OG P LAN) to pro- minimal information about IoT nodes makes our framework
vision its services, while minimizing the cost and complying practical and lightweight. Moreover, there are no assumptions
with the QoS requirements of its clients. about IoT nodes, namely, if they run any specific fog-related
application or protocol, support virtualization technology, or
C. Fog Service Controller have specific hardware characteristics.
1) General Architecture: The general architecture of the
system for dynamically provisioning the fog services is shown E. Application Development and Deployment
in Fig. 2. The aggregated incoming traffic rate of IoT requests The communication of the FSC with other entities can be
to a fog node is monitored by a traffic monitoring agent, encrypted for added security. Also, adequate secure techniques
such as that of a software defined networking (SDN) con- may be used for monitoring IoT traffic. The security consid-
troller. Commercial SDN controllers, such as OpenDayLight erations of F OG P LAN are outside the scope of this paper and
and ONOS have rich traffic monitoring northbound APIs for are left as future work. When the FSP’s clients develop new
monitoring the application-level traffic [42], [43]. The traffic services and push them to the cloud, the services are auto-
rate monitoring is done in the Traffic Monitor module. matically pulled into the FSC’s Service Database (encrypted
The fog service controller (FSC) is, where F OG P LAN is channel). This ensures that the Service Database always has
implemented. Essentially, FSC solves the QDFSP problem the newest version of the services. This deployment model
using the monitored incoming traffic rate to the fog nodes and hides the platform heterogeneity, location of fog nodes, and
other parameters to make decisions for deploying or releasing the complexities of the migration process of the services from
services. It is assumed that the FSC only manages fog nodes the application developers. Note that traditional cloud-based
in a particular geographical location; however, the FSC may services that do not require the low latency of fog need not
be replicated for different geographical areas. be pulled into the Service Database.
2) What Is Inside?: The FSC has a database (labeled When a service is deployed on a fog node, it advertises
Service Database) of the application services (e.g., contain- the fog node’s IP address to the participating IoT nodes that
ers) that the FSP’s clients develop, and also maintains the run the application, so that the IoT node’s requests are sent
QoS parameters of each service (Fig. 2). The FSC uses the to the fog node (fog discovery). Another possibility is for the
Service Database to deploy required services on the fog nodes. IoT nodes to discover the new fog service through a service
This is analogous to the container registry [44] of the recently discovery protocol, or similar to the PathRoute module in [45],
proposed Microsoft Azure IoT Edge framework. Using QoS route the requests to fog services by including a URI in the

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
5084 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO. 3, JUNE 2019

TABLE I
TABLE OF N OTATION have monitoring capabilities. If fog nodes do not have mon-
itoring capabilities, they must be either directly connected
to monitoring-enabled devices or have monitoring software
agents running on them. The FSC’s Traffic Monitor module
will then communicate with the fog nodes (either directly or
through the fog nodes’ monitoring agent) to get the incoming
traffic to the fog nodes.
2) Virtualization: Fog nodes in our F OG P LAN framework
are assumed to run some container orchestration software, such
as Docker, Kubernetes, or OpenStack, which automates the
deployment and release of service containers. The reason for
using containers instead of traditional VMs is that contain-
ers are light-weight in comparison to VMs and provide lower
set-up delay, as they share the host OS [29], [46]. We con-
sider stateless fog services in the form of containers in our
framework, so that deploying and releasing them is fast and
on-demand, as opposed to slow migration procedures present
in VM-based migration techniques [18], [20], [45]. We leave
the consideration of stateful fog services and their related
migration issues as future work.

G. QDFSP Problem
In this section, we formally define the QDFSP problem.
Definition 1: QDFSP is an online task that aims to dynam-
ically provision (deploy or release) services on fog nodes,
in order to comply with the QoS requirements while also
minimizing the cost of resources.
In the next two sections, we first present a possible formu-
lation of an optimization problem for the QDFSP problem at
one time instance. Then, we present two greedy algorithms
that are periodically called to address the QDFSP problem.

IV. A DDRESSING QDFSP IN O NE I NSTANCE


OF T IME AS INLP
In this section, we present a possible formulation of the
associated optimization problem to address the QDFSP period-
ically, that considers the service provisioning at a given point
in time. All notation is explained in Table I. Let a set of fog
nodes be denoted by F, a set of cloud servers by C, and a set
of fog services by A. Let the desired QoS level for service a
be denoted by qa ∈ (0, 1), and delay threshold for service a
by tha .
The underlying communication network, a set of fog nodes
and cloud servers are modeled as a graph G = (V, E), such
that the node set V includes the fog nodes F and cloud
servers C (V = F ∪ C), and the edge set E includes the log-
ical links between the nodes. Fog nodes and cloud servers
requests. One can design a fog service discovery protocol as could be located anywhere, and there is no restriction on the
an extension to F OG P LAN. physical network topology. Each edge e(src, dst) ∈ E is asso-
ciated with three numbers: ue , the communication cost of
logical link e [cost per unit bandwidth used per unit time,
F. Fog Node Architecture that is (cost/byte)]; re , the transmission rate of logical link e
1) Monitoring: Monitoring the incoming traffic to fog (megabits per second); and de , the propagation delay of logi-
nodes is necessary for the operation of F OG P LAN. Fog nodes cal link e (milliseconds). These parameters are maintained by
may be devices, such as switches or routers that already the NP and are shared with the FSP.

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
YOUSEFPOUR et al.: FOGPLAN 5085

The main decision variables of the optimization problem are request and when it receives the response for that request. The
the placement binary variables, defined as average service delay of IoT nodes served by fog node j for
 service a is
1, if service a is hosted on fog node j
xaj = (1)  rq rp
0, otherwise la + la
 daj = 2d(Ia ,j) + waj + xaj
 1, if service a is hosted on cloud server k r(Ia ,j)
xak = (2) 
rq rp rq rp
0, otherwise.   l a + la la + la
cur , the current placement of the
+ 2 d(Ia ,j) + d(j,k) + wak + +
Incidentally, we denote by xaj r(Ia ,j) r(j,k)
 
service a on fog node j, which can be regarded as an input × 1 − xaj (10)
to the optimization problem to find the future placement of
services on fog nodes (xaj ) and cloud nodes (xak  ). where k = ha (j) is the index of a hosting cloud server for

The binary variable xak denotes placement of service a for service a [function ha (j) returns index of the cloud server to
each cloud server k. One can simplify this formulation by which the traffic for service a is routed from fog node j]. Ia
removing the index k, considering all cloud servers as a whole. is the set of IoT nodes implementing (i.e., running) service a.
To be more general, we consider the first formulation (xak  ). As can be inferred from the equation, when service a is
implemented on fog node j, (xaj = 1) service delay will be
A. Objective lower than when service a is not implemented on fog node
j (xaj = 0). The equation for daj is a conditional expression
The optimization problem can be formulated as problem P1
 proc based on xaj . The delay terms of each condition are prop-
proc   
P1: Minimize CC + CF + CCstor + CFstor agation delay, waiting time (processing delay plus queueing
 
depl delay), and transmission delay, in the order from left to right.
+ CFC comm
+ CFF comm
+ CF
d(Ia ,j) and r(Ia ,j) are the average propagation delay and aver-
Subject to QoS constraints. age transmission rate between IoT nodes in Ia and fog node j,
The cost components are defined as respectively, and they are given as inputs to the F OG P LAN. The
rq rp
 term [(la + la )/(r(Ia ,j) )] captures the round-trip transmission
CkP LaP λin 
proc
CC = ak xak τa (3) delay, as it is the sum of transmission delays of the request
rq rp
k∈C a∈A (la /r(Ia ,j) ) and the response (la /r(Ia ,j) ) for the service a. Other
proc

= CjP LaP λin variables are explained in Table I. Multiple instances of a
CF aj xaj τa (4)
j∈F a∈A given service a can be hosted in the cloud (on multiple cloud
 servers), as ha (.) can return the index of different cloud servers
CCstor = CkS LaS xak

τa (5)
for different inputs j and j .
k∈C a∈A
 We use average/approximate values for the propagation
CFstor = CjS LaS xaj τa (6) delay and transmission rate between IoT nodes and fog nodes
j∈F a∈A so that the (10) does not include indices of IoT nodes. We

comm
CFC = u(j,ha (j)) λout
aj (la + la )τa
rq rp
(7) claim that using average/approximate values is reasonable,
j∈F a∈A because, first, fog nodes are usually placed near IoT nodes,
 which means IoT nodes served by the same fog node have sim-
comm
CFF = u(j,j ) λajj larq τa (8)
ilar values of propagation delay and transmission rate. Second,
j∈F j ∈F a∈A
   if exact values were to be calculated, the FSC would need to
depl
CF = u(,j) 1 − xaj
cur
xaj LaS . (9) have information about all the IoT nodes communicating with
j∈F a∈A the fog nodes, which is not practical.
proc proc As discussed above, d(Ia ,j) and r(Ia ,j) are given as inputs to
CC and CF are cost of processing in cloud and fog,
the F OG P LAN. These values are either known by the IoT appli-
respectively; CCstor and CFstor are cost of storage in cloud and
comm is the cost of communication between cation owner and can be released to the FSP, or approximated
fog, respectively. CFC
comm by round-trip delay measurement techniques. If obtaining these
fog and cloud, CFF is the cost of communication between
depl values are not feasible in a scenario, we can change the scope
fog nodes, and CF is the communication cost of service of the definition of (10) to consider the service delay only
deployment, from the FSC  to fog nodes. A service deployed within fog to cloud (see next section).
on a fog node may be released when the demand for the service 2) Delay Budget: Note that the definition scope of (10) can
is small. Therefore, we assume the services are stateless, that be changed if obtaining average/approximate values for the
is they do not store any state information on fog nodes [2], propagation delay and transmission rate between IoT nodes
and we do not consider costs for state migrations. We consider and fog nodes is not feasible. This equation currently captures
a discrete-time system model, where time is divided into time the IoT service delay, from the moment an IoT node sends a
periods called reconfiguration intervals. request and when it receives the response for that request. The
scope of (10) is currently IoT-fog-cloud (from IoT to cloud).
B. Constraints We can change this scope to only fog-cloud (within fog and
1) Service Delay: Service delay is defined as the time cloud). In other words, we can just capture the delay from the
interval between the moment when an IoT node sends a service moment the request reaches a fog node. In this case daj can

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
5086 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO. 3, JUNE 2019

be realized as the average delay budget for service a at fog corresponding IoT devices. This can happen, for instance, if
node j within fog-cloud, and is equal to the number of IoT nodes that send requests to a particular
 rq rp fog node is small, or when the FSP’s penalty for violating
 la + la  
daj = waj xaj + 2d(j,k) + wak + 1 − xaj . (11) delay constraints is not high. In the former example, the few
r(j,k) IoT nodes that send their requests to the less congested fog
Notice that the propagation and transmission delay compo- node may experience larger service delay if the service is not
nents from IoT to fog are omitted from this equation. If this deployed on that fog node due to cost savings of not deploy-
version of the equation is used, the delay threshold tha should ing the service. In the latter example, when the penalty for
also be reduced (and renamed to threshold budget) to consider violating delay constraints is not high, F OG P LAN may find
only the threshold of the portion of delay within fog-cloud. a solution in which most services are deployed in the cloud.
In the rest of this paper, we use the original (10) for the Nevertheless, if the fog service is delay-sensitive or has tight
service delay. delay constraints, the penalty for violating delay constraints
3) Delay Violation: To measure the quality of a given ser- (pa ) will be set to a high value in the QoS agreement.
vice a, we need to see what percentage of IoT requests do 4) Resource Capacity: Resource utilization of fog nodes
not meet the delay threshold tha (delay violation). We first and cloud servers shall not exceed their capacity, as it is
need to check if average service delay of IoT nodes served formulated by
by fog node j for service a (labeled as daj ) is greater than the  
threshold tha defined in QoS requirements for service a. Let xaj LaS < KjS , and xaj LaM < KjM ∀j ∈ F (15)
a∈A a∈A
us define a binary variable vaj to indicate this  
 S
 xak La < KkS , and  M
xak La < KkM ∀k ∈ C. (16)
1, if daj > tha
vaj = ∀j ∈ F, ∀a ∈ A. (12) a∈A a∈A
0, otherwise
If the ample capacity of the cloud is assumed to be unlimited,
We define another variable that measures the delay violation (16) can be dropped.
of a given service according to the defined QoS requirements. 5) Traffic Rates: Different IoT requests have different pro-
Recall that the QoS requirement is that the percentage of delay cessing times. In order to accurately evaluate the waiting times
samples from IoT nodes that exceed the delay threshold should of fog nodes and cloud servers in our delay model, we need to
be no more than 1 − qa . We define Va% as the percentage of account for the different processing times of the IoT requests.
IoT service delay samples of service a that do not meet the To this end, we express the incoming traffic rates to the fog
delay requirement. Va% can be calculated as follows: nodes in units of instructions per unit time.
 in Let aj denote the arrival rate of instructions (in MIPS) to
j λaj vaj
Va =  in
%
∀a ∈ A. (13) fog node j for service a. This is the arrival rate of instructions
j λaj of the incoming requests that are accepted for processing by
Note that Va% is measured by the FSC, as a weighted average fog node j that is given by
of vaj , with λin aj as the weight. In practice, the FSC obtains aj = LaP λin ∀j ∈ F, ∀a ∈ A.
aj xaj (17)
λin
aj , the rate of incoming traffic to fog nodes, from the Traffic
Monitor module. The requests for different services have different process-
We can now add the cost of delay violations to P1. Let ing times. Thus, in the definition of aj we account for the
pa denote the penalty that the FSP must pay per request of different processing times by the inclusion of LaP . Note that if
service a if the delay requirements are violated by 1%. The service ã is not deployed on fog node j, ãj = 0 since xaj = 0.
total cost of delay violation for the FSP will be In this case, the incoming traffic denoted by the rate λinãj will
   not be accepted by fog node j, and hence will be sent to the
Cviol = max 0, Va% − (1 − qa ) × λin aj pa τa . (14) cloud. The rate of this “rejected” traffic is denoted by
j∈F a∈A  
aj = λaj 1 − xaj
λout in
∀j ∈ F, ∀a ∈ A. (18)
For instance if qa = 97%, any violation percentage Va%
greater than 3% must be paid for by the FSP. Consider for a Let λin
ak denote the incoming traffic rate to cloud server k for
given service a, qa = 97%, pa = 4, and λin service a. Then, we will have λin = j∈Ha−1 (k) λaj , where
out
aj = 7 for fog node ak
j. If the violation percentage is Va% = 5%, the FSP is charged Ha−1 (k) is a set of indices of all fog nodes that route the traffic
the penalty of (5 − 3) × 7 × 4 × 6 = 336 for one configuration for service a to cloud server k (Ha−1 (k) = {j|ha (j) = k}).
interval of τa = 6 s for fog node j. The total penalty would Similar to (17), the arrival rate of instructions (in MIPS) to
be the sum of penalties for all services over all fog nodes. the cloud server k for service a, ak , can be obtained as
Once we have discussed all the constraints of P1, we will
ak = LaP λin 
ak xak ∀k ∈ C, ∀a ∈ A. (19)
add Cviol to P1 and rewrite the problem. Note that all of
the unit cost parameters (e.g., CjP ) are given as inputs to the 6) Service Deployment in the Cloud: If the incoming traffic
QDFSP problem, hence are known to the FSP. rate to a cloud server for a particular service (λin
ak ) is 0, the
Remark: It is worth noting that the above optimization service could be safely released from the cloud server. This
problem aims to minimize the cost of the FSP, which may happens when the service is deployed on all the fog nodes that
result in a solution that places some fog services far from their would otherwise route the traffic for that service to a cloud

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
YOUSEFPOUR et al.: FOGPLAN 5087

 
server. On the other hand, if at least one fog node routes traffic a∈A ak can be seen as an M/M/c queueing system (total
for that particular service to a cloud server (λoutaj > 0), the processing capacity of cloud server k will be KkP = nk × μk ).
service must not be released from the cloud server. This is Therefore, similar to (23), wak , the waiting time for requests
because part of the traffic is being sent to and served by the of service a at cloud server k, could be derived as
cloud. The following equation guarantees the above statement: Q
 1 P
0, if λin wak =   +  P ak  ∀a ∈ A, ∀k ∈ C. (26)

xak = ak = 0 {k = h(j)|j ∈ F} ∀a ∈ A (20) fak μk fak Kk − ak
1, if λin
ak > 0
Q
which can be written as An equation similar to (24) is defined for Pak , the probabil-
ity of queueing at cloud server k. Note that for simplicity,
λin 
ak
≤ xak ≤ Wλin
ak , {k = h(j)|j ∈ F} ∀a ∈ A (21) instead of modeling each cloud server an M/M/c queue, one
W may also model the whole cloud as an M/M/∞ queueing
where W is an arbitrary large number (W > maxa,k (λin ak )).
system. Finally, stability constraints of the M/M/c queues for
7) Waiting Times: We have all the components of (10), the services on fog nodes and cloud servers imply
except for the waiting times of fog nodes and cloud servers
aj < faj KjP ∀a ∈ A, ∀j ∈ F (27)
(waj and wak ). We adopt a commonly used M/M/c queueing
system [47]–[49] model for a fog node with nj process- ak < 
fak KkP ∀a ∈ A, ∀k ∈ C. (28)
ing units, each with service rate μj and total arrival rate of

a∈A aj (total processing capacity of fog node j will be C. Final Optimization Formulation
KjP = nj μj ). P1 can be rewritten as P2 with the same constraints
To model what fraction of processing units each service can  proc proc   
obtain, we assume that the processing units of a fog node are P2: Minimize CC + CF + CCstor + CFstor
allocated to the deployed services proportional to their pro-    
depl
+ CFC comm
+ CFF comm
+ CF + Cviol
cessing needs (LaP ). For instance, if the requests for service a1
need twice the amount of processing than that of the requests Subject to (1), (2), (15)–(28).
for service a2 (LaP1 = 2 × LaP2 ), service a1 should receive twice
The objective function of P2 is the summation of eight cost
the service rate compared to service a2 . Correspondingly, we
functions. In some scenarios, though, it is possible that certain
define faj , the fraction of service rate that service a obtains at
costs (e.g., cost of storage) are the dominant factors in this
fog node j as
  summation. In order to consider the general problem in this
0, if a∈A xaj = 0 paper, we consider all of the eight cost functions; however,
faj =  xaj LaP (22) some of them can be omitted in certain scenarios if needed.
x LP
, otherwise.
a∈A aj a Note that in this optimization problem, we only consider the
The first condition in the above equation is when no service costs of fog-to-fog and fog-to-cloud communication. In other
is deployed on fog node j. Each deployed service can be seen words, the cost of communication between IoT and fog is not
as an M/M/c queueing system with service rate of faj × KjP = considered in the optimization problem, since this is usually
faj nj μj , and arrival rate of aj (in MIPS). Thus, the waiting outside the control of the FSP.
time for requests of service a at fog node j will be [50] Since the incoming traffic to fog nodes is changing over
Q time, to address the QDFSP, the FSC needs to dynamically
1 Paj
waj = + (23) adjust the provisioning of services over time to meet the
faj μj faj KjP − aj QoS requirements. To do this, one approach is to solve the
Q
optimization problem periodically, which may not be feasi-
where Paj is the probability that an arriving request to fog ble for large network due to nonscalability of INLP. Another
node j for service a has to wait in the queue. P..Q is also alternative is using some incremental algorithms that are more
referred to as Erlang’s C formula and is equal to efficient than solving the optimization problem. In the next
 n section, we propose two such algorithms.
Q nj ρaj j Paj
0
Paj = (24)
nj ! 1 − ρaj
V. F OG P LAN ’ S G REEDY A LGORITHMS
such that ρaj = (aj /faj KjP ) and In this section, we describe our proposed greedy algo-
⎡ ⎤−1 rithms that are called periodically to efficiently address the
nj −1     nj
 nj ρaj c n ρ 1 QDFSP problem. We propose two algorithms: 1) Min-Viol,
=⎣ ⎦ .
j aj
Paj
0
+ (25)
c! nj ! 1 − ρaj which aims to minimize the delay violations and 2) Min-Cost,
c=0
whose goal is minimizing the total cost. The Min-Viol and
Note that in (23) when a give service a is not implemented Min-Cost are shown in Algorithms 1 and 2 listings, respec-
on fog node j (i.e., faj = 0), waiting time waj and ρaj for that tively. Both algorithms try to address the QDFSP problem
service are not defined. efficiently, and if implemented, will be periodically run by the
Similarly, cloud server k with nk processing units (i.e., FSC every τa seconds. The proposed algorithms are discussed
servers), each with service rate μk and total arrival rate of in more detail in the following section.

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
5088 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO. 3, JUNE 2019

Algorithm 1 F OG P LAN Min-Viol Algorithm 2 F OG P LAN Min-Cost


Input: Service a size stats, G, qa , tha , λin
aj ,cost parameters Input: Service a size stats, G, qa , tha , λin aj , cost parameters
Output: Placement of service a that minimizes delay Output: Placement of service a that minimizes cost
violation 1: Deploy/release service a in cloud according to Eq. (20)
1: Deploy/release service a in cloud according to Eq. (20) 2: Read service a’s incoming traffic rate to fog nodes
2: Read service a’s incoming traffic rate to fog nodes 3: List L ← sort fog nodes in descending order of traffic rate
3: List L ← sort fog nodes in descending order of traffic rate 4: for all fog node j in L do
Deploy
4: CALC V IOL P ERC(xaj , λinaj , tha )
Va% updated 5: if fog node j has enough storage and memory then
5: canDeploy = true 6: if cost savings of deploying a on j > expenses of
6: while canDeploy and (Va% > 1 − qa ) do
Deploy deploying service a on j then
7: j = remove from the list L index of the next fog node 7: Deploy service a on fog node j
xaj = 1
8: if L is empty then 8: CALC V IOL P ERC(xaj , λinaj , th a )
update Va%
9: canDeploy = false 9: end if
10: end if 10: end if
11: if (service a is not deployed on fog node j) and (fog 11: end for
node j has enough storage and memory) then 12: for all fog node j in L(reverse) do
Release
12: Deploy service a on fog node j
xaj = 1 13: if cost savings of releasing a on j > expenses of
13: CALC V IOL P ERC(xaj , λin aj , tha )
update Va% releasing service a on j then
14: end if 14: Release service a on fog node j
xaj = 0
15: end while 15: CALC V IOL P ERC(xaj , λin
aj , th a )
update Va%
16: canRelease = true 16: end if
17: while canRelease do
Release 17: end for
18: j = get from the tail of L a fog node j, on which service
a is deployed
19: Set xaj = 0 (and set xah  = 1, if xah = 0)
a (j) a (j)
20: CALC V IOL P ERC(xaj , λaj , tha )
in
update Va% variable canDeploy is for eliminating blocking of the while
loop (canDeploy becomes false when Va% does not drop below
21: if Va% ≤ 1 − qa then
1 − qa after going through the list). Note that the services are
22: Release service a on fog node j
xaj = 0
deployed first on the fog nodes with higher incoming traffic
23: else
if releasing would cause violation
rate, so that Va% decreases faster.
24: Set xaj = 1, and canRelease = false
exit
When Va% ≤ 1−qa , we might still be able to release services
25: end if
on the fog nodes with small incoming traffic rate, without
26: end while
violating QoS requirements. The second loop (lines 17–26)
releases services on the fog nodes with smaller incoming traf-
fic rate. First, we try to find a fog node with small incoming
A. Description traffic rate (from the end of sorted list L) and check if releasing
1) Min-Viol: The high-level rationale behind the Min-Viol the already-deployed service would cause any delay viola-
algorithm is to deploy on the fog nodes those services for tions (lines 19 and 20). If releasing does not cause violation
which there is high demand, and to release from the fog nodes (line 21), we go ahead and release the service (line 22); other-
services for which there is low demand, while keeping the wise, we do not release the service and exit (line 24), because
violation low, as per the QoS requirements. Note that when a releasing service on the next fog nodes with higher incom-
given service a is not deployed on a given fog node j, the traffic ing traffic would cause even more delay violations. Min-Viol
routed to the cloud for service a might pass through the fog requires service a’s average size statistics (i.e., service storage
node j (or the monitoring-enabled device to which fog node j size, size of request and reply, amount of processing), graph
is connected). This can happen, for instance, when the demand G, qa , and tha as input.
for a service a in one location increases and many requests In both Algorithms 1 and 2, step 1 is useful for deployment
for (currently cloud-hosted) service a pass through fog node j. settings, where the FSC has access to the cloud resources as
Thus, in F OG P LAN, fog nodes monitor the traffic for different well and is able to deploy services on the cloud servers. If the
services and communicate with FSC’s Traffic Monitor module FSC has access to the cloud resources, an instance of service
to act on such demands. a is deployed or released in the cloud according to (20). If the
First, the incoming traffic rates to the fog nodes are read FSC does not have access to the cloud resources, an instance
from the Traffic Monitor module, based on which the fog of service a should be always running in the cloud, as the
nodes are sorted in descending order (lines 2 and 3). Next, cloud will be the last resort for the requests not processed by
using the method CALC V IOL P ERC(.) (shown in Algorithm 3), the fog nodes.
the percentage of the violating IoT requests for service a (Va% ) 2) Min-Cost: The main idea of the Min-Cost algorithm is
is calculated. As long as this percentage is more than 1 − qa similar to that of Min-Viol; however, the major concern in
(lines 6–15), the algorithm keeps deploying services on the fog Min-Cost is minimizing the cost. Min-Cost tries to minimize
nodes, and once Va% ≤ 1 − qa , it exits the loop. The Boolean the cost by checking if deploying or releasing services will

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
YOUSEFPOUR et al.: FOGPLAN 5089

Algorithm 3 Calculate Delay Violation Percentage 2) Min-Cost: Similar to the above analysis, the asymp-
Input: xaj , λin
aj , tha
totic complexity of lines 1–3, lines 4–11, and lines 12–17 is
Output: Percentage of IoT requests that do not meet the delay O(|F| log |F|), O(|A||F|2 ), and O(|A||F|2 ), respectively. The
requirement for service a (Va% ) overall complexity of Min-Cost for one service is O(|A||F|2 ).
1: procedure CALC V IOL P ERC(xaj , λinaj , tha )
We can see both algorithms have the same asymptotic com-
2: Calculate daj for a for all fog nodes (Eq. (10) or (11)) plexity. In the next section, we will compare the algorithms
3: Calculate vaj for a for all fog nodes (Eq. (12)) numerically using our extensive simulations.
4: Calculate Va% using Eq. (13)
5: return Va% VI. N UMERICAL E VALUATION
6: end procedure
In this section, we discuss the settings and results of the
numerical evaluation of the proposed framework. Our numeri-
cal evaluations are performed using a simulation environment
increase the revenue (or equally will decrease cost). Similar to written in Java2 and are based on real-world traffic traces.
the Min-Viol algorithm, the incoming traffic rates to fog nodes
are read from the Traffic Monitor module, based on which the A. Simulation Settings
fog nodes are sorted in descending order (lines 2 and 3). Next, 1) Simulation Environment: The evaluation is performed
we iterate through fog nodes and check if deploying a service using a Java program that simulates a network of fog nodes,
make sense, in terms of minimizing the cost (lines 4–11). Line IoT nodes, and cloud servers. The simulator can either read
6 checks if the cost savings of deploying service a on fog the traffic trace files or can generate arbitrary traffic patterns
node j, is larger than the expenses (or losses) when the ser- based on a discrete time Markov chain (DTMC). In either case,
vice a is not deployed on fog node j. The cost savings of the simulator solves the optimization problem and/or runs our
deploying a service are due to the reduced cost of commu- proposed greedy algorithms. The parameters of the simulation
nication between fog and cloud, the reduced costs of storage are summarized in Table II, and are explained in what follows.
and processing in the cloud, and the (possible) reduced cost 2) Experiments: To fully understand the benefits of our
of delay violations when the service a is implemented on fog proposed scheme, we have conducted five experiments to study
node j. Conversely, the expenses are the cost of service deploy- the impact of the different parameters and factors of the frame-
ment and the increased costs of storage and processing in the work that affect the results. The purpose of the experiments
fog. All the mentioned costs are calculated and compared for and their settings are summarized in Table III and are briefly
the duration of one interval (τa ). explained here. Experiment-1 (results are shown in the left col-
Similar to deploying (lines 4–11), for releasing, we iterate umn of Fig. 3) is to study the benefits of our proposed greedy
through fog nodes, in increasing order of their incoming traffic algorithms under a real-world traffic trace. In experiment-2
rates and check if releasing a service make sense, in terms of (results are shown in the right column of Fig. 3) we com-
minimizing the cost (lines 12–17). Likewise, line 13 checks pare the performance of our proposed greedy algorithms with
if the cost savings of releasing service a on fog node j is that of the optimal solution achieved using the optimization
greater than the expenses when the service a is deployed on problem. Experiment-3 (results are shown in the left column
fog node j. The cost savings of releasing a service are due to of Fig. 4) is for investigating the impact of the delay thresh-
the reduced costs of storage and processing in the fog when the old, tha , whereas experiment-4 (results are shown in the right
service is released, while the expenses are due to the increased column of Fig. 4) is for investigating the impact of the config-
cost of communication between fog and cloud, the increased uration interval, τa . Finally, in experiment-5 (results are shown
costs of storage and processing in the cloud, and the (possi- in Table IV) we analyze the scalability of our proposed greedy
ble) increased cost of delay violations. Min-Cost’s inputs are algorithms using larger network topologies and more services.
similar to those of Min-Viol; additionally, Min-Cost requires 3) Topology: The logical topology of the network for the
the unit cost parameters (processing, storage, and networking) first four experiments are summarized in Table III. The topol-
to calculate the cost using (3)–(9). ogy of the fifth experiment is not fixed and will be discussed
later. The fog nodes are paired with different cloud servers ini-
tially according to a random uniform distribution. The number
B. Complexity
of IoT nodes is not required for our experiments, as we use
The time complexity of the proposed greedy algorithms the aggregated incoming traffic rate from the IoT nodes to the
shown in Algorithms 1 and 2 listings are discussed below. fog nodes.
1) Min-Viol: The asymptotic complexity of lines 1–3 The propagation delay can be estimated by halving the
is O(|F| log |F|) due to the sorting of fog nodes. The round-trip time of small packets; and as evaluated in our
complexity of lines 4 and 5 is O(|A||F|), since function previous study [39]; it is assumed to be U(1, 2) ms between
CALC V IOL P ERC(.) calculates daj for all fog nodes. The steps the IoT nodes and the fog nodes, and U(15, 35) ms between
in lines 6–15 run at most |F| times, hence their complex- the fog nodes and the cloud servers. The transmission medium
ity is O(|A||F|2 ). Similarly, the complexity of lines 17–26 is between the IoT nodes and the fog nodes is assumed to be
O(|A||F|2 ), therefore, the overall complexity of Min-Viol for
one service is O(|A||F|2 ). 2 [Online]. Available: https://github.com/ashkan-software/FogPlan-simulator

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
5090 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO. 3, JUNE 2019

TABLE II TABLE III


S IMULATION PARAMETERS . U(a, b) I NDICATES R ANDOM U NIFORM S IMULATION E XPERIMENTS S ETTINGS
D ISTRIBUTION B ETWEEN a AND b. “MI” I S M ILLION I NSTRUCTIONS

either (50% chance for each case) one hop WiFi, or WiFi and
a 1 Gb/s Ethernet link. The fog nodes and the cloud servers
are assumed to be 6–10 hops apart, while their communica-
tion path consists of 10 Gb/s (arbitrary) and 100 Gb/s (up to 2)
links. The transmission rate of the link between the FSC and
the fog nodes is assumed to be 10 Gb/s. the Markov process represent different traffic rates (quantized),
4) QoS Parameters: The level of quality of service (QoS) of and the transition probabilities are the fraction of time that
different services is assumed to be a uniform random number traffic rate changes from a particular rate to a new rate.
between loose = 90% and strict = 99.999%. Since in this In our simulation, the DTMC-based traffic trace generator
paper, we focus on delay-sensitive fog services, we set the has 30 states and is constructed based on the 48-h trace of
penalty of violating the delay threshold to a random number April 12 and 13, 2017. The generated traffic trace is random
in U(10, 20) per % per sec for experiment-1 and experiment-2, and each run results in a new traffic trace. Our obtained results
and in U(100, 200) per % per sec for the other experiments. based on such trace produced by DTMC-based traffic trace
5) Real-World Traffic Traces: In order to evaluate our generator are discussed in experiment-4 and experiment-5.
framework and obtain realistic results, we have employed real- 7) Capacity: In the simulation, the processing capacity of
world traffic traces, taken from MAWI Working Group traffic each fog node, KjP , is U(800, 1300) MIPS [53], and the pro-
archive [51]. MAWI’s traffic archive is maintained by daily cessing capacity of each cloud server, KkP , is assumed to be
trace captures at the transit link of WIDE to their upstream 20 times that of the fog nodes. The storage capacity of the
ISP. We have used the traces of April 12 and 13, 2017 in this fog nodes, KjS , is assumed to be more than 25 GB, to host at
paper for modeling the incoming traffic rates to fog nodes from most 50 services of the maximum size [size of services, LaS ,
IoT nodes. The traffic traces are provided by MAWI Working is U(50, 500) MB for typical Linux containers]. The storage
Group in chunks of 15-min intervals. capacity of the cloud servers is ten times that of the fog nodes.
To model the cloud, we have chosen a particular class B The memory capacity of the fog nodes and the cloud servers,
subnet in the traffic traces to represent the IP addresses of KjM and KkM , is 8 GB and 32 GB, respectively. Fog nodes
the FSP’s cloud servers. For modeling the fog nodes, we have assumed to have four processing units, whereas cloud servers
selected ten regions/cities (i.e., subnets) from the traffic trace assumed to have 8. These capacity assumptions are reason-
file with a large number of packets and assumed that there able with regards to the current cloud computing instance sizes
is one fog node in each city. The fog node can later serve (e.g., 32 GB memory is the default config for Amazon AWS
the IoT requests coming from the city, where it resides. We t2.2xlarge, m5d.2xlarge, m4.2xlarge, and h1.2xlarge instance
assumed that the packets destined to or originated from a class types).3
C subnet belong to the same region/city. 8) App Size: Several applications could be used to show
We consider the TCP and UDP packets in the traffic trace to the applicability and benefits of the proposed framework. In
account for the requests generated by the IoT nodes, because order to obtain realistic values for different parameters of the
common IoT protocols, such as MQTT, COAP, mDNS, and framework and show the benefits of the scheme under practical
AMQP, use TCP and UDP to carry their messages [52]. The situations, we consider mobile augmented reality (MAR) as the
tuple <IP address, port number> (destination) represents a application that runs on IoT devices. In MAR applications, the
particular fog/cloud service, to which IoT requests are sent. requests have a delay threshold of 10 ms [1]. The average size
6) DTMC-Based Traffic Traces: As mentioned before, we of request and response of the MAR applications are set as
have also developed a traffic trace generator based on a U(10, 26) KB and U(10, 20) byte, respectively [54], and the
DTMC, as the number of regions/cities representing fog nodes required amount of processing for the services is U(50, 200)
is limited in the real-world MAWI traffic traces. DTMCs can MI per request [35].
be used to simulate various traffic traces by considering a
Markov process for the traffic rate. Essentially, the states in 3 [Online]. Available: https://aws.amazon.com/ec2/instance-types/

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
YOUSEFPOUR et al.: FOGPLAN 5091

9) Deploy and Release Delay: One question that we need to


answer is: how much delay does deploying or releasing a ser-
vice incur? Is this delay negligible in practical fog networks? If
deploying or releasing services fog service causes extra delay,
this could have a significant impact on QoS. Nonetheless,
deploying and releasing containers takes less than 50 ms [46],
wheres the interval of monitoring traffic and running the
(a) (g)
F OG P LAN for deploying services in a real-world setting would
be in the order of tens of seconds to minutes. In our simu-
lations, the start-up delay of the service containers is set to
50 ms.
10) Cost: The cost of communication between nodes, ue ,
is 0.2 per Gb, and between the FSC and fog nodes, u(,j) , is
0.5 per Gb. At the time of writeup of this paper, there was no
standard fog pricing, by which we can define reference costs. (b) (h)
The cost of processing in fog nodes and cloud servers is set
to 0.002 per MI. The cost of storage in fog nodes and cloud
servers is 0.004 per Gb per second.

B. Results
The results of the simulation are shown in Figs. 3 and 4, and (c) (i)
Table IV. We will discuss the five experiments in more detail
in this section. In all figures, the label “All Cloud” indicates a
setting, where the IoT requests are sent directly to the cloud
(that is, fog nodes do not process the IoT requests). “Min-Viol”
and “Min-Cost” represent the two proposed greedy algorithms,
and “Static Fog” is a baseline technique, where the services are
deployed statically at the beginning, as opposed to the dynamic (d) (j)
deployment. Static Fog uses the Min-Cost algorithm, and finds
a one-time placement of the fog services at the beginning of
the run, using the average traffic rates of the fog nodes as the
input. The “Optimal” label indicates a setting, where (optimal)
results are obtained using the optimization problem introduced
in Section III-G (1)–(28).
1) Experiment-1: This experiment is for studying the bene-
fits of our proposed greedy algorithms under real-world traffic (e) (k)
traces. The figures on the left column of Fig. 3 show the
results of experiment-1 and are obtained using the 48 h of
trace data of April 12 and 13, 2017. In experiment-1, both the
interval of traffic change and τa are 15 min. Fig. 3(a) repre-
sents the normalized incoming traffic rates to the fog nodes
in experiment-1. On the next row, Fig. 3(b) demonstrates the
average service delay of the IoT nodes. Since there is no fog
(f) (l)
computing, All Cloud results in the highest service delay. Min-
Viol achieves the lowest delay, as its goal is to minimize the Fig. 3. Simulation results. Left: Experiment-1 (48-h trace). Right:
violation. Min-Cost fluctuates around Static Fog, since, in a Experiment-2 (2-h trace). (a) Traffic trace. (b) Average service delay.
sense, Min-Cost is the dynamic variation of Static Fog. The (c) Average cost. (d) Average delay violation. (e) Average number of fog
services. (f) Average number of cloud services. (g) Traffic trace. (h) Average
reason Min-Cost has larger service delay than Static Fog will service delay. (i) Average cost. (j) Average delay violation. (k) Average
become clear soon. number of fog services. (l) Average number of cloud services.
On the third row, Fig. 3(c) shows the average cost of the var-
ious methods over time. All Cloud has the highest cost because
it cannot satisfy the tight QoS requirement of the MAR appli- Static Fog’s cost is more than that of Min-Cost, as its result-
cations and it incurs in a noticeable service penalty. Even ing static placement cannot keep up with the changing traffic
though Min-Cost is envisioned for minimizing cost, it does demand.
not achieve the lowest cost. Interestingly, Min-Viol achieves Fig. 3(d) illustrates the percentage of delay violations in
the lowest cost, primarily as it minimizes the violation. The the various methods. Clearly, All Cloud has the highest delay

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
5092 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO. 3, JUNE 2019

violation. Min-Viol’s great performance is evident as it has the deploying more services on the fog nodes to minimize the
lowest delay violation of around 3%. The delay violations of violations. Moreover, since the application in this paper is
Static Fog and Min-Cost are comparable; when the magnitude assumed to have a high service delay penalty, Min-Viol’s more
of the traffic is small, Min-Cost deploys fewer fog services to deployed services on the fog nodes is the reason for its superior
reduce cost, thus incurs more delay violations. performance.
The figures on the last two rows of the left column of Fig. 3 3) Experiment-3: The next set of diagrams shown in the
show the average number of services deployed on the fog left column of Fig. 4 illustrate the impact of delay threshold
nodes [Fig. 3(e)] and the cloud servers [Fig. 3(f)]. All Cloud for service a (tha ) on our proposed algorithms. These figures
does not deploy any services on fog nodes while it deploys are obtained using the trace of 4 h (12:00 p.m.–4:00 p.m.) of
all of the services in the cloud. As expected, the number of April 12, 2017. The error bars on this set of figures show the
deployed services on the fog nodes for the Static Fog approach 99% confidence intervals of the results. When the width of
does not change over time. It is evident that Min-Viol deploys the confidence interval, no error bar is shown. The interval of
more services on the fog nodes than Min-Cost, to minimize the traffic change and τa are 10 s. The rest of the parameters
the service delay, thus minimizing the delay violations. Among of the simulation are the same as before.
fog approaches, Min-Cost (roughly) has the lowest number of Fig. 4(a) depicts how delay threshold affects the average
the deployed services on the fog nodes and the most num- service delay. When the delay threshold increases, the average
ber of the deployed services on the cloud server, as it tries service delay of all the fog approaches (Min-Viol, Min-Cost,
to maintain a low-cost deployment. It is interesting to note and Static Fog) increases, and finally reaches to that of All
the shape of the deployed services using Min-Cost; it seems Cloud. This is because when the delay threshold is large, the
that when the traffic rate is large, Min-Cost prefers deploying greedy algorithms tend to deploy fewer services on the fog
services in the cloud to deploying services on the fog nodes nodes; hence requests will have large service delays as they
to minimize the cost. will be served in the cloud. As expected, Min-Viol has the low-
2) Experiment-2: In experiment-2, we compare the est average service delay among all the approaches. Min-Cost
performance of our two proposed greedy algorithms with achieves the second lowest average service delay.
that of the optimal solution achieved using the optimization Fig. 4(b) illustrates the decrease in the average cost of all
problem introduced in Section III-G. To solve the INLP four approaches when the delay threshold increases. This is the
problem, the Java program tries all the possible combinations case because when the delay threshold is high, fewer services
of Boolean variables xaj and xak  , and finds the placement that are deployed on the fog nodes, and fewer requests violate the
minimizes the cost. The figures in the right column of Fig. 3 delay threshold requirements. When the delay threshold is
show the results of this experiment and are obtained using high, there will be fewer delay violations, and the cost of All
2 h (12:00 P. M .–2:00 P. M .) of trace data of April 12, 2017. In Cloud gets closer to that of the other fog approaches. When the
experiment-2, the interval of traffic change is 1 min and τa is delay threshold is larger than 75 ms, there will be no delay vio-
set to 2 min. lation even if the services are not deployed on the fog nodes.
Fig. 3(g) shows the normalized incoming traffic rates to Hence, when the delay threshold is larger than 75 ms, all the
the fog nodes. Fig. 3(h) shows the average service delay, services will be deployed in the cloud, and all the approaches
and we observe that All Cloud has the highest average ser- will have the same cost value. When the delay threshold is
vice delay. Optimal and Min-Viol achieve the lowest average not too large, Min-Cost and Min-Viol have the lowest cost.
service delays, while Min-Cost’s average service delay is Fig. 4(c) shows the performance of the four approaches
larger. Fig. 3(i) illustrates the average cost of the methods. with regards to delay violations. Min-Viol’s delay violation
As expected, All Cloud again has the highest cost, mainly is the lowest, while the All Cloud approach has the highest
due to its high delay violation, whereas optimal brings the delay violation. The violations of Min-Cost and Static Fog
lowest cost since it finds the optimal solution to the cost are moderate because they are not tuned for the goal of mini-
minimization problem. Min-Viol has a slightly lower cost com- mizing delay violation. As the delay threshold becomes higher,
pared to Min-Cost, and its cost gets very close to that of the the delay violation of all the approaches becomes smaller. The
optimal. delay violation of all the approaches does not change when
Fig. 3(j) illustrates the percentage of the delay violation in the delay threshold is less than 38 ms. The reason is, with
the various methods. All Cloud has the highest delay violation the values of the simulation parameters in the current setup,
rate, whereas Min-Viol achieves the closest performance to when the delay threshold is below 38 ms, all the approaches
that of the optimal service deployment. Finally, the last two place the same number of services on the fog nodes and the
rows on the right column of Fig. 3 show the average number cloud servers. Nevertheless, when the delay threshold becomes
of services deployed on the fog nodes [Fig. 3(k)] and the cloud greater than 38 ms, the average delay violation becomes lower.
servers [Fig. 3(l)]. All Cloud deploys all the services in the This period of constant delay violation is also evident in
cloud. Conversely, Optimal deploys all the services on the fog Fig. 4(d) and (e). In both figures, the number of deployed
nodes. services on fog nodes and cloud servers remains constant when
From this experiment, we can observe that Min-Viol the delay threshold is less than 38 ms. As the delay threshold
achieves a closer performance to the optimal service deploy- becomes higher, fewer services are deployed on the fog nodes,
ment than the Min-Cost algorithm. The good performance and a greater number of services are deployed on the cloud
of the Min-Viol algorithm is due to its aggressiveness on servers.

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
YOUSEFPOUR et al.: FOGPLAN 5093

Fog. The interval of the traffic change is 10 s and the length


of the reconfiguration interval varies from 10 to 200 s.
Fig. 4(f) illustrates how the length of the reconfiguration
interval affects the average service delay. We can see that when
τa becomes larger, the average service delay becomes larger
as well, simply because the greedy algorithms are not run
frequently. Similarly, Fig. 4(g) shows how the average cost of
(a) (f) both algorithms increases as the length of the reconfiguration
interval becomes greater. This is again due to the infrequent
run of the algorithms that incurs more service penalty.
The results in Fig. 4(h) also show the increase in the aver-
age delay violations as τa becomes greater. Finally, the last
two diagrams in the right column of Fig. 4 show the num-
ber of deployed services on the fog nodes and cloud servers
as a function of τa . Min-Viol maintains the same number of
(b) (g) deployed services, whereas the length of the reconfiguration
interval affects the number of deployed services in Min-Cost.
We reason that there exists a fundamental tradeoff for choos-
ing the appropriate length of the reconfiguration interval: the
length of the reconfiguration interval must be small enough so
that the frequent running of the greedy algorithms can reduce
the average service delay, violation, and finally can minimize
the cost. On the other hand, the reconfiguration interval must
(c) (h) be long enough for the greedy algorithms to finish running.
The length of the reconfiguration interval must be chosen
according to the aforementioned tradeoff. In the next experi-
ment, we numerically measure the actual runtime of the greedy
algorithms in different settings.
5) Experiment-5: In this experiment, we analyze the scala-
bility of our proposed greedy algorithms using larger network
topologies and more services. In Section V-B, we discussed
(d) (i) the asymptotic complexity of Min-Cost and Min-Viol. In this
section, we discuss our measurements of the actual running
time of these algorithms. Since the number of regions/cities
representing fog nodes is limited in the real-world MAWI traf-
fic traces, we use the DTMC-based traffic trace generator for
this experiment.
The results are shown in Table IV. The numbers in the
columns titled Time in Table IV are the averages of running the
greedy algorithms for the corresponding number of services
(e) (j) ten times. For instance, the numbers in the time column of
Fig. 4. Simulation results. Left: Experiment-3 (Impact of delay threshold tha ).
the first and fourth rows of Table IV represent the average
Right: Experiment-4 (Impact of reconfiguration interval length τa ). (a) Service running times for ten runs of the greedy algorithms over 100
delay versus threshold. (b) Cost versus threshold. (c) Delay violation ver- services. The running time of the algorithms is precisely mea-
sus threshold. (d) Fog services versus threshold. (e) Cloud services versus
threshold. (f) Service delay versus reconfig. interval. (g) Cost versus reconfig.
sured using the time command in Unix. The initialization time
interval. (h) Delay violation versus reconfig. interval. (i) Fog services versus is subtracted from the total time to get the exact running time
reconfig. interval. (j) Cloud services versus reconfig. interval. of the algorithms. The computer we used for this experiment
has the following specifications: 4-Core Intel Xeon E5620,
12GB RAM, CentOS 6.9 (Kernel 2.6.32-696), JRE 1.8.0_171,
and JVM 25.171.
4) Experiment-4: The next set of diagrams shown in the Recall that the asymptotic complexity of both Min-Cost and
right column of Fig. 4 depict the impact of the reconfiguration Min-Viol is O(|A||F|2 ). This is also evident by the results in
interval length (τa ) on our proposed algorithms. We use the the Table IV; the algorithms scale linearly with the number of
DTMC-based traffic trace generator for this experiment for the services (first three rows) and the running times stay below 1 s.
traffic trace. Similar to experiment-3, the error bars on this set However, the algorithms scale quadratically with the number
of figures show the 99% confidence intervals of the results. of fog nodes (last three rows). For instance, when we have
Min-Viol and Min-Cost are shown on these figures since the 10 000 fog nodes, Min-Cost takes about 3 s and Min-Viol
reconfiguration interval is not relevant for All Cloud and Static takes around 2 min to finish the service deployment of one

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
5094 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO. 3, JUNE 2019

TABLE IV
S CALABILITY OF G REEDY M ETHODS . N UMBER OF C LOUD S ERVERS I S 3. VII. C ONCLUSION
T IME I S AN AVERAGE FOR I NDIVIDUAL S ERVICE . qa = 90% Fog is a continuum filling the gap between cloud and
IoT, which brings low latency, location awareness, and
reduced bandwidth to the IoT applications. We discussed
how F OG P LAN could benefit FSPs and their clients, in
terms of improved QoS and cost savings. For addressing
the QDFSP problem, a possible INLP formulation and two
greedy algorithms are introduced that must be run periodically.
Finally, we presented the results of our experiments based on
real-world traffic traces and a DTMC-based traffic generator.
Both Min-Viol and Min-Cost have the same asymptotic com-
service. The total time for running the Min-Cost and Min- plexity, however, Min-Cost is faster than Min-Viol, especially
Viol for all services, in this case, would be around 5 min and when there are more fog nodes and services. Except for the
3 h, respectively. optimal deployment (achieved by solving the INLP), Min-Viol
has the lowest average service delay and average delay vio-
lations. We saw that Min-Viol’s superior performance comes
C. Discussion
at the cost of a slower runtime. We also discussed the fun-
It can be seen that Min-Cost has generally lower running damental tradeoff for choosing the appropriate length of the
time (is faster) in bigger settings since its main loop condi- reconfiguration interval.
tions do not depend on the value of qa (they depend on cost). As future work, it is interesting to see how the dis-
Conversely, since the main loops of Min-Viol depend on the tance of the FSC, relative to the fog nodes, can affect the
value of qa , Min-Viol takes longer to finish when the QoS proposed scheme. Moreover, QDFSP is achieved through
value is strict (e.g., qa = 99.9%). Thus, in general, Min-Viol either deploying new service(s) or releasing existing service(s)
is slower than Min-Cost. Nevertheless, as seen in the previous from fog nodes, which means the decision variables are binary.
experiments, Min-Viol has lower average service delay and However, considering nonbinary variables (that is consider-
lower delay violations than Min-Cost. It is clear now that ing scaling up and down service or container capacities)
Min-Viol’s superior performance is at the cost of its slower as a response to load variation may be a future research
runtime. The reconfiguration interval length must be chosen direction. Lastly, as briefly discussed in the paper, additional
big enough so that the chosen greedy algorithm can finish future directions are to 1) consider stateful fog services and
deploying services during this interval. related migration issues; 2) design a protocol for fog ser-
As discussed before, to address the QDFSP problem, solv- vice discovery; and 3) incorporate learning methods for traffic
ing the optimization problem periodically may be not feasible, prediction.
especially for large networks. The proposed greedy algo-
rithms can be called periodically as alternative approaches R EFERENCES
for addressing the QDFSP problem. The results show the
[1] C. C. Byers, “Architectural imperatives for fog computing: Use
performance of Min-Cost and Min-Viol algorithms compared cases, requirements, and architectural techniques for fog-enabled IoT
to the optimal. networks,” IEEE Commun. Mag., vol. 55, no. 8, pp. 14–20, Aug. 2017.
Nevertheless, it may not be also efficient to run the greedy [2] R. S. Montero, E. Rojas, A. A. Carrillo, and I. M. Llorente, “Extending
the cloud to the network edge,” IEEE Comput., vol. 50, no. 4, pp. 91–95,
algorithms too frequently, as it is not always good to deploy Apr. 2017.
(or release) services in response to a short-lived traffic peak [3] C. Mouradian et al., “A comprehensive survey on fog computing:
(or drop). We refer to the issue of frequent deploy and State-of-the-art and research challenges,” IEEE Commun. Surveys Tuts.,
vol. 20, no. 1, pp. 416–464, 1st Quart., 2017.
release as impatient provisioning, and it can happen when [4] C. Li, Y. Xue, J. Wang, W. Zhang, and T. Li, “Edge-oriented computing
the traffic rate fluctuates rapidly. The limitation of the current paradigms: A survey on architecture design and system management,”
F OG P LAN framework is that it lacks a standard mechanism to ACM Comput. Surveys, vol. 51, no. 2, p. 39, 2018.
[5] T. Taleb et al., “On multi-access edge computing: A survey of the
handle impatient provisioning; one has to manually choose an emerging 5G network edge cloud architecture and orchestration,” IEEE
appropriate length for the reconfiguration interval τa , consid- Commun. Surveys Tuts., vol. 19, no. 3, pp. 1657–1681, 3rd Quart., 2017.
ering the discussed tradeoff in experiment-4 and the impatient [6] OpenFogConsortium. (2017). OpenFog Reference Architecture
for Fog Computing. Accessed: Feb. 2017. [Online]. Available:
provisioning issue. https://www.openfogconsortium.org/ra/
One way to address impatient provisioning is to choose a [7] M. Iorga et al., “Fog computing conceptual model,” document NIST
greater value for reconfiguration interval length and consider SP 500-325, NIST, Gaithersburg, MD, USA, 2018.
[8] E. Saurez, K. Hong, D. Lillethun, U. Ramachandran, and B. Ottenwälder,
the average of the traffic in those durations as the input traf- “Incremental deployment and migration of geo-distributed situation
fic to the algorithms. Another method would be using online awareness applications in the fog,” in Proc. 10th ACM Int. Conf. Distrib.
learning algorithms, such as follow the regularized leader [55] Event Based Syst., 2016, pp. 258–269.
[9] K. C. Okafor, I. E. Achumba, G. A. Chukwudebe, and
for traffic prediction. If the traffic is predicted beforehand, G. C. Ononiwu, “Leveraging fog computing for scalable IoT
peaks and drops could be predicted and the decision to run the datacenter using spine-leaf network topology,” J. Elect. Comput.
greedy algorithms can be made more intelligently. To improve Eng., vol. 2017, Apr. 2017, Art. no. 2363240. [Online]. Available:
https://www.hindawi.com/journals/jece/2017/2363240/cta/
F OG P LAN, we plan to incorporate learning methods for traffic [10] Azure IoT Edge. Accessed: Feb. 8, 2019. [Online]. Available:
prediction in our future work. https://azure.microsoft.com/services/iot-edge

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
YOUSEFPOUR et al.: FOGPLAN 5095

[11] Google Cloud IoT Edge. Accessed: Feb. 8, 2019. [Online]. Available: [37] A. Davies, Cisco Pushes IoT Analytics to the Extreme Edge
https://cloud.google.com/iot-edge With Mist Computing, Rethink Res., Bristol, U.K., Dec. 2014.
[12] Amazon AWS Greengrass. Accessed: Feb. 8, 2019. [Online]. Available: [Online]. Available: http://rethinkresearch.biz/articles/cisco-pushes-
https://aws.amazon.com/greengrass iot-analytics-extreme-edge-mist-computing-2
[13] S. Abdelwahab and B. Hamdaoui, “Flocking virtual machines in quest [38] G. Faraci and G. Schembra, “An analytical model to design and man-
for responsive IoT cloud services,” in Proc. IEEE Int. Conf. Commun. age a green SDN/NFV CPE node,” IEEE Trans. Netw. Service Manag.,
(ICC), 2017, pp. 1–6. vol. 12, no. 3, pp. 435–450, Sep. 2015.
[14] W. Zhang, Y. Hu, Y. Zhang, and D. Raychaudhuri, “SEGUE: Quality of [39] A. Yousefpour, G. Ishigaki, R. Gour, and J. P. Jue, “On reducing IoT
service aware edge cloud service migration,” in Proc. IEEE Int. Conf. service delay via fog offloading,” IEEE Internet Things J., vol. 5, no. 2,
Cloud Comput. Technol. Sci. (CloudCom), 2016, pp. 344–351. pp. 998–1010, Apr. 2018.
[15] L. Ma, S. Yi, N. Carter, and Q. Li, “Efficient live migration of edge [40] C. Anglano, M. Canonico, and M. Guazzone, “Profit-aware resource
services leveraging container layered storage,” IEEE Trans. Mobile management for edge computing systems,” in Proc. 1st Int. Workshop
Comput., to be published. Edge Syst. Anal. Netw., 2018, pp. 25–30.
[16] C. Clark et al., “Live migration of virtual machines,” in Proc. NSDI, [41] D. Kim, H. Lee, H. Song, N. Choi, and Y. Yi, “On the economics of
2005, pp. 273–286. fog computing: Inter-play among infrastructure and service providers,
[17] F. Zhang, “Challenges and new solutions for live migration of virtual users, and edge resource owners,” in Proc. IEEE Int. Conf. Commun.
machines in cloud computing environments,” Ph.D. dissertation, Dept. (ICC), 2018, pp. 1–6.
Comput. Sci., Georg-August-Univ., Göttingen, Göttingen, Germany, [42] J. Suárez-Varela and P. Barlet-Ros, “SBAR: SDN flow-based monitoring
2018. and application recognition,” in Proc. Symp. SDN Res., 2018, p. 22.
[18] K. Ha et al., “You can teach elephants to dance: Agile VM handoff for [43] D.-H. Luong, A. Outtagarts, and A. Hebbar, “Traffic monitoring in soft-
edge computing,” in Proc. 2nd ACM/IEEE Symp. Edge Comput., 2017, ware defined networks using opendaylight controller,” in Proc. Int. Conf.
p. 12. Mobile Secure Programm. Netw., 2016, pp. 38–48.
[19] A. Machen, S. Wang, K. K. Leung, B. J. Ko, and T. Salonidis, “Live ser- [44] Deploy Azure Functions as IoT Edge Modules. Accessed: Feb. 9, 2019.
vice migration in mobile edge clouds,” IEEE Wireless Commun., vol. 25, [Online]. Available: https://docs.microsoft.com/azure/iot-edge/tutorial-
no. 1, pp. 140–147, Feb. 2018. deploy-function
[20] L. Chaufournier et al., “Fast transparent virtual machine migration in [45] S. H. Mortazavi, M. Salehe, C. S. Gomes, C. Phillips, and E. de Lara,
distributed edge clouds,” in Proc. 2nd ACM/IEEE Symp. Edge Comput., “Cloudpath: A multi-tier cloud computing framework,” in Proc. 2nd
2017, p. 10. ACM/IEEE Symp. Edge Comput., 2017, p. 20.
[21] M. Körner, T. M. Runge, A. Panda, S. Ratnasamy, and S. Shenker, [46] K. Kaur, T. Dhand, N. Kumar, and S. Zeadally, “Container-as-a-service
“Open carrier interface: An open source edge computing framework,” at the edge: Trade-off between energy efficiency and service availabil-
in Proc. Workshop Netw. Emerg. Appl. Technol., 2018, pp. 27–32. ity at fog nano data centers,” IEEE Wireless Commun., vol. 24, no. 3,
[22] S. Yangui et al., “A platform as-a-service for hybrid cloud/fog envi- pp. 48–56, Jun. 2017.
ronments,” in Proc. IEEE Int. Symp. Local Metropolitan Area Netw. [47] M. Jia, J. Cao, and W. Liang, “Optimal cloudlet placement and user to
(LANMAN), 2016, pp. 1–7. cloudlet allocation in wireless metropolitan area networks,” IEEE Trans.
[23] C. Chang, S. N. Srirama, and R. Buyya, “Indie fog: An efficient fog- Cloud Comput., vol. 5, no. 4, pp. 725–737, Oct./Dec. 2017.
computing infrastructure for the Internet of Things,” Computer, vol. 50, [48] Z. Zhou, J. Feng, L. Tan, Y. He, and J. Gong, “An air-ground integration
no. 9, pp. 92–98, 2017. approach for mobile edge computing in IoT,” IEEE Commun. Mag.,
[24] N. Wang, B. Varghese, M. Matthaiou, and D. S. Nikolopoulos, vol. 56, no. 8, pp. 40–47, Aug. 2018.
“ENORM: A framework for edge node resource management,” IEEE [49] L. Liu, X. Guo, Z. Chang, and T. Ristaniemi, “Joint optimization
Trans. Services Comput., to be published. of energy and delay for computation offloading in cloudlet-assisted
[25] A. Lertsinsrubtavee et al., “Information-centric multi-access edge com- mobile cloud computing,” Wireless Netw., pp. 1–14, Jul. 2018.
puting platform for community mesh networks,” in Proc. 1st ACM [Online]. Available: https://link.springer.com/article/10.1007/s11276-
SIGCAS Conf. Comput. Sustain. Soc., 2018, p. 19. 018-1794-0#citeas
[26] J. Xu, B. Palanisamy, H. Ludwig, and Q. Wang, “Zenith: Utility-aware [50] G. Bolch, S. Greiner, H. De Meer, and K. S. Trivedi, Queueing
resource allocation for edge computing,” in Proc. IEEE Int. Conf. Edge Networks and Markov Chains: Modeling and Performance Evaluation
Comput. (EDGE), 2017, pp. 47–54. With Computer Science Applications. Hoboken, NJ, USA: Wiley, 2006.
[27] W. Zhang, J. Chen, Y. Zhang, and D. Raychaudhuri, “Towards effi- [51] WIDE MAWI Working Group Traffic Archive. Accessed: Feb. 8, 2019.
cient edge cloud augmentation for virtual reality MMOGs,” in Proc. 2nd [Online]. Available: http://mawi.wide.ad.jp
ACM/IEEE Symp. Edge Comput., 2017, p. 8. [52] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, and
[28] B. Ottenwälder, B. Koldehofe, K. Rothermel, and U. Ramachandran, M. Ayyash, “Internet of Things: A survey on enabling technologies, pro-
“MigCEP: Operator migration for mobility driven distributed complex tocols, and applications,” IEEE Commun. Surveys Tuts., vol. 17, no. 4,
event processing,” in Proc. 7th ACM Int. Conf. Distrib. Event Based pp. 2347–2376, 4th Quart., 2015.
Syst., 2013, pp. 183–194. [53] A. Kapsalis, P. Kasnesis, I. S. Venieris, D. I. Kaklamani, and
[29] H.-J. Hong, P.-H. Tsai, and C.-H. Hsu, “Dynamic module deployment in C. Z. Patrikakis, “A cooperative fog approach for effective workload bal-
a fog computing platform,” in Proc. 18th Asia–Pac. Netw. Oper. Manag. ancing,” IEEE Cloud Comput., vol. 4, no. 2, pp. 36–45, Mar./Apr. 2017.
Symp. (APNOMS), 2016, pp. 1–6. [54] K. Ha et al., “The impact of mobile multimedia applications on data
[30] I.-H. Hou, T. Zhao, S. Wang, and K. Chan, “Asymptotically optimal center consolidation,” in Proc. IEEE Int. Conf. Cloud Eng. (IC2E), 2013,
algorithm for online reconfiguration of edge-clouds,” in Proc. 17th ACM pp. 166–176.
Int. Symp. Mobile Ad Hoc Netw. Comput., 2016, pp. 291–300. [55] H. B. McMahan, “Follow-the-regularized-leader and mirror descent:
[31] L. Yang, J. Cao, G. Liang, and X. Han, “Cost aware service placement Equivalence theorems and L1 regularization,” in Proc. 14th Int. Conf.
and load dispatching in mobile cloud systems,” IEEE Trans. Comput., Artif. Intell. Stat. (AISTATS), 2011, pp. 525–533.
vol. 65, no. 5, pp. 1440–1452, May 2016.
[32] S. Wang et al., “Dynamic service placement for mobile micro-clouds
with predicted future costs,” IEEE Trans. Parallel Distrib. Syst., vol. 28,
no. 4, pp. 1002–1016, Apr. 2017.
[33] Q. Zhang, Q. Zhu, M. F. Zhani, R. Boutaba, and J. L. Hellerstein,
“Dynamic service placement in geographically distributed clouds,” IEEE Ashkan Yousefpour (S’12–GS’13) received the
J. Sel. Areas Commun., vol. 31, no. 12, pp. 762–772, Dec. 2013. B.S. degree in computer engineering from the
[34] M. Yu, Y. Yi, J. Rexford, and M. Chiang, “Rethinking virtual network Amirkabir University of Technology, Tehran, Iran,
embedding: Substrate support for path splitting and migration,” ACM in 2013, and the M.S. degree in computer science
SIGCOMM Comput. Commun. Rev., vol. 38, no. 2, pp. 17–29, 2008. from the University of Texas at Dallas, Richardson,
[35] O. Skarlat, M. Nardelli, S. Schulte, M. Borkowski, and P. Leitner, TX, USA, in 2016, where he is currently pursu-
“Optimized IoT service placement in the fog,” Service Orient. Comput. ing the Ph.D. degree at the Erik Jonsson School of
Appl., vol. 11, no. 4, pp. 427–443, 2017. Engineering and Computer Science.
[36] E. Yigitoglu, M. Mohamed, L. Liu, and H. Ludwig, “Foggy: A frame- He is a Visiting Researcher with the University of
work for continuous automated IoT application deployment in fog California at Berkeley, Berkeley, CA, USA. His cur-
computing,” in Proc. IEEE Int. Conf. AI Mobile Services (AIMS), 2017, rent research interests include fog computing, cloud
pp. 38–45. computing, deep learning, Internet of Things, and security.

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.
5096 IEEE INTERNET OF THINGS JOURNAL, VOL. 6, NO. 3, JUNE 2019

Ashish Patil received the B.E. degree in information Hakki C. Cankaya (M’94) is currently a Solutions
science from the PES Institute of Technology, Architect with Fujitsu Network Communications
Bengaluru, India, in 2017, and the master’s degree Inc., Richardson, TX, USA, where he is responsible
from the Erik Jonsson School of Engineering and for developing advanced networking solutions for a
Computer Science, University of Texas at Dallas, wide variety of Fujitsu customers. He was in vari-
Richardson, TX, USA. ous senior research engineering positions with Bell
His current research interests include computer Laboratories, Murray Hill, NJ, USA, and Alcatel-
networks, fog computing, cloud computing, and Lucent, Boulogne-Billancourt, France. He is also an
security. Adjunct Professor of computer science and electri-
cal engineering with Southern Methodist University,
Dallas, TX, USA.
Mr. Cankaya was a member of the Alcatel-Lucent Technical Academy for
several years.

Genya Ishigaki (GS’14) received the B.S. and M.S.


degrees in engineering from Soka University, Tokyo,
Japan, in 2014 and 2016, respectively. He is cur-
rently pursuing the Ph.D. degree in computer science
at the Advanced Networks Research Laboratory, Qiong Zhang (S’03–M’04) received the B.S.
University of Texas at Dallas, Richardson, TX, degree in computer science from Hunan University,
USA. Changsha, China, in 1998, and the M.S. and Ph.D.
His current research interests include design and degrees from the University of Texas at Dallas,
recovery problems of interdependent networks, and Richardson, TX, USA, in 2000 and 2005, respec-
software defined networking. tively.
She was an Assistant Professor with the
Department of Mathematical Sciences and Applied
Computing, Arizona State University, Tempe, AZ,
USA. She joined the Fujitsu Laboratories of
America, Richardson, TX, USA, in 2008. Her cur-
rent research interests include optical networks, network design and modeling,
network control and management, and distributed/cloud computing.
Inwoong Kim (M’08) received the M.S. degree Dr. Zhang was a recipient of the Best Paper Award of IEEE GLOBECOM
in physics from KAIST, Daejeon, South Korea, in 2005, ONDM 2010, IEEE ICC 2011, and IEEE NetSoft 2016 for her
1993, and the Ph.D. degree in optical engineering co-authored paper.
from the College of Optics and Photonics, University
of Central Florida, Orlando, FL, USA, in 2006.
He has been a Research Staff Member with the
Fujitsu Laboratories of America, Richardson, TX,
USA, since 2007. He was a Post-Doctoral Fellow
with CREOL, Orlando, FL, USA. He was with
the Korea Institute of Machinery and Materials,
Weisheng Xie (GS’12–M’14) received the B.Eng.
Daejeon, from 1993 to 1998. He joined the Ultra-
degree in information engineering from the Beijing
Short Pulse Laser Laboratory, KAIST, as a Researcher in 1998. His current
University of Posts and Telecommunications,
research interest includes optical networks and communications.
Beijing, China, in 2010, and the M.S. and Ph.D.
degrees in telecommunications engineering from
the University of Texas at Dallas, Richardson, TX,
USA, in 2013 and 2014, respectively.
He is currently a Product Planner with Fujitsu
Network Communications Inc., Richardson, TX,
USA. His current research interests include optical
network design and modeling, software defined
networking, and network virtualization.

Xi Wang (A’08–M’12) received the B.S. degree


in electronic engineering from Doshisha University,
Kyoto, Japan, in 1998, and the M.E. and Ph.D.
degrees in information and communication engineer-
ing from the University of Tokyo, Tokyo, Japan, in Jason P. Jue (M’99–SM’04) received the B.S.
2000 and 2003, respectively. degree in electrical engineering and computer sci-
He was a Visiting Post-Doctoral Research ence from the University of California at Berkeley,
Associate with the University of Illinois at Chicago, Berkeley, CA, USA, in 1990, the M.S. degree
Chicago, IL, USA, from 2005 to 2007, where he in electrical engineering from the University of
was engaged in research on innovative photonic California at Los Angeles, CA, USA, in 1991, and
networking technologies contributing to the design the Ph.D. degree in computer engineering from the
of a global optical infrastructure for eScience applications. He is a Senior University of California at Davis, Davis, CA, USA,
Researcher with the Fujitsu Laboratories of America, Richardson, TX, USA. in 1999.
His current research interests include architecture design, control and man- He is currently a Professor with the Department
agement of software defined networking, packet optical networks, vehicular of Computer Science, University of Texas at Dallas,
networks, network programming, optical/wireless network integration, and Richardson, TX, USA. His current research interests include optical networks
future ICT fusion. and network survivability.

Authorized licensed use limited to: Istinye Universitesi. Downloaded on March 28,2023 at 23:11:28 UTC from IEEE Xplore. Restrictions apply.

You might also like