PhdThesis PDF
PhdThesis PDF
Series of Publications A
Report A-2019-6
Nitinder Mohan
University of Helsinki
Finland
Supervisor
Jussi Kangasharju, University of Helsinki, Finland
Pre-examiners
Dirk Kutscher, University of Emden/Leer, Germany
Satyajayant Misra, New Mexico State University, USA
Opponent
Abhishek Chandra, University of Minnesota, Twin Cities, USA
Custos
Jussi Kangasharju, University of Helsinki, Finland
Contact information
Nitinder Mohan
Abstract
Cloud computing has created a radical shift in expanding the reach of appli-
cation usage and has emerged as a de-facto method to provide low-cost and
highly scalable computing services to its users. Existing cloud infrastruc-
ture is a composition of large-scale networks of datacenters spread across
the globe. These datacenters are carefully installed in isolated locations
and are heavily managed by cloud providers to ensure reliable performance
to its users. In recent years, novel applications, such as Internet-of-Things,
augmented-reality, autonomous vehicles etc., have proliferated the Inter-
net. Majority of such applications are known to be time-critical and en-
force strict computational delay requirements for acceptable performance.
Traditional cloud offloading techniques are inefficient for handling such ap-
plications due to the incorporation of additional network delay encountered
while uploading pre-requisite data to distant datacenters. Furthermore, as
computations involving such applications often rely on sensor data from
multiple sources, simultaneous data upload to the cloud also results in sig-
nificant congestion in the network.
Edge computing is a new cloud paradigm which aims to bring existing cloud
services and utilities near end users. Also termed edge clouds, the central
objective behind this upcoming cloud platform is to reduce the network
load on the cloud by utilizing compute resources in the vicinity of users
and IoT sensors. Dense geographical deployment of edge clouds in an area
not only allows for optimal operation of delay-sensitive applications but
iii
iv
also provides support for mobility, context awareness and data aggregation
in computations. However, the added functionality of edge clouds comes at
the cost of incompatibility with existing cloud infrastructure. For example,
while data center servers are closely monitored by the cloud providers to
ensure reliability and security, edge servers aim to operate in unmanaged
publicly-shared environments. Moreover, several edge cloud approaches
aim to incorporate crowdsourced compute resources, such as smartphones,
desktops, tablets etc., near the location of end users to support stringent
latency demands. The resulting infrastructure is an amalgamation of het-
erogeneous, resource-constrained and unreliable compute-capable devices
that aims to replicate cloud-like performance.
General Terms:
Design, Experimentation, Performance, Protocols, Platforms
vii
viii
Nitinder Mohan
List of Abbreviations
5G 5th Generation
ACK ACKnowledgement
AP Access Point
AP I Application Programming Interface
AR Augmented Reality
ARM Advanced RISC Machines
AW S Amazon Web Services
BALIA BAlanced Linked Increase Algorithm
BLEST BLocking ESTimation scheduler
BSID Base Station ID
CAP EX CAPital EXpenditure
CAT 4 CATegory 4
CDN Content Delivery Networks
CP U Central Processing Unit
DAP S Delay Aware Packet Scheduler
DASH Dynamic Adaptive Streaming over HTTP
DC Datacenter
DN S Domain Name Service
ECF Earliest Completion First
eLP CF energy-efficient Least Processing Cost First
ES Edge Server
ExEC Extensible Edge Clouds
F iW i Fiber-Wireless
F P GA Field-Programmable Gate Array
HT T P HyperText Transfer Protocol
IaaS Infrastructure as a Service
ICON Intelligent CONtainers
IEP Independent Edge Providers
IoT Internet of Things
IP Internet Protocol
ix
x
1 Introduction 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Edge Computing Service Model . . . . . . . . . . . . . . . . 4
1.3 Thesis Contributions . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . 12
xi
xii Contents
6 Conclusion 67
6.1 Research Questions Revisited . . . . . . . . . . . . . . . . . 67
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . 70
References 73
Chapter 1
Introduction
Cloud computing has created a radical shift in application services and has
expanded the reach of computing, networking and data storage to its users.
The cloud service providers such as Google, Microsoft, Amazon etc., deploy
a network of large datacenters spread across the globe. Such datacenters
are home to large pools of highly managed servers, disks and network-
ing switches which are carefully architected to ensure consistent perfor-
mance [4]. Cloud providers encapsulate datacenter hardware into virtual-
ized and programmable resources, which can be dynamically provisioned
and re-configured on-the-go. This configurability is beneficial to applica-
tion services whose utilization varies from time to time. For such services,
the cloud providers offer their resources with an “on-demand” model which
allows application providers only to pay for resources they utilize [14]. The
key services offered by the cloud providers include hardware resources (In-
frastructure as a Service), operating environments (Platform as a Service)
and developer softwares (Software as a Service) [127].
Recently, applications such as Internet-of-Things (IoT), connected ve-
hicles, smart cities etc. have proliferated the network. These applications
are often dependent on a large number of sensor devices which record in-
formation of the surroundings and upload it to cloud for its processing
needs. Recent studies suggest that there will be more than 50 billion de-
vices connected to the Internet by 2020 [35, 87]. Such devices will generate
a staggering amount of digital data, also known by the buzzword – big data,
the size of which has already been increasing exponentially over the past
few years [38]. Computations on big data in a remote datacenter is not
only inefficient due to bandwidth constraints but also impacts the perfor-
mance of time-sensitive and location-aware applications due to (i) network
delay for offloading data to the cloud, and (ii) computational dependencies
between data generated by nearby sensors. Self-driving cars, augmented
1
2 1 Introduction
Users Vendors
Hardware
Hardware
The foremost research direction which requires exploration concerns phys-
ical deployment of edge servers in a region. Although the edge computing
needs differ for different applications, the strictest requirements necessi-
tate extensive availability of compute servers close to the data generators
(read sensors) and consumers (read users). Some applications such as IoT,
surveillance cameras etc. require edge servers as aggregation points some-
where in the network. Other applications such as AR/VR, autonomous
vehicles etc. demand direct one-hope connectivity to the compute server
for optimal operation. To satisfy the variability in requirements and yet
support the majority of applications, the need for extensive installation of
servers in a public space increases significantly. This scenario is in stark
contrast to the siloed deployment of datacenters, which are protected ex-
tensively from human habitat and constantly monitored by cloud providers
to ensure service reliability, availability and security. The following research
questions address the key challenges of this layer.
RQ1. Where should the cloud providers install compute servers in the phys-
ical world to satisfy the application requirements at the “edge”?
Infrastructure
Heterogeneity in availability, configurations, reliability, capability and own-
ership of servers within the edge cloud platform calls for an aggressive re-
6 1 Introduction
RQ3. How do we utilize availability and variability of edge servers for com-
puting application tasks with different requirements?
RQ5. Can existing network technologies available at the edge support the
requirements imposed by end-applications for optimal performance?
Platform
A common practice of deploying application services is to encapsulate it
as a virtual machine or a container which can then be executed in any
cloud environment. This process is known as virtualization and it allows
the application service to easily scale with increasing utilization demand.
In order to integrate edge computing in existing cloud infrastructure, there
1.3 Thesis Contributions 7
Platform
RQ8. How can edge cloud ensure the Container Overlays
promised Quality-of-Service despite
signicant variability in user requests &
infrastructure hardware?
The research reported in this thesis encompasses the work published in six
original articles and a manuscript under submission. These articles and
manuscripts also construct the outline of the thesis and an emphasis is
drawn towards the work in which the author has contributed himself.
Publication I: Anveshak: Placing Edge Servers In The Wild. Nitinder
Mohan, Aleksandr Zavodovski, Pengyuan Zhou, and Jussi Kangasharju.
Published in Proceedings of the ACM Workshop on Mobile Edge Commu-
nications (MECOMM ’18). pages 7-12. Budapest, Hungary, August 20,
2018.
Contribution: The publication was led by the author who formulated the
problem and methodology and designed the solution algorithm. The author
also implemented the solution and procured the required data for evalua-
tion. Aleksandr Zavodovski and Pengyuan Zhou contributed significantly to
data analysis and solution implementation. The author, along with others,
participated in the writing process.
Contribution: The research for this publication was led by Aleksandr Za-
vodovski who designed the main ideas, methodology and implementation.
The author contributed by participating in the problem formulation, design
of the solution’s workflow/algorithm and provided significant writing im-
provements to the publication. Dr. Walter Wong was responsible for data
collection and cleaning necessary for evaluation and Dr. Suzan Bayhan
contributed to the literature survey for the publication. Dr. Jussi Kan-
gasharju provided his insights and supervision at all stages and participated
in the writing process.
This chapter gives necessary background on edge computing and the asso-
ciated challenge to redesign traditional datacenter-based cloud infrastruc-
ture. We start with a brief understanding of the components and design of
traditional datacenters and extensive care undertaken by the provider to
ensure consistent optimal performance. Further, we discuss the challenges
posed by emerging applications which call for a radical shift in cloud com-
puting infrastructure. The chapter includes a discussion on several edge
cloud architectures proposed by researchers in the past and their design
choices which make them suitable for specific application operation. We
end this chapter with several related state-of-the-art solutions that aim to
enable utilizing edge clouds in a real-world environment.
13
14 2 Rise of Edge Computing
ties has also increased to satisfy the growing demand in cloud services. It is
estimated that the top 10 largest DC facilities cover an area from 750,000
to 6.3 million square feet and house more than 3000 server racks [108].
The core physical component of a datacenter is a server, which is re-
sponsible for processing, analyzing and communicating with servers within
(and across) DC facilities. While each server has inbuilt storage to sup-
port local computations, the cloud providers also install network-attached
storage in the same facility which provides high-speed storage access to all
servers in the DC via fiber connections. Multiple servers are organized in
stacks, also known as racks, for effective space management. Servers in
a single rack are interconnected via high-bandwidth, low latency ethernet
cables (up to 100Gbps [67]) to a highly capable top-of-rack (ToR) switch.
The ToR switch allows servers within the same rack to communicate with
the lowest cost of connectivity.
The cloud provider physically arranges server racks in the facility in log-
ically organized architectures to minimize the network traffic load within
the DC. The traditional approach resembles a multi-rooted tree which ag-
gregates the network load as you move towards the root (also known as the
core) [66]. The server racks reside at the leaf of the tree and are intercon-
nected via high-speed aggregation switches. The root (also known as core)
connects the DC with other DC facilities deployed across the globe via an
extensively managed network fiber controlled by the cloud provider. This
allows cloud traffic to travel inter-continental distances without any scope
of congestion from public traffic via completely separate dedicated network
links. Such extensive cost of deployment and management is undertaken
to support the strictest reliability and availability requirements imposed
by application owners. Several other architectures have been proposed and
widely deployed to further reduce the networking and routing latencies for
ever-increasing DC loads. A few examples are Fat-tree [5], Diamond [124],
DCell [51], BCube [50] etc.
per person [123]. The trend is assisted by a parallel increase in the market
share of IoT-based applications, which is expected to generate 11 trillion
US dollars worth of revenue by 2025 [125]. However, the majority of IoT
(and similar) applications require latency-critical processing which cannot
be supported by traditional clouds due to excessive network latency and
bandwidth congestion between IoT sensor and DC. We now discuss the
requirements of several such applications.
industries such as Google [48], Microsoft [78] etc. While cloud gam-
ing supports the processing requirements due to high availability of
capable GPUs, it adds a significant delay in control due to network
latency for accessing the remote DC.
Table 2.1: Edge computing architecture along with their key features and operators; orgaznized in decreasing
distance from users.
17
18 2 Rise of Edge Computing
with high processing and network capacity, cloudlets are best fit for ap-
plications which require low-latency yet resource-intensive computing, e.g.
real-time video surveillance, IoT big data analytics, etc.
Fog Clouds. Fog cloud is a virtualized platform for managed compute re-
sources that are colocated with devices deployed within the access network,
e.g. routers, switches, access points etc. [11]. Unlike cloudlets, fog clouds
are managed and deployed primarily by cellular providers operating in the
region (in partnership with cloud providers) and aim to integrate wireless
technologies for user/sensor access e.g. WiFi, LTE, 5G etc. The principal
objective of fog is to provide in-network computation on data as it moves
towards centralized clouds for extensive processing. As the hardware for
fog requires less physical space, it can be deployed much closer to the users
and IoT sensors without significant management overhead. Their deploy-
ment design make fog clouds best suited towards smart city and real-time
video surveillance applications.
2.4.2 Storage
Utilizing resources at the network edge for storage is central to the deploy-
ment of Content Delivery Networks (CDN) [3]. Extensive research has been
conducted in the past for perfecting the design of CDN models which aim to
disseminate content to end users via distributed servers and edge cache hi-
erarchies [98,146]. The exploitation of in-network caching to enable efficient
content distribution also serves as a motivation behind information-centric
networking (ICN) research [144]. Yuan et al. [136] study cache placement
in MEC to satisfy the requirements of autonomous vehicles in the vicinity.
Researchers in [75] provide a probabilistic model for edge caches to improve
the delivery of 360◦ video streams.
However, the primary focus of such solutions is to support effective con-
tent retrieval, which departs significantly from computational data storage.
The task allocation models, discussed in the previous section, assume that
the required data for computation is already available in the local caches
of assigned edge resources. However, this assumption does not hold wa-
ter for edge computing architectures incorporating resources with limited
cache capacity (read MACC, mist etc.). Such resources would need to fetch
the required data from a distant cloud upon every task allocation, thereby
delaying the task execution. To the best of our knowledge, we are un-
aware of any existing work which considers effective caching of prerequisite
computational data in edge clouds.
2.4 Edge Computing Services 21
23
24 3 Hardware Solutions for Edge
II. For cloud providers aiming to deploy managed edge servers in any
geographical region, we develop Anveshak. Anveshak is a deploy-
ment framework that discovers the optimal locations for installing
edge servers. The framework prioritizes regions with lower installa-
tion costs and maximum investment returns to providers. Anveshak
predicts future density of crowdsourced edge servers throughout the
region along with the utilization of the installed server in its deci-
sions. The framework was published in Publication I attached to this
thesis [83].
the exception that it only acts as a data-storage repository and does not
provide any computation to user requests. Our primary reason to impose
this restriction is to maximize the utilization of Edge and Fog resources2 .
The primary aim of Data Store in Edge-Fog Cloud is to ensure secure, reli-
able and global access to data by Edge and Fog nodes which are otherwise
distributed, failure-prone and equipped with limited cache size. Therefore,
the Data Store is responsible for maintaining the end user’s Quality-of-
Experience (QoE) by assuring availability and consistency of application
data in case of Edge and Fog resource failures.
As discussed in Chapter 2, different edge-based applications impose
different requirements on the underlying edge cloud architecture. The
unique design of Edge-Fog Cloud allows it to behave as a unifying edge
model for the majority of previously proposed approaches. For example,
while the proposals like edge clouds [45], mist [99], MACC [59], MEC [34],
MC [114] etc. bear a close similarity to the Edge layer, cloudlets [116] and
fog clouds [11] can be integrated as the Fog in Edge-Fog Cloud . This allows
Edge-Fog Cloud to also inherit the benefits and design objectives of such
architectures. Furthermore, by removing its dependency on the centralized
cloud for computation, Edge-Fog Cloud also provides a decentralized plat-
form which maximizes the utilization of available servers near sensors and
the end users to support the application QoS.
Figure 3.2: Heatmap WiFi access points and Telecom Italia’s cellular base
stations over Milan, Italy.
and security) for every Fog server installation. It is only natural that cloud
providers seek to maximize their profits by discovering specific installation
locations in the region, which consistently observe high user requests such
that the deployed server can remain almost always fully utilized. However,
previous research has shown that user request distribution in any area is
not static but temporally and behaviorally influenced [77]. As a majority of
Edge servers participate as crowdsourced entities, shifts in user densities in
an area also impact the availability of such resources, which hold a priority
over Fog in Edge-Fog Cloud due to their ultra-low latency to the end user.
To illustrate the problem further, we extrapolate the extent of Edge and
Fog resources in Milan, Italy. Figure 3.2 shows the heatmap of WiFi access
points (APs) and Telekom Italia base station densities in the city3 . While
WiFi access points behaviorally resemble the properties of Edge, cellular-
provider backed base stations are prime locations for deploying managed
Fog servers. As can be observed in the figure, the density of access points
is concentrated around the city center (center of the map) which boasts of
large user crowds as residential, commercial and tourist spots are clustered
around that region. As we move away from the center, the availability of
access points decreases. On the other hand, the deployment of Telekom
Italia base stations in Milan is almost evenly distributed throughout the
region. This is by design as the primary goal of a cellular provider is to
ensure consistent user connectivity throughout the operational zone such
as to maintain the required user QoE.
Such deployment density trends makes Fog server placement problem
unique to existing server deployment solutions. Naive installation of servers
3
Data illustrated in the figure is extracted from open source datasets [63, 128].
28 3 Hardware Solutions for Edge
$ $!
,
% )
&
'(
+
& ,
that site. However, if there are more than one cell sites operational in that
grid, the system must provide a priority level to each location depending
on its reachability extent for satisfying maximum user requests originating
in the vicinity. Phase III of Anveshak is designed to solve this prob-
lem. After identifying the exact locations of the cellular provider’s base
stations in the grid, Anveshak calculates the probability of one-hop la-
tency from each site to the majority of user requests. The model utilizes
a coordinate-based network latency approximation technique [90] and cal-
culates the maximum tolerated network distance (Rmax ) and network cost
(n(S,u) ) between users U in grid Gi to server S installed at base station in
the grid LGi = {l1 , . . . , lx }. Formally, the variables are defined as follows:
max
R(u l ,Sl )
= max[u − Sl ] ∀u ∈ U (3.1)
31
32 4 Infrastructure services for Edge
II. Storage. While Edge-Fog Cloud utilizes centralized Data Store to en-
sure data permanence and availability, the Edge and Fog servers must
rely on their local disk/cache capacity for storing prerequisite data for
computation. This data is usually fetched from sensors/Data Store
and must be available in local caches of all involved servers prior com-
putation start time. Moreover, as Edge resources have limited cache
capacity and pre-cached data is rarely re-used in applications with
varying workloads, new (often non-overlapping) data must be fetched
for every subsequent task allocation. This significantly impacts the
performance of Edge-Fog Cloud as the network delay for acquiring the
required data far exceeds the latency gains of computing at the edge.
For this purpose, we design an edge caching mechanism which maxi-
mizes the probability of re-using locally cached data or retrieve it from
caches of nearby servers. Discussed in Section 4.2, our mechanism also
ensures coherency of shared data distributed across the platform.
where A is the set of all arcs in the graph and xij is a binary decision
variable.
Equations 4.1 and 4.2 show the minimization function for processing
jobs on Edge resources and network connectivity between dependent tasks
respectively. An ideal task deployment algorithm aims to discover optimal
placement with the least P Cmin and N Cmin . While there already exist
algorithms in the literature which can guarantee optimization of P Cmin in
O(n3 ) bound [64], the same is not true for optimizing N Cmin . Equation 4.2
closely resembles an NP-hard problem, Quadratic Assignment Problem
4.1 Deploying Tasks on the Edge 35
Figure 4.2: LPCF and eLPCF algorithm workflow.
Unlike existing task deployment strategies, our aim was to develop algo-
rithms that can provide semi-optimal job placements quickly! Instead of
applying generic constraints for approximating QAP, we exploit an inherent
property of an edge cloud environment to reduce our problem search space
significantly, i.e. both Edge and Fog layers are composed of similar devices
with matching attributes such as CPU capacity, architecture, etc.. Con-
sidering this observation, we develop Least Processing Cost First (LPCF),
which guarantees a job assignment within polynomial time while optimiz-
ing both processing and network costs. We extend our principal approach
to devise an energy optimizing variant of LPCF, energy-efficient LPCF
(eLPCF). Figure 4.2 shows the anatomy of both algorithms’ workflow.
36 4 Infrastructure services for Edge
critical for two reasons. Firstly, the local cache of Edge and Fog resources
is often of limited capacity due to which the devices are unable to retain
relevant data for extended time periods. Secondly, as task operations in
Edge-Fog Cloud involve executions over multiple servers, all of which op-
erate on their local copy of relevant data, periodic synchronization with
a centralized data repository ensures that the computational data in the
resource’s cache always remains consistent and coherent.
On the other hand, centralized Data Store also acts as a bottleneck for
scaling Edge-Fog Cloud performance. A typical data exchange in Edge-Fog
Cloud is as follows. Task deployment algorithms, such as LPCF, select a set
of Edge and Fog resources to fulfill a user-assigned task which requires pre-
requisite data for computation. This data can either be information from
end-sensors or results of previously computed queries. Consider the exam-
ple of a fully-automated automobile factory which houses multiple machines
(read resources) that actively collaborate and coordinate with each other
to complete a specific task. A machine with a drilling tool must be able
to change its settings for the next workpiece (e.g. chassis to engine) which
requires data updates from sensors attached to the belt. However, it is also
possible that the machine needs to switch to a different tool altogether,
such as screwdriver, which requires coordination and specifications from
other machines involved in the project across the factory. Assuming the
sensor and the resources offload their data to a Data Store, the machines
need to retrieve the required specifications into their local caches before
initiating the task operation [84]. In this case, each assigned resource sends
a retrieval request to the Data Store, the phase also known as fetching.
As the waiting period for acquiring data is directly proportional to the
number of participating resources and latency between the resource and
Data Store, fetching data at the start of every computation can induce sig-
nificant delays in task completion. Furthermore, in a system with varying
workloads, cache reusability can be quite low as subsequent computations
may require data different from local cache content. Considering the com-
plications above, pre-caching required data at the edge seems to be the ob-
vious solution. However, this is not straightforward as majority of existing
approaches [106,107] were designed for Content Delivery Networks (CDN),
which have very different requirements when compared to computation-first
Edge-Fog Cloud . Specifically, unlike CDN’s, the compute data in Edge-Fog
Cloud has shorter temporal relevance and receives frequent updates.
We now present an efficient edge caching mechanism, published in Pub-
lication III, which leverages the already cached content in Edge-Fog Cloud
resources to predict and prefetch required data for upcoming computations.
4.2 Storing and Retrieving Data on Edge 39
ber resources instead of fetching it from Data Store. In case the present
group members of that workload are less than ideal for computing the task,
the algorithm is free to choose any other resource that ends up becoming
a part of the cache group at the end of the computation. As the algorithm
cyclically progresses, the number of distinct groups in the system stabilizes
and sharing within a group far exceeds retrieval requests from Data Store.
We evaluate our algorithm on the Icarus simulator [113] for large net-
work topologies. We artificially generate requests for 96 ∗ 104 content
items belonging to 32 different workloads. Our algorithm significantly out-
performs non-grouping-based caching algorithms and achieves almost twice
the cache hit ratios resulting in 45% reduction in retrieval requests. Further
details of our evaluation are present in Publication III to this thesis.
(a) Data retrieval within cache group
(b) Data update within a cache group
7
While resources can fail, we assume that messages are not lost in transmission.
42 4 Infrastructure services for Edge
Retrieving Content
The model restricts resources to only share information of the last updated
content with their respective group leader. Before initiating a new compu-
tation, every resource in the group requests their group leader for the latest
copy of prerequisite data, irrespective of whether a locally cached copy is
available or not. The group leader replies with the address of the resource
which last reported on updating that particular content. At this point,
the requesting server directly queries the last-updater resource to share its
cached copy of the content such that the content remains consistent in the
group. In case the node is no longer alive or has replaced its cache contents,
the retrieval request is escalated to the Data Store.
Updating Content
VM
TCP
MPTCP
TCP
MPTCP
Flow 1 Flow 1
Network
TCP TCP
Flow 2 Flow 2
MPTCP Scheduler
Receive Buer Reordering
Congestion Control
TCP TCP
TCP TCP
. . . TCP ....
and interacts with the system using the regular socket API. Instead of
establishing an end-to-end TCP path, the server now maintains an MPTCP
connection which is responsible for managing multiple TCP “subflows”.
MPTCP is a sender-oriented protocol as all of its control blocks, such as
connection management, scheduling and rate control, are handled by the
sender and the receiver is only responsible for accepting incoming packets.
The sender-side of the MPTCP protocol is composed of three modu-
lar control blocks: path manager (not shown), scheduler and congestion
control. The path manager is responsible for establishing and managing
subflows between the hosts over all available NICs. The workflow for this
is as follows. The path manager sets the MP CAPABLE TCP option in its
SYN packet and sends it to the receiver signaling its MPTCP compliance.
If the receiver replies with a positive acknowledgment, a single end-to-end
TCP flow over one of its interfaces is established which is known as the
“master” subflow. Following this, the path manager adds additional sub-
flows over remaining NICs in the same session using ADD ADDR TCP
option. The default “full-mesh” path manager does not require the sender
and the receiver to have the same number of interfaces and establishes
M×N subflows, where M and N are the number of distinct NICs at sender
and receiver respectively.
The application data arrives in the send buffer from which it is sched-
uled to one of the underlying subflows by the scheduler. Each TCP subflow
is monitored by its independent congestion control algorithm which con-
trols the local packet send rate. While deciding the optimal path for a
packet, the scheduler only considers subflows that have available space in
their congestion window. The default scheduler, minSRTT injects applica-
tion packets into the “fastest” subflow, i.e. TCP connection with the least
smoothed round-trip time (SRTT) to the receiver [96]. Overall packet in-
46 4 Infrastructure services for Edge
Throughput (Mbps)
Throughput (Mbps) 100
Quality Switches
4K 40
80 10
1080p 30
60
40 5 20
20 10
0 0 0
Static Low High Static Low High Static Low High
(a) Throughput (b) Video Bitrate (c) Video QoE
which largely comprised walking, driving and using public transport such
as trams, buses etc., from September 2018 to February 2019. This allowed
us to cover the full spectrum of target speeds for the bulk of edge-based
applications. As the RPi moved in the physical space, both LTE modems
experienced signal strength changes and handovers between basestations.
Our measurements reveal that MPTCP shows promise in scenarios
where both the sender and receiver are static while the network remains
consistent. In such cases, MPTCP achieves almost 1.7× throughput com-
pared to a single TCP over either LTE connection. However, MPTCP
performance degrades significantly with the increasing mobility of the RPi,
as shown in Figure 4.7a. In slow-speed (< 10kmph) scenarios, we observe
a 37% decrease in overall throughput over two LTE links using MPTCP
while parallel tests using TCP over single LTE revealed a reduction of 10%.
The degradation is intensified in high-speed mobility cases (< 100kmph),
which happens to be the prominent network configuration smart vehicular
applications. At such speeds, MPTCP throughput can observe up to 65%
drops resulting in even lower performance than the single TCP connection.
The result is highly intriguing and directly contradicts the design goal of
MPTCP, i.e. always perform better or at-par TCP.
MPTCP’s performance degeneration is not just limited to file down-
loads but also impacts streaming services over edge clouds, such as gaming,
video delivery etc.. Figure 4.7b shows the average bitrate of three different
segment-sized DASH streams over MPTCP. We observe up to 49% drop
in video bitrate for constant streams (1-second segments) when the RPi is
moving at high speeds. In such a case, the receiver struggled to maintain a
consistent 1080p stream quality over a combination of two LTE connections
when even a single LTE theoretically supports the bandwidth required for
that quality. We attribute the primary reason for this degradation to MP-
TCP’s inability to support data transfers at high speeds, as the receiver
48 4 Infrastructure services for Edge
-50 -60 1
Throughput RTT Signal
CDF
MPTCP
0 0 0.4
30 30
20 0.2 Handover
20 >4 dBm
Sonera TCP 10 0
10 DNA MPTCP 0
22 24 26 28 30 32 34 15 20 25 30 35 0 1 2 3 4 5
Time (s) Time (s) Normalized RTT (s)
(a) Signal strength drop (b) Handover (c) Increased RTT
switched video quality more than four times in one minute of playback (as
shown in Figure 4.7c). Closer analysis via data traces reveals that MPTCP
fails to take advantage of bandwidth gains using two LTE connections in
high mobility scenarios and the resulting path utilization over both be-
comes excessively skewed. This decline in performance is primarily due to:
(i) impact of the last-mile link changes with increasing mobility, and (ii)
sub-optimal design and functioning of the default minSRTT scheduler.
1
0.8
0.6
CDF
0.4 Static
Low
0.2
High
0
0 2 4 6 8 10
OFO Queue (MB)
(a) (b) (c)
at either end of the last-mile link, i.e. user equipment and basestation,
as the transport protocol remains unaware of the reduced link rate. The
resulting packets on the path encounter additional queueing delay which
causes spikes in RTT. In the case of handovers, the RTT spike is primarily
due to temporary link outages as LTE follows a hard handover strategy
(based on “break-before-make”) [31].
At high speeds, both LTE connections can experience extremely fre-
quent and often overlapping network events. The shaded region in Fig-
ure 4.8 reveals that the recovery time for the RTT of the affected subflow
from a network event can last as long as 40 seconds and impacts a signifi-
cant share of subsequent packets sent on that path.
packets by the scheduler due to high RTT. These packets encounter a lower
queue occupancy which causes the dip. The scheduler notices the lower
RTT and switches back to Flow 1, which results in increasing RTT from
16-18s. Apart from constantly playing catch-up with better performing
subflow in case of frequent network events, minSRTT also causes significantly
high out-of-order delivery at the receiver.
We can observe in Figure 4.8 that while a signal drop only impacts the
performance of the affected subflow, handovers result in throughput drop
on both LTE connections. On closer inspection, we find that the receive
buffer stalling impacts MPTCP performance. With increasing mobility,
both LTE links encounter frequent network events (often) simultaneously
which results in elevated RTTs of both connections. The scheduling de-
cisions by minSRTT does not account for additional intermittent delays on
the subflow and the resulting packet arrives later than expected at the re-
ceiver. This increases the number of out-of-order deliveries at the receiver,
as evident from Figure 4.9c. As perceived from the figure, MPTCP receive
buffer size increases with increasing mobility speeds. Larger the buffer oc-
cupancy, longer a packet waits in the kernel to be delivered “in-order” to
the application. If the network remains unstable for an increased duration,
the buffer reaches its maximum capacity and the receiver can no longer
accommodate the arriving packets. This remains the case until there is
available space in the receive buffer. As a result, MPTCP experiences an
overall drop in throughput over handover in Figure 4.8b.
which is necessary for data sharing within an edge platform. In such a case,
as discussed in the previous section, the edge server can encounter high oc-
cupancy in the local NIC queue. The scenario we tackle is not limited to
cellular connections but spans all constrained wireless networks where a
data packet may be required to wait for the channel to become available.
Before we describe our solution, we first dissect the functionality of
minSRTT to identify the reason behind increased queueing delays. The
default scheduler sends packets on the TCP connection with lowest SRTT
to the receiver. The reliance on the SRTT metric for scheduling decisions
is the cause of the problem. We explain this as follows. Firstly, per-packet
instantaneous RTT itself is a delayed metric for gauging delays on the
path as it is updated once an acknowledgment of the packet arrives at the
sender. If the data packet encounters intermediate delays during delivery,
such as in LTE, sender-side TCP (by default) smoothens it out with its pre-
existing knowledge of RTT for that path. The instantaneous RTT is given
much smaller weight (0.2 in practice). This exercise is carried out as TCP
considers intermediate elevations in RTT as outliers and not representative
of the behavior of that network. In this case, minSRTT continues to insert
packets on its assumption of the better performing connection until the
excessive delay due to queueing starts to reflect in the SRTT. We argue
that due to this delayed feedback mechanism, MPTCP loses out on many
opportunities of scheduling packets to subflow with lower queue delay.
Considering the motivations above, we design a custom scheduler for
MPTCP, QAware which is published in Publication IV. QAware aims to
maximize end-to-end throughput over all MPTCP subflows by better esti-
mating segmented delays on the path. The core idea is explained as follows.
Consider a simplified queue-theoretic abstraction of an end-to-end MPTCP
connection, illustrated in Figure 4.10. The shaded region signifies the inter-
nals of sender device equipped with two TCP flows to the receiver. Packets
scheduled over either TCP connection (denoted as service facility in the
figure) encounters the following delays: (i) buffering at the underlying NIC
queue with a service rate μ, (ii) service delay which includes access net-
work and intermittent nodes on the path. If incoming packet rate from the
application exceeds the service rate of NIC queue, a scheduled packet may
find other packets waiting in the service facility. Bear in mind, we consider
a scenario where other non-MPTCP protocols are also actively using the
NIC alongside MPTCP e.g. UDP. In this case, an MPCTP packet waits for
all other packets to finish service before it enters the server of the facility.
Algorithm 1 captures the workflow of QAware. Consider K service
facilities indexed 1, . . . , K. Let facility k have a service rate of μk . Let
52 4 Infrastructure services for Edge
Receiver
NIC
1 Service
App facility
Queue 1
Scheduler
Send Buer Block
2
Sender Queue 2
55
56 5 Platform solutions for Edge
user crowds from the other half of the earth, e.g., southeast Asia, starts sub-
scribing to the application. Situations such as this are commonplace as the
Internet becomes cheaper and more accessible to users across the globe [58].
Let’s assume that the cloud provider only offers edge facilities in the USA
but not in Southeast Asia. Attempts of administrative personnel to find
local IEPs operational in that region are slow and inefficient [142]. Such
endeavors are further affected by delays in budget negotiation and ensuring
a homogeneous software stack for supporting the application. Since result-
ing QoS becomes low, the application provider stands at significant risk of
losing this new audience.
While the example above extrapolates the problems of future edge de-
ployments, we argue that the scenario is quite prominent even in the current
cloud computing landscape. Multiple cloud providers (analogous to IEPs)
such as Amazon, Google, Microsoft etc. allow application owners access to
their infrastructure via specially designed protocols and technologies which
bear little-to-no resemblance to those offered by another provider. This
results in a minimal collaboration opportunity between the infrastructure
of different providers and restricts the application developers to use tech-
nologies of a single cloud platform. The solutions we present in this chapter
address several such challenges described above.
Domain A
Onload
IEP
Domain B
MEC
User IEP
Group 1
User
Group 2
The SRV record for DNS Domain A shows the presence of a TCP server
which is accessible through IP address 192.168.121.30 and port 5060. ExEC
orchestrator uses this information to build a topology, with intrinsic detail
(IP address, user latency) of all edge servers in discovered domains, which
lie on the path to end-users. Based on this, ExEC can filter a set of edge
servers (irrespective of their managing IEP) based on the minimum latency
requirement imposed by the application owner.
5.1 Unifying Multiple Edge Providers 59
Client
ES1 ES2
Service
SFC 1
IEP 2
SFC 2
FS1 FS2
Fog Platform
The solutions presented in this chapter implicitly assume that all edge
servers participating in the platform must be able to support container
62 5 Platform solutions for Edge
Application
Latency Money Owner
ICON IEP or
Cloudlet
Migrate Replicate
pli
Use Edge
End Users
virtualization technologies. However, this may not be true for server types
discussed in approaches such as [99]. In such cases, we propose the following
alternative. The independent edge provider utilizes a resource orchestrator,
which is a server capable of supporting virtualized application services.
While the orchestrator acts as the face for deploying applications for that
platform, it utilizes task deployment algorithms (e.g. LPCF proposed in
Chapter 3) to distribute application tasks on underlying edge resources.
Active. Each ICON monitors the frequency, location and pattern of in-
coming user requests and remains deployed at the current location until
the request density remains consistent. If an ICON detects a change in the
request pattern, it requests ExEC to discover IEPs in subnets close to new
request location. ExEC replies with a renewed list of potential IEPs which
have agreed to host the service1 along with the configurations of the edge
servers in their management. ICON calculates utility (Uj ) of each edge
server as follows.
Uj = (1 − w)bj + w λi li,j (5.1)
∀i∈S
Equation 5.1 shows the utility function for edge server at location j which
serves λi requests per second from a subnet i. bj is the budget cost of run-
ning ICON at location j, li,j is the latency experienced by users (or ICON
for service earlier in the chain) from subnet i if served from network loca-
tion j. w is the weight parameter (0 ≤ w ≤ 1) which allows the application
owner to tune the priority of cost or latency objective. Depending on the
available budget, the utility of the current edge server and utility of the
target edge server, ICON can perform one of the following operations.
1
We assume that all participating edge servers support container technologies.
64 5 Platform solutions for Edge
i) Replication: If both current and target edge servers have high util-
ity, ICON may choose to deploy a replica of itself at the target edge
server. The resulting container is an independent ICON which takes a
percentage of the budget from origin ICON (depending on the ratio of
utilities of both edge servers) for its own future decisions.
ii) Migration: If the utility of the current server is far less than the target
location, the ICON migrates itself to the new location and retains its
allocated budget. Any user requests arriving at the previous ICON
location is redirected to the new server by a redirection stub.
Conclusion
This thesis proposed several solutions necessary for the adoption of edge
computing in the current cloud-dominant environment, which are summa-
rized in this chapter. We start by revisiting the research questions posed at
the beginning of the thesis in Section 1.1 of Chapter 1. We further discuss
shortcomings of the presented solutions and avenues for future work.
67
68 6 Conclusion
[1] Anant Agarwal, Richard Simoni, John Hennessy, and Mark Horowitz.
An evaluation of directory schemes for cache coherence. In ACM
SIGARCH Computer Architecture News, volume 16, pages 280–298.
IEEE Computer Society Press, 1988.
[6] Apple Inc. Use Multipath TCP to create backup connections for iOS.
”https://support.apple.com/en-us/HT201373,2017", 2017.
[7] Sergei Arnautov, Bohdan Trach, Franz Gregor, Thomas Knauth, An-
dre Martin, Christian Priebe, Joshua Lind, Divya Muthukumaran,
Dan O’keeffe, Mark L Stillwell, et al. SCONE: Secure linux containers
with intel SGX. In 12th USENIX Symposium on Operating Systems
Design and Implementation (OSDI 16), pages 689–703, 2016.
73
74 References
[8] Rihards Balodis and Inara Opmane. History of data centre develop-
ment. In Reflections on the History of Computing, pages 180–203.
Springer, 2012.
[9] Ketan Bhardwaj et al. Fast, scalable and secure onloading of edge
functions using airbox. In Proceedings of the Second ACM/IEEE
Symposium on Edge Computing, SEC ’16, 2016.
[10] Olivier Bonaventure, Mark Handley, and Costin Raiciu. An overview
of Multipath TCP. ; login:, 2012.
[11] Flavio Bonomi, Rodolfo Milito, Jiang Zhu, and Sateesh 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,
pages 13–16. ACM, 2012.
[12] Vitalik Buterin et al. A next-generation smart contract and decen-
tralized application platform. white paper, 2014.
[13] Yu Cao, Songqing Chen, Peng Hou, and Donald Brown. Fast: A fog
computing assisted distributed analytics system to monitor fall for
stroke mitigation. In 2015 IEEE International Conference on Net-
working, Architecture and Storage (NAS), pages 2–11. IEEE, 2015.
[14] Jason Carolan, Steve Gaede, James Baty, Glenn Brunette, Art Licht,
Jim Remmell, Lew Tucker, and Joel Weise. Introduction to cloud
computing architecture. White Paper, 1st edn. Sun Micro Systems
Inc, 2009.
[15] Alberto Ceselli, Marco Premoli, and Stefano Secci. Mobile edge cloud
network design optimization. IEEE/ACM Transactions on Network-
ing (TON), 25(3):1818–1831, 2017.
[16] Lucas Chaufournier, Prateek Sharma, Franck Le, Erich Nahum,
Prashant Shenoy, and Don Towsley. Fast transparent virtual ma-
chine migration in distributed edge clouds. In Proceedings of the
Second ACM/IEEE Symposium on Edge Computing, page 10. ACM,
2017.
[17] Yang Chen. Checkpoint and restore of micro-service in docker con-
tainers. In 2015 3rd International Conference on Mechatronics and
Industrial Informatics (ICMII 2015). Atlantis Press, 2015.
[18] Mung Chiang and Tao Zhang. Fog and iot: An overview of research
opportunities. IEEE Internet of Things Journal, 3(6):854–864, 2016.
References 75
[20] Christoph Paasch et al. Multipath TCP Linux version 0.94. ”http:
//multipath-tcp.org/pmwiki.php?n=Main.Release94", 2019.
[21] Richard Church and Charles R Velle. The maximal covering location
problem. Papers in regional science, 32(1):101–118, 1974.
[26] Yong Cui, Hongyi Wang, Xiuzhen Cheng, and Biao Chen. Wireless
data center networking. IEEE Wireless Communications, 18(6):46–
53, 2011.
[30] T. Dillon, C. Wu, and E. Chang. Cloud computing: Issues and chal-
lenges. In 2010 24th IEEE International Conference on Advanced
Information Networking and Applications, pages 27–33, April 2010.
[32] Hoang T Dinh, Chonho Lee, Dusit Niyato, and Ping Wang.
A survey of mobile cloud computing: architecture, applications,
and approaches. Wireless communications and mobile computing,
13(18):1587–1611, 2013.
[34] Utsav Drolia, Rolando Martins, Jiaqi Tan, Ankit Chheda, Monil
Sanghavi, Rajeev Gandhi, and Priya Narasimhan. The case for mobile
edge-clouds. In 2013 IEEE 10th International Conference on Ubiqui-
tous Intelligence and Computing and 2013 IEEE 10th International
Conference on Autonomic and Trusted Computing, pages 209–215.
IEEE, 2013.
[35] Dave Evans. The Internet of Things: how the next evolution of the
internet is changing everything (april 2011). White Paper by Cisco
Internet Business Solutions Group (IBSG), 2012.
[38] Forbes. How much data do we create every day? the mind-blowing
stats everyone should read. ”https://www.forbes.com/sites/
bernardmarr/2018/05/21/how-much-data-do-we-create-every-
day-the-mind-blowing-stats-everyone-should-read/", 2018.
[44] Xiaofeng Gao, Linghe Kong, Weichen Li, Wanchao Liang, Yuxiang
Chen, and Guihai Chen. Traffic load balancing schemes for devolved
controllers in mega data centers. IEEE Transactions on Parallel and
Distributed Systems, 28(2):572–585, 2016.
[50] Chuanxiong Guo, Guohan Lu, Dan Li, Haitao Wu, Xuan Zhang,
Yunfeng Shi, Chen Tian, Yongguang Zhang, and Songwu Lu. Bcube:
a high performance, server-centric network architecture for modular
data centers. ACM SIGCOMM Computer Communication Review,
39(4):63–74, 2009.
[51] Chuanxiong Guo, Haitao Wu, Kun Tan, Lei Shi, Yongguang Zhang,
and Songwu Lu. Dcell: a scalable and fault-tolerant network struc-
ture for data centers. In ACM SIGCOMM Computer Communication
Review, volume 38, pages 75–86. ACM, 2008.
78 References
[52] Kiryong Ha, Yoshihisa Abe, Thomas Eiszler, Zhuo Chen, Wenlu Hu,
Brandon Amos, Rohit Upadhyaya, Padmanabhan Pillai, and Ma-
hadev Satyanarayanan. You can teach elephants to dance: agile VM
handoff for edge computing. In Proceedings of the Second ACM/IEEE
Symposium on Edge Computing, page 12. ACM, 2017.
[53] Bo Han, Feng Qian, Lusheng Ji, and Vijay Gopalakrishnan. MP-
DASH: Adaptive video streaming over preference-aware multipath.
In Proceedings of the 12th International on Conference on Emerging
Networking EXperiments and Technologies, CoNEXT ’16, pages 129–
143, New York, NY, USA, 2016. ACM.
[55] Eric J Horvitz, Harold L Cochrane, Rene A Vega, and Angel S Calvo.
Cloud computing resource broker, 2012. US Patent 8,244,559.
[56] Junxian Huang, Feng Qian, Yihua Guo, Yuanyuan Zhou, Qiang Xu,
Z. Morley Mao, Subhabrata Sen, and Oliver Spatscheck. An in-depth
study of LTE: Effect of network protocol and application behavior on
performance. SIGCOMM Comput. Commun. Rev., 43(4):363–374,
August 2013.
[59] J-P Hubaux, Thomas Gross, J-Y Le Boudec, and Martin Vetterli. To-
ward self-organized mobile ad hoc networks: the terminodes project.
IEEE Communications Magazine, 39(1):118–124, 2001.
[60] Jaehyun Hwang, Steven H. Low, Anwar Walid, and Qiuyu Peng. Bal-
anced Linked Adaptation Congestion Control Algorithm for MPTCP.
2016.
References 79
[61] Internet Engineering Task Force (IETF). DNS SRV Record - RFC
2782. ”https://tools.ietf.org/rfc/rfc2782.txt, 2000.
[62] Industrial Internet Consortium. OpenFog Initiative. ”https://www.
iiconsortium.org/index.htm", 2019.
[63] Telecom Italia. Open big data challenge. ”https://dandelion.eu/
datamine/open-big-data/, 2014.
[64] Roy Jonker and Ton Volgenant. Improving the hungarian assignment
algorithm. Operations Research Letters, 5(4):171–175, 1986.
[65] Ramin Khalili, Nicolas Gast, Miroslav Popovic, and Jean-Yves Le
Boudec. Opportunistic Linked-Increases Congestion Control Algo-
rithm for MPTCP. Internet-Draft draft-khalili-mptcp-congestion-
control-05, Internet Engineering Task Force, July 2014.
[66] A Khiyaita, H El Bakkali, M Zbakh, and Dafir El Kettani. Load
balancing cloud computing: state of art. In 2012 National Days of
Network Security and Systems, pages 106–109. IEEE, 2012.
[67] Datacenter Knowledge. The year of 100GbE in data center net-
works. ”https://www.datacenterknowledge.com/networks/year-
100gbe-data-center-networks", 2018.
[68] N. Kuhn, E. Lochin, A. Mifdaoui, G. Sarwar, O. Mehani, and
R. Boreli. Daps: Intelligent delay-aware packet scheduling for mul-
tipath transport. In IEEE International Conference on Communica-
tions (ICC), 2014.
[69] Heiner Lasi, Peter Fettke, Hans-Georg Kemper, Thomas Feld, and
Michael Hoffmann. Industry 4.0. Business & information systems
engineering, 6(4):239–242, 2014.
[70] Kangkang Li and Jarek Nabrzyski. Traffic-aware virtual machine
placement in cloudlet mesh with adaptive bandwidth. In 2017 IEEE
International Conference on Cloud Computing Technology and Sci-
ence (CloudCom), pages 49–56. IEEE, 2017.
[71] Li Li, Ke Xu, Tong Li, Kai Zheng, Chunyi Peng, Dan Wang, Xiangx-
iang Wang, Meng Shen, and Rashid Mijumbi. A measurement study
on multi-path tcp with multiple cellular carriers on high speed rails.
In Proceedings of the 2018 Conference of the ACM Special Interest
Group on Data Communication, SIGCOMM ’18, pages 161–175, New
York, NY, USA, 2018. ACM.
80 References
[74] Lele Ma, Shanhe Yi, and Qun Li. Efficient service handoff across edge
servers via docker container migration. In Proceedings of the Second
ACM/IEEE Symposium on Edge Computing, page 11. ACM, 2017.
[96] Christoph Paasch, Simone Ferlin, Ozgu Alay, and Olivier Bonaven-
ture. Experimental Evaluation of Multipath TCP Schedulers. In Pro-
ceedings of the 2014 ACM SIGCOMM Workshop on Capacity Sharing
Workshop, CSWS ’14, pages 27–32, New York, NY, USA, 2014. ACM.
[97] Claus Pahl, Sven Helmer, Lorenzo Miori, Julian Sanin, and Brian Lee.
A container-based edge cloud paas architecture based on raspberry
pi clusters. In 2016 IEEE 4th International Conference on Future
Internet of Things and Cloud Workshops (FiCloudW), pages 117–
124. IEEE, 2016.
[99] Jürgo S Preden, Kalle Tammemäe, Axel Jantsch, Mairo Leier, Andri
Riid, and Emine Calis. The benefits of self-awareness and attention
in fog and mist computing. Computer, 48(7):37–45, 2015.
[124] Yantao Sun, Jing Chen, Q Lu, and Weiwei Fang. Diamond: An
improved fat-tree architecture for large-scale data centers. Journal of
Communications, 9(1):91–98, 2014.
[127] David Villegas, Norman Bobroff, Ivan Rodero, Javier Delgado, Yan-
bin Liu, Aditya Devarakonda, Liana Fong, S Masoud Sadjadi, and
Manish Parashar. Cloud federation in a layered service model. Jour-
nal of Computer and System Sciences, 78(5):1330–1344, 2012.
[129] Dan Williams, Hani Jamjoom, and Hakim Weatherspoon. The xen-
blanket: virtualize once, run everywhere. In Proceedings of the 7th
ACM european conference on Computer Systems, pages 113–126.
ACM, 2012.
[132] Ming Xia, Meral Shirazipour, Ying Zhang, Howard Green, and Attila
Takacs. Network function placement for nfv chaining in packet/opti-
cal datacenters. Journal of Lightwave Technology, 33(8):1565–1570,
2015.
[133] Sami Yangui, Pradeep Ravindran, Ons Bibani, Roch H Glitho, Ne-
jib Ben Hadj-Alouane, Monique J Morrow, and Paul A Polakos. A
platform as-a-service for hybrid cloud/fog environments. In 2016
IEEE International Symposium on Local and Metropolitan Area Net-
works (LANMAN), pages 1–7. IEEE, 2016.
[135] Ya-Ju Yu, Te-Chuan Chiu, Ai-Chun Pang, Ming-Fan Chen, and Jiajia
Liu. Virtual machine placement for backhaul traffic minimization in
fog radio access networks. In 2017 IEEE International Conference
on Communications (ICC), pages 1–7. IEEE, 2017.
[136] Quan Yuan, Haibo Zhou, Jinglin Li, Zhihan Liu, Fangchun Yang, and
Xuemin Sherman Shen. Toward efficient content delivery for auto-
mated driving services: An edge computing solution. IEEE Network,
32(1):80–86, 2018.
[144] Guoqiang Zhang, Yang Li, and Tao Lin. Caching in information
centric networking: A survey. Computer Networks, 57(16):3128 –
3141, 2013. Information Centric Networking.
References 87
[145] Lei Zhao, Jiajia Liu, Yongpeng Shi, Wen Sun, and Hongzhi Guo.
Optimal placement of virtual machines in mobile edge computing. In
GLOBECOM 2017-2017 IEEE Global Communications Conference,
pages 1–6. IEEE, 2017.
[146] Wenwu Zhu, Chong Luo, Jianfeng Wang, and Shipeng Li. Multimedia
cloud computing. IEEE Signal Processing Magazine, 28(3):59–69,
2011.
[147] Yibo Zhu, Xia Zhou, Zengbin Zhang, Lin Zhou, Amin Vahdat, Ben Y
Zhao, and Haitao Zheng. Cutting the cord: A robust wireless facil-
ities network for data centers. In Proceedings of the 20th annual
international conference on Mobile computing and networking, pages
581–592. ACM, 2014.