A Comparison of Cloud Execution Mechanisms Fog, Edge, and Clone Cloud Computing

ABSTRACT


INTRODUCTION
Smart devices such as, Smart phones, tablets, PCs, Net-books, etc., are trending in the market today.These devices are compact and small, which make them handy for use.Being small, they have fewer resources than other systems.Cloud computing was used to address the drawbacks in these devices, such as lack of storage, computational power, and the limited battery life of Smart devices [1].Mobile cloud computing is an interdisciplinary combination of cloud and mobile computing.Resource constraints in mobiles gave rise to the use of the cloud in mobiles, which was later known as Mobile Cloud computing or MCC [2].It is also considered as an extension to cloud computing, but at the same time, it provides services to Smart devices.There are a number of limitations in using mobile cloud computing, as cloud data centers are often located at remote locations from the place of request.
This makes it more susceptible to suffer from lag, network resilience, and link failures, thus, the objective of using mobile cloud computing fails because of these issues.Also the volume and speed of data in applications such as healthcare, manufacturing and traffic management is high hence big data analytics tools such as mahout, sparks etc are used.They process multiple data sources, distributed memory tasks and range of algorithms however it is still inclined to cloud data centres who provide and support their services [3].Hence there is need to get the cloud closer to users.Edge, Fog, and Clone clouds try to address these issues and are differentiated from each other in terms of usage and build techniques.The most recent developments in cloud computing are fog and edge computing.It is necessary to make a comparison of these techniques to understand the advantages of using edge, fog, and clone cloud in different systems.Cloud-based applications use a central server to process data, which increases the communication between user devices.Hence, there is a need for looking beyond the cloud at the edge of cloud networks.The aim is to explore possibilities of performing computations at edge nodes.Edge Cloud augments traditional data centers consisting of cloud models, with service nodes placed at the network edges [4] [5].The proximity of edge nodes, allows data processing to and from remote clouds to be done at the edge.Computing on edge nodes closer to end-users can be exploited as a platform for application providers to improve their services.
Similarly, clone clouds provide a distributed mechanism of application execution, in contrast to edge cloud.It automatically transforms mobile applications to benefit from the cloud [6].This application is a flexible run-time execution partitioner, which transfers execution onto device clones running on the cloud.A clone allows for the dynamic execution of various applications by alternating between the clone and the device.
In the same way, fog computing gives the user the option of performing cloud operations at locations closer to his or her point of interest.Fog computing is similar in many ways to cloud and edge computing.The huge influx of real-time data, and the need for processing the same, gave rise to the terminology of fog computing [7].Fog nodes are heterogeneous devices, ranging from high-end servers, access points, set-top boxes, edge routers, etc., to end devices, such as mobile phones, smart watches, and sensors.It uses existing networks and routers in nearby locations to perform operations just like the cloud [8].Fog computing also has a better response to the Internet of Things environment and is suitable for real-time service requests.
The goal of this study is to understand the differences between these technologies by performing a comparative study of each of these approaches.Some of the application areas where they are useful are also discussed.The next section provides a survey on edge, fog, and the components of their builds that make them feasible for implementation.This study includes a comparative study on edge computing and fog computing, a discussion on the elastic execution mechanisms using clone cloud computing, and an inspection of off-loading mechanisms used in clones and the cost-benefit analysis to off-load.Additionally, a summary and comparative study on fog, edge, and clone cloud mechanisms is provided.

SURVEY ON EDGE COMPUTING AND FOG COMPUTING 2.1. Edge Computing Review
It is known that cloud computing and mobile computing are used together to harness mobile backends to augment the resources for Smart devices.However, they suffer from lag, network resilience, and link failures.Edge computing is a terminology that is used to augment traditional data centres with service nodes at network edges.Mobile Edge Computing (MEC) [9] allows the use of cloud and IT services within close proximity of mobile subscribers, thus reducing the end-to-end latency.It is based on a decentralized model that interconnects a heterogeneous cloud and it is based on the following elements: a. Proximity: The possibility to use nodes that are nearer rather than farther away.b.Intelligence: Use of autonomous decision making to help in the miniaturization of systems.c.Control: Management and coordination comes from edge machines that assign or delegate computation [10].
Hence, based on these overall elements, edge computing delivers low-latency, bandwidth-efficiency, and resilient end-user services.Using this service, users receive latency benefits from those who are away from the data centres.Edge computing provides a traditional data centre with extended capabilities to deploy applications at the edge networks [11].The proximity of users and low latency are significant advantages in times of network congestion.These features allow the mobile network operators, vendors, as well as application service providers, to improve existing services using edge computing, enabling significant value addition to the respective business models.Figure 1 shows edge centre architecture through LAN and WAN networks connected to the cloud data centre.

. Model of an Edge System
Edge computing supports primitive virtualization instead of hypervisor-based hardware virtualization.In the paper by Satyanarayanan [12], edge computing is discussed as a new paradigm in which substantial computing and storage resources are done at micro data centres placed at the Internet's edge in close proximity to mobile devices or sensors.The WiCloud architecture by Hongxing [13] consists of a layered architecture that includes a physical layer, virtual layer, and a function and service layer.The paper by Chang et al. [14] gives a general model of an edge cloud that can work with all types of edge services and also IoT platforms.

Applications Based on Edge Computing
The Follow Me Edge (FME) architecture is an edge service architecture proposed by Dutta et al. [15], where the service continuously follows the user to the closest edge.Migration is done to ensure that no data is lost.To realize the FME architecture, the edge operator needs to keep updated information about resources and user locations.The SLA consists of an integrated architecture of edge operators, a shared storage concept, and service migration, which are enforced in the FME architecture.A framework for mobile edge computing to support diverse applications in a Smart city scenario, by reducing core network traffic through Smart MEC, is the overall idea.Another open sensor platform developed on the basis of edge computing is proposed in Waggle, a wireless program that uses sensors to measure air borne pollutants.It is an OpenStack-based, edge platform that consists of a node controller that manages a sensor data cache, reads simple sensor values, and manages the network stack and encryption.
The edge computing for the sensor platform addresses resilience, performance, isolation, and data privacy.Nebula [10] is a dispersed cloud infrastructure that uses edge.It was developed by the University of Minnesota to support distributed data-intensive computing and for efficient movement and availability of large quantities of data to compute resources.It acts as a decentralized cloud, working at the edge of the network and helping with the devices lacking resources.Femto Cloud, discussed in work by Ammar et.Al. [16] are a collection of co-located devices used to provide a cloud service at the edge.The Femto Cloud provides a dynamic, self-configuring, and multi-device mobile cloud out of a cluster of mobile devices.The architecture is designed to enable multiple mobile devices to be configured into a coordinated cloud computing service.From the study on edge computing and its applications, it is seen that migration of resources has provided application-aware provisioning in edge-based applications.

Fog Computing Review
Fog computing was first introduced by Cisco Systems, Inc., for wireless data transfer between distributeddevices in an IoT network paradigm.Fog computing, or fog, is an architecture that uses one or more collaborative end-user clients or near-user edge devices to carry out storage, communication, control, configuration, measurement, and management.Many research papers consider fog and edge computing complementary to one another.Similar to edge computing, fog computing is carried out closer to the end user's networks.It is also a virtualized platform located between end users and cloud data centres hosted on the Internet.It enables computing at the edge of the network [17].Edge routers are advertised for processor  The employment of SDN and NFV can ease the implementation and management, increase network scalability, and reduce costs in many aspects of fog computing, such as resource allocation, VM migration, traffic monitoring, application-aware control, and programmable interfaces [19].Augmented reality and realtime video analytics are one of the areas supported by fog computing, which can maximize throughput and reduce latency in both processing and transmission for high stream video streaming processes.The Internet of Things and Connected Smart devices have given way to fog computing principles, which has been used in various domains, such as Vehicular networks, Body Area Networks (BAN), and the Smart Grid.Fog computing allows for greater support and better response time to the Internet of things environment, it is suitable for real-time service requests, and it shares resources efficiently [8].

Comparison between Fog and Edge Computing
Cloudlet is a resource-rich computer like "cloud in a box," which is available for use by nearby mobile devices.Bahl et.al. [20] built Cloudlet, ahead of fog computing, but now agree with the concept of fog computing.In fog computing, infrastructures are provided as resources for services at the edge of the network.They are called fog nodes, which are similar to cloudlets.They can be resource-poor devices, such as set-top-boxes, access points, routers, switches, base stations, and end devices, or resource-rich machines such as Cloudlet and IOx.This study reviews power consumption by cloud and fog resources.Mathematically, it has been proven that by using fog resources, power consumption is minimum in different applications.As fog computing is a relatively new concept in cloud computing, the presence of secure sandboxes for the implementation of fog applications brings about new challenges in terms of trust and privacy.Fog are a type of mini-clouds in the network for increasing resource availability, thus by doing so, isolation and sandboxing mechanisms must be in place to ensure bidirectional trust among cooperating parties.Standardization mechanisms on the network should take place at the terminal and node end of fog networks.There is also a lack of central entity controlling the fog; hence, it is difficult to assert if a given device is indeed hosting a component.
At the same time, there are many open-ended issues in edge computing where application deployment strategies, edge node security, and failure recovery, are some of the issues that need further research.As edge is in close proximity to end-users, it enables reduction of latency.It also provides radio network capability, including access to network information and integration with operator network services.These are some of the advantages of using edge computing.Table 1 presents a comparative study of fog and edge cloud computing.In the next section a different perspective of distributed cloud computing, using elastic execution mechanisms between devices and a cloud, is discussed.Further, a comparison on clone cloud, fog, and edge computing is presented.

Table 1. Comparison between Fog and Edge Computing Fog Computing
Edge Computing 1.
Deployed at the local premises of mobile users.Deployed as a traditional data centre with extended capabilities.

2.
Virtualized device with build-in data storage, computing, and communication facility.
Uses an edge server similar to a traditional data centre server.

3.
Can be adapted from existing system components.
It is completely built as new system or a mini cloud data centre.

4.
Energy consumption of fog is less than cloud services, but overhead is high compared to cloud.
Edge uses less resources than the cloud and initial overhead to build is high compared to cloud

5.
No central entity controlling the fog cloud.Edge server using cloud technologies and virtualization used to control edge components.

6.
May not be controlled by network operators, uses an ad-hoc distribution.
Allows the mobile network operators to improve existing services with edge.

CLONE CLOUD: ELASTIC EXECUTION MECHANISM IN THE CLOUD
The advantages of cloud computing are the services offered by cloud providers, i.e.Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS).To address the inherent problem of resource constraint in mobile devices, the concept of off-loading data and computation to cloud service providers is used.Examples, such as crowd sourcing, image processing, use of GPS, and Internet data happen outside the device using mobile cloud computing.Augmented Smartphone applications, with clone cloud, address challenges in ways to off-load execution to the cloud infrastructure.Clone cloud technology was introduced by Chun [21] for off-loading execution from the Smartphone to a computational infrastructure hosting in the cloud of Smartphone clones.The idea was proposed on the simple concept that allows Smartphones to host its expensive and exotic applications.The novelty of the approach is that replicas are loosely synchronized and virtualized on emulated devices.
The framework is a cloud-based, fine-grained, thread-level, application partitioner, which clones the entire mobile platform during runtime execution into the cloud Virtual Machine and runs the mobile application inside the Virtual Machine, without performing any change in the application code.This approach also replicates the whole Smartphone image, with few or no modifications, into powerful VM replicas, thus transforming a single machine computation into a distributed computation semi-automatically.The aim of off-loading is also to minimize the communication and execution cost between the mobile device and its surrogates.Figure 3 shows a replica of a clone cloud-based architecture with a thread to distribute the process execution.

Related Study on Clone Clouds
A study by Chang [22] performed a cost analysis by using different clone cloud resource allocation strategies.The paper uses computer-intensive java applications for elastic execution mechanisms in the cloud, and they are compared for remote processing speed, cost, and energy savings, along-side the unmodified application.It also proved that comparisons of remote and local executions on netbooks and laptops were reduced from 5% to 50%, as compared to fog and edge computing elastic executions, which required reduced amounts of cloud services.Infrastructure development that is needed in fog and edge computing is not required in clone clouds.Elastic executions offer more flexibility to developers and endusers to choose cloud services at their preference.The advantages of using a clone cloud is that they late-bind the decision to off-load executions to the cloud infrastructure, thus giving more autonomy to end-users.
Many frameworks are developed for off-loading computations on clone clouds, such as the one by Bal [23], which provides a system to off-load mobile device applications.The application generates code from the original application as a remote service, identical to the local one, where the remote versions are run on a multi-core computer instance, and takes full advantage of parallelism.If remote resources are not available (such as network connectivity), then the application can run on local resources entirely.The clone cloud uses Virtual Machine migration to off-load part of their application workload to a resource-rich server through either 3G or Wi-Fi.
The cost model analyses the cost of execution of the application on the device and the migration cost.Virtual Migration reports provide an energy saving from 60% to 90% for different types of applications, such as chess, games, and face recognition systems.There are also many other elastic platforms for code offload, such as a system level clone and delegated surrogates on the cloud.In all these mechanisms, the most important requirement is the availability of network connectivity.The main idea of using a clone cloud is fast execution and minimum cost of sending data to the cloud, thus significantly reducing the execution cost on the device.There are methods to achieve this through analysis of constraints required to partition the application and clone it in the cloud.
Before off-loading, a cost-benefit analysis should be done to evaluate the benefits of off-loading and the potential gain, by evaluating the predicted cost of execution with user-specific requirements.The cost analysis is determined by using a profiler to keep track of devices energy used, network characteristics, and application characteristics.Based on the information from the profiler, the application decides whether to offload the application.Some applications do allow an optimizer to decide which methods are to be migrated so that the cost of migration and execution is minimized [24].Monitory cost is also one of the aspects to be considered while migrating applications to the cloud.Clone cloud approaches have various ways of using cloud resources to enhance the computing capabilities of mobile devices.It uses migration and re-integration methods to split modules of application between cloud and clone.Therefore, the overall performance and credibility of these augmentation approaches is highly dependent on the cloud-based resource characteristics.Performance, availability, elasticity, vulnerability to security attacks, reliability, cost, and distance are major characteristics to be considered by cloud service providers when augmenting [25].Elastic execution strategies use different approaches compared to fog and edge computing.The next section summarizes these different cloud methodologies.

EVALUATION OF DIFFERENT CLOUD EXECUTION MODELS
From the studies presented, it is seen that all of these technology providers provide different types of cloud services.The final benefits are for the end-user to use these services according to each user's requirements.Edge computing and fog computing are setup to limit the latency between cloud data centres and end devices.All data centres are connected by Internet connections between users and cloud services, which are long, thin, and susceptible to network failures.Internet access is provided by ISPs in different regions.Urban areas have good access to cellular towers, because of the density of population and hence, Internet connectivity is also available in these areas.However, there are reduced numbers of towers in rural areas, therefore Internet access and access to cloud services is minimum.Thus, it can be argued that good access to cellular towers gives good Internet connectivity, which in turn provides good access to cloud providers.From a business perspective, the more data and computation obtained is of advantage, as data is charged per minute to consumers.Hence, limited and adequate use of the Internet is beneficial to all.Clone cloud-based, distributed execution strategies provide effective utilization of cloud resources from the consumer's perspective.Remote areas are further benefited by fog and edge computing due to limited connectivity issues.
Thus, network proximity offers a number of advantages in terms of reduced number of hops, fast responding cloud services, etc., in the cloud [26].In urban areas, network proximity is good because of good connectivity, while the counter is true in rural areas.Unlike the free surrogate resources, utilizing cloud infrastructure levies financial charges to the end-users.Mobile users pay for consumed infrastructure resources according to the SLAs negotiated with cloud vendors.In certain scenarios, users prefer local execution or application termination because of the monetary cost of cloud infrastructures.However, user payment is of advantage to cloud vendors so that they can maintain their services and deliver reliable, robust, and secure services to the mobile users [27].Thus, it can be concluded that in cities and industrial hubs, clone cloud-based distributed cloud execution is beneficial, while small towns and villages should take advantages of edge and fog computing.Table 2 provides the comparative study of all of the different cloud execution mechanisms.
Table 2. Comparison between Fog, Edge, and Clone Cloud Models

CONCLUSION
This paper provides an overview of the recent developments in the area of cloud computing and mobile cloud computing.The paper focuses on the recent concepts of fog, edge, and clone-based computational off-loading services.Fog computing and edge computing are the latest in the development of cloud services, by bringing the cloud services closer to the end-user thus, reducing time of execution on cloud servers.These technologies are compared with existing technologies of clone cloud-based computational off-loading mechanisms.Clone clouds are categorized into different types of augmentation strategies, thus limiting the use of cloud resources.Altogether, these findings indicate there are advantages in using clone cloud, fog, and edge computing-based approaches.It is evident from the study that areas of utilization of cloud resources have an impact on services offered.The recent approaches of fog and edge computing are suitable for users with limited connectivity issues, and clone clouds are suitable for optimal use of cloud services.
Latency benefit for users away from data centres.
Latency benefit through adaptive execution schemes in the cloud.

3.
Has own security and load balancing.
Limited security, distributed load balancing.
Distributed load balancing and execution.

4.
Forms a three-layer service model.

Forms a three layer service model
Forms a two-layer service model.

No cost analysis to transfer
No cost analysis to transfer Overhead cost and analysis taken at the time of offload.6.
Resource allocation done by edge node.
Resource allocation done by fog node.
Low cost for surrogate resources utilization.

IntA
Comparison of Cloud Execution Mechanisms Fog, Edge, and … (T.Francis) 4647

Figure 1 .
Figure 1.Edge centre architecture in LAN/WAN network Int J Elec & Comp Eng ISSN: 2088-8708  A Comparison of Cloud Execution Mechanisms Fog, Edge, and … (T.Francis) 4649speed, number of cores, and built-in network storage, and are used as fog servers.There is also a cellular base station, and a Wi-Fi access point or femto cell router as a server.In fog computing, facilities or infrastructures that can provide resources for services at the edge of the network are called "fog nodes."Figure2demonstrates a three-layer user/ fog/cloud network.Fog computing provides advantages in terms of reduction in delay, power consumption, and reduces data traffic over the network.