Translating a Scholarly Article in Your Field of Study for a Public Audience

profileLiza Julie 89
Checkthis.pdf

Computer Networks 130 (2018) 94–120

Contents lists available at ScienceDirect

Computer Networks

journal homepage: www.elsevier.com/locate/comnet

Potentials, trends, and prospects in edge technologies: Fog, cloudlet,

mobile edge, and micro data centers

Kashif Bilal a , b , ∗, Osman Khalid b , Aiman Erbad a , Samee U. Khan c

a Qatar University, Doha, Qatar b COMSATS Institute of Information Technology, Pakistan c North Dakota State University, USA

a r t i c l e i n f o

Article history:

Received 21 April 2017

Revised 26 September 2017

Accepted 9 October 2017

Available online 18 October 2017

Keywords:

Edge computing

Fog computing

Internet of Things

a b s t r a c t

Advancements in smart devices, wearable gadgets, sensors, and communication paradigm have enabled

the vision of smart cities, pervasive healthcare, augmented reality and interactive multimedia, Internet of

Every Thing (IoE), and cognitive assistance, to name a few. All of these visions have one thing in com-

mon, i.e., delay sensitivity and instant response. Various new technologies designed to work at the edge

of the network, such as fog computing, cloudlets, mobile edge computing, and micro data centers have

emerged in the near past. We use the name “edge computing” for this set of emerging technologies . Edge

computing is a promising paradigm to offer the required computation and storage resources with mini-

mal delays because of “being near” to the users or terminal devices. Edge computing aims to bring cloud

resources and services at the edge of the network, as a middle layer between end user and cloud data

centers, to offer prompt service response with minimal delay. Two major aims of edge computing can

be denoted as: (a) minimize response delay by servicing the users’ request at the network edge instead

of servicing it at far located cloud data centers, and (b) minimize downward and upward traffic volumes

in the network core. Minimization of network core traffic inherently brings energy efficiency and data

cost reductions. Downward network traffic can be minimized by servicing set of users at network edge

instead of service provider’s data centers (e.g., multimedia and shared data) Content Delivery Networks

(CDNs), and upward traffic can be minimized by processing and filtering raw data (e.g., sensors moni-

tored data) and uploading the processed information to cloud. This survey presents a detailed overview

of potentials, trends, and challenges of edge computing. The survey illustrates a list of most significant

applications and potentials in the area of edge computing. State of the art literature on edge computing

domain is included in the survey to guide readers towards the current trends and future opportunities in

the area of edge computing.

© 2017 Published by Elsevier B.V.

a

i

r

c

t

t

c

m

s

f

1. Introduction

Cloud computing brought a technological revolution and

paradigm shift in the Information and Communication Technol-

ogy (ICT) sector in the last decade. Cloud computing experienced

a massive adoption in almost every domain of human life [1–4] .

Data centers, the backbone and underlying resource architecture

of cloud computing are constantly growing in size and number to

meet the increasing resource demands [2] . Technological advances

in personal gadgets and wearable computing are enabling a new

stream of real-time and pervasive applications, such as cognitive

∗ Corresponding author at: Qatar University, Computer Science and Engineering, Doha, Qatar.

E-mail addresses: [email protected] (K. Bilal), [email protected] (O. Khalid),

[email protected] (A. Erbad), [email protected] (S.U. Khan).

l

t

w

s

p

https://doi.org/10.1016/j.comnet.2017.10.002

1389-1286/© 2017 Published by Elsevier B.V.

ssistance, augmented reality, traffic monitoring, vehicular track-

ng, and interactive video streaming [5] . Such applications demand

eal-time response, which is one of the major constraints in the

loud paradigm because of the delays from distant cloud data cen-

ers. As indicated in Fig. 1 , a user’s request to the cloud has to

raverse multiple hops before reaching the cloud servers, thus in-

reasing the response time.

The proliferation of mobile devices, which are predicted to be

ore than 50 billion devices by the year 2020, will produce mas-

ive amounts of data [6] . Moreover, the ever increasing data rates

rom the Internet of Things (IoT) devices will impose further chal-

enges on the cloud computing infrastructure. IoT is an emerging

echnology that extends Internet connection to devices embedded

ith sensors, actuators, and RFID tags [7] . IoT devices collect sen-

ory data from the surrounding environment with a requirement to

rovide scalable infrastructure to communicate, process, and store

K. Bilal et al. / Computer Networks 130 (2018) 94–120 95

Fig. 1. Multiple hops between end user/devices and cloud data centers result in

delayed response.

t

t

fl

C

w

l

I

f

c

d

r

a

i

i

r

i

p

d

v

d

r

u

e

s

e

t

d

t

c

g

D

e

t

a

u

[

e

p

i

S

d

o

a

c

p

d

e

v

c

S

e

e

C

(

C

n

e

v

p

g

fi

s

p

2

a

t

s

s

m

s

d

I

o

a

c

c

d

t

t

a

s

a

t

t

m

s

a

o

i

i

e

g

p

p

i

he data [8,9] . The number of such devices will reach billions in

he coming years, with a large number of sensors monitoring and

ooding the network with dynamic real-time data. According to

isco Global Cloud Index [10] , by the year 2019, 500 ZB of data

ill be produced by people, machines, and things, and 2.3 tril-

ion GBs of data will be produced every day in the year 2020 [11] .

oT platforms demand low latency communication, need support

or high degree of mobility, and real-time data analytics. Although

loud computing provides many benefits, the latency sensitive and

ata intensive IoT applications appear to be a challenge for cur-

ent cloud computing system. The needs for real-time response

nd ever increasing data demands novel solutions. Edge comput-

ng (fogs, cloudlets, micro datacenters, and mobile edge comput-

ng) is emerging as a viable solution to these challenges, offering

eal-time response and near to end cloud services. Edge comput-

ng augments cloud computing by bringing networking and com-

utational resources on edge devices near to the end user. An edge

evice can be a router, gateway, switch, or a base station, that pro-

ides an entry point into the service provider’s core network. Edge

evices are proposed to have sufficient computational and storage

esources to meet real-time and resource intensive demands of end

ser. Generally, the edge computing platform comprises of a het-

rogeneous infrastructure of access points, switches, edge routers,

ervers, and end user devices. Compared to cloud computing, the

dge provides low latency and reduced data traffic, as the applica-

ions are localized to the region where the edge is deployed.

We use the term “Edge Computing Technologies” to encompass

ifferent emerging technologies situated at the edge of the network

o provide computational and storage resources to deliver real-time

ommunication with minimum latency . Examples of such technolo-

ies include Fog computing, Mobile Edge Computing (MEC), Micro

ata Centers (MDC), Cloudlet, and related technologies. The term

dge computing or edge technologies used in this article refers to

he set of these emerging technologies. Fog computing represents

platform that brings cloud computing to the proximity of end

sers [12,13] . The term Fog computing was coined initially by Cisco

13,14] . The main focus of fog computing is to equip the network

dge and network devices with virtualized services, in terms of

rocessing and storage along with offering network services. MEC

s the edge technology initiated by European Telecommunications

tandards Institute (ETSI) [15,16] . The major focus of MEC is Ra-

io Access Networks (RANs) in 4G and 5G cellular networks. MEC

ffers edge computing by proposing a collocation of computation

nd processing resources at base stations. MDCs, initiated by Mi-

rosoft are small scaled version of data centers to extend the hy-

erspace cloud data centers [17,18] . MDCs aim to provide small size

ata centers extending the offered services of the cloud near to the

nd users. Concept of cloudlet, initiated by Carnegie Mellon Uni-

ersity (CMU) is similar to MDC, as small scaled virtualized data

enter to serve users near the edge in a distributed fashion [19,20] .

ome similar terms, such as Nano-data centers are also used in lit-

rature for similar concepts and objects [21,51] .

Different edge technologies are defined independently; how-

ver, these technologies can cooperate and work together [12] .

onsidering the futuristic aspects of the Internet of Everything

IoE) [143] and recent trends in technology cooperation, such as

ontent Distribution Network Interconnection [22] and Heteroge-

eous Networks (HetNets) [144] , it can be foreseen that various

dge technologies will work in cooperation to support the overall

ision of the IoE. Edge computing enables a large number of ap-

lications including vehicular communications, smart cities, smart

rid, wireless sensor networks embedded with actuators, road traf-

c monitoring, pipe line monitoring, wind farms, smart traffic light

ystem, railway monitoring, industrial control systems, and the ap-

lications in oil and gas explorations. IDC reported that by the year

019, 45% of the data generated by IoT will be processed, stored,

nd analyzed on the edge [8] . Fig. 2 shows the some of the poten-

ial application areas of IoT and edge computing.

Edge computing technologies are in their infancy, with no

tandardized definitions, architectures, and protocols. Various re-

earchers define edge technologies from their own perspective and

odels, which is expected for non-standardized technologies. A

imilar trend was observed in cloud computing as well before stan-

ardization of an official definition of cloud computing by National

nstitute of Science and Technology (NIST) in 2011 [23] . The lack

f a standard definition leads to misconceptions in the relation

mong edge technologies, IoT, and cloud. Examples of such miscon-

eption mentioned in the literature, where authors claim that edge

omputing technologies will “move” or “replace” cloud with fog or

ecentralize the cloud paradigm to edges. For instance, [24] men-

ions that “Cloud is migrating to the edge of the network and the

raditional Cloud Computing paradigm is not enough for the stor-

ge of Big Data produced by IoT”. It needs to be clearly under-

tood that edge computing technologies should not be considered

s a substitute of cloud paradigm, rather, as shown in Fig. 3 , these

echnologies will complement cloud and extend cloud services to

he edges, so that the needs of applications with real-time require-

ents are satisfied [25] . For the big data analytics, and lengthy, re-

ource intensive batch jobs, the cloud is a must. Similarly, there is

lso a confusion in understanding and perceiving the architecture

f edge technologies, for instance, some authors treat fog comput-

ng as micro datacenters [26,27] , while others focus mainly on the

dea of strengthening and equipping networking components with

xtra processing and storage capabilities [25] .

In this survey, we discuss various edge computing technolo-

ies, their potentials, applications, and challenges. Specifically, we

rovide a list of some potential areas in the field of edge com-

uting (please see Fig. 4 for the taxonomy and topics discussed

n this survey). The state of the art in various edge computing

96 K. Bilal et al. / Computer Networks 130 (2018) 94–120

Fig. 2. Potential application areas of edge computing.

Fig. 3. The applications designed for traditional cloud computing have usually less frequent data transfer to cloud and can afford some slow response. However, the edge

specific applications have more frequent interactions with edge servers and require a quicker response.

K. Bilal et al. / Computer Networks 130 (2018) 94–120 97

Fig. 4. Edge computing potentials, applications, and challenges.

t

h

L

i

e

[

t

a

[

c

d

[

c

fi

b

c

s

e

t

t

e

(

f

o

p

t

h

t

t

s

c

m

echnologies are also discussed in the article. Some of the authors

ave presented various aspects of edge computing in the literature.

uan et al. [28] highlighted main features of fog computing includ-

ng its concept, architecture, and design goals. However, the other

dge technologies are not covered. In a similar study, Bonomi et al.

13] outlined key characteristics of fog computing and discussed

he role of fog computing in the IoT. Some basic applications

re also discussed in the survey. A report on edge technologies

16] discussed and briefly compared the three technologies of edge

omputing: mobile edge, cloudlets, and fog computing, with no

iscussion on potential areas and applications. Stojmenovic et al.

29] discussed motivation and advantages of fog computing, and

onsidered only these application areas: smart grid, smart traf-

c lights, and software defined networks. Yi et al. [30] discussed

asic definition of fog computing and similar concepts and dis-

ussed various application scenarios. However, in [30] the discus-

ion on existing techniques on edge computing is missing. Bonomi

t al. [13] presented a discussion on fog computing in the con-

ext of IoT. Ahmed and Ahmed [31] and Beck et al. [15] discussed

he taxonomy and key attributes of mobile edge computing. Azam

t al. presented an article focusing on IoT and Cloud of Things

CoTs) [32] . The authors presented some of the potentials of the

og computing specifically considering the CoTs, i.e., amalgamation

f IoTs and cloud computing. The authors presented various as-

ects of fog in consideration of edge computing as middleware

o cloud, without presenting in-depth details. Dastderji and Buyya

ighlighted the potentials of fog computing for IoTs [33] . The au-

hors briefly presented how fog computing may impact IoT sys-

ems to work better in a real-time environment and how it can

ave unnecessary transit traffic. The authors presented generic fog

omputing architecture and fog based distributed data processing

odels, and discussed various components involved in the model.

98 K. Bilal et al. / Computer Networks 130 (2018) 94–120

v

t

s

w

H

s

a

i

C

a

f

i

[

fl

o

fl

i

p

s

m

i

p

r

w

n

r

s

P

t

t

t

i

a

h

t

s

n

t

p

d

w

i

w

s

w

w

E

a

r

Q

e

A

v

2

c

t

c

i

s

l

l

o

o

t

Yi et al. presented an overview of various concepts, applications,

and issues in fog computing [30] . The authors in [34] discussed

motivational scenarios of fog computing and provided some sim-

ulation results. Shi et al. [7] have discussed a few case studies of

edge computing along with challenges and opportunities. Varghese

et al. [35] presented a limited discussion on motivation, challenges,

and opportunities of edge computing, without discussing the other

edge technologies.

Most of the above mentioned surveys discussed various charac-

teristics and applications of edge computing technologies in lim-

ited and isolated way. However, detailed study on various edge

computing technologies, their potentials, applications, challenges,

and the state of art, still needs to be addressed. Our survey at-

tempts to address deficiencies in the existing surveys and pro-

vides a focused study on various edge computing technologies,

their challenges, potentials and applications. To the best of our

knowledge this is the first survey that provides in-depth details

pertaining to edge computing and its various trends and poten-

tial areas. Moreover, this survey also presents state of the art in

edge computing, which is missing in most of the existing sur-

veys. Specifically, our contributions in this survey are as follows. In

Section 2 , we present an introduction of edge computing technolo-

gies and some motivational scenarios, followed by details of vari-

ous edge computing technologies, i.e., Fog, Cloudlets, MDCs, and

MECs. Section 3 presents a detailed study on the edge comput-

ing potential and most recent works in those areas and applica-

tions. Moreover, a detailed explanation on edge computing archi-

tectures, implementations, and evaluation mechanisms is provided.

Section 4 highlights the open research challenges in the edge com-

puting technologies, followed by conclusions in Section 5 .

2. Edge computing technologies

The edge computing is based on the idea of placing small

servers called edge servers or resource rich networking devices in

the vicinity of end users/devices (see Fig. 5 ). In this way, some of

the computational and data storage load is transferred from cloud

platform to the edge servers. The end users’ devices usually con-

sist of wireless sensor networks, smart phones, wearable gadgets,

and various IoT devices that require real-time response. Deploy-

ing computation and storage resources at the edge of the network

can enable a large number of applications that require real-time

response. A few examples of such applications include, but not

limited to: (a) traffic monitoring and navigation, that involves traf-

fic reporting and computation of routes for a specific region near

to the edge, (b) data filtering and aggregation, that performs pre-

filtering of content and data at edge before sending it to cloud to

reduce the data volume, and (c) augmented reality, real-time in-

teractive video streaming, and health monitoring systems that can

produce fast responses using edge nodes, thereby improving user

experience for time-sensitive applications. In this section, first we

discuss some motivational use cases and scenarios indicating why

we should use edge computing in addition to cloud. Later, we ex-

plain various technologies within the domain of the edge comput-

ing.

2.1. Edge computing motivation

2.1.1. Reduced traffic load

The traditional User-Internet interaction model involves short

requests from user to Internet services and receiving response.

Some of the requested services, e.g., file downloading and specif-

ically, Video on Demand (VoD) or live video streaming are com-

prised of very small data requests from user to the Service Provider

(SP), and large volume of data flowing from SP to users. Consid-

ering the gigantic amount of data flowing from Internet to users,

arious solutions have been employed, such as CDN and caching

o minimize the data and delay from SP to user [145] . For in-

tance, cacheable contents are cached at ISP caches or CDN net-

orks to minimize transit network data flow and delay [146–148] .

owever, the advent of new technologies, gadget proliferations,

mart environments, and IoE are changing the data flow paradigm

nd patterns. Futuristic vision of smart and pervasive environments

s foreseen to transmit massive volumes of data to the Internet.

onsider live streaming, specifically crowd-sourced live streaming

s an example, significant amount of data per second now flows

rom the users to SP and then disseminated globally from var-

ous SPs, such as Twitch (a crowd-sourced live gaming system)

149] , YouTube Live [150] , Periscope [151] , and YouNow [152] . Net-

ix hosts a huge collection of entertainment video content. If 10%

f 8 million people in New York want to stream movies from Net-

ix at the same time, it would require an infrastructure capac-

ty of 1.6 Tera bits per second (Tbps) to handle all requests in

arallel [36] . Despite remarkable improvements in bandwidth and

erver- side processing, the networks may still suffer in perfor-

ance with huge viewership spikes. For instance, in a recent box-

ng match held in Las Vegas, USA, the live video streaming pay-

er-view servers crashed and network got congested due to sudden

ise in viewership [156] . If CDNs are not deployed within the net-

orks, then the centrally hosted content must travel through many

etworks to reach the end users. In the futuristic scenario, cur-

ent CDN based content delivery model is expensive, because, data

till has to travel many hops between CDN and Internet Service

rovider (ISP), before reaching to viewers’. For instance, consider

he scenario of European football tournament final match, where

he Akamai network served 3.3 million video streams concurrently

o viewers, experiencing a peak load of 7.3 Tbps [142] . If multicast

s not enabled, which is the general case because of configuration

nd security issues, then 5.7 Tbps data passing through multiple

ops between CDN and ISP results in significant energy consump-

ions and network cost and management. Moreover, CDNs are pas-

ive storage designs, hosting large volumes of data, with generally

o or very limited processing capabilities. On the fly transcoding of

he videos are not available in the current CDN designs. Edge com-

uting technologies offer a feasible solution in terms of very small

elay and data filtration to fulfill the futuristic IoT, IoE, and smart

orld visions. If edge locations are used as data delivery and shar-

ng points, huge volumes of transit data between CDNs and net-

ork edge can be saved [169] . Caching at the mobile edge (base

tations/eNodeBs) may save considerable amount of backhaul net-

ork traffic. It has been shown that caching at the edge of the net-

ork considerably reduce access latency and network traffic [170] .

dge locations can perform on the fly video transcoding to cre-

te required video representation versions, minimizing the storage

equirements, minimizing access delays, and maximizing viewers’

oE. Moreover, edge technologies may host dedicated services at

dge to provide real-time response and data filtration. For instance,

kamai network have deployed edge computing networks to pro-

ide distributed execution of Java applications [37] .

.1.2. Minimizing the latency

The inherent cloud computing delays are challenging for appli-

ations that require real-time response, e.g., intelligent transporta-

ion systems, games, live streaming applications, and other safety

ritical applications, where such delays are intolerable. It is studied

n [41] that for real-time visual guiding services, the preferred re-

ponse time is between 25 ms to 50 ms. Moreover, high processing

oad imposed on cloud’s central servers may cause scalability prob-

ems for the compute intensive applications and increase network

verhead, resulting in slow response time and excessive utilization

f the Internet bandwidth [42] . Inter-network data transfer leads

o increased latency and congestion. Generally, Internet comprises

K. Bilal et al. / Computer Networks 130 (2018) 94–120 99

Fig. 5. Edge computing architecture.

Table 1

Effect of distance on round trip time (RTT), packet loss, throughput, and down time [37] .

Distance (Server to user) Network round trip time Packet loss Throughput 4 GB download time

Local: < 100 miles 1.6 ms 0.6% 44 Mbps 12 min

Regional: 50 0–10 0 miles 16 ms 0.7% 4 Mbps 2.2 h

Cross-continent ∼ 30 0 0 miles 48 ms 1.0% 1 Mbps 8.2 h Multi-continent ∼ 60 0 0 miles 96 ms 1.4% 0.4 Mbps 20 h

o

a

a

t

9

e

p

t

b

r

i

t

r

f

4

b

I

i

a

f

f

c

t

s

m

t

t

2

o

s

t

i

t

d

s

i

t

r

t

s

c

s

a

e

l

2

w

f thousands of interlinked networks, with each network providing

ccess to a small percentage of end users. Even largest networks

re usually accessed by only about 5% users [37] . As per statis-

ics collected by Akamai, over 650 networks participate in reaching

0% of all access traffic [37] . A request to/from cloud may take sev-

ral milliseconds to seconds to travel from client to cloud service

rovider [38] . Even a slight delay in a user’s request may lead to

he loss of subscribers and revenue. For instance, it was reported

y Bing that a reduction of −1.8% in queries per user and −4.3% in evenue per user was observed due to queries slowing down by an

nterval of just 2 s [39] . A survey conducted by Forester concluded

hat majority of the online shoppers have suggested the website

esponse time as a primary factor in giving their customer satis-

action feedback [37] . The survey also found out that more than

0% of the customers can only wait for 3 s for a page to load

efore leaving the website [37] . In another survey conducted by

DC, it was reported that improvement in performance and reliabil-

ty of Akamai’s enterprise application acceleration services yielded

n annual increase from 0.$2 million to $3 million [40] . There-

ore, content deployment at local ISPs (network edge) is critical

or areas with low connectivity and high response time [37] . Re-

ently, increasing number of ISPs have opened their edge services

o other providers and subscribers, and offer various edge-based

olutions, such as cloudlets, network functions virtualizations, and

obile edge computing. Table 1 shows that edge provides low la-

a

ency and reduced data traffic, as the applications are localized to

he region where the edge is deployed.

.1.3. Reduced load on cloud

With the increase in location aware services, huge volumes

f data is generated by end user devices on daily basis. For in-

tance, the location-based service Foursquare has 60 million regis-

ered users [43] and it receives on the average, > 5 million check-

ns per day [44] . Similarly, several sports activity logging applica-

ions, such as Nike + [45] , Runtastic [46] , Runkeeper [47] , and En- omondo [48] are becoming popular. These applications run on

martphones and log daily activities of users with the help of var-

ous sensors, e.g., accelerometers, GPS, gyroscope, and tempera-

ure sensors, typically installed on smartphones. Mostly, the data

ecorded by the applications is sent to the cloud in the form of

uples, where each tuple contain several pieces of information,

uch as user id, longitude, latitude, time, distance, speed, duration,

alories, weather, and other related items. For instance, a recent

tudy on Endomondo revealed that a single workout on the aver-

ge generates 170 GPS tuples, and average number of tuples gen-

rated per month is between 2.8 and 6.3 billion [49] . With 30 mil-

ion users, the number of tuples generated per second could reach

5,0 0 0 tuples/sec [49] . Considering the IoT enabled smart cities,

ith thousands of sensors deployed, the numbers of tuples gener-

ted per second would be many times higher. When such high ve-

100 K. Bilal et al. / Computer Networks 130 (2018) 94–120

a

p

e

f

e

t

t

e

r

(

2

t

n

L

l

Y

2

I

8

e

t

v

a

p

s

l

E

s

u

c

t

d

c

a

a

2

2

i

t

t

T

f

a

s

a

T

o

r

p

f

t

d

e

o

[

r

o

p

a

t

locity real-time data streams will be sent to the centralized cloud

servers, the backbone network will get congested and the cloud

servers may get overburdened. Moreover, not all of the sensed

data is useful. For instance, sensors deployed in Large Hadron Col-

lider (LHC) project generate around 500 EB data per day. However,

99.999% data is filtered out [49] . Edge computing can be lever-

aged by the application providers to locally process the data to

filter unnecessary data, and generate real-time response for the

users in the vicinity of the deployed edge. Moreover, data can be

trimmed/filtered before sending to the cloud, thereby reducing the

network traffic and processing burden from cloud servers.

2.1.4. Reduced load on end user devices

As discussed earlier, the end user devices and IoT generate huge

volumes of data on which some form of analytics needs to be per-

formed to generate useful information. However, if end devices,

such as smartphone are subjected to such complex tasks, they may

sooner run out of resources, e.g., battery drainage. Moreover, the

devices may not be compatible due to heterogeneity of technolo-

gies. Therefore, the end devices can offload some of their high pro-

cessing tasks to the nearby edge to reduce their load. Moreover,

not all the data generated from the end device may contribute in

the computation of useful information. For example, the study con-

ducted on Endomondo sports activity tracking application revealed

that even if a jogger stops to take rest, his sensors’ stores the same

values at regular intervals [49] . Therefore, some form of data filter-

ing can be employed on the edge to discard the redundant data

and only filtered data is sent to the cloud. Similarly, in interactive

multimedia applications, such as free-view video, client’s device is

generally used to perform complex tasks like virtual view gener-

ation, which are resource intensive and results in battery deple-

tion [87] . Performing such resource intensive jobs at the edge of

the network, and delivering synthesized virtual view may result in

significant bandwidth and energy savings at client’s device.

2.1.5. Reducing energy consumption

Generally, the end user mobile devices and IoT are constrained

by computing capabilities, battery life, and heat dissipation. Edge

computing enables the offloading of energy consuming application

from resource constrained end user devices to the edge servers.

The majority of algorithms aim to minimize the energy consump-

tion at the mobile device while subject to the execution delay ac-

ceptable by the offloaded application, or to find an optimal trade-

off between these two metrics. The energy consumption in using

a cloud service usually depends on the following factors [51] : (a)

energy consumption of end user device accessing the service, (b)

energy consumption of data center, including energy consumed by

internal network, storage, and servers, (c) the volume of traffic ex-

changed between the user and cloud, (d) the computational com-

plexity of the task to be performed, (e) factors such as the num-

ber of users sharing a compute resource, and (f) the energy con-

sumption of the transport network (aggregation, edge, and core

networks). Costenaro and Duer studied energy consumption due

to data transportation on the internet. The authors found out that

14% of the energy consumption in the Internet is due to the data

transportation [50] . Jalali performed a detailed analysis of energy

consumption by certain cloud-based applications, when those ap-

plications are run directly on cloud and on locally deployed fog

based nano data centers [51] . The author showed that online in-

teractive applications generate a substantial amount of traffic and

consume more energy due to overheads arising from real-time in-

teraction with the Cloud. The authors used various network an-

alyzing tools to acquire traffic logs that showed the large traffic

overhead is associated with establishing/tearing down TCP sessions

very frequently and the volume of data transported to and from

the user per session (measured in tens to hundreds of KB). The

uthors recommended that the fog based nano servers can com-

lement the cloud for certain applications that can lead to en-

rgy savings, if the application or its components can be offloaded

rom centralized data centers and run on nano servers. Moreover,

nergy can be saved by employing intelligent client-side caching

echniques, and optimizing the synchronization frequency of con-

ents between edge and cloud [51] . Furthermore, data caching at

dge locations reduce burden on the core network, which enable to

educe link rates using green technologies like Adaptive Link Rate

ALR) to make links energy proportional [4] .

.1.6. Data center computation offloading

Edge computing can also be exploited to offload computa-

ion from data centers that require limited resources to the edge

odes. For example, the live streaming applications, like Facebook

ive, YouTube Live, and Livestream [153] allow users to perform

ive broadcast. It is reported that during a period of one minute,

ouTube users upload 72 hours of new video, Facebook users share

460,0 0 0 pieces of content, WhatsApp users share 347,222 photos,

nstagram users post 216,0 0 0 new photos, and Vine users share

333 videos [7,52] . Usually, when a video or photo is uploaded,

.g., to Facebook or YouTube, it is subjected to lossy compressions

o reduce the media size. Uploading the high resolution photos and

ideos from user devices to the cloud occupy lots of bandwidth

nd may take lot of time in areas where internet connectivity is

oor. Similar issues arise in live health monitoring applications, or

mart city applications where live streams of data from surveil-

ance cameras and other sensors needs to be uploaded to cloud.

dge computing can be utilized to transfer some of the compres-

ion related tasks to the edge devices near to the end users, before

ploading to the cloud. Moreover, edge can also be used to en-

rypt the user data instead of uploading the raw data to the cloud,

hereby ensuring security and privacy of user data in the interme-

iate hops.

In the next subsection, we discuss various technologies that we

overed under the domain of edge computing. We discuss char-

cteristics, similarities, and dissimilarities of these technologies,

long with some practical examples.

.2. Edge computing technologies

.2.1. Fog

Fog computing represents a platform that brings cloud comput-

ng to the proximity of end users. The term “Fog” was initially in-

roduced by Cisco and has an analogy with real-life fog [13] . As

he clouds are far above the sky, the fog is closer to the earth.

he same concept is used by fog computing, where the virtualized

og platform is deployed closer to the end users – between cloud

nd end users’ devices. Although both cloud and fog paradigms

hare almost similar set of services, such as computation, storage,

nd networking, yet there are some differences between the two.

he fog’s deployment targets a specific geographic region. More-

ver, the fog is specifically designed for applications that require

eal-time response with less latency, e.g., interactive and IoT ap-

lications. Alternatively, the cloud is centralized and being mostly

ar from the user, it suffers from some performance limitations in

erms of latency and response time for real-time applications. The

eployment of IoT in a two tiered architecture with cloud at one

nd and IoT devices at other end does not fulfill the requirements

f low latency, mobility of the “things”, and location awareness

53] . Therefore, as indicated in Fig. 6 , a multi-tiered architecture is

equired in which the first part consists of IoT application deployed

n “thing” which is an end user device, e.g., a vehicle. The second

art of the architecture is fog, connected with end users through

router, access point, wireless access network, or an LTE base sta-

ion. The final part of the 3-tier architecture is cloud’s data center

K. Bilal et al. / Computer Networks 130 (2018) 94–120 101

Fig. 6. 3-tier architecture consisting of cloud, fog, and IoT end devices layers.

(

a

t

a

t

r

a

w

d

p

i

f

n

d

b

i

a

l

i

e

o

t

b

s

q

v

p

r

fi

c

t

s

i

m

o

i

w

p

s

c

t

a

2

c

c

a

c

t

c

m

a

[

s

t

i

l

m

t

n

s

s

t

T

t

h

i

a

o

t

c

a

d

a

a

e.g. Amazon EC2 [154] ). By having the 3-tier architecture, the fog

llows IoT applications and services to be operated from edge of

he network as well as from end devices, such as gateways, routers,

ccess points, set top boxes, Road Side Units (RSUs), and Machine

o Machine (M2M) gateways [33,34,53] . Moreover, such configu-

ation allows fog to perform real-time monitoring, actuation, data

nalysis with reduced latency, improved QoS, and saving of band-

idth as data are processed at the edge of the network. Due to

ense geographic coverage and distributed operations, fog com-

uting promotes fault tolerance, reliability, and maintains scalabil-

ty of the system. Fog can also perform preprocessing of data be-

ore sending it to cloud. This can further reduce the load on cloud

etwork. In future applications, the fog computing is expected to

eliver high quality data/video streaming to moving vehicles, mo-

ile nodes, and public places through access points deployed for

nstance, along highways and malls [9,33] .

Fog computing is a novel paradigm and faces various challenges

part from the issues it inherits from cloud computing. These chal-

enges include management of heterogeneous devices, architectural

ssues, security, mobility, and privacy issues. Fog comprises of het-

rogeneous devices, with different types of data collected. Inter-

perability among heterogeneous devices is a challenging task. If

he number of connected devices exceeds, this may raise scala-

ility issues for the fog. Moreover, for proper management of re-

ources and load balancing, an efficient resource scheduler is re-

uired. Designing such resource scheduler for heterogeneous de-

ices and data is a challenging task. It is also critical to perform

roper monitoring and management of devices, especially those

unning real-time applications. Moreover, the monitoring of traf-

c and billing mechanism is a must requirement. One of the major

hallenges in fog computing is to devise a fair billing model for

he services offered. Fog services are offered using various pricing

chemes and models, and the end users expect high QoS with min-

mum price. The billing model must be fair and balanced to attract

ore subscribers and generate high revenue. Due to unavailability

f any standard billing model for fog, it is still an open research

ssue. Fog computing involves setup of expensive devices and net-

orking. It is important to perform pre-deployment testing of fog

latform using some simulation tool. However, there is no such

f

tandard simulation model/tool available at the moment for fog

omputing, which makes it an open research issue as well. Finally,

he protection against malicious attackers and security threats is

lso a key research challenge for fog platform.

.2.2. Cloudlets

Cloudlets are developed by a team at CMU [19,20] . Like fog

omputing, cloudlet also represents the middle tier of the 3-tier ar-

hitecture: mobile device – cloudlet – cloud. Cloudlets are viewed

s “data center in a box” with a purpose to bring cloud services

loser to the mobile users. Internally, a cloudlet consists of a clus-

er of resource-rich multicore computers with high-speed internet

onnectivity and a high bandwidth wireless LAN for use by nearby

obile devices. For safety purposes, the cloudlets are enclosed in

tamper-resistant box for ensuring security in unmonitored areas

19] .

Despite significant technological improvement, mobile devices,

uch as smart phones are still resource deficient when compared

o other stationary devices like laptops and servers. This is primar-

ly because of their smaller size, less memory, and shorter battery

ife. On the other side, there is a significant increase in develop-

ent of various mobile applications. Most of the emerging applica-

ions, such as augmented reality, interactive media, speech recog-

ition, natural language processing, require greater number of re-

ources for processing with minimum latencies [19,34,52] . To meet

uch demands, cloudlets are designed with virtualization features

o specifically provide computational resources to the mobile users.

he mobile device, acting as a thin client, can offload computa-

ional tasks through a wireless network to a cloudlet, deployed one

op away. However, a cloudlet’s presence in mobile device’s prox-

mity is necessary, as the end-to-end response time with executing

pplications must be smaller and predictable. If a device goes out

f the range of cloudlet, then it should gracefully switch to the dis-

ant cloud, or in worst case, solely rely on its own resources. The

loudlet’s simplicity in management makes it trivial to be deployed

t a business premises or near an experimental field where sensory

evices are producing lot of data that requires processing. An ex-

mple application can be mobile phone based language translation

pplication. The VM running at cloudlet receives captured speech

rom mobile device, performs speech recognition and translation,

102 K. Bilal et al. / Computer Networks 130 (2018) 94–120

Fig. 7. Mobile edge computing.

w

a

m

a

o

c

[

c

E

a

w

c

e

s

s

A

t

m

t

2

s

M

n

a

d

c

n

w

i

f

M

i

t

c

u

c

t

a

[

d

h

d

and returns the output to the mobile device. The launched VM can

be cloned to exploit parallelism in cloudlet. A basic difference be-

tween cloud and cloudlet is that a cloudlet contains only the soft

state of data or code, whereas a cloud can contain both soft and

hard state. Therefore, a cloudlet’s failure does not result in data

loss of mobile devices.

Satyanarayanan et al. [19] developed a cloudlet prototype,

named Kimberly. The cloudlet infrastructure is setup on a desk-

top computer running Maemo 4.0 Linux, whereas the mobile de-

vice used in the prototype is Nokia N810. The mobile user utilizes

VM technology to instantiate a service on nearby cloudlet and uses

wireless LAN to interact with cloudlet. More technical details about

the configuration and setup of Kimberly cloudlet can be found in

[19] . Ha et al. [54] implemented a prototype for assisting people

with cognitive decline using Google Glass and cloudlet technolo-

gies. The technology sends the captured image and other sensing

information from a Google Glass to a cloudlet to perform real-time

scene interpretation. The proposed system architecture is multi-

tier to address the concerns related to limited battery and com-

putation powers of mobile devices while performing the compu-

tational tasks on a connected cloudlet. The system gracefully de-

grades the services in case of network failures and if the device

goes out of the range. Ye et al. [55] proposed a bus-based fog com-

puting model in which the fog servers are deployed in buses. The

roadside cloudlets can offload some portions of their computation

tasks in case of overloading to a bus’s fog servers. The authors pro-

posed an optimal allocation strategy based on genetic algorithm

using which, the cloudlets offload their tasks to fog servers de-

ployed on busses. In addition, the bus servers can also offer the

computational offloading for mobile devices in bus without any

disruption and with improved QoS.

2.2.3. Micro datacenters

Microsoft Research under the supervision of Victor Bahl has in-

troduced the concept of micro datacenters as an extension of to-

day’s hyper-scale cloud data centers [17,18] . Analogous to Cloudlets,

Micro datacenters are also designed to meet demands of applica-

tions that require lower latency or that face constraints in terms of

battery life or computations. A micro data center, shipped in one

enclosure, is a self-contained, secure computing environment that

includes all necessary computation, storage, and networking equip-

ment to run customer applications. A micro datacenter can have a

size range from 1–100 kW to meet the scalability and latency de-

mands considering the IT load, and can also scale if more capacity

is needed in the future.

Micro data centers have a number of applications in domains

here real-time or near real-time data processing is required. Ex-

mples include, but not limited to, industrial automation, environ-

ental monitoring, oil and gas exploration, construction sites, or

ny other applications where the sheer volumes of data requires

n-site and real-time processing. Some of the micro datacenter’s

urrent implementations include Cisco’s UCS [56] , VCE’s V-Blocks

57] , or Dell’s Active Systems [58] . These are pre-built systems that

an be rapidly deployed and reconfigured. The company Schneider

lectric offers micro datacenter solutions, such as Smart Bunker

nd Smart Data Safe [59] . Smart Bunker is designed to host 85 VMs

ithin a 42 U rack assembly. The company also offers smaller mi-

ro datacenter’s solutions with 23 U size deployed in single rack

nclosure. Elliptical Mobile Solutions offer R.A.S.E.R. DX and HD

ystems [60] . The Elliptical Mobile has also created a complete

tand-alone VPLEX system in conjunction with EMC, Microsoft, and

VNET [60] . Huawei is another important player in micro datacen-

ers, whose MicroDC30 0 0L 24 U systems can be used in environ-

ents of less than 100 users in an unattended, lights-out opera-

ions mode [61] .

.2.4. Mobile edge computing

MEC is designed to bring cloud computing capabilities and IT

ervices environment at the edge of cellular networks [31] . The

EC offers lower latency, proximity, context and location aware-

ess, and higher bandwidth. As reflected in Fig. 7 , MEC servers

re deployed at cellular base stations enabling flexible and rapid

eployment of new applications and services for customers. MEC

an be envisioned as cloud servers running at the edge of mobile

etworks and performing specific tasks that cannot be achieved

ith traditional cloud network infrastructure. Instead of forward-

ng all traffic to the remote cloud, the MEC shifts traffic targeted

or the centralized cloud to the MEC servers. In this way, the

EC servers running applications and performing related process-

ng tasks closer to the cellular customers reduce network conges-

ion and response time of applications. Either the request is pro-

essed directly on MEC server sending quick response to the ender

ser, or, in some cases, the request may be forwarded to remote

loud.

In September 2014, the ETSI announced an industry specifica-

ion for MEC [62] . The group of researchers are developing system

rchitecture and standardizing a number of APIs essential for MEC

62] . In 2013, Nokia introduced MEC as a step towards automated

riving. Usually, communications between cars and a central cloud

as an end-to-end latency more than 100 ms. Base stations with

istributed MEC cloudlets have shown an end-to-end latency of

K. Bilal et al. / Computer Networks 130 (2018) 94–120 103

l

t

[

a

s

a

3

w

a

v

a

a

t

c

3

m

c

t

c

a

i

a

t

d

t

q

n

b

c

t

c

t

w

M

o

t

f

d

b

t

e

i

h

w

W

p

a

I

f

3

c

j

I

o

W

n

[

m

S

e

fi

a

p

[

o

c

(

v

m

d

t

c

s

o

a

s

[

c

u

d

i

s

n

B

s

i

e

e

c

s

a

o

o

i

g

i

c

t

v

c

s

i

g

$

a

p

v

a

P

G

f

o

a

n

[

s

f

r

m

f

ower than 20 ms. Nokia introduced MEC and geo service applica-

ion to the LTE base stations that resulted in faster communications

63] . With connected driving via LTE, cars can now communicate

lmost in real-time over a larger distance and beyond the line of

ight. This allows the cars to slow down in advance when there is

n emergency situation.

. Edge computing: the state-of-the-art

Edge computing is envisioned to assist in a number of domains

ith localized setup and configurations. In this section, we provide

detailed study of various edge potentials, and recent literature re-

iew in edge computing applications. We also discuss various edge

rchitectures, and at the end, we present various implementations

nd simulation methodologies of edge computing as discussed in

he literature. Table 2 presents a summary of state of art in edge

omputing in various domains.

.1. Edge computing potentials and applications

Mission critical and latency sensitive applications mandate im-

ediate response, and cannot afford communication delays in-

urred due to distant cloud and shared Internet medium. Some of

he examples of real-time applications are, emergency and health-

are services, multi-player gaming, interactive multimedia, and

ugmented reality applications, etc. Services, such as visual guid-

ng, demand a response time of 25 ms–50 ms, which cannot be

chieved from cloud [64] . Ha et al. [38] evaluated the response

ime of face recognition applications under various network con-

itions. The study demonstrated that response time may increase

o 4.02 s under worst network conditions compared to 620 ms re-

uired for a human subject. Such studies clearly demonstrate the

eeds of edge computing for real-time applications.

Besides minimal latency, serving users at nearby edge also

rings related advantages. Some of the benefits are: (a) minimized

ore network traffic, (b) energy efficiency, and (c) data cost reduc-

ion. When users are served from edge for the applications that

an be offloaded from cloud, the high volumes of TCP sessions’

raffic is reduced on the core network, consequently reducing net-

ork traffic, congestion, and latency, and data transit energy [51] .

inimizing core network traffic is important, specifically, in terms

f multimedia applications and IoTs, where huge volumes of data

ransfer from service provider to device (e.g., video streaming) and

rom device to service provider (e.g., sensor network monitored

ata and crowd-sourced video). Sharing and filtration of data can

e performed at the edge of the network to minimize core network

raffic. Edge based IoT solutions are reported to gain around 40%

nergy efficiency when IoT devices are served from edge locations

nstead of cloud [25] . Below, we present how edge computing can

elp to achieve least response time, minimize network core traffic,

hich results in achieving energy efficiency and reduced data cost.

e provide a detailed discussion on a number of edge computing

otential applications. Moreover, we also present the state-of-the-

rt in those areas to demonstrate how edge computing can benefit

CT sector in various ways, what are the possible applications, and

uture research areas.

.1.1. Internet of things (IoT) and edge computing

IoT not only encompasses intelligent or M2M devices, but also

overs the “dumb” and non-communicable devices, such as ob-

ects with Bar Code or RFID tags [65] . Such scenarios lead to

oE paradigm with trillions of interconnected devices, e.g., in case

f smart cities (see Fig. 8 ), producing large streams of big data.

ith currently more than 9 billion devices connected, future con-

ectivity is predicted to surpass approximately 50 billion devices

7,34,66] . Wireless Aggregated readings from sensors produce enor-

ous amounts of data. For instance, Large Hadron Collider (LHC) in

witzerland uses data from around 150 million sensors, which gen-

rate around 500 Exabyte data per day. However, 99.999% data is

ltered out and still, only 0.001% of the data produces 25 PB data

nnually [49] . Boeing 787, fully integrated with IoT sensors, will

roduce over half a TB of data per flight, said by Virgin Atlantic

67] . Similarly, the self-driving cars by Google generate nearly 1 GB

f data every second [68] , and the data requires real-time pro-

essing for making correct decisions. Wireless Sensor Networks

WSNs), the core components of IoT, are designed to operate at

ery low power to save battery life. The sensory nodes have small

emory, processing power, and low bandwidth. Due to resource

eficiency, the nodes cannot perform various compute intensive

asks related to data analysis and reporting. Efficient and real-time

ommunication, processing, storage, and information retrieval of

uch massive volumes of connected devices is a challenge that can

nly be served by extensive distribution of processing and stor-

ge capability nearest to these devices. Edge technologies are fore-

een to be one of the key players in future IoT and IoE paradigms

65] . Moreover, sending huge volumes of sensory data to cloud can

ause increased congestion. In this scenario, the edge devices can

ndertake the task of data processing and analysis. Moreover, the

ata can be filtered and compressed by edge devices before send-

ng to cloud to conserve bandwidth and minimize data flow. Con-

idering the futuristic vision of IoT and IoE, with billions of con-

ected objects, retrieved data needs to be processed and filtered.

eing resource constrained, most of the IoT devices can be envi-

ioned to rely on nearest edge nodes, for processing, filtering, and

n some cases data storage. In addition, the actuators serving as

dge devices can control physical actions, like open, close, move,

tc. by acting in a closed loop system.

Edge computing has numerous applications in smart building

ontrol where the IoT devices acting as “things” embedded with

ensors and network connectivity perform various monitoring and

ctuation tasks. Smart buildings are usually installed with numer-

us IoT based heterogeneous sensors that perform measurement

f temperature, vibration, humidity, or various gas levels present

n the building. Edge devices can process information from hetero-

eneous sources to deduce valuable information about the build-

ng’s current health. Moreover, the edge devices can also make de-

isions on available data to operate (or actuate) sensors for specific

asks, for instance to lower temperature, inject fresh air, or open

entilators. By making use of edge computing, a building’s security

an also be improved by performing real-time video processing of

urveillance cameras and activate warning alarms, or door locks. It

s reported in [69] that there will be an increase in the combined

lobal market for Internet of Things in Buildings (BIoT), rising from

25.65 billion in 2015 to $75.5 billion by 2021, and a combined

nnual growth rate in BIoT will be about 20.7%. Gooee, a company

roducing enterprise level IoT solutions for smart lighting has de-

eloped ‘Full-Stack’ operating system to allow manufacturers cre-

te IoT enabled lighting solutions [70] . Gooee has partnered with

ointGrab [71] , a provider of edge-analytics sensing solution. Point-

rab performs real-time analytics using edge on the obtained data

rom buildings and applies its deep-learning and sensing technol-

gy to the building ecosystem. The company allows data capture

bout how and where occupants use building by utilizing its Cog-

iPoint embedded-analytics sensors and edge-computing platform

72] . Intel has been actively involved in IoT enabled smart building

olutions and offers a range of products, including, system on chips

or secure edge computing, IoT gateways, analytics platforms, secu-

ity management solutions [73] . Intel partnered with AVOB [74] for

Energy Saver” project, a small and medium sized building energy

anagement solution to provide monitoring and remote control

or smart energy management [73] . Intel’s BMP integrated with

104 K. Bilal et al. / Computer Networks 130 (2018) 94–120

Table 2

Edge computing applied in various areas.

Area/Application Reference Idea presented

Internet of Things [75] Datta et al. proposed an IoT architecture for connected vehicles and utilized fog computing as a platform for

providing IoT services to connected vehicles.

[76] Tawalbeh et al. used cloudlets for big data analytics in a mobile cloud computing environment.

[77] Brzoza-Woch et al. presented a fog-enabled embedded system for environmental monitoring.

[71] Companies like PointGrab and Gooee partnered to provide IoT enabled lighting solutions with the help of

real-time edge computing

[73] Intel partnered with AVOB to develop edge enabled remote control and monitoring for IoT based smart energy

management

Multimedia and edge

computing

[54] Ha et al. presented an architecture and prototype implementation of a cognitive assistance system using cloudlets

and Google glass

[91] Simoens et al. proposed GigaSight, to store crowd-sourced videos in a local cloudlet for efficient uploading,

downloading, and processing [91] .

[5] Chen et al. presented the architecture and implementation details of a wearable cognitive assistance application

using cloudlets

[93] Cai et al. proposed to use cloudlets to assist multi-player gaming to share the received video frames aiming to

minimize the server transmission bandwidth usage

[94] Méndez et al. used ElectroEncephaloGram (EEG) headsets, smartphones, and fog computing to stream data

captured from brain and send it to fog server for processing.

[98] Soyata et al. used cloudlets for real-time face recognition at airports named MOCHA using Mobile-Cloudlet-Cloud

architecture.

Energy efficiency and edge [21] Valancius et al. proposed to employ nano data centers to minimize the energy consumption and latency for VoD

[99] Jalalai et al. identified scenarios in which running applications on nano servers used in fog are more efficient than

running the same applications on centralized data centers

[100] Gai et al. proposed Dynamic Energy-aware Cloudlet-based Mobile cloud computing (DECM) model to minimize

additional energy wastage in MCC scenario

[101] Sun and Ansari proposed Green Cloudlet Network (GCN) architecture for MCC aimed for process offloading

between User Equipment (UE) and software clone at cloudlet with minimal delay and energy consumption

[66] Sarkar et al. presented a mathematical model for fog computing paradigm by mathematically quantifying power

consumption, service latency, CO2 emission, and computational cost

Smart living [102] Presented a generic fog model for smart living comprising of 3 major components: Fog Edge Node (FEN), Fog

Server (FS), and Foglet as a middleware program agent

[40] Li et al. proposed to use smart agents to mitigate lack of intelligence and reasoning in current smart objects in IoT

and smart environments using swarm intelligence. They proposed Rainbow, an architecture for smart

multi-agent system using fog computing.

[103] Sneppe and Namiot proposed to use mobile edge computing to share data among interoperating services of smart

city

[104] Taleb et al. presented Follow-Me-Edge (FME) to enable emerging services for smart living using mobile edge

computing

[24] Naranjo et al. introduced the concept of SmartLocalGrid (SLG) for communication between two micro-grids that

allows communication among multiple devices efficiently to enable data processing and real-time decision

locally without cloud support.

Health care [113] Masip-Bruin et al. proposed fog enabled solution for Chronic Obstructive Pulmonary Disease (COPD) patients’

assistance that enable patients to roam and move freely with the automated provision of breathing and oxygen

supply

[6] Fratu et al. employed fog computing to eWALL EU project to achieve real-time response for Mild Dementia (MD)

and COPD patients.

[112] Cao et al. proposed FAST, a distributed analytics based fall monitoring system using fog computing for stroke

mitigation.

[54] Ha et al. presented architecture and prototype implementation of a cognitive assistance system using cloudlets and

Google glass

[5] Chen et al. presented the architecture and implementation details of a wearable cognitive assistance application

using cloudlets

[114] Quwaider and Jararweh proposed cloudlet based architecture for collection and processing of data from Body Area

Networks (BANs). Authors employed cloudlets to minimize packet-to-cloud energy and packet delay

[115] Amraoui and Sethom proposed cloudlet based pervasive healthcare monitoring system for chronic diseases using

BANs

[116] Althebyan et al. presented a largescale e-health system using edge technologies. The authors proposed wearable

textile based sensor, strategically distributed in clothing to continuously monitor patients’ health condition

Communication efficiency and

edge computing

[117] Intharawijitr et al. analyzed fog computing in 5G mobile networks paradigm for communication and computation

latencies

[118] Peng et al. presented the suitability and benefits of using edge computing paradigm in 5G networks and proposed

Fog- Radio Access Networks (F-RAN) to mitigate the shortcomings of Cloud Radio Access Networks (CRAN).

[119] Nunna et al. presented various use cases for potential context-aware collaboration systems using 5G technology

with MEC.

Edge computing architectures

and resource management

[120] Zhang et al. presented a multi-tiered architecture for delay sensitive cloud Data Service Subscribers (DSS).

[121] Eui-Nam et al. presented an architecture of a smart gateway with fog computing.

[122] Yin et al. proposed Tentacle, a dynamic and on the fly resource provisioning algorithm to procure edge servers for

online service providers.

[26] Azam and Hu presented a service oriented strategy to effectively and efficiently manage resources in fog

computing

[123] IoT devices are classified based on a device’s nature and mobility to efficiently perform resource allocation. A

detailed pricing model was also discussed

( continued on next page )

K. Bilal et al. / Computer Networks 130 (2018) 94–120 105

Table 2 ( continued )

Area/Application Reference Idea presented

[124] Nippon Telegraph and Telephone Corporation developed an edge accelerated web platform (EAWP). The EAWP

enables the web applications to run on edge servers.

[125] Zhu et al. proposed the concept of fog boxes to improve the website experience. The users connect with the

internet via edge servers (fog boxes) using HTTP

[27] Aazam et al. proposed a service oriented model for fair management of IoT resources using fog computing that

allows fair pricing, distribution, and management of resources in IoT

[126] Zeng et al. proposed a fog computing supported software-defined embedded system consisting of edge devices

(cellular base stations) equipped with computation and storage resources and embedded client systems are

general purpose hardware

Edge computing

Implementation and

Simulation

[129] Cirani et al. proposed an architecture of Fog nodes as an IoT hub using Constrained Application Protocol (CoAP)

protocol

[128] Butterfield evaluated Google’s Go language for IoT and fog scenario.

[25] Sarkar and Misra presented theoretical modeling and mathematical formulation of fog computing architecture

considering its various components

[130] Gupta et al. presented iFogSim, a simulation environment focusing on evaluation of resource management

strategies for fog computing

[132] Orsini et al. proposed a mobile edge computing based programming framework CloudAware that allowed the

users to offload their compute-intensive tasks from smartphones to the edge servers.

[133] Cisco’s ParStream is a platform that allows handling of massive volumes of high-velocity data to provide real-time

analytics at the edge

[134] Vortex fog computing provides platform independent interoperable solutions for intelligent data sharing and

analytics platform for business critical IoT applications

[53] Cisco Data in Motion (DMo) technology allows data management and analysis of large volumes of data coming

through IoT at the edge

[135] Cisco IOx is a combination of Cisco IOS, a network operating system, and Linux. The IOx allows hosting

capabilities for fog applications, and allows management of network components, such as routers, switches, and

compute modules

Fig. 8. IoT/Edge enabled smart city.

C

t

d

c

a

t

p

c

u

d

p

c

p

n

andi PowerTools is a secure management platform that connects

o various building systems and sensors to access data, performs

ata filtering, protocols translation, and secure transfer of data to

loud or to on-premise deployed edge servers [73] .

Datta et al. proposed an IoT architecture for connected vehicles

nd utilized fog computing as a platform for providing IoT services

o connected vehicles [75] . The architecture consists of: (a) smart

hones and sensors fitted on vehicles acting as data source, (b) ac-

ess points as RSUs, and (c) cloud system. The vehicular sensors

tilize sensor markup language to report the sensory data. The

ata is communicated to RSUs that are connected with fog com-

uting platform having a discovery module. The connected vehi-

les utilize discovery module to look for application and services

rovided by the RSUs. The fog platform is deployed at the middle

odes that are placed at the edge of the network. The vehicles are

106 K. Bilal et al. / Computer Networks 130 (2018) 94–120

n

a

b

n

c

G

m

e

i

H

T

m

$

t

m

t

n

i

e

a

d

n

c

a

b

s

c

t

t

i

s

t

c

e

a

f

t

s

l

m

c

s

H

l

e

e

c

P

e

c

o

c

n

o

r

t

c

t

s

f

h

p

c

able to connect with various fog services with low latency, due to

wide geographic distribution of fog platform.

Edge computing can provide solutions for big data processing,

where the big data represents the large volumes of data gener-

ated by IoT devices or sensor networks. With edge computing, on-

demand elastic resources can be provisioned for locally process-

ing the big data without sending data to cloud and suffering from

drawback of higher latency and bandwidth consumption. A com-

bination of edge and cloud computing can address big data ac-

quisition, aggregation, and preprocessing, reducing the data trans-

portation and storage on cloud. For instance, for large scale en-

vironmental monitoring system, the local data can be collected

and processed at the regional fog nodes to provide timely feed-

back to end users, especially in emergency scenarios. In addition,

the detailed and thorough analysis, and computational intensive

tasks can be performed on the remote cloud. Tawalbeh et al. used

cloudlets for big data analytics in a MCC environment [76] . The

authors proposed a master-cloudlet management system for inter-

cloudlet communications. The authors implemented the proposed

model and reported considerable gains in energy efficiency and la-

tency. Authors in [77] presented a fog-enabled embedded system

for environmental monitoring. A smart levee monitoring system is

proposed for flood warning. The authors proposed to use fog in-

frastructure to process and filter raw data, before sending it to

cloud, and to support rescue teams in emergency situation with-

out connecting to the Internet. The authors designed an embedded

system using WSANs and fog for flood risk assessment. The basic

idea is to collect the sensed data from WSN and transmit it to fog

to analyze the data using an analysis and forecasting application.

To conclude, there are several practical applications of edge

computing for IoT, including smart homes and big data processing.

The major of focus of most IoT applications is energy conservation,

such as implementing IoT based smart lighting [70,73,74] . The IoT

generated big data needs to be processed to extract useful patterns

[71] . The edge computing is also finding its applications in IoT en-

abled connected vehicles [75] . Tawalbeh et al. used cloudlets for

big data analytics in a MCC environment [76] . In [77] authors uti-

lized IoT and edge for environmental monitoring.

3.1.2. Multimedia and edge computing

Multimedia, specifically, video content is one of the major con-

sumers of overall Internet bandwidth. It has been reported that in

2015, video data comprised around 70% of the total Internet traffic.

These figures are predicted to rise to 82% in 2020 [78] . In future

IoT scenarios, many multimedia generating gadgets, such as closed

circuit TV and visual sensor networks will generate massive vol-

umes of multimedia data [65] . As multimedia requires more band-

width, processing, and storage, so handling such huge volumes in

terms of communication, processing, and storage is a real chal-

lenge. Edge computing is envisioned to aid in such scenarios to

minimize the overall end-to-end bandwidth usage, distribution, ef-

ficient processing, and storage for multimedia [79–81] . Multime-

dia delivery also incurs high costs. CDNs, like CloudFront charge

substantially, when considering Tbps data delivery. It has been re-

ported that YouTube Live and Twitch surpassed 1 Tbps mark dur-

ing peak hours in 2014 [82] . In another study on Twitch trace anal-

ysis, it has been reported that Twitch surpassed 1.5 Tbps video

content delivery to viewers across the globe [5] . It also needs to be

considered that Internet connectivity and data rates are increasing

every term, which means higher data access by users. In 2014 state

of the Internet report, Akamai reported an average global band-

width of 4.5 Mbps, with 59% users having more than 4 Mbps con-

nectivity, among which 13% and 10% had 10 Mbps or higher and

15 Mbps or higher Internet connectivity, respectively [83] . Whereas,

in 2016, the average bandwidth globally raised to 6.8 Mbps, with

73% connections having more than 4 Mbps. Among these 73% con-

ections, 35% had more than 10 Mbps, 21% had more than 15 Mbps,

nd 21% had more than 25 Mbps Internet connectivity [84] . It can

e seen that in 2016, way more users have 4 K ready Internet con-

ectivity as compared to 2014. Such large volumes of data are

harged heavily, e.g., Amazon CloudFront CDN charges $0.085 per

B for first 10 TB and $0.26 Per GB for higher usage of data trans-

ission [85] . It was observed in 2015 captured logs, Twitch deliv-

red video content at more than 1.5 Tbps [86] . Although, Twitch

s owned by Amazon, so the payment matters may be internal.

owever, if one calculates the total cost required to transmit 1.5

era bits (192 Giga Bytes) using Amazon CloudFront with mini-

um charges, i.e., $0.02 /GB, then it will be $3.84 /s leading to

13,800 /h. Fog computing may be used to cache the popular con-

ent at edge and serve the local community from edge or from

inimum possible hops, as CDNs are still many hops away from

he users. Moreover, live content can also be disseminated from

etwork edge, offering higher bandwidths to viewers. Specifically,

n terms of interactive multimedia, which is strictly delay sensitive,

.g., multi-view and free-view video [87] , switched view delivery

nd virtual view synthesis can be performed at edge with minimal

elay. If we consider per bit energy consumption across the Inter-

et hops, then it may be realized that even four hops (generally

onsidered as average from CDN to users) may inhibit excessive

mount of energy usage and Green House Gases (GHG) emissions.

2013 NSF workshop report predicted that “it will soon be possi-

le to find a camera on every human body, in every room, on every

treet, and in every vehicle” [88] . Video surveillance plays a signifi-

ant role in effective urban planning and management administra-

ively, as well as for law enforcement departments. It is estimated

hat in 2013, that there was one surveillance camera for 11 persons

n the United Kingdom [89] . Considering the futuristic scenario of

uch massive number of cameras and their streams uploaded to

he Internet mandates feasible solutions for communication, pro-

essing, and storage. Surveillance information may come in a het-

rogeneous form from multiple sensors. Target tracking and object

ssessment in such surveillance environment requires information

usion and collective processing. Efficient extraction of informa-

ion from various streams, analysis, and understanding requires re-

ource, which can be provisioned from Cloud computing. However,

ong response time and delays prohibit using cloud computing for

ission critical, sensitive surveillance, and tracking systems. Edge

omputing, however, offer the resources, as well as real-time re-

ponse for such applications.

Most of the captured videos and pictures are stored locally.

owever, crowd-sourced based video streaming is gaining popu-

arity. Twitch is estimated to serve around 50 million users ev-

ry month with 150 billion minutes of live video [90] . Simoens

t al. proposed GigaSight, to store crowd-sourced videos in a local

loudlet for efficient uploading, downloading, and processing [91] .

rocessing videos captured in a small geography at a local cloudlet

nables searching and processing of related videos easily and effi-

iently. For instance, if some kid or dog is lost in some theme park

r concert, recent videos from same event uploaded to the local

loudlet in recent times may be searched to find the missing.

With the emergence of wearable computing and gadgets, cog-

itive assistance based applications are becoming a reality. One

f the major requirements of cognitive assistance applications is

eal-time response. Human subjects take from minimum 370 ms

o maximum 620 ms to respond an unknown face [92] . The edge

omputing can be used for real-time cognitive assistance by in-

egrating image capturing, sensing, and processing to deliver re-

ponse instantly. More than 20 Million Americans suffer from some

orm of cognitive impairment, for whom, edge computing offers

ope and a feasible platform. Ha et al. presented architecture and

rototype implementation of a cognitive assistance system using

loudlets and Google glass in [54] . The authors detailed the archi-

K. Bilal et al. / Computer Networks 130 (2018) 94–120 107

t

m

n

e

s

c

i

h

o

g

e

s

t

c

t

a

t

s

f

u

p

p

B

e

c

o

[

i

t

s

o

s

r

C

i

i

r

o

c

c

c

[

p

p

r

a

3

d

[

t

i

c

i

G

s

b

c

p

p

M

i

d

a

a

o

s

4

c

p

t

o

r

p

c

T

i

o

s

p

e

s

m

t

q

e

n

n

fi

s

h

i

T

b

w

c

u

l

N

i

w

t

S

a

e

e

p

c

u

d

d

w

t

t

5

f

v

a

v

d

t

c

i

l

l

v

ectural requirements of cognitive assistance systems and imple-

entation details. Considering the high delay, cloud platforms can-

ot be used for task offloading, therefore, authors used cloudlet for

fficient communication and processing. Similarly, Chen et al. pre-

ented the architecture and implementation details of a wearable

ognitive assistance application using cloudlets [5] . The application

s designed for cognitive assistance in four different tasks, i.e., free

and sketching, 2D Lego models assembling, context-relevant rec-

mmendation of YouTube tutorials, and playing a ping-pong game.

Constraints on network bandwidth, delay, and jitter in cloud

aming seriously impact users’ Quality of Experience (QoE). Cai

t al. proposed to use cloudlets to assist multi-player gaming to

hare the received video frames aiming to minimize the server

ransmission bandwidth usage [93] . Game server sends the en-

oded video to Adhoc-cloudlet, which in turn transmit the video

o the group of connected players. Classification of brain state is

heavily computational intensive and delay sensitive real-time

ask. Méndez et al. [94] used ElectroEncephaloGram (EEG) head-

ets, smartphones, and fog computing to stream data captured

rom brain and send it to fog server for processing. EEG can be

sed to determine ones’ brain states in real time. Based on the

rocessed data, authors demonstrated the effectiveness of work by

laying an online Brain Computer Interaction (BCI) “EEG Tractor

eam” game among different users in USA and Taiwan. Near to

nd users, fog servers successfully processed the data streams and

lassification/calibration is performed at the cloud servers. Previ-

usly, various BCI related projects, such as HeadIT [95] , BrainMap

96] , and PhysioNet [97] employed physiological signal process-

ng. However, none of these projects were able to interact with

heir clients in real-time. Edge computing enables the real-time

ignal processing and enabled client interaction to perform vari-

us tasks. Such usage of edge computing resources can be fore-

een to bring realistic applications. Soyata et al. used cloudlets for

eal-time face recognition at airports named MOCHA using Mobile-

loudlet-Cloud architecture [98] . Cloudlets were employed to min-

mize the response time. Experimental results demonstrated that

nclusion of cloudlets considerably enhanced the performance and

esponse time of MOCHA.

To summarize, edge computing finds its place in numer-

us multimedia applications, especially in real-time processing of

rowdsourced video streams [91] and cognitive assistance appli-

ations [54] . The existing works have utilized cloudlet based ar-

hitectures for cognitive assistance [5] and multi-player gaming

93] to minimize latency and response time required for such ap-

lications. Similarly, edge has been utilized to perform real-time

rocessing of EEG data acquired from brain [94] and real-time face

ecognition applications [98] in a bid to reduce the response time

nd latency.

.1.3. Energy efficiency and edge

Energy efficiency is one of the mandatory and key concerns to-

ay because of environmental impacts, energy demand, and cost

1] . The ICT sector is one of the major energy consumer, estimated

o consume more than 271 billion KWh of energy in data centers

n 2010 [3] . Network infrastructure is also one of major energy

onsumer, estimated to consume around 15.6 billion KWh energy

n 2010 [2] . ICT sector is also attributed as a major Green House

ases (GHG) contributor, emitting around 2% of global GHG emis-

ions [4] . The GHG emissions by cloud datacenters are estimated to

e 1034 t in 2020 [1] , which clearly raise the environmental con-

erns and calls for appropriate solutions. In recent years, several

roposals have been presented to employ edge computing for im-

roving energy efficiency of cloud services and end user devices.

EC enables offloading of compute intensive and energy consum-

ng applications from mobile devices to edge servers, thereby re-

ucing the energy consumption of end devices. The majority of

lgorithms optimize the tradeoffs between energy consumption

t mobile devices and execution delays caused by the offloading

f the application. Gao et al. performed various experiments and

howed that cloudlets can reduce an energy consumption by up to

2% in a mobile device [164] . Zhang et al. demonstrated that MEC

an improve energy efficiency in heterogeneous networks by com-

utation offloading [165] . In [166] , the authors have investigated

he energy-efficient resource allocation problem for computation

ffloading. Sardellitti et al. performed the joint optimization of

adio and computational resources for multi-cell mobile-edge com-

uting [167] . The major aim of the authors was to minimize energy

onsumption under latency and power budget constraints in [167] .

he tradeoff between power consumption and transmission delay

n the fog-cloud computing system is investigated in [168] .

Jalalai et al. identified scenarios in which running applications

n nano servers used in fog are more efficient than running the

ame applications on centralized data centers [51,99] . The authors

roposed new energy models for shared and unshared network

quipment to measure the energy in different scenarios. Nano

ervers were implemented using Raspberry Pi computers and were

easured for traffic and power consumption. The energy consump-

ion of data requests to nano servers were compared with data re-

uests to centralized data centers using energy consumption mod-

ls. The results indicated that energy can be saved on transport

etwork, when the frequently used contents are pushed to the

ano servers near to the requesting user, thus resulting in less traf-

c on backbone. The authors concluded that for efficient content

torage and energy saving, the application architecture could be a

ybrid of both fog and cloud.

Gai et al. explored the impact of edge computing consider-

ng energy and delay in Mobile Cloud Computing (MCC) [100] .

he authors proposed Dynamic Energy-aware Cloudlet-based Mo-

ile cloud computing (DECM) model to minimize additional energy

astage in MCC scenario. The authors proposed a web service at

loudlet layer to search and allocate appropriate cloud resources

sing dynamic computing for the request, considering energy and

atency constraints. Sun and Ansari [101] proposed Green Cloudlet

etwork (GCN) architecture for MCC. GCN aims at process offload-

ng between User Equipment (UE) and software clone at cloudlet

ith minimal delay and energy consumption. The GCN architec-

ure also used SDN technology and proposed Cloudlet Network File

ystem (CNFS) to protect data integrity. Sarkar et al. presented

mathematical model for fog computing paradigm by math-

matically quantifying power consumption, service latency, CO 2 mission, and computational cost [66] . The performance of pro-

osed model is evaluated by considering large number of Internet-

onnected devices demanding real-time service. The model is eval-

ated using a case study of devices generating traffic from hun-

red most populated cities, being served by eight geographically

istributed data centers. The experimental results indicated that

ith the increase in the number of applications demanding real-

ime service, the fog computing platform outperforms the tradi-

ional cloud computing. The authors further observed that with

0% devices requiring real-time services, the service latency of

og computing decreases by 50%. However, an interesting obser-

ation by the authors was that the environments where there

re less percentage of applications that demand low latency ser-

ices, the fog computing appeared to be an overhead over tra-

itional cloud computing. The evaluation parameters utilized by

he authors were power consumption and service latency. Power

onsumption further included consumption due to data forward-

ng, computation, storage, and data migration. Whereas the service

atency was subdivided into transmission latency and processing

atency.

In summary, edge computing has been investigated as a moti-

ation for improving energy efficiency of cloud applications. The

108 K. Bilal et al. / Computer Networks 130 (2018) 94–120

Fig. 9. Smart home using edge computing.

a

f

g

I

p

i

h

a

w

existing literature demonstrated that cloudlets and MEC can re-

duce the energy consumption for some cloud-based applications

through computation offloading [164–166] . The joint optimization

of radio and computational resources for multi-cell MEC helps

minimizing energy consumption under latency and power budge

constraints [167,168] . If properly deployed, the edge computing can

augment cloud computing to reduce energy and response time of

various cloud applications [51,99] . The delay and energy consump-

tion are investigated together in various proposals to find a bal-

ance between the two to improve overall energy efficiency with

minimal delay [100,101,66] .

3.1.4. Smart living

Communication (delay sensitive) and interaction among smart

objects, such as sensors, controllers, and actuators, is a pivotal and

common phenomenon in all domains of smart living and perva-

sive environments [102] . Smart objects and Cloud computing in-

teraction model, used in various smart solutions, such as Cogni-

tive Gateway, depict various limitations and deficiencies in cloud

interaction, specifically unpredictable delay and jitter [102] . Edge

technologies offer the solution for these problems that hinder the

visions and performance of smart living solutions. Advancement in

smart devices and sensors are leading to fulfill the smart living vi-

sions. Smart Energy, Health, Offices, Protection, Entertainment, and

Surroundings (EHOPES) represent the fundamental components of

smart living. Fig. 9 reflects the use of edge computing in smart

homes. Authors in [102] presented a generic fog model for smart

living. The authors represented the fog architecture comprising of

3 major components.

• Fog Edge Node (FEN) is hardware component of fog archi- tecture, which lies near or in close proximity to the smart

objects, such as a smart phone, PCs, access points, set top

boxes, located at one-hop proximity. FENs act as the end-

point of this fog architecture. FEN may perform basic pro-

cessing, storage, and information filtration. The significance

of FEN lies in providing various access methods (wired or

wireless) to smart objects such as sensors and actuators, e.g.,

Bluetooth, ZigBee, Wi-Fi, etc.

• Fog Server (FS) represents the fog instances placed inside a micro-data center or cloudlet, representing a powerful virtu-

alized server, offering inter-play between FEN and cloud. FS

can offer processing power storage, and be used to take col-

lective decisions based on information from various servers

of FEN in smart environments. FS sits between FEN and

cloud servers and offers required processing, storage, collec-

tive control, and updating of information. Smart objects may

communicate directly to FS bypassing PEN in various mod-

els depending on the smart objects capabilities and require-

ments.

• Foglet is a middleware program agent, installed on fog nodes (FEN and FS) for dynamic and scalable services. Foglet offers

provision for catering the heterogeneity in smart objects, ap-

plications, network management, and protocols. High level

of privacy and security may be achieved using customized

Foglets employing security techniques between FEN and FS.

FEN lies in close proximity of smart objects and client, and

has negligible privacy concerns, thus using custom privacy

and security procedures to diminish the eavesdropping or

leakage of information between FEN and FS, or even FEN and

cloud.

Smart living and new IoT paradigms call for smart interactions

mong objects and ability to take decision based on presumed in-

ormation. Authors in [40] proposed to use smart agents to miti-

ate lack of intelligence and reasoning in current smart objects in

oT and smart environments using swarm intelligence. They pro-

osed Rainbow, an architecture for smart multi-agent system us-

ng fog computing. The Rainbow is a three layered architecture,

aving the physical “things” (smart objects), such as sensors and

ctuator constituting first layer. The intermediate layer, a middle-

are represented these things as Virtual Object (VOs), acting as an

K. Bilal et al. / Computer Networks 130 (2018) 94–120 109

i

j

a

g

q

t

t

c

s

i

s

v

f

s

e

f

e

e

a

n

c

s

g

v

u

a

l

l

l

t

l

t

b

r

c

o

o

l

b

p

a

a

m

s

s

f

c

a

t

g

s

e

s

T

t

t

a

t

e

i

t

g

2

1

e

p

t

a

w

f

t

c

m

e

w

i

c

t

i

t

f

h

i

t

i

b

[

c

u

t

3

i

m

s

t

u

t

s

t

v

m

s

o

c

f

t

r

i

p

w

i

s

t

o

i

g

a

i

d

p

a

p

C

i

C

ntelligent agent exposing an abstract representation of smart ob-

ect or thing. The VOs are coupled in computations nodes, named

s Gateways. Different VOs or agents in a gateway may work to-

ether to achieve some high level goal. The gateways perform re-

uired processing and only the fine-grained agent process is sent

o cloud server (which constitute the third layer of Rainbow archi-

ecture), leading to filtered and processed information to be exe-

uted on cloud servers. The authors detailed the design of three

mart city applications, i.e., cyber physical system (CPS) for cater-

ng noise pollution, CPS for drainage network, and smart streets.

Sneppe and Namiot proposed to use mobile edge computing to

hare data among interoperating services of smart city [103] . As

arious smart city services use data from multiple sources, there-

ore, an edge based storage to store and receive local data enhance

ervice efficiency and minimizes latency and core traffic. Taleb

t al. presented Follow-Me-Edge (FME) to enable emerging services

or smart living using mobile edge computing [104] . The FME is an

xtended version of Follow-Me-Cloud (FMC) concept [105,106] for

dge computing to enable low latency services. The idea is to en-

ble service to keep track of user and always service user from

earest edge service. The authors discussed the FME service using

ase studies, where a user watching a video while riding a bus is

erved by an edge location say Edge A. As the user is mobile, and

radually moves near to Edge B, the video and related streaming

irtual function are migrated from Edge A to Edge B, so that the

ser may be served from Edge B. The authors presented the FME

rchitecture and performed simulation based evaluation to depict

ive migration latency.

With the evolution of intelligent transportation system (ITS), a

arge number of sensors are deployed in city premises that col-

ect traffic data on daily basis [107,108] . The live streams captured

hrough video cameras require real-time processing and minimal

atency, and therefore, the information cannot be sent to the tradi-

ional cloud as the response time will be higher. Edge devices em-

edded with traffic lights constitute smart traffic lights that receive

eal-time traffic information and coordinate among each other to

reate a dynamic green wave or to send warning signals in case

f any road emergencies [155] . For instance, a camera mounted

n a signal can detect flashing lights of an approaching ambu-

ance and switch the street lights to allow free movement of am-

ulance through the intersection. Edge connected wireless access

oints can allow vehicle to vehicle, vehicle to access point, and

ccess point to access point communications and numerous other

pplications, thus allowing information transfer and sharing among

oving vehicles with minimum latency. For instance, traffic light

ystem in Chicago, USA, is controlled with the help of smart sen-

ors and edge computing [109] . Traffic volume data is collected

rom individual traffic lights. The IoT enabled smart traffic appli-

ation computes real-time traffic congestion at network edge and

utomatically alter the timings of traffic signals, thereby allowing

he smooth flow of vehicles.

A potential application of edge computing is smart grid. Smart

rid constitutes smart meters, smart appliances, renewable energy

ources, and energy efficient resources, as reflected in Fig. 10 . The

nergy load balancing and distribution applications running on

mart grid require real-time processing and actuation capabilities.

he data generated by grid sensors and devices is processed at

he edge servers, and filtered out to be consumed locally or sent

o the higher tiers for visualization, reporting, and transactional

nalysis. In this way, the edge computing reduces the amount of

raffic that would be otherwise sent to cloud for analysis if the

dge layer is not present. The long term reporting and business

ntelligent analytics are provided by cloud computing. Smart me-

ers installation in households of USA has witnessed exponential

rowth from 6% in 2008 to 89% in 2012. It is estimated that in

019, various homes and small businesses will be having around

9 million smart meters [110] . With 50 0,0 0 0 smart devices, Austin

nergy gathered around 100 Terabytes of data. Smart meters send

ower usage updates every 15 minutes. With millions of smart me-

ers, this will result in huge data, demanding substantial storage

nd bandwidth resources. Considering the smart grid paradigm,

ith power devices connected, and exchanging information will

urther aggravate the needs. Authors in [24] presented an approach

o use fog computing for smart grids. The authors introduced the

oncept of SmartLocalGrid (SLG) for communication between two

icro-grids. SLG allows communication among multiple devices

fficiently to enable data processing and real-time decision locally

ithout cloud support. Use of fog computing to mitigate the lim-

ted bandwidth capacity of Power Line Communication (PLC) is dis-

ussed in [111] . The authors proposed a distributed data aggrega-

ion and processing of consumer smart meters using fog comput-

ng. The simulation results depicted a great improvement in la-

ency and response time when and intermediate fog layer is used

or smart grid.

To summarize, edge computing finds its applications in energy,

ealth, offices, protection (security), entertainment, and surround-

ngs – the factors that constitute smart living. As we saw above,

he recent works proposed: (a) fog enabled models for smart liv-

ng to reduce latency and response time [102,104] , (b) multi-agent

ased architectures to induce intelligence in smart living objects

40] , (c) data sharing models for interoperating services in a smart

ity, (d) smart traffic control systems for controlling traffic lights

sing edge computing [109] , and (e) models for smart power dis-

ribution using edge computing in smart grids [24,111] .

.1.5. HealthCare

Edge computing paradigms are foreseen to play significant role

n eHealth care solutions and smart health [112] . Pervasive health

onitoring applications are widely growing area of biomedical re-

earch offering various novel healthcare solutions, where most of

he solutions are rooted in cloud computing. However, real-world

ser experience for these cloud based smart healthcare applica-

ions is unsatisfactory and poor because of the long delays and re-

ponse times between application and cloud [112] . Edge computing

echnologies portrays great potential as a viable solution for per-

asive healthcare applications to elevate the user experience and

inimize delay [112] . A recent analysis of an eHealth application

hows that around 25,0 0 0 tuples of health data flows every sec-

nd, which will increase with the proliferation of IoT and smart

ity implementations to millions of tuples [33] . Several solutions

or Chronic Obstructive Pulmonary Disease (COPD) patients’ assis-

ance are proposed using Fog computing, which enable patients to

oam and move freely with the automated provision of breath-

ng and oxygen supply [113,6] . Such assistance system will save

atients from health deterioration and hospital expenses. Patients

ith COPD require assistance with the amount of oxygen required

n various stages, such as during rest or walking. COPD breath as-

istance system employs the idea of constant patient state moni-

oring using BAN sensors. The required amount of oxygen depends

n the arterial blood gas measurements. The extracted information

s sent to fog instances, which calculate the exact amount of oxy-

en required by patient. The actuators on oxygen supply devices

nd cylinders react to the processed information and start supply-

ng the required amount of oxygen. The oxygen supply does not

epend only on the patient’s physical conditions, rather it encom-

asses various parameters, such as patient condition, air pollution,

nd air quality. Fratu et al. employed fog computing to eWALL EU

roject to achieve real-time response for Mild Dementia (MD) and

OPD patients [6] . eWALL offers a prefabricated system with var-

ous sensors to monitor various vital signs and habits of MD and

OPD patients [6] .

110 K. Bilal et al. / Computer Networks 130 (2018) 94–120

Fig. 10. Smart grid using edge computing.

u

t

f

(

c

p

e

b

u

i

t

b

t

s

t

t

T

c

t

s

G

s

a

c

W

a

m

m

t

Ambient Assisted Living (AAL) may play a key role to elevate

senior citizens’ life style and independence [6] . Real-time process-

ing of information gathered from sensors is one of the key at-

tributes of AAL system. Previously, such real-time processing for

delay-sensitive applications was inconvenient and difficult. Edge

technologies, like fog computing now offer the required processing

capabilities in real-time for AAL systems. Cao et al. [112] propose

FAST, a distributed analytics based fall monitoring system using fog

computing for stroke mitigation [112] . Around one third of stroke

mortalities may be prevented if stroke related risk factors, such as

falling may be efficiently mitigated. Authors proposed new fall de-

tection algorithms based on analysis techniques for non-linear time

series and acceleration magnitude values, along with filtering tech-

niques.

With the emergence of wearable computing and gadgets, cog-

nitive assistance based application are becoming a reality. One of

the major requirements of cognitive assistance applications is real-

time response. Human subjects take from up to maximum 620 ms

to respond an unknown face [92] . The edge computing can be used

for real-time cognitive assistance by integrating image capturing,

sensing, and processing to deliver response instantly. More than

20 million Americans suffer from some form of cognitive impair-

ment, for whom, edge computing offers hope and a feasible plat-

form. Ha et al. presented an architecture and prototype implemen-

tation of a cognitive assistance system using cloudlets and Google

glass in [54] . The authors detailed the architectural requirements

of cognitive assistance systems and implementation. Considering

the high delay, cloud platforms cannot be used for task offloading,

therefore, authors used cloudlet for efficient communication and

processing. Similarly, Chen et al. presented an architecture and im-

plementation details of a wearable cognitive assistance application

[

sing cloudlets [5] . The application is designed for cognitive assis-

ance in four different tasks.

Quwaider and Jararweh proposed cloudlet based architecture

or collection and processing of data from Body Area Networks

BANs) [114] . Authors employed cloudlets to minimize packet-to-

loud energy and packet delay. The authors simulated the pro-

osed architecture using CloudSim simulator to illustrate energy

fficiency and low latency. Amraoui and Sethom proposed cloudlet

ased pervasive healthcare monitoring system for chronic diseases

sing BANs [115] . The authors presented a new architecture us-

ng SDNs and cloudlets for fast communication and analysis, and

o handle heterogeneity in device and access networks. Althe-

yan et al. [116] presented a largescale e-health system using edge

echnologies. The authors proposed wearable textile based sensor,

trategically distributed in clothing to continuously monitor pa-

ients’ health condition. The sensed information from sensors is

ransmitted to a handheld device, such as a smart phone or tablet.

he handheld device forwards the information to cloudlet to pro-

ess and take necessary action. In case of any abnormality, instruc-

ions are alarmed on the handheld device along with other neces-

ary actions, e.g., automated call to ambulance service along with

PS location of patient for instant medical assistance. The authors

imulated the proposed model using CloudExp simulator to evalu-

te the scalability.

In summary, the edge computing has been employed in health-

are to meet the real-time response requirements of applications.

e have seen that edge computing plays a pivotal role in health

pplications for: (a) COPD patients that require real-time oxygen

onitoring [113] , (b) the monitoring of patients suffering from

ild dementia [6] , (c) fall detection and stroke mitigation applica-

ions [112] , (d) cognitive assistance systems including Google glass

54,5] , and (e) BANs based pervasive healthcare [114–116] . All such

K. Bilal et al. / Computer Networks 130 (2018) 94–120 111

a

a

u

3

[

n

V

n

a

i

t

a

m

m

t

m

m

a

a

s

p

a

t

t

b

b

a

c

s

t

s

a

t

t

w

fi

a

e

c

r

b

c

s

o

3

d

t

c

m

o

b

3

c

c

t

T

F

g

f

f

m

a

s

p

i

s

t

a

t

l

e

i

m

i

t

w

t

w

t

d

fl

o

c

c

i

〈 b

t

s

p

C

t

a

c

v

t

v

t

j

a

m

u

I

f

c

l

a

d

p

m

s

r

m

m

d

s

e

a

pplications require real-time response, so cloud computing can be

ugmented with edge to perform computations near to the end

sers to reduce the latency and response time.

.1.6. Communication efficiency and edge computing

5G aims to offer minimal latency as compared to 4G to its users

117] . Three distinct objectives of 5G include: (a) pervasive con-

ectivity, (b) millisecond latency, and (c) gigabit connection [12] .

arious 5G applications will use cloud support, however, commu-

ication delay and latency in far located cloud resources may pose

major barrier to achieve one of the pivotal goal of 5G networks,

.e., extremely low latency. Therefore, fog computing offers a realis-

ic solution to minimize latency [117] . Intharawijitr et al. [117] an-

lyzed fog computing in 5G mobile networks paradigm for com-

unication and computation latencies. The authors presented a

athematical fog model for 5G networks. The authors evaluated

heir model using simulations to measure the impact of user de-

and, and current load in fog servers on computation and com-

unication latency. In [118] Peng et al. presented the suitability

nd benefits of using edge computing paradigm in 5G networks

nd proposed Fog- Radio Access Networks (F-RAN) to mitigate the

hortcomings of Cloud Radio Access Networks (CRAN). The authors

resented FRAN architecture to use FRANs for radio resource man-

gement, signal processing of local radio, and distributed storage

asks. Performing these radio related tasks on fog nodes will aid

o alleviate front haul burden and avoid centralized baseband unit

ased signal processing, leading to realization of minimal latency

eing one of the key goals of 5G.

Nunna et al. presented various use cases for potential context-

ware collaboration systems using 5G technology with Mobile edge

omputing [119] . The authors presented a remote robotic tele

urgery scenario, where surgeons remotely direct surgical robots

o perform surgery. Another case study of a road accident is de-

cribed where the application automatically calls the ambulance

long with defining clear path for the ambulance by redirecting

raffic automatically by using traffic signal. Such content-aware sys-

ems demand less than 10 ms response time, which is not possible

ithout using 5G with edge technologies [119] .

To summarize, edge computing can improve communication ef-

ciency and reduce latency in 5G networks by bringing frequently

ccessed resources closer to the end user. As we saw above, the

xisting solutions try to balance user demand and load in terms

omputation and communication on edge servers [117] . The radio

esource management using edge computing alleviate front haul

urden resulting in reduced latency for 5G networks [118] . Several

ollaborative applications using 5G technologies, such as remote

urgery and automatic emergency response, can also take benefit

f edge computing platform to reduce their overall latency [119] .

.2. Edge computing architectures and evaluation

Edge computing is in its infancy and currently lacks a stan-

ardized architecture, protocols, interoperability and communica-

ion patterns, and resource management. Some of the generic ar-

hitectures have been proposed in literature. Moreover, new imple-

entation and evaluation mechanisms are also mentioned. Some

f the key architectures and implementation details are presented

elow.

.2.1. Edge computing architectures and resource management

Edge computing follows a three-tier architecture in general,

omprised of end device, edge layer (fog, cloudlet, MEC, MDC), and

loud data center. Zhang et al. presented a multi-tiered architec-

ure for delay sensitive cloud Data Service Subscribers (DSS) [120] .

hree considered tiers are DSS, Massive Data Centers (MDCs), and

og instances. Resource management is achieved using Game pro-

ramming. Multi-leader, multi-follower Stakelberg games are used

or interaction between fog and MDCs, and single-leader single-

ollower Stakelberg game between DSS and MDCs. One of the

ajor contributions in the paper is to consider the competition

mong various fog instances and MDCs. Azam and Huh [121] pre-

ented an architecture of a smart gateway with fog computing. The

roposed architecture had several layers. The physical and virtual-

zation layer manage the physical nodes, virtual nodes, virtual sen-

or networks, and WSNs as per the system requirements. Moni-

oring layer monitors networks and activities of underlying nodes

nd also monitors which node is performing what task at what

ime and what are current and future requirements. Monitoring

ayer also considers the energy consumption and remaining en-

rgy of nodes to take preemptive measures on time. Preprocess-

ng layer performs data filtering, trimming, and other data manage-

ent tasks so that only the necessary, and more meaningful data

s generated. The transport layer uploads the preprocessed and fil-

ered data to the cloud, thus putting least burden on core net-

ork. Using a testbed, the authors evaluated the performance of

heir architecture by analyzing the communication between gate-

ay and the cloud. The performance parameters utilized during

esting were upload delay, bulk-data upload delay, synchronization

elay, and bulk-data synchronization delay.

Yin et al. [122] proposed Tentacle, a dynamic and on the

y resource provisioning algorithm to procure edge servers for

nline service providers. The framework identifies the best lo-

ation based on the users’ proximity and service requirements

onsidering the Network Coordinate (NC) system based rank-

ng. The edge location is identified as a tuple represented as

city , Autonomous System ( Ad ) 〉 . The tuple may further be classified ased on the multiple server clusters available at the edge loca-

ion as edge site. The authors extended the procurement of edge

ervers beyond ISPs and Internet Exchange Points (IXP) to CDN

rovider micro data centers, such as Akamai, LimeLight, and Edge-

ast.

Azam and Hu presented a service oriented strategy to effec-

ively and efficiently manage resources in fog computing [26] . The

uthors considered a customer based resource estimation model

onsidering various traits of customers. In their model, Cloud Ser-

ice Customer (CSC) and fog negotiate for resource requirements

o provide specific services and SLA. Based on the required ser-

ice and agreed SLA, resource requirements and advanced alloca-

ions are estimated. Service requests are generated by smart ob-

ects. Therefore, appropriate prediction and resource pre-allocation

re essential for efficient and fair service delivery. The authors for-

ulated resource estimation, and evaluated their model using sim-

lations. The authors extended their work in [27] by categorizing

oT devices based on devices’ mobility and nature to efficiently per-

orm resource allocation. A detailed pricing model was also dis-

ussed in the extended work [27] . Do et al. proposed a resource al-

ocation algorithm to optimize the traffic distribution between fog

nd data center for video streaming applications [123] .

A service oriented model for resource management within IoT

evices is proposed by Aazam et al. [26] that utilized fog com-

uting for fair management of resources. Given with user require-

ents and characteristics, the proposed work addresses the is-

ues related to resource management, such as resource prediction,

esource estimation, advance reservation, and pricing. The imple-

entation of the proposed work is performed in java, whereas the

odel was evaluated with CloudSim simulator.

Zeng et al. [126] proposed a fog computing supported software-

efined embedded system (FC-SDES). The authors investigated task

cheduling problem in FC-SDES. The proposed system consists of

dge devices (cellular base stations) equipped with computation

nd storage resources and embedded client systems are general

112 K. Bilal et al. / Computer Networks 130 (2018) 94–120

f

t

C

t

m

i

a

t

w

f

t

t

c

o

i

(

a

p

s

c

d

d

v

r

w

f

i

p

c

w

u

n

p

w

p

i

r

[

f

c

T

s

P

h

T

a

v

l

n

a

c

f

g

t

d

t

a

t

u

[

I

c

w

purpose hardware. A computation task in the proposed system

can be processed either at client side or edge side. Initially, a

task image is not fully loaded into embedded system, rather the

image resides in the edge server and client retrieves the image

from the edge server at runtime. By balancing workload on both

sides, the system tries to minimize overall computation and trans-

mission latency of the requests. The proposed system also inves-

tigates the replica placement problem of task image on storage

servers. The task completion minimization problem is formulated

using mixed-integer nonlinear programming (MINLP) considering

the task scheduling and task image placement constraints. The re-

sults indicated the decrease in maximum task completion time in

FC-SDES.

Edge servers’ provisioning is generally planned, however, in

some cases, edge provisioning may be on the fly and dynamically

consider the flash crowd or requirements of users within a specific

area, e.g., in an emergency response situation. Dynamic edge ser-

vice provisioning and its prospects are discussed in [122] . Some of

the factors that may be considered to choose a situation to dynam-

ically provision edge resources, or select an appropriate servers’

position are:

• User demand for a specific service. • Nature of service, e.g., delay sensitive or real-time. • Current average response time or RTT for users and current av-

erage cost of service.

• Benefits of provisioning edge servers to deploy the service near to users in terms of delay and cost.

• Complexity of provisioning of edge servers and deploying the service on the fly.

• Nature of the service and required capacity. • Average distance of the provisioned resource from the users.

Some situations, e.g., emergency response systems, sometimes

mandate the provisioning of service nearest to the users consid-

ering the nature of service and situation. Appropriate service de-

ployment schemes, e.g., Foglets-based ready to deploy middleware

setups (see Section 3.1 ) may be used to install the service on pro-

visioned servers to start service immediately.

3.2.2. Edge computing implementation and simulation

Edge computing is an emerging area, so little implementation,

testing, and simulation solutions are available. Some authors im-

plemented fog models using various distributed systems API, such

as Go and Constrained Application Protocol (CoAP) [127] . CoAP is a

light weight protocol using User Datagram Protocol (UDP), to be

used as a reference protocol for IoTs and Web of Things (WoT).

CoAP specifically targets resource constrained IoT devices and al-

leviates various overheads imposed by the HTTP protocol. Go pro-

gramming language by Google is a statically typed, concurrency

and garbage collection enabled language developed at Google. Go

was developed to aim large distributed systems considering scala-

bility [128] .

Cirani et al. [129] proposed an architecture of Fog nodes as an

IoT hub using CoAP protocol. Fog node can be placed at the edge

of the network to interact with multiple physical IoT networks. Fog

node implements various protocols and act as CoAP server to per-

form various functions, such as border router between various re-

source constrained IoT networks, perform resource and service dis-

covery, act as resource directory, CoAP and HTTP gateway for inter-

communication, and caching. The authors implemented the Fog

node using Californium, which is a java based CoAP implementa-

tion. The authors deployed and evaluated Fog node using Model B

of Raspberry Pi (RPi) single board computer. Butterfield evaluated

Google’s Go language for IoT and fog scenario [128] . The results de-

picted that Go language can be used to implement fog architecture

or IoT solutions. The authors used RPi for prototype implementa-

ion and detailed simulation for evaluation and comparison with

irani et al. [129] fog implementation. The authors demonstrated

he suitability of Go language for fog implementations.

Sarkar and Misra [25] presented theoretical modeling and

athematical formulation of fog computing architecture consider-

ng its various components. The authors carried out a comparative

nalysis of fog model with cloud computing considering service la-

ency and energy consumption. Results depicted that in a scenario,

hen even a portion (25%) of IoT devices enjoy real-time services

rom fog, the energy consumption is 40% less in fog as compared

o when devices are served from cloud computing. The formula-

ion considered some realistic assumption to formulate the fog ar-

hitecture, which are: (a) terminal nodes (IoT devices) are aware

f their geo-spatial location, (b) fog tier is comprised of multiple

ntelligent devices with processing, routing, and storage capacities,

c) devices in fog tier can communicate and share computational

nd network load, and data, and (d) fog devices offer mobility sup-

ort to terminal devices. The Terminal Node (TN) is represented by

ix-tuple comprised of, Id, status, type, location, hardware specifi-

ations, and an array containing ids of all applications running on

evice. A fog device is represented by a three-tuple comprised of,

evice Id, device type, and device specifications. Multiple fog de-

ices clustered together constitute a Fog Instance (FI), which is rep-

esented by three-tuple comprised of FI Id, access point Id through

hich FI is connected to cloud, and an array representing all of the

og devices currently connected to FI.

Gupta et al. presented iFogSim, a simulation environment focus-

ng on evaluation of resource management strategies for fog com-

uting [130] . The simulator evaluates the impact of resource allo-

ation on energy consumption, latency, operational cost, and net-

ork congestions. The performance metrics are calculated by sim-

lating edge devices, cloud data centers, and the links intercon-

ecting edge devices to data centers. A Sense-Process-Actuate ap-

lication model was mainly considered for simulation. The iFogSim

as built on Cloudsim, where communication is performed by

assing messages or sending events, so no real network traffic

s simulated. Therefore, fine-grained network details, accuracy, or

ealistic communication results and latencies cannot be achieved

131] .

In [132] , Orsini et al. proposed a MEC based programming

ramework CloudAware that allowed the users to offload their

ompute-intensive tasks from smartphones to the edge servers.

his facilitates the users to speed-up the execution and develop

calable and elastic mobile applications for mobile edge. Cisco’s

arStream is a platform that allows handling of massive volumes of

igh-velocity data to provide real-time analytics at the edge [133] .

he ParStream works 20 times faster than an average database,

nd utilizes complex compression and indexing capabilities to pro-

ide large scale, faster data access. ParStream continuously ana-

yzes real-time IoT data as it is loaded and can perform sponta-

eous querying. Vortex [134] is an intelligent data sharing and an-

lytics platform for business critical IoT applications. Vortex fog

omputing provides platform independent interoperable solutions

or embedded, mobile, and enterprise environments, thereby tar-

eting areas such as healthcare, energy, transportation, and indus-

rial automation. Cisco Data in Motion (DMo) technology allows

ata management and analysis of large volumes of data coming

hrough IoT at the edge [53] . The DMo is based on extensible, scal-

ble, and modular architecture and is designed to capture real-

ime data and control flows, translating data into information for

se by higher order applications within the system [53] . Cisco IOx

135] is an application environment that is a combination of Cisco

OS, a network operating system, and Linux. The IOx allows hosting

apabilities for fog applications, and allows management of net-

ork components, such as routers, switches, and compute mod-

K. Bilal et al. / Computer Networks 130 (2018) 94–120 113

u

o

W

v

n

I

n

c

s

a

w

i

t

(

T

d

a

a

w

c

e

r

a

p

c

w

t

u

i

l

r

c

o

e

t

c

c

t

p

t

i

r

t

c

p

o

t

t

4

l

p

t

h

p

p

4

m

H

i

t

t

T

k

t

m

q

m

p

s

f

s

s

e

a

c

p

c

d

v

t

u

c

p

l

g

c

S

m

4

p

e

c

o

a

i

N

f

e

i

v

i

m

o

v

f

r

d

g

t

r

t

f

4

e

i

t

les. Moreover, the IOx provides open-source tools to allow devel-

pers create applications that execute on Cisco IoT infrastructure.

ith IOx, the fog applications can communicate with IoT devices

ia M2M protocols, and can send data to the cloud by translating

on-standard protocols to IP.

Edge computing can be exploited to enable smart e-commerce.

n a traditional setup, a customer performing online purchase may

eed to update shopping cart many times before performing the

heckout. However, all the updates made to the cart need to be

ent to the cloud. The edge supported e-commerce website will

llow the update of shopping cart at a local, nearby edge, and

hen the customer will perform the final checkout, the updated

nformation will be sent to the cloud only once, thereby reducing

he traffic on cloud. Nippon Telegraph and Telephone Corporation

NTTC) developed an edge accelerated web platform (EAWP) [124] .

he EAWP enables edge support for web applications. The user’s

evice is relieved of processing the whole application, as the loads

re distributed close to the user on the edge servers. Such mech-

nism allows the high-speed execution of web applications, even

hen the end user device has limited resources to run the appli-

ation. The load distribution and data transfer is optimized consid-

ring the user context. Various experiments conducted on EAWP

evealed significant reduction in cloud application response time,

nd NTTC reported a reduction by a factor of 100 at most. The pro-

osed EAWP allows any other web applications to run on its exe-

ution environment conforming to the traditional HTML standards

ithout any reprograming requirement. Zhu et al. [125] proposed

he concept of fog boxes to improve the website experience. The

sers connect with the internet via edge servers (fog boxes) us-

ng HTTP. The fog boxes perform various optimizations to reduce

atency.

For instance, the fog boxes perform caching of the content and

educe the size of HTML objects in case the network is slow. In

ase of network congestion, the fog boxes reduce the graphics’ res-

lutions, thereby maintaining the acceptable response times for

nd users.

To summarize, we presented numerous state of the art architec-

ures, implementations, and simulation models/platforms for edge

omputing. It can be observed from the above discussion that be-

ause of a relatively new technology and in its evolutionary phase,

he edge computing lacks any standard architecture and simulation

latform. Most of the above discussed architectures and implemen-

ations are specialized, i.e., they target specific application scenar-

os and with aims to optimize various parameters, such as latency,

esponse time, and energy consumption, etc. Moreover, there is yet

o exist a complete simulation platform for edge computing that

an be configured with numerous architectures and edge based

ricing models. In Table 3 , we present a summary of various state

f the art edge-based architectures, implementations, and simula-

ions. Next section presents the various challenges faced in adop-

ion of edge computing technologies.

. Edge computing challenges

Being a new technology, edge computing faces numerous chal-

enges, in addition to the challenges it inherits from cloud com-

uting. Most of the challenges faced by edge computing is due to

he non-standardization of edge technologies. In this section, we

ighlight some of the important challenges of edge computing that

ave the path for future research in the edge technologies. Table 4

resents a summary of research works in the areas selected.

.1. Resource management and allocation

Some generic edge architectures and resource allocation and

anagement mechanisms have been proposed in the literature.

owever, in-depth and detailed analysis and testing is still miss-

ng. In [117] , a comparison of computation and communication la-

ency is presented. It has been observed that computational la-

ency may increase based on the current load of the fog server.

herefore, appropriate resource management and allocation is a

ey. For time critical and real-time system, priority-aware compu-

ation is required in Fog instances. Delay sensitive tasks may be

arked as high priority, and fog node needs to handle such re-

uests immediately. Appropriate cost model also needs to be for-

ulated and designed, where extra charges may be received from

riority jobs in case of high load. Cloud providers already depict

uch cost model, where the cost incurred during peak hours is dif-

erent from off-peak hours. For instance, Amazon costs different for

cheduled Reserved Instances in peak and off-peak hours [136] . No

tandard, detailed, and realistic design is available to standardize

dge computing architecture, resource management, cost models,

nd interaction with cloud [65] . Some of the initial and simple ar-

hitectures have been proposed, however, they lack practical im-

lementation and resource management aspects [65] . One of the

hallenges is to identify the edge provisioning site based on the

ynamic number of users and application demands. Edge site pro-

isioning mandate two basic requirements: (a) good proximity be-

ween users and edge servers and (b) sufficient capacity to serve

ser demands [122] . Workload allocation is another challenge be-

ause of the complex real-time decision making involved about

utting how much workload on each edge layer. If too many edge

ayers are involved, the latency may reach cloud’s latency, or even

reater. The workload allocation strategy needs to balance various

onflicting objectives, such as latency, bandwidth, energy, and cost.

ome metrics need to be prioritized over others, and optimization

ust be performed dynamically making the task challenging.

.2. General purpose computing in edge

An important consideration is to enable General Purpose Com-

uting (GPC) in edge technologies. For instance, base stations are

quipped with customized Digital Signal Processors (DSPs) for spe-

ific tasks and workloads, which are unsuitable for GPC [35] . More-

ver, base stations are not considered suitable because of cost and

rchitectural concerns to be used for GPC [64] . Furthermore, exist-

ng edge computing software solutions, such as Cisco IOx [135] and

okia software solution [137] are specialized solutions designed

rom specific hardware and are unsuitable in heterogeneous edge

nvironments. Considering general purpose processors to be used

n base stations or routers or other edge devices require heavy in-

estments and may pose performance concerns [35] . Being in its

nfancy, there are very limited insights in edge to cloud interaction

odels. Edge resources or services may act as a proxy on behalf

f user, or act as a forwarding agent in case edge is unable to ser-

ice the users’ request. As edge instances also cache data, there-

ore, appropriate models for synchronization and updates is also

equired. The programming models for edge will require task and

ata level parallelism to support real-time applications. The pro-

ramming languages involved in programming models will need to

ake into account the diversity and heterogeneity of devices. These

equirements are different from traditional cloud computing where

he use cases are well defined and most hardware and software

rameworks are compatible.

.3. Security and privacy

One of the major challenges in deployment and adoption of

dge computing paradigm is privacy and security. Edge computing

mplementations in terms of size and investments are way smaller

han cloud infrastructure and way more in terms of number and

114 K. Bilal et al. / Computer Networks 130 (2018) 94–120

Table 3

Summary of edge computing architectures, resource management, evaluations, and simulations.

Area/Application Reference Idea presented

Edge computing architectures [120] Zhang et al. presented a multi-tiered architecture for delay sensitive cloud Data Service Subscribers (DSS). Three

considered tiers are DSS, Massive Data Centers (MDCs), and Fog instances.

[121] Eui-Nam et al. presented an architecture of a smart gateway with fog computing. The proposed architecture had

several layers, such as physical and virtualization layer, monitoring layer, preprocessing layer, transport layer

[126] Zeng et al. proposed a fog computing supported software-defined embedded system (FC-SDES). Task scheduling

problem is investigated in FC-SDES. The system consists of edge devices equipped with computation and storage

resources and embedded client systems are general purpose hardware.

[129] Cirani et al. proposed an architecture of Fog nodes as an IoT hub using CoAP protocol. Fog node can be placed at the

edge of the network to interact with multiple physical IoT networks.

[25] Sarkar and Misra presented theoretical modeling and mathematical formulation of fog computing architecture

considering its various components. The authors carried out a comparative analysis of fog model with cloud

computing considering service latency and energy consumption.

Edge computing resource

management

[120] Resource management is achieved using Game programming. Multi-leader, multi-follower Stakelberg games are used

for interaction between fog and MDCs, and single-leader single-follower Stakelberg game between DSS and MDCs

are implemented.

[122] Yin et al. proposed Tentacle, a dynamic and on the fly resource provisioning algorithm to procure edge servers for

online service providers. The framework identifies the best location based on the users’ proximity and service

requirements considering the Network Coordinate (NC) system based ranking.

[26] Azam and Hu presented a service oriented strategy to effectively and efficiently manage resources in fog computing.

The authors considered a customer based resource estimation model considering various traits of customers. In their

model, Cloud Service Customer (CSC) and fog negotiate for resource requirements to provide specific services and

SLA.

[27] Aazam et al. categorized IoT devices based on devices’ mobility and nature to efficiently perform resource allocation. A

detailed pricing model was also discussed

[123] Do et al. proposed a resource allocation algorithm to optimize the traffic distribution between fog and data center for

video streaming applications

[26] A service oriented model for resource management within IoT devices is proposed that utilized fog computing for fair

management of resources and addresses issues related to resource management, such as resource prediction,

resource estimation, advance reservation, and pricing.

[122] Dynamic edge service provisioning and its prospects are discussed in this proposal.

Edge computing evaluation [121] Eui-Nam et al. used a testbed to evaluate the performance of their architecture by analyzing the communication

between gateway and the cloud. The performance parameters were upload delay, bulk-data upload delay,

synchronization delay, and bulk-data synchronization delay.

[128] Butterfield evaluated Google’s Go language for IoT and fog scenario. The results depicted that Go language can be used

to implement fog architecture for IoT solutions. The authors used RPi for prototype implementation and detailed

simulation.

Edge computing

implementation

[124] Nippon Telegraph and Telephone Corporation (NTTC) developed an edge accelerated web platform (EAWP). The EAWP

enables edge support for web applications. The user’s device is relieved of processing the whole application, as the

loads are distributed close to the user on the edge servers.

[26] A service oriented model for resource management within IoT devices is proposed by Aazam et al. The implementation

of the proposed work is performed in java, whereas the model was evaluated with CloudSim simulator.

[129] Cirani et al. implemented the Fog node using Californium, which is a java based CoAP implementation. Fog node

implements various protocols and act as CoAP server to perform various functions, CoAP and HTTP gateway for

inter-communication, and caching.

[132] Orsini et al. proposed a MEC based programming framework CloudAware that allowed the users to offload their

compute-intensive tasks from smartphones to the edge servers. This facilitates the users to speed-up the execution

and develop scalable and elastic mobile applications for mobile edge.

[133] Cisco’s ParStream is a platform that allows handling of massive volumes of high-velocity data to provide real-time

analytics at the edge.

[134] Vortex fog computing provides platform independent interoperable solutions for embedded, mobile, and enterprise

environments, thereby targeting areas such as healthcare, energy, transportation, and industrial automation.

[53] Cisco Data in Motion (DMo) technology allows data management and analysis of large volumes of data coming

through IoT at the edge. The DMo is based on extensible, scalable, and modular architecture and is designed to

capture real-time data and control flows, translating data into information for use by higher order applications

within the system.

[135] Cisco IOx is an application environment that is a combination of Cisco IOS, a network operating system, and Linux.

The IOx allows hosting capabilities for fog applications, and allows management of network components, such as

routers, switches, and compute modules.

[124] Nippon Telegraph and Telephone Corporation (NTTC) developed an edge accelerated web platform (EAWP). The EAWP

enables edge support for web applications. The user’s device is relieved of processing the whole application, as the

loads are distributed close to the user on the edge servers.

[125] Zhu et al. proposed the concept of fog boxes to improve the website experience. The users connect with the internet

via edge servers (fog boxes) using HTTP. The fog boxes perform various optimizations to reduce latency.

Edge computing simulation [130] Gupta et al. presented iFogSim, a simulation environment focusing on evaluation of resource management strategies

for fog computing. The simulator evaluates the impact of resource allocation on energy consumption, latency,

operational cost, and network congestions.

t

t

p

t

l

f

granularity. The organizations offering small edge computing solu-

tions belonging to small businesses are less interested in investing

in security and privacy infrastructure [138] . Moreover, at the core

of the edge computing are the enabling technologies, such as peer-

to-peer systems, wireless networks, distributed systems, IoT, and

virtualization platforms. To secure edge, all the aforementioned

echnologies must be secured while keeping in consideration that

he interoperability and integration of devices should not be com-

romised. Addressing the security of cloud is comparatively easier

han edge because of the centralized nature and a single control-

ing authority of cloud paradigm. In edge, the services migrating

rom one device to other, or from one edge to another edge de-

K. Bilal et al. / Computer Networks 130 (2018) 94–120 115

Table 4

Summary of edge computing work in various areas as presented in Section 4 .

Area/Application Ref. Idea presented

Resource management [117] A comparison of computation and communication latency is presented. It has been observed that computational

latency may increase based on the current load of the fog server. Therefore, appropriate resource management and

allocation is a key.

[157] A cost efficient resource management scheme is presented for fog computing supported medical cyber physical

systems (FC-MCPS). The base station association, task distribution, and virtual machine placement is investigated

jointly. Problem is formulated into a mixed-integer non-linear programming and linearized to mixed integer linear

programming.

[158] A hierarchical game framework for resource management in fog computing is proposed. A three-layer hierarchical

game framework to solve challenges in fog computing is designed. Stackelberg sub-game is used for interaction

between data server operators and fog networks. Matching sub-game is used for the interaction between fog

networks and authorized data service subscribers.

[159] A fog computing structure presented along with crowd-funding algorithm to integrate spare resources in the network.

Incentives mechanisms are implemented to encourage owners to share their resources.

General purpose computing [160] Designed SONM’S secure and cost efficient fog supercomputer for general purpose computing, from mobile app

hosting to video rendering and DNA analysis. Users all over the world can leverage their idle computer power to

become part of SONM network.

Security [161] Proposed a security technique called Encrypted Data Flow Mechanism (EDFM) based on the concept of Fog computing

to secure cloud storage from unauthorized/illegal access. The simulated environment utilizes a fog data center called

Broker to hide the actual cloud storage underneath it.

[162] Proposed various potential threats to IoT fog, and existing security measures to mitigate those threats.

Scalability [163] The paper proposed a fog computing paradigm that utilizes buses’ network for service offloading. The bus based fog

servers provide fog services to passengers, as well as perform computation offloading to road side cloudlets.

Allocations are performed using genetic algorithm (GA).

Data abstraction [121] Azam et al. proposed a smart gateway architecture for cloud computing. The gateway performs data collection,

preprocessing, filtering, and reconstruction of data into useful form, and uploads only necessary data to the cloud.

p

p

c

t

b

e

s

l

t

s

r

v

d

w

a

a

u

c

a

d

f

a

v

a

c

c

h

t

v

i

i

q

d

r

c

c

[

4

w

n

c

i

a

C

e

v

t

a

l

t

e

a

s

4

s

d

d

w

b

r

c

p

t

d

t

e

g

e

loyed by different vendors can create vulnerabilities, and security

rovisions in this regard are not widely studied. All the privacy

oncerns related data transfer from user to edge and from edge

o cloud must be taken into account. The user devices may not

e resourceful enough to run complex cryptography algorithms to

ncrypt the data. Similarly, the edge devices may consist of micro

ervers (e.g., fog made of raspberry pi computers), which may take

onger to encrypt data, thus increasing the latency. More impor-

antly, most of the end users usually are not aware of privacy and

ecurity, so there must be some automatic mechanisms ensuring

un-time privacy of user data. For instance, in a survey, it was re-

ealed that 80% of Wi-Fi users have their wireless routers set on

efault password out of 439 million subscribers, and 49% user net-

orks are unsecured [7] . Moreover, 89% of public Wi-Fi hotspots

re unsecured [7] . It is reported in [9] that by year 2020, 10% of

ll the attacks will target IoT systems. It is also critical to isolate a

ser’s private data from other data collected by third party appli-

ations. For instance, an activity tracking application should not be

ble to access the electricity usage data of a user [7] . The specific

ata control access mechanisms should be implemented on edge

rameworks to ensure data privacy.

Edge computing can also act as a middleware to secure the data

t edge before sending it out to the Internet and cloud [65] . IoT de-

ices being lightweight with limited battery, processing, and stor-

ge, are not suitable to perform security related tasks, such as en-

ryption. However, security and privacy being one of the utmost

oncerns in Cloud of Things (CoT) paradigm, edge computing in-

erently can offer a middle tier to secure the data before sending

o cloud, offering a convenient solution to resource constrained de-

ices. Stojmenovic et al. [139] discussed the security and privacy

ssues of fog computing. The authors studied the effects of man-

n-the-middle attack on fog computing, and discussed the conse-

uences of this attack on CPU and memory consumption of fog

evices. Rodrigo et al. [140] presented a detailed survey on secu-

ity threats and challenges on mobile edge, and fog computing. Lo-

alGrid’s fog computing platform provides standardizations and se-

ured end-to-end data communications from edge devices to cloud

141] .

l

s

w

.4. Scalability

Cloud computing utilizes resource from multiple data centers

ith tens to hundreds of thousands of serves. However, edge tech-

ologies are very high in number, and possess small number of

omputation and storage resources. Resource overprovisioning is

nfeasible because of the cost and energy concerns. Therefore, scal-

bility and rapid resource provisioning is of significant importance.

onsidering the limited resources and delay sensitive services in

dge computing domain, timely provisioning of resource to ser-

ice the request is vital. In case of non-availability of resources,

ime critical applications, specifically services related to healthcare

nd emergency evacuation may have catastrophic impact. Simi-

arly, user interactive and multimedia related applications cannot

olerate extra delay for waiting or request forwarding to nearest

dge service. Therefore, necessary resource provisioning strategies,

nd priority based provisioning are required to be discussed by re-

earch community.

.5. Data abstraction

One of the important challenges of edge computing is data ab-

traction. Data abstraction is the preprocessing and trimming of

ata at edge before sending the data to cloud. The IoT devices pro-

uce huge volumes of data. Sending such large datasets to cloud

ill lead to the congestion of both the backbone network and over-

urdening of datacenters.

The data should be preprocessed and filtered at edge device to

emove noise, low quality data, and for privacy protection (by trun-

ating the unauthorized data). However, the data abstraction im-

ose several challenges. If too much trimming of data is performed,

his may result in the loss of some useful information, thereby re-

ucing the precision/accuracy of data. If data is subjected to less

rimming, unwanted data may also be sent towards cloud causing

xtra burden on resources. Azam and Huh [121] proposed a smart

ateway architecture for cloud computing. The smart gateway can

ither be directly connected with the IoT devices using single-hop

ink, or multiple IoT devices are connected with base stations and

ink nodes, which in turn are connected with gateway. The gate-

ay performs data collection, preprocessing, filtering, and recon-

116 K. Bilal et al. / Computer Networks 130 (2018) 94–120

A

1

F

i

h

R

struction of data into useful form, and uploads only necessary data

to the cloud.

4.6. Fault tolerance and quality of service

Maintaining acceptable levels of QoS and fault tolerance is an

important issue in edge computing. Due to distributed nature of

edge, the existing methods of fault tolerance in cloud will not be

applicable to edge computing. The edge is primarily designed for

real-time applications, so the fault tolerance should be proactive

and there must be automatic recovery from faults. The edge de-

vices should not be overburdened so that the minimum level of

QoS must be maintained. Therefore, a proper monitoring mech-

anism should be deployed that inspect the peak hour usage of

edge nodes, thereby facilitating the task partitioning and schedul-

ing in flexible manner. Another challenge in maintaining QoS in

edge computing is when multiple edges are involved in collab-

oration, also known as collaborative edge [7] . For instance, such

scenario may occur when a user moves from the area of cover-

age of one edge to another edge. In this case, the user data must

be available on the other edge node. A solution to this issue is to

cache user data on multiple edges in collaboration. However, this

will raise the issue of increased traffic among participating edges.

Therefore, optimal data placement and replication strategies needs

to be designed that reduce the latency and traffic, within minimum

acceptable thresholds of QoS.

5. Conclusions

This survey discussed in detail the emerging technologies and

the state-of-the-art in edge computing and its various applications.

With the multifold increase in IoT enabled devices and their appli-

cations, especially those that require near real-time response, the

traditional cloud computing paradigm faces numerous challenges

in terms of latency, scalability, and computation. The cloud data

centers are deployed at far places due to which response time

could be a few milliseconds to few seconds. Moreover, the user

application may be generating large volumes of data to be sent to

cloud that may cause significant overhead on backbone network.

Edge computing is solution to the aforementioned problems, as it

brings the computational and storage resources closer to the end

user devices, and reduce burden on cloud. The edge computing

technologies discussed in the survey are: fog, cloudlets, micro dat-

acenters, and mobile edge. The aforementioned technologies have

some basic differences, but they are all based on the same idea

having similar objectives, i.e., to bring the computation and stor-

age resources at the edge of the network near the end users. As

a key contribution, a comprehensive list of the potentials, applica-

tions, architectures, and evaluations are also presented in the sur-

vey, along with the state of the art in the aforementioned. In the

end, some of current challenges of edge computing are discussed.

As a future work, we aim to develop a simulator for edge com-

puting that will allow users to model the three layers: (a) IoT layer,

consisting of heterogeneous IoT devices, (b) edge layer, consisting

of networked edge servers, and (c) cloud layer, connected with

edge and backbone network. The users will be able to test their

applications’ efficiency in terms of response time, energy consump-

tion, latency, and computational resources usage. We also aim to

design and integrate a billing model with the simulator that will

allow researchers to design and test their applications that gen-

erate maximum revenues at service provider’s end with reduced

price for customer without compromising the QoS parameters and

given set of constraints.

cknowledgement

This publication was made possible by NPRP grant # [ 8-519-1-

08 ] from the Qatar National Research Fund (a member of Qatar

oundation). Samee U. Khan’s work was supported by (while serv-

ng at) the National Science Foundation . The findings achieved

erein are solely the responsibility of the author[s].

eferences

[1] K. Bilal , S.U.R. Malik , S.U. Khan , A.Y. Zomaya , Trends and challenges in cloud

data centers, IEEE Cloud Comput. 1 (1) (2014) 10–20 . [2] K. Bilal , S.U.R. Malik , O. Khalid , A. Hameed , E. Alvarez , V. Wijaysekara , R. Ir-

fan , S. Shrestha , D. Dwivedy , M. Ali , U.S. Khan , A. Abbas , N. Jalil , S.U. Khan , A taxonomy and survey on green data center networks, Future Gener. Comput.

Syst. 36 (2014) 189–208 . [3] K. Bilal , S.U. Khan , A.Y. Zomaya , Green data center networks: challenges and

opportunities, in: 11th IEEE International Conference on Frontiers of Informa-

tion Technology (FIT), Islamabad, Pakistan, December 2013, pp. 229–234 . [4] K. Bilal , S.U. Khan , S.A. Madani , K. Hayat , M.I. Khan , N. Min-Allah , J. Kolodziej ,

L. Wang , S. Zeadally , D. Chen , A survey on green communications using adap- tive link rate, Cluster Comput. 16 (3) (2013) 575–589 .

[5] Z. Chen , L. Jiang , W. Hu , K. Ha , B. Amos , P. Pillai , A. Hauptmann , M. Satya- narayanan , Early implementation experience with wearable cognitive assis-

tance applications, in: Proceedings of WearSys 2015, Florence, Italy, May 2015 .

[6] O. Fratu , C. Pena , R. Craciunescu , Fog computing system for monitoring mild dementia and COPD patients, in: 12th International Conference on Telecom-

munication in Modern Satellite, Cable and Broadcasting Services (TELSIKS), 2015, pp. 123–128 .

[7] W. Shi , J. Cao , Q. Zhang , Y. Li , L. Xu , Edge computing: vision and challenges, IEEE Internet Things J. 3 (5) (2016) 637–646 .

[8] IDC FutureScape: Worldwide Internet of Things 2016 Predictions, https://www.idc.com/research/viewtoc.jsp?containerId=259856 Accessed:

January, 2017.

[9] IDC FutureScape: Worldwide Internet of Things 2017 Predictions [on- line]. Available: https://www.idc.com/research/viewtoc.jsp?containerId

=US40755816 , Accessed: January, 2017. [10] Cisco Global Cloud Index: Forecast and Methodology, 2015–2020,

http://www.cisco.com/c/dam/en/us/solutions/collateral/service- provider/ global- cloud- index- gci/white- paper- c11- 738085.pdf , Accessed January, 2017.

[11] 4 Vs of Big Data, [online] Available: http://www.ibmbigdatahub.com/sites/

default/files/infographic _ file/4- Vs- of- big- data.jpg , Accessed: January, 2017. [12] E. Borcoci , Fog computing, mobile edge computing, cloudlets - which one?

2016 Conference SoftNet, Rome, August 21, 2016 . [13] F. Bonomi , R. Milito , J. Zhu , S. Addepalli , Fog computing and its role in the

internet of things, in: Proceedings of the first edition of the MCC workshop on Mobile cloud computing, Helsinki, Finland, 2012, pp. 13–16 .

[14] F. Bonomi , R. Milito , P. Natarajan , Jiang Zhu , Fog computing: a platform for

internet of things and analytics, in: Book Chapter, Big Data and Internet of Things: A Roadmap For Smart Environments , in: Studies in Computational In-

telligence, vol. 546, Springer, March 2014, pp. 169–186 . [15] M.T. Beck , M. Werner , S.F.L. Maximilian , T. Schimper , Mobile edge comput-

ing: a taxonomy, The Sixth International Conference on Advances in Future Internet, 2014 .

[16] G.I. Klas , Fog computing and mobile edge cloud gain momentum, Open Fog

Consortium, ETSI MEC and Cloudlets, 2015 . [17] V. Avelar, Practical Options for Deploying Small Server Rooms and Mi-

cro Data Centers, Revision 1, White Paper [online] Available: http://www. datacenterresearch.com/whitepaper/practical- options- for- deploying- small-

server- rooms- and- micro- 9014.html , Accessed: January, 2017. [18] B. Brown Microsoft Researcher: Why Micro Datacenters Really Matter

To Mobile’s Future, [online] Available: http://www.networkworld.com/

article/2979570/cloud- computing/microsoft- researcher- why- micro- datacenters- really- matter- to- mobiles- future.html , Accessed: January, 2017.

[19] M. Satyanarayanan, P. Bahl, R. Cáceres, N. Davies, L. University, The case for VM-based cloudlets in mobile computing, IEEE Perv. Comput. 8 (4) (2009),

doi: 10.1109/MPRV.2009.82 . [20] Cloudlet-based Mobile Computing [online]. Available:

http://elijah.cs.cmu.edu/ , Accessed: January, 2017.

[21] V. Valancius, N. Laoutaris, L. Massoulié, P. Rodriguez, Greening the inter- net with nano data centers, in: Proceedings of the 2009 ACM Conference

on Emerging Networking Experiments and Technology, CoNEXT, Rome, Italy, 2009, doi: 10.1145/1658939.1658944 .

[22] Content Delivery Networks Interconnection (CDNI), [online] Available: https://datatracker.ietf.org/wg/cdni/charter/ , Accessed: January, 2017.

[23] Final Version of NIST Cloud Computing Definition Published, October 25, 2011. [online] Available: https://www.nist.gov/news- events/news/2011/10/

final- version- nist- cloud- computing- definition- published , Accessed: February,

2017, 2011. [24] P.G.V. Naranjo , M. Shojafar , L. Vaca-Cardenas , C. Canali , R. Lancellotti , E. Bac-

carelli , Big data over SmartGrid - a fog computing perspective, 24th Interna- tional conference on software, telecommunications, and computer networks,

2016 .

K. Bilal et al. / Computer Networks 130 (2018) 94–120 117

[25] S. Sarkar , S. Misra , Theoretical modelling of fog computing: a green comput- ing paradigm to support IoT applications, IET Netw. 5 (2) (2016) 23–29 .

[26] M. Aazam , E. Huh , Dynamic resource provisioning through fog micro datacen- ter, in: The 12th IEEE International Workshop on Managing Ubiquitous Com-

munications and Services, 2015, pp. 105–110 . [27] M. Aazam , E. Huh , K. Hee , Fog computing micro datacenter based dynamic

resource estimation and pricing model for IoT, IEEE 29th International Con- ference on Advanced Information Networking and Applications, 2015 .

[28] T.H. Luan, L. Gao, Z. Li, Y. Xiang, and L. Sun, Fog computing: focusing on mo-

bile users at the edge, [online] arXiv: 1502.01815 , 2015. [29] I. Stojmenovic, S.W.X. Huang, H. Luan, An overview of Fog computing and its

security issues, Concurr. Comput. Pract. Experience. (2015), doi: 10.1002/cpe. 3485 .

[30] S. Yi , C. Li , Q. Li , A survey of fog computing: concepts, applications and issues, in: Proceedings of the 2015 Workshop on Mobile Big Data, Hangzhou, China,

2015, pp. 37–42 .

[31] A. Ahmed, E. Ahmed, A survey on mobile edge computing, 10th IEEE Interna- tional Conference on Intelligent Systems and Control, 2016, doi: 10.1109/ISCO.

2016.7727082 . [32] M. Aazam , E. Huh , M. St-Hilaire , C. Lung , I. Lambadaris , Cloud of things: inte-

gration of IoT with cloud computing, in: Robots and Sensor Clouds, in: Studies in Systems, Decision and Control, vol. 36, Springer, August 2015, pp. 77–94 .

[33] A.V. Dastjerdi , R. Buyya , Fog computing: helping the internet of things realize

its potential, IEEE Comput. Soc. 49 (08) (2016) 112–116 . [34] V. Dastjerdi , H. Gupta , R.N. Calheiros , S.K. Ghosh , R. Buyya , Fog Comput-

ing: principles, architectures, and applications, in: R. Buyya, A.V. Dastjerdi (Eds.), Internet of Things Principles and Paradigms, Elsevier, USA, 2016 ISBN:

978-0-12-805395-9, Chapter 4 . [35] B. Varghese , N. Wang , S. Barbhuiya , P. Kilpatrick , D.S. Nikolopoulos , Challenges

and opportunities in edge computing, in: IEEE International Conference on

Smart Cloud (SmartCloud), 2016, pp. 18–20 . [36] 5 Ways Netflix is Changing Telecom Networks, [online] Available: https://

www.linkedin.com/pulse/5- ways- netflix- changing- telecom- networks- avi- dorfman- 1 , Accessed: December, 2016.

[37] E. Nygren , R.K. Sitaraman , J. Sun , The Akamai network: a platform for high- performance internet applications, ACM SIGOPS Oper. Syst. 44 (3) (July 2010)

2–19 .

[38] K. Ha , P. Pillai , G. Lewis , S. Simanta , S. Clinch , N. Davies , M. Satyanarayanan , The impact of mobile multimedia applications on data center consolidation,

in: 2013 IEEE International Conference on Cloud Engineering (IC2E), March 2013, pp. 166–176 .

[39] Green Clouds, [online] Available: http://www.greenclouds.in/resources/ , Ac- cessed: January, 2017.

[40] A. Giordano, G. Spezzano, Smart agents and fog computing for smart city ap-

plications, Smart Cities (2016) 137–146, doi: 10.1007/978- 3- 319- 39595- 1 _ 14 . [41] S. Agarwal , M. Philipose , P. Bahl , Vision: the case for cellular small cells for

cloudlets, in: Proceedings of the fifth international workshop on Mobile cloud computing & services, 2014, pp. 1–5 .

[42] T. Maqsood , O. Khalid , R. Irfan , S.A. Madani , S.U. Khan , Scalability issues in online social networks, ACM Comput. Surv. (2016) .

[43] Foursquare by the Numbers [online]. Available: http://venturebeat.com/2015/ 08/18/foursquare- by- the- numbers- 60m- registered- users- 50m- maus- and-

75m- tips- to- date/ , Accessed: January, 2017.

[44] Foursquare Aims [online]. Available: https://techcrunch.com/2013/03/16/ foursquare- aims- at- a- moving- target- as- it- tries- to- close- another- round- of-

funding/ , Accessed: January, 2017. [45] Nike + Sports Tracking [online]. Available: http://nikeplus.nike.com , Accessed:

January, 2017. [46] Runtastic Sports Tracking [online]. Available: https://www.runtastic.com/ , Ac-

cessed: January, 2017.

[47] Runkeeper Sports Tracking [online]. Available: http://runkeeper.com , Ac- cessed: January, 2017.

[48] Endomondo Sports Tracking [online]. Available: http://www.endomondo.com , Accessed: January, 2017.

[49] R. Cortesa , X. Bonnaireb , O. Marina , P. Sensa , Stream processing of healthcare sensor data: studying user traces to identify challenges from a big data per-

spective, in: The 4th International Workshop on Body Area Sensor Networks

(BASNet-2015), Procedia Computer Science, 52, 2015, pp. 10 04–10 09 . [50] D. Costenaro , A. Duer , The megawatts behind your megabytes: going from

data-center to desktop, ACEEE Summer Study on Energy Efficiency in Build- ings, 2012 .

[51] F. Jalali , Energy Consumption of Cloud Computing and Fog Computing Appli- cations PhD Thesis, The University of Melbourne, 2015 .

[52] Data Never Sleeps 2.0 [online]. Available: https://www.domo.com/learn/

data- never- sleeps- 2 , Accessed: January, 2017. [53] Cisco Data in Motion [online] Available: https://developer.cisco.com/site/

data- in- motion/discover/overview/ , Accessed: January, 2017. [54] K. Ha , Z. Chen , W. Hu , W. Richter , P. Pillai , M. Satyanarayanan , Towards wear-

able cognitive assistance, in: Proceedings of the Twelfth International Confer- ence on Mobile Systems, Applications and Services (MobiSys 2014), Bretton

Woods, NH, June 2014 .

[55] D. Ye , M. Wu , S. Tang , R. Yu , Scalable fog computing with service offloading in bus networks, in: 2016 IEEE 3rd International Conference on Cyber Security

and Cloud Computing (CSCloud), 2016, pp. 247–251 . [56] Cisco Unified Computing System [online] Available:

http://www.cisco.com/c/en/us/products/servers- unified- computing/index. html , Accessed: January, 2017.

[57] VxBlock and Vblock Systems [online] Available: https://www.emc.com/ en- us/converged- infrastructure/converged- systems.htm#collapse= , Accessed:

January, 2017. [58] Dell Active System Manager [online] Available: http://www.dell.com/learn/us/

en/05/large- business/solution- converged- infrastructure- asim , Accessed: Jan- uary, 2017.

[59] Schneider Electrics Microdata centers [online] Available: https://www.

schneider- electric.com/b2b/en/solutions/system/s4/data- center- and- network- systems- micro- data- center , Accessed: January, 2017.

[60] DX Raser [online] Available: https://www.ellipticalmobilesolutions.com/ raserdx.html , Accessed: January, 2017.

[61] MicroDC Solution [online], Available: http://e.huawei.com/en/solutions/ industries/retail/shoppingmall/medium- sized- store , Accessed: January, 2017.

[62] Mobile Edge Computing [online] Available: http://www.etsi.org/

technologies- clusters/technologies/mobile- edge- computing , Accessed: Jan- uary, 2017.

[63] Mobile Edge Computing, Nokia [online], Available: https://networks.nokia. com/solutions/multi- access- edge- computing , Accessed: January, 2017.

[64] S. Agarwal , M. Philipose , P. Bahl , Vision: the case for cellular small cells for cloudlets, in: Proceedings of the International Workshop on Mobile Cloud

Computing & Services, 2014, pp. 1–5 .

[65] M. Aazam , E. Huh , Fog computing: the cloud-IoT/IoE middleware paradigm, IEEE Potentials (2016) 40–44 .

[66] S. Sarkar, S. Chatterjee, and S. Misra, Assessment of the suitability of fog computing in the context of internet of things, IEEE Trans. Cloud Comput. ,

doi: 10.1109/TCC.2015.2485206 . [67] Boeing 787 s to Create Half a Terabyte of Data [online] Avail-

able: http://www.computerworlduk.com/data/boeing- 787s- create-

half- terabyte- of- data- per- flight- says- virgin- atlantic- 3433595/ , Accessed: January, 2017.

[68] Self-driving Cars Will Create 2 Petabytes of Data, [online] Available: https: //datafloq.com/read/self- driving- cars- create- 2- petabytes- data- annually/172 ,

Accessed: January, 2017. [69] The internet of things in smart commercial buildings 2016 to 2021, Mar-

ket Prospects, Impacts and Opportunities [online] Available: http://www.

memoori.com/portfolio/internet- things- smart- commercial- buildings- 2016- 2021/ , Accessed: January, 2017.

[70] Gooee Enterprise Iot Lighting and Ecosystem [online] Available: https://gooee. com/ , Accessed: January, 2017.

[71] PointGrab, [online] Available: http://www.pointgrab.com/about , Accessed: January, 2017.

[72] IoT Partnership for Smart Building Lighting [online] https://www.senseware.

co/smart- building- solutions- integration- key/ , Accessed: January, 2017. [73] C. Boles, Intel IoT Solutions Transforming Smart Buildings from the

Ground Up [online] Available: http://blogs.intel.com/iot/2016/06/07/ intel- iot- solutions- transforming- smart- buildings- ground/ , Accessed: Jan-

uary, 2017. [74] Saving Energy with Intel and AVOB | Smart Building Management [on-

line]. Available: http://www.intel.com/content/www/us/en/internet- of- things/ solution- briefs/avob- smart- building- management- brief.html , Accessed: Jan-

uary, 2017.

[75] S.K. Datta, C. Bonnet, and J. Haerri, Fog computing architecture to enable con- sumer centric internet of things services, EURECOM , Biot, France.

[76] L.A. Tawalbeh , W. Bakheder , H. Song , A mobile cloud computing model using the cloudlet scheme for big data applications, in: Connected Health: Applica-

tions, Systems and Engineering Technologies (CHASE), 2016 IEEE First Inter- national Conference on, IEEE, 2016, pp. 73–77 .

[77] R. Brzoza-Woch , M. Konieczny , P. Nawrocki , T. Szydlo , K. Zielinski , Embedded

systems in the application of fog computing – levee mon0069cFDtoring use case, in: 2016 11th IEEE Symposium on Industrial Embedded Systems (SIES),

2016, pp. 1–6 . [78] White paper: “Cisco Visual Networking Index: Forecast and Methodology,

2015–2020,“ 2015, Document ID:1465272001663118. [79] N. Chen , Y. Chen , Y. You , H. Ling , P. Liang , R. Zimmermann , Dynamic urban

surveillance video stream processing using fog computing, in: 2016 IEEE Sec-

ond International Conference on Multimedia Big Data, 2016, pp. 105–112 . [80] K. Bilal , A. Erbad , Impact of multiple video representations in live streaming:

a cost, bandwidth, and QoE analysis, IEEE International Conference on Cloud Engineering (IC2E’17), April 2017 .

[81] F. Chen , C. Zhang , F. Wang , J. Liu , X. Wang , Y. Liu , Cloud-assisted live stream- ing for crowdsourced multimedia content, in: IEEE Transactions on Multime-

dia, vol. 17, Sept. 2015, pp. 1471–1483 .

[82] K. Pires , G. Simon , YouTube live and Twitch: a tour of user-generated live streaming systems, in: Proceedings of the 6th ACM Multimedia Systems Con-

ference (MMSys ’15), New York, 2015 . [83] Akamai, Akamai’s State of the Internet Q1, Akamai’s State of the Inter-

net Q1, vol.7, 2014 report[online] Available: https://www.akamai.com/uk/ en/multimedia/documents/state- of- the- internet/akamai- state- of- the-

internet- report- q4- 2014.pdf .

[84] Akamai, Akamai’s State of the Internet Q1, Akamai’s State of the Internet Q1, vol. 9, 2016 report[online] Available: https://www.

akamai.com/es/es/multimedia/documents/state- of- the- internet/akamai- state- of- the- internet- report- q1- 2016.pdf .

118 K. Bilal et al. / Computer Networks 130 (2018) 94–120

[85] Amazon CloudFront Pricing [online] Available: https://aws.amazon.com/ cloudfront/pricing , Accessed: January, 2017.

[86] Twitch, The 2015 Retrospective [online] Available: https://www.twitch.tv/ year/2015 , Accessed: January, 2017.

[87] A. Hamza , M. Hefeeda , Adaptive streaming of interactive free viewpoint videos to heterogeneous clients, 7th International Conference on Multimedia

Systems (MMSys ’16), New York, 2016 . [88] S. Banerjee , D.O. Wu , Final Report from the NSF Workshop on Future Direc-

tions in Wireless Networking, National Science Foundation, Nov. 2013 .

[89] M. Satyanarayanan , P. Simoens , Y. Xiao , P. Pillai , Z. Chen , K. Ha , W. Hu , B. Amos , Edge analytics in the internet of things, IEEE Perv. Comput. 14 (2)

(April-June 2015) . [90] M. Mukerjee , D. Naylor , J. Jiang , S. Seshan , H. Zhang , Practical, real-time cen-

tralized control for CDN-based live video delivery, SIGCOMM Comput. Com- mun. Rev. 45 (4) (2015) 311–324 .

[91] P. Simoens , Y. Xiao , P. Pillai , Z. Chen , K. Ha , M. Satyanarayanan , Scalable

crowd-sourcing of video from mobile devices, in: Proceedings of the Eleventh International Conference on Mobile Systems, Applications and Services (Mo-

biSys 2013), Taipei, Taiwan, June 2013 . [92] M. Ramon , S. Caharel , B. Rossion , The speed of recognition of personally fa-

miliar faces, Perception 40 (4) (2011) 437–449 . [93] C. Wei , V.C. Leung , L. Hu , A cloudlet-assisted multiplayer cloud gaming sys-

tem, Mob. Netw. Appl. 19 (2) (2014) 144–152 .

[94] S.J.R. Méndez , Y. Wang , T.R. Mullen , T. Jung , Augmented brain computer in- teraction based on fog computing and linked data, 2014 International Confer-

ence on Intelligent Environments (IE), 2014 . [95] headit [online] Available: http://headit.ucsd.edu/ , Accesses: January, 2017.

[96] PhysioNet [online] Available: https://www.physionet.org/ , Accessed: January, 2017.

[97] BrainMap [online] Available: http://www.brainmap.org/ , Accessed: January,

2017. [98] T. Soyata , R. Muraleedharan , C. Funai , M. Kwon , W. Heinzelman , Cloud-vision:

real-time face recognition using a mobile-cloudlet-cloud acceleration archi- tecture, in: 2012 IEEE Symposium on Computers and Communications (ISCC),

2012, pp. 59–66 . [99] F. Jalali, K. Hinton, R. Ayre, T. Alpcan, R.S. Tucker, Fog computing may help to

save energy in cloud computing, IEEE J. Sel. Areas Commun. (2015), doi: 10.

1109/JSAC.2016.2545559 . [100] K. Gai , M. Qiu , H. Zhao , L. Tao , Z. Zong , Dynamic energy-aware cloudlet-based

mobile cloud computing model for green computing, J. Netw. Comput. Appl. 59 (2016) 46–54 .

[101] X. Sun and N. Ansari, Green cloudlet network: a distributed green mobile cloud network, arXivpreprint arXiv: https://arxiv.org/abs/1605.07512 (2016).

[102] J. Li , J. Jin , D. Yuan , M. Palaniswami , K. Moessner , EHOPES: data-centered fog

platform for smart living, in: 2015 International Telecommunication Networks and Applications Conference (ITNAC), 2015, pp. 308–313 .

[103] M. Sneps-Sneppe and D. Namiot, On mobile cloud for smart city applications, arXiv preprint arXiv: https://arxiv.org/abs/1605.02886 , 2016.

[104] T. Tarik , S. Dutta , A. Ksentini , M. Iqbal , H. Flinck , Mobile edge computing po- tential in making cities smarter, IEEE Commun. Mag. (2016) .

[105] A. Ksentini , T. Taleb , F. Messaoudi , A LISP-based implementation of follow me cloud, IEEE Access 2 (Oct. 2014) 1340–1347 .

[106] T. Taleb , A. Ksentini , An analytical model for Follow Me Cloud, in: Proc. IEEE

Global Communications Conference (GLOBECOM), Atlanta, GA , USA , Decem- ber 2013 .

[107] M.U.S. Khan , O. Khalid , Y. Huang , F. Zhang , R. Ranjan , S.U. Khan , J. Cao , K. Li , B. Veeravalli , A. Zomaya , MacroServ: A route recommendation service for

large-scale evacuations, IEEE Trans. Services Comput. 10 (4) (2017) 589–602 . [108] O. Khalid , M.U.S. Khan , Y. Huang , S.U. Khan , A.Y. Zomaya , EvacSys: a

cloud-based service for emergency evacuation, IEEE Cloud Comput. 3 (1)

(2016) 60–68 . [109] Towards Applications of Fog Computing for Designing Smart City Verti-

cals [online] Available: http://www.telxperts.com/fog/towards- applications- fog- computing- designing- smart- city- verticals/ , Accessed: January, 2017.

[110] Y. Yan, W. Su, A fog computing solution for advanced metering infrastructure, in: 2016 IEEE/PES Transmission and Distribution Conference and Exposition

(T&D), 2016, pp. 1–4, doi: 10.1109/TDC.2016.7519890 .

[111] M. Saleem, H. Nazmudeen, A.T. Wan, S.M. Bukhari, Improved throughput for power line communication (PLC) for smart meters using fog computing based

data aggregation approach, 2016 IEEE International Smart Cities Conference (ISC2), 2016, doi: 10.1109/ISC2.2016.7580841 .

[112] Y. Cao, S. Chen, P. Hou, D. Brown, FAST: a fog computing assisted distributed analytics system to monitor fall for stroke mitigation, 2015 IEEE International

Conference on Networking, Architecture and Storage (NAS), 2015, doi: 10.1109/

NAS.2015.7255196 . [113] X. Masip-Bruin, E. Marín-Tordera, A. Alonso, J. Garcia, Fog-to-cloud computing

(F2C): the key technology enabler for dependable e-health services deploy- ment, 2016, doi: 10.1109/MedHocNet.2016.7528425 .

[114] M. Quwaider , Yaser Jararweh , Cloudlet-based for big data collection in body area networks, in: IEEE 8th International Conference for Internet Technology

and Secured Transactions (ICITST), 2013, 2013, pp. 137–141 .

[115] A.E. Amraoui , K. Sethom , Cloudlet softwarization for pervasive healthcare, in: 2016 30th International Conference on Advanced Information Networking and

Applications Workshops (WAINA), Crans-Montana, 2016, pp. 628–632 . [116] Q. Althebyan , Q. Yaseen , Y. Jararweh , M. Al-Ayyoub , Cloud support for large

scale e-healthcare systems, Ann. Telecommun. (2016) 1–13 .

[117] K. Intharawijitr , K. Iida , H. Koga , Analysis of fog model considering comput- ing and communication latency in 5 g cellular networks, IEEE International

Conference on Pervasive Computing and Communications Work in Progress, 2016 .

[118] M. Peng , S. Yan , K. Zhang , C. Wang , Fog computing based radio access net- works: issues and challenges, IEEE Netw. 30 (4) (2016) 46–53 .

[119] S. Nunna , A. Kousaridas , M. Ibrahim , M. Dillinger , C. Thuemmler , H. Feuss- ner , A. Schneider , Enabling real-time context-aware collaboration through 5 g

and mobile edge computing, in: IEEE 2015 12th International Conference on

Information Technology-New Generations (ITNG), 2015, pp. 601–605 . [120] H. Zhang , Y. Xiao , S. Bu , D. Niyato , R. Yu , Z. Han , Fog computing in multi-tier

data center networks: a hierarchical game approach, IEEE ICC 2016 SAC Cloud Communications and Networking, 2016 .

[121] M. Aazam , E. Huh , Fog computing and smart gateway based communication for cloud of things, in: Proc. IEEE Future Internet of Things and Cloud (Fi-

Cloud), Barcelona, Spain, 2014, pp. 464–470 .

[122] H. Yin, X. Zhang, H.H. Liu, Y. Luo, C. Tian, S. Zhao, F. Li, Edge provision- ing with flexible server placement, IEEE Trans. Parallel Distrib. Syst. (2016),

doi: 10.1109/TPDS.2016.2604803 . [123] C. Do , N.H. Tran , C. Pham , A proximal algorithm for joint resource allocation

and minimizing carbon footprint in geo-distributed fog computing, in: Inter- national Conference on Information Networking (ICOIN), 2015, pp. 324–329 .

[124] Accelerating Innovation and Collaboration for the Next Stage [online], Avail-

able: http://www.ntt.co.jp/news2013/1311ehzt/pdf/xgxf131108d _ all.pdf , Ac- cessed: January, 2017.

[125] J. Zhu , D.S. Chan , M.S. Prabhu , Improving web sites performance using edge servers in fog computing architecture, IEEE Seventh International Symposium

on Service-Oriented System Engineering, 2013 . [126] D. Zeng, L. Gu, S. Guo, Z. Cheng, S. Yu, Joint optimization of task scheduling

and image placement in fog computing supported software-defined embed-

ded system, IEEE Trans. Comput. (2015), doi: 10.1109/TC.2016.2536019 . [127] Z. Shelby, K. Hartke, C. Bormann, The Constrained Application Protocol

(CoAP), Internet Engineering Task Force, Jun. 2014 RFC 7252 (Proposed Stan- dard) [Online]. Available: http://www.ietf.org/rfc/rfc7252.txt .

[128] E.H. Butterfield, Fog Computing with Go: A Comparative Study, CMC Senior Theses. Paper 1348. http://scholarship.claremont.edu/cmc _ theses/1348 , 2016

[129] S. Cirani, G. Ferrari, N. Iotti, M. Picone, The IoT hub: a fog node for seamless

management of heterogeneous connected smart objects, 2015 12th Annual IEEE International Conference on Sensing, Communication, and Networking -

Workshops (SECON Workshops), 2016, doi: 10.1109/SECONW.2015.7328145 . [130] H. Gupta, A.V. Dastjerdi, S.K. Ghosh, R. Buyya, iFogSim: A Toolkit for Modeling

and Simulation of Resource Management Techniques in Internet of Things, Edge and Fog Computing Environments, Cloud Computing and Distributed

Systems Laboratory, Univ. of Melbourne, 2016 technical report CLOUDS-TR-

2016-2 http://cloudbus.org/tech _ reports.html . [131] U.U. Rahman , O. Hakeem , M. Raheem , K. Bilal , S.U. Khan , L.T. Yang , Nutshell:

cloud simulation and current trends, IEEE International Conference on Smart City (SmartCity), December 2015 .

[132] G. Orsini , D. Bade , W. Lamersdorf , Computing at the mobile edge: designing elastic android applications for computation offloading, 8th IFIP Wireless and

Mobile Networking Conference (WMNC), 5-7 Oct., 2015 . [133] Cisco ParStream [online] Available: http://www.cisco.com/c/en/us/products/

analytics- automation- software/parstream/index.html , Accessed: January,

2017. [134] Vortex [online] Available: http://www.prismtech.com/vortex , Accessed: Jan-

uary, 2017. [135] Cisco IOx [online] Available: http://www.cisco.com/c/en/us/products/cloud-

systems- management/iox/index.html , Accessed: January, 2017. [136] Amazon EMR Pricing, [online] Available: https://aws.amazon.com/emr/

pricing/ , Accessed: January, 2017.

[137] Mec - Applications at the Network Edge, [online] Available: http://networks. nokia.com/portfolio/solutions/mobile- edge- computing#tab- highlights , Ac-

cessed: January, 2017. [138] U. Shaukat , E. Ahmed , Z. Anwar , F. Xia , Cloudlet deployment in local wire-

less networks: Motivation, architectures, applications, and open challenges, J. Netw. Comput. Appl. 62 (2016) 18–40 .

[139] I. Stojmenovic, S. Wen, X. Huang, H. Luan, An overview of Fog computing and

its security issues, Concurr. Comput. (2015), doi: 10.1002/cpe.3485View . [140] R. Romana, J. Lopeza, M. Mambob, Mobile edge computing, Fog et al.: a sur-

vey and analysis of security threats and challenges, Future Generation Com- puter Systems (2016). http://dx.doi.org/10.1016/j.future.2016.11.009 .

[141] LocalGrid Fog Computing Platform, [online] Available: http://www. localgridtech.com/ , Accessed: January, 2017.

[142] Akamai, [online] Available: https://blogs.akamai.com/2016/07/portugal-

france- sets- live- sports- streaming- record- on- akamai.html . [143] Internet of Everything (IoE) [online] Available: https://newsroom.cisco.com/

ioe , Accessed: February, 2017. [144] Heterogeneous Network (Hetnet) [online] Available: https://www.ericsson.

com/br/res/thecompany/docs/press/media _ kits/hetnet _ infographic _ vertical _ 04.pdf , Accessed: February, 2017.

[145] M. Wang , P.P. Jayaraman , R. Ranjan , K. Mitra , M. Zhang , E. Li , S. Khan ,

M. Pathan , D. Georgeakopoulos , An overview of cloud based content de- livery networks: research dimensions and state-of-the-art, in: Transactions

on Large-Scale Data- and Knowledge-Centered Systems, in: Lecture Notes in Computer Science, vol. 9070, March 2015, pp. 131–158 .

K. Bilal et al. / Computer Networks 130 (2018) 94–120 119

[

[

[

[

[

[146] W. Chu , L. Wang , H. Xie , Z. Zhang , Z. Jiang , Network delay guarantee for differ- entiated services in content-centric networking, Comput. Commun. 76 (2016)

54–66 . [147] R. Wang , X. Peng , J. Zhang , K.B. Letaief , Mobility-aware caching for content–

centric wireless networks: modeling and methodology, IEEE Commun. Mag. (2016) 77–83 .

148] S.H. Ahmed , S.H. Bouk , D. Kim , Content-Centric Networks An Overview, Ap- plications And Research Challenges, Content-Centric Networks An Overview,

Applications And Research Challenges, 2016 ISBN: 978-981-10-0064-5 .

149] Twitch Tv [online] Available: https://www.twitch.tv/ , Accessed: February, 2017.

[150] YouTube Live [online] Available: https://www.youtube.com/live , Accessed: February, 2017.

[151] Periscope [online] Available: https://www.periscope.tv/ , Accessed: February, 2017.

[152] YouNow Broadcast Live [online] Available: https://www.younow.com/ , Ac-

cessed: February, 2017. [153] Livestream [online] Available: https://livestream.com/ , Accessed: February,

2017. [154] Amazon Web Services [online] Available: https://aws.amazon.com/ , Accessed:

February, 2017. [155] C. Brennand, F. Cunha, G. Maia, FOX: a traffic management system of

computer-based vehicles fog, 2016 IEEE Symposium on Computers and Com-

munication (ISCC), 2016, doi: 10.1109/ISCC.2016.7543864 . [156] Demand For Mayweather-Mcgregor Fight Crashed Pay-Per-View Servers

[online] https://www.engadget.com/2017/08/27/mayweather- mcgregor- fight- crashes- ppv- servers/ , Accessed: September, 2017.

[157] L. Gu , D. Zeng , S. Guo , A. Barnawi , Y. Xiang , Cost efficient resource manage- ment in fog computing supported medical cyber-physical system sign in or

purchase, IEEE Trans. Emerging Topics Comput. 5 (1) (2017) Jan.-March .

[158] H. Zhang , Y. Zhang , Y. Gu , D. Niyato , Z. Han , A hierarchical game frame- work for resource management in fog computing, IEEE Commun. Mag. 55 (8)

(2017) 52–57 .

[159] Y. Sun , N. Zhang , A resource-sharing model based on a repeated game in fog computing, Saudi J. Biol. Sci. 24 (3) (March 2017) 687–694 .

[160] SONM Aplha, https://sonm.io/ , Accessed September 2017. [161] K. Garg , J. Singh , A proposed technique for cloud computing security, in: In-

novations in Computer Science and Engineering, June 2017, pp. 89–95 . [162] K. Lee , D. Kim , D. Ha , U. Rajput , H. Oh , On security and privacy issues of fog

computing supported internet of things environment, 2015 6th International Conference on the Network of the Future (NOF), 30 Sept.-2 Oct, 2015 .

[163] D. Ye , M. Wu , S. Tang , R. Yu , Scalable fog computing with service offloading

in bus networks, 2016 IEEE 3rd International Conference on Cyber Security and Cloud Computing (CSCloud), 25-27 June, 2016 .

164] Y. Gao , W. Hu , K. Ha , B. Amos , et al. , Are Cloudlets Necessary? School of Com- puter Science Carnegie Mellon University Pittsburgh, 2015 .

[165] K. Zhang , Y. Mao , S. Leng , Q. Zhao , L. Li , X. Peng , L. Pan , S. Maharjan , Y. Zhang , Energy-efficient offloading for mobile edge computing in 5 G heterogeneous

networks, IEEE Access. J. 4 (2016) 5896–5907 .

166] C. You , K. Huang , H. Chae , B.H. Kim , Energy-efficient resource allocation for mobile-edge computation offloading, IEEE Transa. Wirel. Commun. 16 (2017)

1397–1411 . [167] S. Sardellitti , G. Scutari , S. Barbarossa , Joint optimization of radio and com-

putational resources for multi-cell mobile-edge computing, IEEE Trans. Signal Inf. Process. Netw. 1 (2015) 89–103 .

168] R. Deng , R. Lu , C. Lai , T.H. Luan , H. Liang , Optimal workload allocation in fog–

cloud computing toward balanced delay and power consumption, IEEE Inter- net Things (2016) 1171–1181 .

[169] K. Bilal , A. Erbad , Edge computing for interactive media and video stream- ing, in: IEEE Conference on Fog and Mobile Edge Computing (FMEC), 2017,

pp. 68–73 . [170] G. Paschos , E. Bastug , I. Land , G. Caire , M. Debbah , Wireless caching: techni-

cal misconceptions and business barriers, IEEE Commun. Mag. 54 (8) (2016)

16–22 .

120 K. Bilal et al. / Computer Networks 130 (2018) 94–120

Qatar. He received his PhD from North Dakota State University, USA in 2014. He is an

chnology, Pakistan. He was awarded NDSU CoE Researcher of the Year 2014 and COMSATS ests include cloud computing, edge technologies, data center networks, and multimedia

akota State University, Fargo, USA. His area of research includes opportunistic networks,

s. He is an Assistant Professor at COMSATS Institute of Information Technology, Pakistan.

search Support at Qatar University. Dr. Erbad obtained a Ph.D. in Computer Science from

Science in Embedded Systems and Robotics from the University of Essex and a Bachelor of Washington. His research interests span cloud computing, distributed systems and

nce Foundation, where he is responsible for the Smart & Autonomous Systems program, d Processes program, and Computer Systems Research cluster. He also is a faculty at the

d Speaker, an IEEE Distinguished Lecturer, a Fellow of the IET, and a Fellow of the BCS.

ss, and security of computer systems. He is an associate editor of the IEEE Access, IEEE sor Systems, Scalable Computing and Communications, IET Cyber-Physical Systems, and

Kashif Bilal is a postdoc researcher at Qatar University,

Assistant Professor at COMSATS Institute of Information Te CS Researcher of the year 2016 awards. His research inter

in cloud.

Osman Khalid completed his Ph.D. in 2014 at the North D

recommendation systems, and trust and reputation system

Aiman Erbad is an Assistant Professor and Director of Re

the University of British Columbia, a Master of Computer of Science in Computer Engineering from the University

multimedia networking and systems.

Samee U. Khan is a Program Director at the National Scie Critical Resilient Interdependent Infrastructure Systems an

North Dakota State University. He is an ACM Distinguishe

Samee’s research interests include optimization, robustne Communications Surveys and Tutorials, IET Wireless Sen

IEEE IT Pro.

  • Potentials, trends, and prospects in edge technologies: Fog, cloudlet, mobile edge, and micro data centers
    • 1 Introduction
    • 2 Edge computing technologies
      • 2.1 Edge computing motivation
        • 2.1.1 Reduced traffic load
        • 2.1.2 Minimizing the latency
        • 2.1.3 Reduced load on cloud
        • 2.1.4 Reduced load on end user devices
        • 2.1.5 Reducing energy consumption
        • 2.1.6 Data center computation offloading
      • 2.2 Edge computing technologies
        • 2.2.1 Fog
        • 2.2.2 Cloudlets
        • 2.2.3 Micro datacenters
        • 2.2.4 Mobile edge computing
    • 3 Edge computing: the state-of-the-art
      • 3.1 Edge computing potentials and applications
        • 3.1.1 Internet of things (IoT) and edge computing
        • 3.1.2 Multimedia and edge computing
        • 3.1.3 Energy efficiency and edge
        • 3.1.4 Smart living
        • 3.1.5 HealthCare
        • 3.1.6 Communication efficiency and edge computing
      • 3.2 Edge computing architectures and evaluation
        • 3.2.1 Edge computing architectures and resource management
        • 3.2.2 Edge computing implementation and simulation
    • 4 Edge computing challenges
      • 4.1 Resource management and allocation
      • 4.2 General purpose computing in edge
      • 4.3 Security and privacy
      • 4.4 Scalability
      • 4.5 Data abstraction
      • 4.6 Fault tolerance and quality of service
    • 5 Conclusions
    • Acknowledgement
    • References