Client Aware Scalable Cloudlet to Augment Edge Computing with Mobile Cloud Migration Service

Computing with mobile is still in its infancy due to its limitations of computational power, battery lifetime and storage capacity. These limitations hinder the growth of mobile computing, which in-turn affects the growth of computationally intensive applications developed for the mobile devices. So in-order to help execute complex applications within the mobile device, mobile cloud computing (MCC) emerged as a feasible solution. The job of offloading the task to the cloud data center for storage and execution from the mobile seems to gain popularity, however, issues related to network bandwidth, loss of mobile data connectivity, and connection setup does not augment well to extend the benefits offered by MCC. Cloudlet servers filled this gab by assisting the mobile cloud environment as an edge device, offering compute power to the connected devices with high speed wireless LAN connectivity. Implementation constraints of cloudlet faces severe challenges in-terms of its storage, network sharing, and VM provisioning. Moreover, the number of connected devices of the cloudlet and its load conditions vary drastically leading to unexpected bottleneck, in which case the availability to server becomes an issue. Therefore, a scalable cloudlet, Client Aware Scalable Cloudlet (CASC) is proposed with linear regression analysis, predicting the knowledge of expected load conditions for provisioning new virtual machines and to perform resource migration. Keywords—Client aware resource scalability cloudlet, mobile cloud computing, resource migration, scalable cloudlet. iJIM ‒ Vol. 14, No. 12, 2020 165 Paper—Client Aware Scalable Cloudlet to Augment Edge Computing with Mobile Cloud Migration...


Introduction
Computing paradigms connected to the mobile phones have evolved from standalone mobile devices, to interactive video, then towards smart phones meant for games and social collaboration. As cloud computing evolved to offer every kind of services to the end users with minimal cost, the mobile devices connected to cloud are set to become the only device which would offer every possible kind of applications to the end users. To replace laptops and desktops and achieve that goal is not an easy task, as many issues are to be addressed. One of the major challenges ahead is with respect to network latency, real-time end to end connectivity, inter-cloud migration and traffic. On the other hand, the computational capability of the mobile devices to execute like a laptop or desktop is far from reach because of its inherent drawbacks of limited power, speed and storage. Hence to fill this gap between cloud's network delay and mobile's device inefficiency, a new sub domain has evolved namely Mobile Cloud Computing, Edge Computing and Cloudlet Computing.

Mobile cloud computing
Mobile cloud computing offers computationally intensive and storage heavy jobs to be transferred to the resource rich cloud data centers [1]. A simple architecture of the process flow is depicted in Figure 1. First, a compute intensive application request for processing to a cloud service that matches the requirements of the user's mobile application. Secondly, the task may either be offloaded completely or partially to the cloud for computation. Once it reaches the data center, they are processed and sent back to the mobile devices. This simple link between mobile and cloud have been the focus for mobile app developers mainly to store user's data in the cloud thereby relieving the utilization of mobile device. This cloud integration mechanism resolves the problem of limited processing power capabilities of mobile phones and augments it to perform better than its ability. However, the backbone of MCC relies heavily on internet to deliver the services, this poses a major issue for large size data processing, like video and image analysis.
Moreover, the cloud is a revenue model where the cost is directly proportional to the amount of data and service used. Hence any value-added services will be charges based on the utilization of cloud resources namely, the underlying virtual infrastructure, or the storage or even the application for which is the service is being offered. Therefore, to overcome the drawbacks of MCC, various new offerings have emerged, among them the most promising are the Cloudlets and Edge computing.

Edge computing
Edge computing offers its service for mobile devices which has the capability to send data to the servers that are generated by sensors from industrial machines and controllers. Data-stream acceleration for real-time data processing is achieved with no latency, thereby eliminating lag time upon which the sensors can respond immediately. Performing analytics and knowledge generation at the edge, the communication bandwidth and central control from the cloud data center is reduced. While cloud computing is a major enabler of industrial transformation, edge computing is rapidly becoming a key part of the Industrial Internet of Things (IIoT). Hence cloud and edge computing are the complementary technologies that are powering IoT. The next most important computing paradigm, that is in favor of supporting the mobile device is the cloudlet, which offers an alternative to cloud offloading using an intermediate server which is connected through the high-speed network. The server acts as a surrogate system for the cloud and connects to the distant cloud server using a wired or wireless network as presented in Figure 2. The wireless network is generally through a one hop Wi-Fi communication and the intermediate server is any general-purpose computing system where a micro private cloud can be setup. The concept of cloudlet can be envisioned as a local server working through Wi-Fi connectivity capable of running the workloads required by a user. Some of the major advantages of using cloudlet-based offloading over cloud are listed in Table 1. To substantiate it consider a scenario where a student in a university wishes to view a 1-hour video lecture in a particular format. Unfortunately, the video is incapable to run it in his device. Then a cloudlet inside the campus may offer to start the video by offloading it, converting it into the desired format and sending it back. Thereby, saving transfer time, processing time and battery power. To consider this cloudlet offloading it is essential to compare it with other available choices like, what if it is done within the mobile device and at the cloud server. Thus, Cloudlet is the most obvious choice to support the inefficiency of mobile devices to access cloud services. However, even at its best, the cloudlet is a small server connected to the cloud data center, hence it may have very little resource in comparison to the data center. Moreover, there are issues concerning scalability when a greater number of consumers connects to it. Therefore, the objective of the proposed work is to provide a seamless availability of cloud services within cloudlet at higher bandwidth and at less delay based on prior knowledge of the client attributes. Improving the capabilities of mobile devices with the help of cloud platform has been the dominant scope of research where new algorithms and models are identified for offloading tasks from the mobile. Offloading can be done with two different infrastructure, namely direct cloud offloading and surrogate cloud offloading [2]. Direct offloading uses some of the major public cloud resources like Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform for complex task execution. Many researchers have explored various possibilities of mobile cloud applications with the help of these public cloud infrastructures in the field of mobile healthcare, crowdsourcing and gaming [3], [4]. Though direct offloading is the best case for mobile cloud, the latency, network delay, and intermittent connection to the mobile internet make this form of offloading a distant dream for real-time applications. Also, complex applications like video analytics and image processing may significantly affect the quality of service for the mobile consumer's end.
Indirect cloud offloading suggests using an intermediate resource to overcome the inherent problem of network failures and delays in mobile internet. Hence a pioneering vision of Mahadev Satyanarayana [5], paved the way for a surrogate system -Cloudlet, connected to the cloud to perform the task execution for mobile clients. This architecture is known as 'cyber foraging', acted as a bridge between the mobile device and the cloud data centers [6]. Hence a middleware-based approach emerged as an alternative for direct cloud. Based on this, many types of research have been contributed to the development of an intermediate server, as an alternate for the cloud. In the work [7], a cloudlet server offers to offload in a resource constrained edge computing environment.
Cloud scalability assures resource availability when the infrastructure that provides it becomes insufficient when handling dynamic demands [8]. Since resource scalability is one of the underlying features of cloud, new resources must be launched by adding more virtual machines [9]. Therefore, to scale the computational resources, either the existing infrastructure must be added with new hardware or the resource can be migrated it to the public cloud data center. Thus, the methodology adopted for MCC scalability must include three components, namely, the cloud hardware scalability, the network resource scalability and the scalability of mobile devices [10]. Virtual machinebased cloudlet is the best approach when unknown mobile clients interact because a VM can encapsulate the request with the transient guest environment from the permanent host of the cloudlet infrastructure [11]. Some of the challenges for a cloudlet in leveraging its server for mobile clients were described by Aleksandar [12], in that, an efficient way to enhance the productivity of cloudlet is by using persistent cache based virtual machines. These approaches though have identified that VM based cloudlet is by far the best, they have not concentrated on improving the availability when multiple requests are flooded from clients.
A recent contribution from William [13], proposes to bridge the upcoming technology of mobile edge computing with the distributed cloud by having multiple tiers of resources, serviced for clients. Also, in this research, resource management algorithm for application placement based on latency, mobility, and data center utilization have been elaborated. In another work a virtualization-based security technique on MCC is reviewed [14]. In a recent work related to scalability [15], a resource management protocol using auto-scaling methods is proposed for MCC and the futuristic Cloud Radio Access Network (C-RAN). The above literature suggest having a vertical scaling for time demanded applications and for delay tolerant applications horizontal scaling may be the choice. Thus, a reasonable scaling algorithm must be defined with scope for prediction of demand in an unknown heterogeneous environment.

Client Aware Scalable Cloudlet
The proposed Client Aware Resource Scalable Cloudlet (CARSC) identifies client aware features as the primary enabler to perform scalability of the cloudlet. Every client connected to the server must send their features to the cloudlet for analysis, based on the client features the expected resource utilization can be identified through linear regression model. Based on the capabilities of the cloudlet, further resources can be provisioned within the edge devices or from remote cloud centers. Computation offloading frameworks through the surrogate system supports the novelty of mobile cloud by augmenting the capabilities of smart devices [16]. Client feature like context, location, application, time, energy, CPU utilization, security attributes are some of the prominent features that should be taken into consideration for designing a scalable cloudlet. Since the proposed scalable cloudlet is a middleware, the features of client awareness must be enforced in the design for scalability and as well as for migration. Client aware features are classified into three types, whose attributes are given in table 2.

Device attributes 2. Security attributes 3. Application attributes
Device Attributes: The hardware and software attributes related to the mobile devices are considered here. Hence CPU and memory utilization and its corresponding battery consumption form the most important attributes of the device. Other important features are the network capability, i.e., the type of Wi-Fi connectivity the mobile device is supporting. Based on the present scenario IEEE 802.11 b/g/n and ac are the advanced networks supported in the mobile. Hence, any device that does not match the criteria would perform with poor bandwidth quality, and this directly affects the time to offload. Apart from these, the device MAC address and its hardware features like the battery type and capacity, number of cores and memory contribute to it.
Application Attributes: The type of application which are working online and its size helps to judge the performance of the device. Moreover, change in size of the application is one important attribute to identify if there is any malware being injected into the software. Apart from that, the memory utilized by the application, number of threads required to run the application, and the total number of times the applications have offloaded are also considered. Security Attributes: Security is an essential part of any device and an environment like CASC, where many clients may interact with the cloudlet for services. Hence to provide a service the client attributes like malware attack history, the credential store to prove the trustworthiness of the clients and its privacy constraints are a factor that must be taken into consideration. Any certificate received from the third party would necessarily enhance the security of a device because only for a secure device, a third party would assess and provide a connectivity to offload. Similarly, history of malware attacks will state the vulnerability of the device [17]. Trust credentials stored in the trust store would also prove the device trustworthiness. Finally, the location and access patterns criteria help to judge the client attribute with respect to security.

Scalable cloudlet model
Augmentation of the mobile is done when the application currently running in the mobile requires external support for accelerated execution. The external support may be either the cloudlet or the cloud servers. To decide when to offload must be taken based on the ability of the device to do the job given the present client context. Hence an offloading decision algorithm is developed, which uses the attributes of the client and the availability of the required application at the cloudlet as presented in Figure 4. This process of judging the ability of the system is done by the Client Aware Cloudlet (CAC) by making a preliminary connection establishment.

Fig. 3. Scalable cloudlet architecture
The Cloudlet is designed as a micro private cloud implemented on commodity hardware with very limited resources in comparison to a cluster of servers as depicted in figure 3. This configuration is adopted to prove that the proposed model can be setup with limited resources by anyone to contribute his resources for offloading service.

Need for resource scalability
Under changing workloads, the CAC must be stable and manage the increasing demands raised by the addition of new offloading task from existing mobile users and as well from new users [18]. Therefore, to meet this demand it is essential to add new resources, hence the choice of resources can be from 3 different sources namely: 1. Scalability through elasticity of the existing CAC if additional VMs can be provisioned. 2. Additional resources can be provisioned by converting the micro private cloud into a mini-private cloud or into a full-fledged cluster of computers so that 100s of VM are ready to serve. 3. The final approach would be extending the CAC to connect with any available cloud server who can able to run the required application at remote data center.
The first two approaches can be implemented within the perimeter of the source and hence our work is developed to achieve scalability by extending the existing resources based on the scalability protocol.

Implementation of CASC
The client aware scalable cloudlet requires atleast 2 VMs are needed for running the client requesting applications and CAC components. Hence the need to start new VMs if available within or from its cluster is essential when there is an unexpected number of mobile clients' request for offloading their task. The launching of new VMs when there is a load imbalance at the CAC is governed by Client Aware Resource Scalability (CARS) protocol as presented in figure 4. Moreover, CAC being an exchange point at the edge of the internet, the private cloud needs to coordinate with the public cloud, making this into a hybrid cloud environment if the need arises [19]. Though hybrid VM scalability is considered as a future scope of the research, it is one of the potential areas to explore. This is because; the idea of cloudlet is fast becoming an exchange platform to the cloud that is currently evolving as an upcoming computing paradigm called edge computing.

Client aware resource scalability protocol
The client aware resource scalability protocol identifies the history of past interactions of the mobile clients and its corresponding load as the important client aware features. For example, in the video conversion process, the load for converting a video file depends on the size of the file. The history of that load is dependent on the number of access made by those mobile users. Hence if the same user is arriving at time a (t+1), then it can be assumed that a similar load can be expected given the past value of the same user. Therefore, the load which is nothing but the CPU utilization of the running virtual machine is to be calculated. Thus, based on the evidence and likelihood a lookahead approach for predicting the load is carried out using the auto scaling functionalities inbuilt in the OpenStack's Heat component. This functionality is fine-tuned to predict the expected workload and initiate the VMs when the load exceeds the threshold. The upper and lower thresholds for virtual machine scaling are estimated based on multiple trails for the different input condition. The CPU utilization of the CAC when multiple mobile client's access are tested and the values are mapped for a time period of 3000 sec as depicted in the graph of Figure 5. It can be seen from the graph and its related table 3, that at time 0 the CPU utilization of VM1 is also 0 and as the 1st client uses the server for computation, it uses around 30 seconds for the first file of 10MB size. As the 2nd client with file size15 MB and 3rd with 21MB uses VM1 concurrently it reaches beyond 80%. The upper threshold for CPU utilization is fixed at around 80% for more than 3 minutes. During this time few more files namely 4th, 5th and 6th files are converted thereby reaching the peak of 100%. Hence after 3 minutes, the 2nd VM gets initialized for resource scalability, which starts at around 480 seconds. Similarly, the VM3 starts at 780 seconds, and has its lower bound at 25% or 10 minutes, then its shuts down the VM3 at 1500th second. Observation of CARS: Based on the CA resource scalability protocol the CAC efficiently provided the necessary service without any interruption. The following are the estimated CPU load conditions when offloading begins.
Mobile Device 1 -CPU utilization around 30 to 40 % Mobile Device 2 -CPU utilization around 75 -90 % Mobile Device 3 -CPU utilization > 90% Hence for heavy duty applications like video conversion, only 2 to 3 consecutive conversion operations could be performed in a single VM, hence when the request is greater than 3 then additional VMs are instantiated based on the threshold conditions of CARS. Thus, VM scalability is an essential process while designing the framework for CAC.

Cloud Migration Service
The concept of CAC is to utilize the available resources within the micro-private cloud environment for minimizing the cost and response time. This could well be achieved if the number of requests is minimal at any given time and if the requested service within the scope of availability. However, with the resource of a dual-core processor with 8GB memory, the CAC server will be of no use when there is a surge in request for processing High Definition (HD) videos or performing 3D rendering. Hence there must be always a cloud supported resources for execution that can able to support resource migration to external virtual machines.
A Client Aware Migration Service (CAMS) is deployed within the OpenStack middleware, for resource migration to the remote cloud datacenter. The CAMS already acts as an exchange service for helping the recommendation engine for downloading and deploying recommended applications into the application server.
However, with respect to resource scalability, it performs migration of tasks based on the information provided by CARM via the internet to the cloud and completes the task, and stores it at the CAC. If the client's context changes then based on CAAS the output can be further sent to the cloud storage. Thus, CAMS is an essential service as long as the CAC is self-sufficient in terms of applications and resources.

Conclusion
Offloading computation from a resource poor mobile device to a surrogate machine has been the major focus towards integrating mobile and cloud computing. Despite being a promising technology the level of adoption and full-fledged integration on a client device is rather slow, because of its inability to satisfy the client requirements. One of the major requirements is the stability of the Cloudlet, which has been effectively addressed by incorporating a scalability protocol CARS for the scalable cloudlet. This result has shown that within a simple standalone setup of micro private cloud, it is possible to scale and handle multiple clients by initiating VMs when required. Also, the VM can be activated and deactivated based on the client aware features of the mobile devices that are connected to the CASC server. Thus, the proposed work envisages a new paradigm where mobile cloud supports the clients not by sending the service to be offloaded to the distant cloud but to a nearby server at the edge of the cloud. Hence this paper introduces a method to bring in Mobile Cloud Computing and Edge Computing to server the client mobile device based on its client aware features.