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.