Computer Networks 164 (2019) 106900
Contents lists available at ScienceDirect
Computer Networks
journal homepage: www.elsevier.com/locate/comnet
Experimental evaluation of LXC container migration for cloudlets
using multipath TCP
Yuqing Qiu
a
, Chung-Horng Lung
a,∗
, Samuel Ajila
a
, Pradeep Srivastava
b
a
Department of Systems and Computer Engineering, Carleton University, Ottawa, Canada
b
Sanstream Technology, Ottawa, Canada
a r t i c l e i n f o
Article history:
Received 27 February 2019
Revised 10 June 2019
Accepted 9 September 2019
Available online 17 September 2019
a b s t r a c t
Mobile devices have been widely used in practice. As a result, the concept of Cloudlet –a “small data cen-
ter” close to users at the edge – has been proposed to improve the Quality of Service (QoS) and Quality
of Experience (QoE) of end users if the contents could be retrieved from a geographically nearby Cloudlet
servers. Moreover, containers also have received growing attention in practice due to their lightweight
feature. This paper adopts LXC containers that are used as Cloudlet platforms and uses CRIU (Check-
point/Restore in the userspace) for container migration between Cloudlets. On the other hand, network
traffic may go through the Internet, which may experience network congestion or failures when container
migration occurs. Hence, this paper adopts the Multipath TCP (MPTCP) protocol with an aim to improve
QoS/QoE, because MPTCP establishes multiple subflows for a connection, which can reduce migration de-
lay and increase the resilience of the migration process. We have integrated LXC and MPTCP for container
migration in a Cloudlet environment to experimentally validate the proposed approach via various exper-
iments. The results demonstrate that the proposed approach can increase the performance and reliability
of the migration process compared with that of using virtual machines (VMs).
© 2019 Elsevier B.V. All rights reserved.
1. Introduction
Cloud computing is a term used to describe on-demand com-
puting services that allow a sharing of resources, e.g., networks,
storage, processors, applications, and services. It has been broadly
used to support cost-effective and elastic network access to a
pool of shared computing resources [1]. The substantial cost of
cloud computing facility and deployment has resulted in a limited
number of data centers around the world that provide Cloud Com-
puting services. Therefore, users may be located far away from the
physical cloud facility. As a result, users’ requests for cloud services
and data may need to traverse a long distance over the Internet,
which may degrade the Quality of Service (QoS) or Quality of
Experience (QoE) results due to high network propagation latency,
especially when they are running latency-sensitive applications.
This issue becomes more challenging with the growing popularity
of mobile devices and Internet of Things (IoT) applications, which
often requires fast response from the edge of the network. Hence,
they may suffer from service degradation when those applications
need to access remote resources that are located at cloud data
∗
Corresponding author.
E-mail address: chlung@sce.carleton.ca (C.-H. Lung).
centers. Consequently, a new computing paradigm called Fog Com-
puting was developed to mitigate service degradation and bring
cloud computing closer to its users for support delay sensitive
applications.
Fog Computing was first defined by Bonomi et al., [2] who
suggested that since “fog” is closer to the ground than “cloud”,
then Fog Computing is closer to end users. The “small data cen-
ters” that form the Fog Computing layer are called Cloudlets [8].
Research efforts have been reported that Cloudlets in Fog Com-
puting or Edge Computing, which also shares some similar idea
as Cloud Computing, mostly adopts virtualization technology, e.g.,
virtual machines (VMs), for service provisioning. The virtualization
technology makes Cloud, Fog or Edge Computing flexible and
adaptive for resource management, because servers can be scaled
up and down based on demands [12]. Edge Computing, defined by
the European Telecommunications Standardization Institute (ETSI),
pushes the capabilities of Cloud Computing close to the network
edge, e.g., wireless access networks for mobile devices [38,39].
Cloudlet was first introduced by Carnegie Mellon University [8]. A
Cloudlet is the middle layer of a 3-tier architecture: mobile device
– cloudlet – cloud.
Currently, there is no globally accepted unique definition of
those three approaches, i.e., Fog Computing, Edge Computing, and
https://doi.org/10.1016/j.comnet.2019.106900
1389-1286/© 2019 Elsevier B.V. All rights reserved.