Can cloudlet coordination support cloud computing infrastructure?

The popularity of mobile applications on smartphones requires mobile devices to perform high-performing processing tasks. The computational resources of these devices are limited due to memory, battery life, heat, and weight dissipation. To overcome the limitations of mobile devices, cloud computing is considered the best solution. The major issues faced by cloud computing are expensive roaming charges and growing demand for radio access. However, some major benefits associated with cloud computing are fast application processing, fast transfer of data, and substantial reduction in the use of mobile resources. This study evaluated the association between the distance of cloud servers and cloudlets with and without coordination and data latency. Fast communication in the cloudlet environment is facilitated by coordinated cloudlets, which have a positive influence on the infrastructure of cloud computing. The coordinated cloudlets can be efficiently accessed in different areas, such as vehicular networks, vehicular fog computing, and fog computing.


Introduction
The use of mobile devices, including tablet PCs and smartphones, has become the most popular and effective tool for communication. By using different services of mobile applications, such as Google apps and iPhone apps, mobile users can accumulate a rich experience. The wireless networks run these applications on remote servers and devices. In the development of information technology toward the industrial and commerce fields, mobile computing has become a powerful trend. In today's world, mobile devices face great challenges in terms of communication, including security, mobility, and resources. These limitations are likely to delay improvements in service qualities.
Network resources can be easily shared through cloud technology. Improvements in communication and network technologies are supported by different reliable and robust solutions. A large number of networked computers are utilized by cloud computing to provide better services to the users, such as access to databases, running software applications, and storing files. A single computer server can render these services to the users. However, it is not possible to identify a specific computer providing services to the users in cloud. The network of computers performs heavy lifting, such as file storage and running software in cloud computing. The user's computer runs the interface software for interacting with the cloud, such as the email facility. A web browser is used by users to receive, read, write, send, or delete messages on email. However, the actual files and email software are present in the cloud instead of on the computers.
The exciting advantages of cloud computing has resulted in its adoption on mobile phones, termed mobile cloud computing. The reduction in running cost of mobile applications has attracted many entrepreneurs, who find it a profitable business. Mobile cloud computing is a new technology that aims to achieve a perfect experience for different mobile services at reduced cost. The introduction of mobile cloud computing depends on the integration of cloud computing in the environment of mobile devices, which are responsible for supporting cloud computing for users. Users can take maximum advantage of the new types of facilities and services brought by mobile cloud computing.
Mobile cloud computing refers to the infrastructure comprising data processing and data storage, which occur outside the mobile device [1]. The computing power and data storage are moved away from the mobile phones in the cloud by mobile cloud applications, thus enabling mobile applications for users and mobile subscribers. Mobile cloud computing is considered a new approach to mobile applications that moves away the mobile device toward centralized and powerful computing platforms within the cloud. The centralized applications tend to access over wireless connections based on a web browser or thin native client in mobile devices.
A cloudlet, which is a cluster of computers that are designed to quickly provide mobile computing services to mobile devices, is a common aspect of mobile cloud computing. The results of the present study are significant because they indicate important improvement in cloudlet performance. Performance is enhanced when cloudlets coordinate with themselves compared with no coordination. Accordingly, Clients connect to the remote server directly = The worst case.
Clients connect to the remote server through cloudlets = Better case.
Clients connect to the remote server through coordinated cloudlets = The best case.

Cloudlet infrastructure and its virtualization
The convergence of cloud and mobile computing has resulted in the emergence of a new architectural element known as a cloudlet [2]. A cloudlet represents the middle tier of the 3-tier hierarchy of mobile devicecloudlet -cloud. The cloudlet aims to bring the clouds closer and observe them as a data center in a box. The concept of cloudlets was introduced by Satyanarayanan [3], who performed extensive research on computers in the vicinity of mobile users. The narrow considerations of end-to-end latency have been motivated by the cloudlets because this parameters plays a significant role in hostile environments for mobile computing [4]. A cloudlet also refers to a small cloud that is present near the mobile users that is connected to the remote clouds via a LAN network [5]. A study revealed an innovative design for applications related to face recognition by utilizing the mobile-cloudletcloud architecture, known as MOCHA. The architecture of MOCHA is presented in Fig. 1.
The challenges for generating and receiving highresolution images and high-definition videos caused by the interaction of multiple users are simplified by the use of cloudlet [6]. The other benefits of cloudlets are reductions in the cost of equipment because a great number of expensive fat access points are not needed to ensure network coverage. Under such conditions, the wireless termination points are lightest as it decreases the access latency by the placement of network functions. Some applications that are flexible and possess simple network management are kept close to the users because the cloudlet is self-manageable. The network functions virtualization technology reduces OPEC and CAPEX by avoiding management complexities and expensive middleboxes. The introduction of targeted service is based on venue type and geography. However, remote provisions can be made without any requirement of visits in the software for installation of new hardware.
The limitation of coordination between cloudlets is illustrated by the lack of relevant studies, despite the extensive discussion of cloudlets and cloud computing. This study aims to disseminate and enlighten, thereby demystifying the complexities associated with cloudlets and cloud computing. The study also investigates the strengths and weaknesses of current methods and approaches applied to cloudlet coordination to improve and develop these different techniques. Cloudlets need to be managed to enhance security and improve their performance.
Coordinated cloudlets refer to small clouds that are connected to each other and close to the users who share resources among themselves. These cloudlets can run more than one virtual machine since the virtual machines are installed on these cloudlets (discoverable localized and stateless servers). The mobile devices offload their expensive computations onto the virtual machines. The cloud infrastructure is found in different locations, which may not be totally known by the users. For instance, Amazon's infrastructure is present within 16 geographic regions across the world. The end-to-end part of the application involves many network segments when a user attempts to reach the site from a mobile device. In this approach, a direct connection is made through the high WAN latencies to allow users to carry on real-time applications. Fog computing refers to cloudlet-based mobile computing that is responsible for facilitating the operation of storage, computers, and network services between remote clouds and mobile devices. Fog computing leverages network components such as routers and switches in the network, whereas cloudlets use dedicated infrastructure. The main aim of this application is a reduction in access latency [7]. Fog computing allows for quicker response rates as there is no network latency and the network traffic is greatly reduced. Thus, the relevant data can be relayed to the cloud. This type of computing also improves the security of the data that resides in the cloud. There are disadvantages of fog computing; for example, the whole system appears complex, analytics are performed locally, and some enterprises do not like the idea of their data being kept outside their premises.

Related work
The number of users using mobile phones to connect with the internet is rising continuously. In addition to the server hardware and static client, mobile hardware is recognized as a necessary resource. Compared to static servers and clients, there are many drawbacks associated with mobile devices. The computational resources of the mobile device are limited by memory, battery life, and weight and height dissipation.
Cloudlets are beneficial because they allows their users to instantiate custom virtual machines rapidly on the running cloudlet, which requires software in a thin client fashion. A novel architecture for a carrier-managed WLAN network was presented by Jemaa et al. [6]. This network leverages the virtualization of network functions and concepts. Three cases of delay in performance were tested: the delay between the user device and the video server; the round trip time between the user device and the gateway for both the proposed and reference architectures; the delay between the wireless termination points and the gateway. The concept of cloudlet properties, such as size, lifetime and reachable time, was introduced by Li and Wang [8]. Studies related to computing performance and cloudlet properties are helpful in exploring the domain of mobile cloudlets in mobile cloud computing. A number of resource-rich devices can act as an initiator to connect to the computing service, revealing a number of nodes in the network. There is a slight negative effect of intermittent connection on the efficiency of a mobile cloudlet. The lower and upper bounds have been derived through the computing capacity and computing speed of a mobile cloudlet. The decision by an uploading task to utilize a nearby mobile cloudlet and clouds depends on the usage of the bounds by an initiator. The feasibility and performance of mobile cloud computing is investigated on the basis of the design and implementation of mobile applications on the cloudlet system of mobile devices.
A data security protocol for cloudlet-base architecture was proposed by Jindal and Dave [9]. The cloudlet uses a perfect forward secrecy property and is integrated with the base station. The protocol is responsible for protecting data from any unauthorized users and also prevents data exposure to the cloud owner. The following components are included in the data security protocol: the cloud; the cloudlet; the data owner, who is the mobile device user and uploads the encrypted file on the cloud; the data sharer who wishes to access the data uploaded on the cloud by the data owner.
The cloudlets act as intermediates among the cloud, cloudlet, and mobile devices present within the system, which serves approximately 100 mobile users. The assumptions made by this system are as follows: trusted cloudlets; the cache of frequently accessed files is maintained by each cloudlet; the list of authorized sharers is maintained by the owner; the cloud servers have abundant storage capacity and computation power; unique ID; generation of a new session key to upload each file.
The data in the cloud are stored and retrieved securely by computing-intensive tasks on the cloudlet, which also involve lightweight wireless devices. The data stored on the cloud are safeguarded from illegal access by the proposed protocol safeguard. Moreover, Shi et al. [10] proposed a new cloudlet architecture for security enforcement. The new architecture was established to enforce security by specifying authentication, encryption, and authorization for trusted mobile cloud computing. The architecture secures the connections among cloudlet servers, mobile devices, and clouds present at a distance. It also improves the hierarchically structured security architecture that is established Fig. 2 Cloudlet-Based WLAN Architecture [6] among mobile devices, the cloudlet mesh, and remote cloud platforms. Moreover, it processes the predictive security analytics at the backend cloud to scan for viruses and update automatic virus filtering. In addition, the trusted remote clouds are aided by the removal of malicious attacks, real-time filtering, and fast response to intrusions. The use of multiple cloudlets is suggested for the following reasons: it increases the wireless coverage to serve more mobile devices; the building up of a shield and alert system for all mobile users is made possible through defense coordination between the mesh cloudlets; caching and load balancing among the cloudlets in offloading tasks for the cloud.
These features show clear advantages of utilizing a composite mesh of 3 cloudlets. The performance of the composite intrusion detection system (IDS) was higher than the individual IDS performance when the false positive rate at the extreme right had a high value of 0.006. The potential effects of emerging solutions and technologies were evaluated by Manzalini et al. [11]. In the areas of migration, dynamic allocation, and automated arrangement of entities of virtual machines, the study successfully identified some technical challenges across a wide span of areas of interconnected edge networks. Two multi-core servers were used to host and implement the infrastructure. The multi-core servers were equipped with Linux CentOS distribution running Virtual Box as the VM hypervisor. Two virtual single-core Linux boxes were used by the virtual machines, of which one acted as the video server, while the other act as the access connecting the server to the user. The two virtual machines were dimensioned with the minimum amount of memory (512 Mbytes for both) and disk space (7.2 GB for the video server, 1.3 GB for the access router) to maintain a small migration latency. The reduced migration latency was reflected in the efficient performance of VM functions.
The virtual machine teleporting the functions in Virtual Box was facilitated by the live migration of the whole network infrastructure. An ad hoc link between interfaces connected the two hosting servers emulating two remote data centers, which were not linked to communicate with the users. Future network infrastructures should employ a great number of resources that are controlled by user demand, changes in conditions, and business objectives. SDN and NFV are standard hardware  advances and emerging paradigms that enable remarkable disruption at the edges of current networks. Ceselli et al. [12] reported a cloudlet network design problem for mobile access networks. The study stated that virtual machines are allocated to the cloudlets and are linked with the mobile users. To assess the requirements for mobile cloud service function, the study compared bulk and live migration models. The study gave high preference to the bulk migrations for the stringent delay services as compared to the less stringent delay requirements. Moreover, these models revealed that an optimal network design included cloudlet placement and assignment of base stations to cloudlets. Although the main focus of the study was to obtain strategic insights for design policies, the model was successful in revealing an optimal routing of the traffic from and to the cloudlets. This model benefitted the mobile access metropolitan area networks by providing a comprehensive cloudlet network design framework. The scenario built over real cellular network datasets was compared in terms of migrated volume and number of enabled cloudlets for reference mobile cloud services among different traffic engineering and performance goals.
A large-scale Body Area Network (BAN) system was presented by Quwaider and Jararweh [13] in the context of cloudlet-based data collection. The model was designed to minimize the packet cost by selecting data collection over the cloud that utilized a cloudlet-based system. Selecting a dynamic neighbor cloudlet minimized the end-to-end packet delay. The implementation of CloudSim was extended as Teachcloud to obtain a better understanding of the cloudlet-based BAN model [14,15]. A virtual machine ranging from one CPU to a set of CPUs was assigned as a significant part of the hardware resources supporting the multi-core technology.
The cloudlet system was equipped with sufficient memory capacity per physical server and comprised a moderate size of storage capacity reaching the Terabyte scale. The cloudlet facilitated different transceivers to support the main functionalities of the system. The transceivers were able to receive and send data packet to and from the users of the BAN. The two primary metrics, packet delay and packet transmission power, were used to evaluate the cloudlet-based BAN data collection. The delay expenditure and communication energy arising from the PDA device to the enterprise cloud were evaluated using these primary metrics. The study concluded that the increase in coverage area with Wi-Fi reduced the average power of the transmission packet and delay.   The impact of application location on the cloudlet user experience was investigated by Clinch et al. [16]. The study stated that emulation of mobile devices with Mac Mini simplified automation and packet tracing. Mac Mini was used as the display machine with 2. 26 GHz Intel Core 2 Duo, 4GB RAM, Mac OS X 10.5 and a wired LAN. The cloudlet virtual machine was connected to Chicken of the VNC, which is an open-source VNC client. Seven servers were deployed, of which 3 were physical cloudlet machines and 4 were cloud virtual machine instances. The network was connected from the host Ethernet to the VM, which ran on a Vino VNC server and Python 2.6. Each cloudlet used a Mac mini running OS X 10. with 2GB Ram and 1.83GHz Intel Core Duo together with a VirtualBox 3.0.12 of an Ubuntu 9.10 guest VM (allocated 1 CPU, 395 MB RAM,  and 8GB disk). The instances ran vnc4server and Python 2.6. The cloud instances ran on the Amazon Elastic Compute Cloud (EC21) with 1 Compute Unit (32-bit Ubuntu 9.10 Server, 1.7GB RAM, 160GB storage). A set of constraints intrinsic to mobile computing was explained in a study conducted by Satyanarayanan [17]. The study examined the effects of constraints on distributed systems. A summary of the Coda and Odyssey systems was discussed, as well as the research opportunities in five crucial topics. These topics were applicable to mobile computing, semantic callbacks, caching metrics, validators, analysis of adaptation, resource revocation, and global estimation from local observations. Moreover, a community clinic solution integrated in the cloudlet group between the mobile users and the cloud was proposed by Zhang et al. [18]. The high cost introduced by massive deployment of cloud data centers was reduced with the aid of this proposed system. It also reduced the consumption of battery by the mobile devices.
The cloudlet access probability, task execution speed, and task success rate were examined by Li and Wang [19]. The study was conducted to measure the effects of mobility. Two factors were determined: the mean connection time and mean inter-connection time between the cloudlet and the mobile device. The study also found that the execution speed and task success rate were dependent on task computation demand, cloudlet access probability, and cloudlet computing speed. A cloudlet concept to manage applications at the component level was proposed by Verbelen et al. [20]. The study revealed the capabilities and advantages of a mobile real-time augmented reality application (Fig. 3).

Software design
The present study aims to support the process of communications between clients and cloud Servers via cloudlets. The cloudlets act as an intermediary between cloud distance servers and clients. The use of virtual machine cloudlets enables a clean separation. It is easy to avoid the problems associated with the configuration of software on the cloudlet to the mobile device service (Fig. 4). An isolated guest software environment is enclosed in the permanent host software environment within the cloudlet infrastructure. The possibility of compatibility of the cloudlet and mobile devices is increased by a stable interface between the host and guest [5].
To simulate a real cloud environment and obtain accurate results, 7 virtual machines were deployed (1 cloud VM server, 3 VM cloudlets and 3 VM clients) over a public network among the USA, Italy, and Saudi Arabia. The remote cloud VM server was installed in Seattle in the USA with ip address (67.161.106.95). It had 2.67 GHz Intel Core i5, 1 GB RAM, and 20 GB disk and ran Windows Web Server 2008 and VMware Workstation 9.0. The 3 VM cloudlets were installed in Florence, Italy, with shared ip address (79.52.120.186). They had 1.   Figure 5 shows the geographic distribution of the remote cloud, cloudlets and clients. Tables 1, 2 and 3 present the experimental details.
The study was intended to compare two scenarios of data exchange: single direct connection and multiple indirect connections between cloudlets and the remote cloud. Therefore, the primary objective was to measure the data latency in the cloudlet environments in the two different scenarios. The data resided in the remote cloud and were requested by cloudlets based on clients' requests. The clients and servers were implemented using JAVA (Figs. 6 and 7).

Implementation details
The initiation of the remote cloud server occurred at a specific machine and port, which led to the starting of the three cloudlets. Each cloudlet knew the address and port of the remote cloud server. The cloudlets knew the addresses and ports of the other cloudlets in coordination mode; by contrast, in non-coordination mode, the cloudlets did not know the addresses and ports of the other cloudlets. Thus, this work tested the speed in two scenarios. The first used direct connections between the cloudlets and remote cloud server. The second used cloudlet coordination before connecting to the remote cloud server.
The data will be duplicated but will be more secure as a backup after the addition of the VM remote server. However, if the remote server is removed, the scenarios cannot run because the data reside on it, resulting in loss of the data. By contrast, the addition of the VM cloudlet results in better performance due to cloudlet collaboration. The removal of VM cloudlets decreases performance due to the decreased collaboration between the cloudlets. The addition or the removal of the VM client has no effect on the system as the VM client allows a client to execute an operating system locally on their device, whereas the operation system is managed centrally. The client requests a word through the VM client, and then the connection server authenticates the client before connecting the client with the virtual network. Thus, the addition of the VM client does not affect the system as it needs the words to operate. However, if the VM client is removed, the client would not be able to request the words.

Scenario 1
The remote cloud server reads a text file and stores each pair (word, occurrences) in the hash table. It needs to ask for words. The cloudlets do not store the hash table and instead store the cache only, i.e., temporary data that are only accessible during the connection process. The cache contains nothing, but when it read some words, it can store the words temporarily for later use. A cloudlet will receive a word request from a client and reply back to the client with the requested word. If the cloudlet does not have the requested word in the cache, it will directly ask the remote cloud server for the resource, and the remote cloud server will send a response with the requested word to the cloudlet, which then forwards the word to the client. Figure 8 shows the sequence diagram of scenario 1.

Scenario 2
The remote cloud server reads a text file and stores each pair (word, occurrences) in the hash table. It needs to ask for words. The cloudlets do not store the hash table and instead store the cache only, i.e., temporary data that are only accessible during the connection process. The cache contains nothing, but when it read some words, it can store the words temporarily for later use. A cloudlet will receive a word request from a client and reply the requested word back to the client. Moreover, approximately 1000 requests are made by a client. As the client reaches request number 1000, it stops, and the needed time returns. If the cloudlet does not have the requested word in the cache, it requests the word from other cloudlets. If the other cloudlets also do not have the requested word, the cloudlet sends a request to the remote cloud server. The requests are not made randomly; the same list of words is provided to all clients. The remote cloud server replies with the requested word to the cloudlet and then to the client. Figure 9 shows the sequence diagram of scenario 2.

Experimental results
The results were obtained from 7 virtual machines, which included 1 remote cloud server, 3 cloudlets, and 3 clients. Measurements of 3 clients were obtained in both scenarios. The three clients received the data more quickly in scenario 2 than in scenario 1 (Table 4).
To summarize the experiment, two scenarios of cloudlet-base architecture were tested. In the first, the distance cloud is connected with the clients directly through a cloudlet. In the second, the users are connected with the distance cloud after connecting the other cloudlets for faster and better communication. Therefore, the cloud computing infrastructure environment is supported by cloudlet coordination, which  enables fast and reliable connections. The set-up surveyed in the present study provides the best performance in cloudlet environments. From the experiment above ( Fig. 10), improvements can be observed in the performance when the cloudlet architecture (Scenario 1) is used comparing to direct connection of the clients with the remote cloud. The results showed that the improvements in performance were in the range of 15-45% for all three clients. In addition, the performance was even better for all three clients when the coordinated cloudlet architecture (Scenario 2) was used. The results showed that the improvements were in the range of 40-51% compared to direct connection of the clients with the remote cloud.
To provide a better illustration, the experimental results were converted to the percentage of the transmission completion time of the three clients. The performance of all three clients improved in scenario 1, and this improvement was even greater in scenario 2. For instance, Fig. 11 shows that client 1 needed approximately 85% of the transmission completion time to complete the experiment in scenario 1, in which data were obtained from the cloudlet instead of directly from the remote cloud. In addition, client 1 needed only 60% of the transmission completion time to complete the experiment in scenario 2, in which data were obtained from the cloudlets that coordinated with each other instead of from the cloudlets that were directly connected with the remote cloud.

Conclusion and future work
This study proposed a coordination method based on a cloudlet-based architecture. The solution tested the speed of data in cloudlet environments with and without coordination. The coordination analysis showed that the data were transferred faster using the selected method than with the normal cloudlet architecture. Further studies are needed to examine the benefits of cloudlets in internet applications.