A Survey of Architecture, Framework and Algorithms for Resource Management in Edge Computing

Internet-based applications predominantly use the existing method of acquiring the computing resources remotely from the cloud data centers. This method of computation is not applicable in future since it is expected that the latencies in communication tend to expand largely due to the internet connectivity among billions of devices. This enormous expansion in latencies induces an adverse impact in the Quality of Service (QoS) and Quality of Experience (QoE) parameters. Edge computing is an imminent computing methodology that deploys the decentralized resources present at the edge of the network to make data processing within the proximity of user devices like smartphones, sensors or wearables. This approach is contrary to the conventional methods of utilizing centralized and distant cloud data centers. Managing the resources becomes a major challenge to be approached due to the diverse and rapidly evolving resources in comparison with the cloud. The lucrative role of Internet of Things (IoT) and Edge, and the challenges posed by the dynamic technologies are presented. This paper presents a survey of the research publications from edge computing from 2013 to 2020, covering the various architectures, frameworks, and the fundamental algorithms involved in resource management in edge computing.


Introduction
An appropriate medium for information exchange is facilitated by the growth of Internet-based wireless communication methodologies that has brought more convenience in people's regular life. The worldwide range of mobile terminals is expanding to about 2.8 billion since 2019. With recent advancements in the field of data science and artificial intelligence, the usage of lightweight, smart devices has attained a massive growth. The interconnectivity among devices, known as things, has paved the way for the evolution of Internet-based wireless communication networks [1]. It also indicates the arrival of the Internet of Things (IoT) era bundled with huge sensing components, mobile devices and actuators utilized at the network edge.
For every second, these interconnected devices generate a substantial volume of data.
The traditional methods for storage and computing of data are not suitable for the IoT scenario. So, a decentralized big data computation model is required. Cloud computing enables numerous services for examining and storing of data so that the end users can avail the maximum benefit of an IoT infrastructure. Furthermore, cloud computing is facing several challenges in real-time applications. A recent writeup from Cisco states that by 2021 the worldwide monthly mobile data traffic will reach up to approximate 49 exabytes and the consolidated yearly growth rate would be 47% from 2016 to 2021 [2]. There are certain computing tasks in need of timely and context-specific computing like augmented reality, virtual reality and industrial control in which data is generated in enormous amounts by the devices. It results in the computation of huge data traffic that has a key role in the

Merits and demerits of edge computing
To mitigate the commonly encountered problems in cloud computing, such as high latencies with poor bandwidth utilization, an auxiliary computing model is devised that connects the sensors and user devices with computing resources for data computation [3,4]. The setup decreases the volume of data transferred to the cloud, thereby lessening the latencies in communication. The present research trend is towards localizing few processing resources present in huge data centers by sharing the network edge nearer to end-users and sensors. These resources are in either of these two forms: (i) exclusive "micro" data centers situated within public/private infrastructure conveniently and safely or (ii) Internet nodes having intensified computing power in routers, switches and gateways. A computing model utilizing the resources present in the network's edge is denoted as "Edge computing" [5,6]. The architecture of edge computing is depicted in Figure 1.
When the edge resources and the cloud are utilized altogether, it is mentioned as "fog computing" [7,8,9]. Resources at the edge differ from cloud resources in the following ways: (i) Because of constrained resources and a restricted power budget in edge devices. (ii) Heterogeneity among the processors with varying architectures, and (iii) dynamic workload balancing tends to change often and in applications battling for the restricted resources. Accomplishment of IoT use cases like smart city and smart agriculture is challengeable, specifically in managing the resources of fog and edge computing. The salient features of edge and cloud computing are depicted in Figure 2. The objective of this work is to present a survey that is focused on the fundamental architectures, underlying infrastructure and the algorithms supporting management of resources in fog/edge computing. This article is arranged as follows: Resource management is discussed in Section 2. Architectures, namely the architectures of data flow, control, and tenancy. The infrastructure used for resource management, such as the hardware, device software, and middle ware used, is presented in Section 3. The underlying algorithms, such as discovery, bench marking, load, are illustrated in section 4. Placement, and balancing. Section 5 proposes and ends the article with possible directions.

Computational standards
Several computational standards were put forth to deliver resource-effective services on a timely basis to approach the massive data computation in recent years. This section deals with the various computational standards developed in the past few years, such as Manifest Computing (MC), fog computing, Edge Computing, and cloudlet. To alleviate the issues relating to resource management, several computational standards are required to conceal the heterogeneous nature of various devices.

Manifest Computing
It was developed to split the operating systems and software, from the diversified hardware in IoT devices [10]. It explicitly assists the users by hiding the details of service provisioning [11]. MC qualifies the devices to select ondemand services through networks, without concerning the service provisioning details of promoting and managing the software. MC has the following characteristics: (1) In a client-server model, MC combines the distributed devices across the network as a single system based on some logic. The system works smartly by delivering services following device capability and network constraints. The server side is entirely dedicated to managing the resources in a centralized manner to provide robust services to users within the network.
(2) MC facilitates the logical separation of software from the hardware by loading and executing of on-demand service in diversified client devices. With the help of highspeed networks, dynamic execution of cross-platform services from servers in remote locations is qualified in client devices.
(3) For utilizing the entire computational resources present in the client devices, MC capacitates the client devices in acquiring on-demand remote services from the server-side. Block-streaming way is used to run them locally. Blockstreaming execution is the process of loading and executing the required part of codes alone that is related to the userspecified service instead of loading the entire software on client devices. As a result, energy efficiency and service provisioning delay can be upgraded to a considerable extent.
Recent acknowledgement of MC benefits in the field of IoT enforced a progressive solution to control a large volume of software for highly diversified hardware infrastructure, extending from huge expensive servers, laptops, and smartphones to low-end sensors.

Fog Computing
In 2012, Fog computing [12] was conceptualized by Cisco that resembles the mobile edge computing concept in some features. Fog is an unique network processing framework that imparts computing capabilities in the network edge [13]. Initially, Fog computing was developed to meet the demands like instant feedback and location awareness in addition to portability support and wireless access for IoT environment. Furthermore, flexibility in services is ensured by fog computing with the help of n-tier architecture. This feature spotlights the entire network devices through the data routing path are capable of providing functionalities like data computation and storage of services for end devices. Physical placement of fog tier amidst the cloud and the IoT devices improves computation, storage and networking resources pooling. This fog tier comprises of a huge range of several nano servers, extending from exclusive components like setup boxes, edge routers to changeable devices like smartphones, high-end sensors, and vehicles [14].
Real-time management and analysis of long-term batch data are needed to implement fog computing in normal application areas. It is mainly performed to enhance the immediate system performance and to acquire awareness about business procedures adjustment that makes the fog servers and the cloud server to interact. Concurrent control challenges the closely packed decentralized fog servers to decrease latency in services, and the batch data analytics comes under the mastery of cloud servers with enormous processing and storage resources. The Openfog Consortium deals with upgrading the evolution of fog computing by the topmost IT firms such as Intel, Microsoft, Cisco, ARM, Dell, and Princeton University. Several options for using fog computing are indicated in [14], extending from intelligent traffic lightweight systems to smart grid and wind farms [13,15]. The enhanced futuristic growth of fog computation is covered in Vaquero and Rodero-Merino's work [15]. [16] defines fog computing and some application areas and also focuses on the constraints in designing and implementing fog computing system. [17] declares that fog computing is presumed to be a general platform for demanding IoT applications. [18] explains the benefits of fog computing for IoT and outlines several applicable areas appropriate for fog computing. [19] postulated 10 questions and delivered the essential answers to exhibit the benefits of fog computing in contrasting with other conventional computing platforms. In recent times, a brief set of assessment criteria for fog computing is presented in [13].

Edge Computing
It is a distributed computing standard to compute and store data nearer to the location where it is required. It enhances response times and saves bandwidth. Content generating networks were formed in the late 1990s, which serve as the origination of edge computing to help in web and video content from edge servers that were utilized nearer to users. The newly emerged edge computing methodologies considerably scale this approach by the usage of virtualization technology that makes it effortless to execute a broader range of applications on the edge servers. The growth of IoT devices at the edge of the network is generating a huge volume of data to be processed at data centers, forcing network bandwidth needs within the range [20]. Even though there are certain improvements in network technology, data centers are unable to assure allowable transferring rates and responding times, which is a crucial need for most applications [21]. In addition to this, EAI Endorsed Transactions on Energy Web 03 2021 -05 2021 | Volume 8 | Issue 33 | e15 edge devices continuously take incoming data from the cloud, pushing the firms to distribute data and service provisioning by creating content delivery networks and thereby accelerating the physical accessibility to the enduser. Edge computation involves the utilization of mobile phones, intelligent objects or network gateways to carry out tasks and provide services on account of the cloud by shifting the computation away from data centers and near the edge of the network [22]. It becomes possible to provide service delivery, content caching, storage, and IoT management by shifting the services to the edge, leading to finer transfer rates and response times. But decentralizing the logic among different network nodes brings out new crisis and demands.

Extensibility
Extensibility in a decentralized network is confronted with various issues. The foremost is it should consider the diverseness of the devices, having varying performance and energy restraints, the ever-changing conditions, and the dependability of the connections, compared to the more dominant framework of cloud data centers. Moreover, security needs may bring more latency in the node communication and resulting in slowing down the scaling process.

Dependability
Restoring a service alive by managing the failovers is a significant task. The users should be able to access a service without interruptions even if a single node gets down and becomes not reachable. In addition to this, edge computing systems must perform certain actions to recover from a failure and intimating the occurrence to the user. To fulfil this aim, every device should sustain the network topology of the whole decentralized system that makes the finding of errors and recovery to be easily applicable. Other features that may impact this aspect are the current technology in use, creating several levels of dependability, and the correctness of the data generated at the edge that could be undependable because of specific environmental conditions. Table 1 shows the advancement of Edge computing in data store technology.

Speed
Edge computing introduces analytical, processing resources nearer to the end-users and thereby aids in leveraging the speed in communication. A well-framed edge platform would exceed a conventional cloud-based system.

Efficiency
Due to the nearness of the logical resources to the end-users, modern analytical and artificial intelligence tools can execute on the edge of the system. This setup at the edge assists in increasing operational effectiveness and becomes more advantageous.

Application
Edge application services reduce the size of shifted data, the resulting traffic, and the distance travelled by the data. It lessens the latency and transmission costs. Computation offloading for current applications, like face recognition algorithms, showed improvements in response times to a greater extent, as depicted in early studies. Detailed research proved that utilizing resource-rich machines called cloudlets near mobile users to provide services generally present in the cloud, created progress in running time when few tasks are offloaded to the edge node. On the other hand, because of transfer times between devices and nodes, offloading each task causes a slowdown. Therefore, an optimal configuration can be framed depending on the workload. A doctorate researcher and data scientist at the University of Oulu in Finland describes that when comparing centralized computing and data storage, moving intelligence to the edge could also fundamentally reduce the cost. In edge computing, specialized chips and cloudlets, primarily microclouds or ad hoc clouds that would operate in a home, company, or vehicle, could monitor design complexity [13]. Table 1 summarizes the advancements in edge computing solutions reported in research papers.

Cloudlet
A research team from Carnegie Mellon University (CMU) first developed the cloudlet concept in 2009 [38]. The term "cloudlet" denotes the proximal placement of micro data centers to mobile users, for instance inside a classroom or a restaurant. One of the motivating factors in forming the cloudlet is for enhancing the interactional performance of mobile apps, with special attention to the ones with firm needs on consecutive latency and jitter which insist on having a responding delay in the range of milliseconds, that raises network complexity in Internet. The proximal placement of cloudlets allows the servers to deliver the mobile users with extremely responsive cloud functionalities.
To provide prompt service, this ordering imposes the owners' privacy by modifying the private data before issuing to the cloud [39]. The CMU research group released a sequence of works after the innovation of cloudlet that concentrates in two concerns such as finding the most suited cloudlet applications [40] and enhancing user portability by developing virtual machines [41]. [40] proposes cognitive assistance based on real-time. i. e "killer app" like speech EAI Endorsed Transactions on Energy Web 03 2021 -05 2021 | Volume 8 | Issue 33 | e15 and face recognition for the cloudlet, that insists prompt feedback to assist users' attentiveness unnoticeably. [41] states the overlay functioning in discovering the cloudlets and hand-off in the mobile environment based on opensource ecosystem for cloud computing. The interchange of data among the cloudlets is also decreased.
The open edge computing initiative is created by CMU and various topmost industrial firms, involving Intel, Nokia, Deutsche Telekom, Crown Castle and Vodafone due to the potentiality imposed by cloudlets and availability of inherent business opportunities [42], for developing major methodologies encircling cloudlets and managing user acceptance testing. Accessing distant computing services from cloud data centers is the existing framework for several Internet applications. User-generated data like wearables and smartphones, or sensors in a smart city or company, is generally transmitted to geographically far away clouds for processing and storage. This method of computation is not applicable in future since it is expected that the latencies in communication tend to expand largely due to the internet connectivity among billions of devices [43]. This enormous expansion in latencies induces an adverse impact in the Quality-of-Experience and Service parameters [44]. To overcome the problem, an alternative computing model is used to acquire processing resources nearer to sensors and user devices and utilize those [45,46] partially for data computing. It helps in decreasing the volume of data transferred to the cloud, thereby decreasing communication latencies. The present direction in research to realize this computing model is to distribute few processing resources present in enormous data centers by issuing them closely to end-users and sensors in the edge of the network. The dimensions in edge computing resource management is depicted in figure 3. The resources are manifested as (i) exclusive "micro" data centers which are comfortably and securely situated inside public/private framework or (ii) Nodes on the Internet, like gateways, switches, routers increased with potentials to compute. A computation model utilizing the resources present at the network edge is denoted as "edge computing" [47,48]. A paradigm utilizing the edge resources as well as the cloud is called "fog computing" [49,50,51]. In contrast to the resources in the cloud, resources in edge are: (i) resource-restrained -restricted computing resources, as edge devices possess smaller processors and restricted power assignment, (ii) processors are diverse natured -with varying architectures (iii) rapidity in corresponding workloads changes, and resources need to be used by the applications in a restricted manner. Therefore, resource management is the most important issue in both fog and edge computing. According to the time varying demand, the resources are dynamically allocated by the cloud and edge sources. These distributions include networking, workload and the analytical resource distribution with the combination wireless network communication and edge computing in time varying mechanism. The Quality of Service (QoS) metrics in resource allocation has to be met with service differentiation and context awareness to have a better resource utilization in edge and cloud. The elasticity in network resource utilization have a feasible solution named Linear parameter varying modelling of cloud applications combined with set-theoretic controller [50]. The objective of this paper is to analyse and present the architectures, frameworks, and algorithmic methodologies in support of managing the fog/edge computing resources.

Architecture classification in Edge computing
The three factors, namely, data flow, control, and tenancy, serve as the basis of classifying the architectures for management of resources in fog/edge computing.
 Data flow architectures: It is directed towards the workload's movement and data inside the processing ecosystem. For instance, workloads are portable to the edge nodes from the user devices or cloud servers to the edge nodes.  Control architectures: It is dependent on the way of controlling resources in the processing ecosystem. For instance, various edge nodes are managed by a principal algorithm or a central controller. The distributed approach is another option that can be used.  Tenancy architecture: It relies on the reinforcement given for providing numerous entities in the computing ecosystem. An edge node can host a solo application or a group of applications.

Aggregation
It works based on having an edge node acquiring data produced from several end devices. The acquired data is partly processed for filtering or pruning. The objective of aggregation is to minimize the overheads in communication, including the prevention of needless traffic transmitted far away from the edge of the corresponding network. In general, research work on this model can be differentiated based on the following :(i) Modelling and aggregation implementation techniques, (ii) Aggregation improvement techniques. [24] The Multi-Agent System (MAS) MASbased framework is been developed and proposed to enhance the functioning of the manufacturing domain, whereas edge computing is concerned with load balancing in computing. The proposed model with MAS architecture is been evaluated with throughput in simulation environment proving to be better than cloud architecture.

Manufacturing, Industries
Collaborative operation, low latency communication channel, reduction of service delay, and data congestion is avoided Distribution of task, computing resources allocation, and low bandwidth allocation [25] An affordable, fast early warning system (AFEWS) is proposed with utilizing edge devices. The edge computing device is been installed near the data source to identify and analyse the normal and abnormal functioning using hybrid fault model to predict the working process. Edge computing has been adopted in manufacturing scenario for monitoring the well-being of machine, enhancement of productivity in assembly line and intensifying quality and quantity.

Automobile, Manufacturing
Response time, exact fault identification, CPU usage and lower network delay Power consumption and task allocation parameter is missing [26] Edge computing layer is created not only to analyze the data stream set evolving from a car data stream and also to make a real infrastructure using Raspberry Pi and Node-RED server. Data pre-processing is done in the edge device by detecting an event and filtering through anomaly detection.

Automobile
Processing & aggregating large data volumes, low latency and security protocols Not able to handle the high streaming of data per millisecond and heating up of raspberry pi [27] The architecture is oriented towards Open Source big data technologies to carry out IoMT Anomaly detection in Better detection is dependent on the [28] EAI Endorsed Transactions on Energy Web 03 2021 -05 2021 | Volume 8 | Issue 33 | e15 real-time analysis of wearable sensor data streams. The proposed architecture is comprised of 4 differnt layers: a sensing layer, a pre-processing layer (Raspberry Pi), a cluster processing layer (Kafka's broker and Flink's mini-cluster) and a persistence layer (Cassandra database).
real-time, technology independent communication, replacing framework, and adding new nodes processing memory of local edge The proposed system was deployed into the field using tools such as Arduino, Raspberry Pi 3 Model B, Python, Django Web Framework, and Standard 433 MHz RF link.

Agriculture
Easy setup, costeffective and low-level implementation Half-duplex architecture, cannot fulfil immediate response, low bandwidth, single real-time thread execution [29] The proposed system is a base line to manage the soilless culture requirements in recirculation having moderately saline water with 3-tier architecture. Cyberphysical system interacts with the crop, and the edge layer takes care of connection and failures. The cloud module FIREWARE takes care of data.

Greenhouse, Hydroponics
Effective control of environmental data, water consumption, nutrients validation, and crop cycle estimation System is costly and needs regular maintenance [30] Two A concerted tracking methodology for manufacturing resources was proposed by appropriating IoT and edge computing technology. It facilitates automatic tracking and tracing of the location underpinned by Bluetooth signals and edge gateways.
The entire system was executed in an air conditioner manufacturing unit situated in an industrial park to validate the feasibility and efficiency.

Manufacturing, Industries
Accuracy and maintain effectiveness in decision making at edge, lower transmission delay, low latency Data tracking is limited [34] The experiment reveals that refining raw IoT data at the edge devices is efficient with respect to latency and imparts circumstantial awareness for the smart city decision-framers in a logical manner.
Smart City Low latency, effective decision-maker Huge data analysis [35] The architecture to implement the active maintenance contains device, network, data and application domain which acts on connection failure and mapping of equipment.

Manufacturing
Information fusion, cooperative mechanism, bandwidth optimization and response latency Security mechanism is required [36] A data collection framework in Wireless Sensor Network (WSN) using edge computing was proposed for agriculture in which for each task allocation, double selection strategy has been applied to filter out the node and sensor data. low waiting time

i. Modelling and aggregation implementation techniques
The fundamental methods executed for reinforcing aggregation formed a major portion in Wireless Networking [52] and distributed processing of data stream [53]. Dense and large-scale sensor networks are unable to route the entire sensor generated data to a centralized server. Innetwork data aggregation is explained as utilizing the intermediary nodes to aggregate the data along the data path [54].

a) Techniques based on Graphs
Directed graph-based and Tree-based methods used for data aggregation is explained here.
(1) Techniques based on Tree concept Tree-based techniques encompass two forms such as Spatial index trees and Data Aggregation Trees (DATs). DATs are utilized for aggregation of WSN using Probabilistic Network Models (PNMs) or Deterministic Network Models (DNMs). Recently, the usage of PNMs over DNMs is drawing the attention in research for making logical conclusions of lossy links in the network using tree-oriented methods in balancing the load [55]. Spatial index trees are applied in making query inside networks but also addressed for aggregation in recent times. An energy-effective index tree named EGF-tree is applied for collecting and aggregating the data [56]. Table 2 presents some of the applications of edge computing.

Table 2. Applications of Edge Computing
Reference Description [57] mF2C is a European project to design, execute and evaluate the unique management for a synchronized fog and cloud computing system [58,59] Nippon Telegraph and Telephone Corporation (NTT) created an edge accelerated web platform to decrease the response time for cloud applications [60,61] Android apps with cognitive assistance to be more efficient to decrease the response time for cloud applications [62] Cisco Kinetic platform provides fog processing module to process IoT data [63] Vortex platform allows connecting each vortex edge device to an IoT device to construct global shared fog domain [64] Cisco IOx platform offers edge features to develop IoT applications [65] FogSim simulator allows the manipulation of edge features [66] ParaDrop is an edge computing platform for wireless gateways and applications [67] Implementation of cloudlet based on Software Defined Networking (SDN) for patient monitoring [68] A converged wireless access architecture based on edge servers for heterogeneous cloud access networks [69] Managing and configuring heterogeneous IoT networks using UbiFlow framework

(2) Methods based on Directed Graph
The programming model in dataflow and WSN applications use a directed graph. Distributed Dataflow (DDF) programming model used in fog computing [70] works on the Message Queuing Telemetry Transport (MQTT) protocol, which makes the workflow easier in various nodes by assuming the diversity in devices [71].

b) Techniques based on Graphs
The programming model in dataflow and WSN applications use a directed graph. Distributed Dataflow (DDF) programming model used in fog computing [70] works on the Message Queuing Telemetry Transport (MQTT) protocol, which makes the workflow easier in various nodes by assuming the diversity in devices [71].

c) Methods based on Clusters
Effectiveness in energy is a major aspect of node clustering in cloud-based methods. A node from each cluster is selected as the cluster head. It is accountable for making aggregation process in each cluster locally and transferring the aggregated data to other node. Data aggregation is made energy-effective by clustering methods is also stated [72].

d) Methods based on Petri Net
Recent studies draw the attention of using the High-Level Petri Net (HLPN), called as RedEdge, for modelling the aggregation in Edge-oriented systems [73]. HLPN makes heterogeneity easier, and it is authenticated by verifying fulfilment by an automated solver. This framework was analyzed for a smart city implementation and validated for different effectiveness metrics like power, latency, and memory usage.

e) Decoupled methods
The typical aggregation methods discussed above generally possess heavy incorrectness if data is lost in the network. The aggregation method finds the routing data path. Synopsis Diffusion (SD) is a method to decouple the routing process from aggregation and thereby optimizing separately to improve correctness [74].

f) Batch methods
Batch method is an algorithm which is used in computing for external data stream. The data produced from different sources is transferred to a node where it is clustered periodically to a batch job and gets executed on the node.

g) Hybrid methods
Hybrid methods relate one or more of the techniques mentioned above. It decreases the loss rate and presents only a few communication errors while enhancing the network's overall effectiveness.

ii. Aggregation improvement techniques
Aggregation is applied to reform various goals in the computational environment. The efficiency of communication is expressed concerning the latency, bandwidth and energy restraints. Therefore, the goals range from the efficiency in communication to the definite quality of aggregation (or analytics) which is carried out on the edge node. After exploring the conventional works on methods to improve aggregation, the following methods are obtained and explained below. a) Efficiency-aware approaches Efficiency-aware approaches are classified into three methods: 1) For optimization of bandwidth 2) For minimization of latency 3) For reduction of energy utilization.
(1) Optimization of bandwidth Three modules are present in the Bandwidth Efficient Cluster-based Data Aggregation (BECDA) algorithm [75]. First module concerns with arranging the distributed nodes into many clusters. The second module deals with choosing a cluster head for each cluster and then aggregating data from within the cluster. The last module makes every cluster head to promote for intra-cluster aggregation. It uses bandwidth effectively for aggregating the network data and systematic than forerunner techniques.
(2) Latency-conscious Latency is one of the significant benchmarks frequently examined in edge-based systems for aggregation [76,77]. It can be reduced by proposing an intermediary architecture concerning data services [78].

(3) Energy-conscious
Recent studies in the energy effectiveness of data aggregation concentrate in reducing the network's power consumption by creating separate nodes that are energy effective through software and hardware methods. The data aggregation algorithm which is used a consecutive interference cancellation method to reaches lower limits of latency and maintains constant energy at the same time. RedEdge is an edge computing paradigm that works on mobile devices in which the consumption of energy for data transfer is reduced [73].

b) Quality-conscious Techniques
An approach where end devices data are compulsorily transferred for decreasing overheads to a node is referred to as selective forwarding. "Quality-aware" is the creation of functional decisions to improve predictive analytics quality in selective forwarding [79].

c) Security-aware Techniques
Security and privacy in identity are the important factors for the process of aggregation in the edge node between a public cloud and user devices. An Anonymous and Secure Aggregation (ASAS) scheme [80] utilizing elliptic curve public-key cryptography, a linearly homomorphic cryptosystem and bilinear pairings termed as the Castagnos-Laguillaumie cryptosystem [81], is created inside fog environment.

d) Heterogeneity-conscious Techniques
Diverseness is a natural aspect of edge-oriented environments. [82]. Diverseness of resources is a source to various kinds of fog/edge nodes, comprising architectures of CPU, a union of allocated micro data centers (CPU-oriented systems), and traffic control devices like routers, switches, base stations at the Edge of the network. [128]. There is a possibility of using diversified resources in a unique fog/edge computing model at the same time, and there exists a little proof of such type of completely implemented system.

Sharing model
It is normally deployed if the workload is shared among peers in contrast to the aggregation model. This model fulfils the processing needs of a workload by directly offloading in battery powered peer devices rather than offloading inside the cloud. As a result, network with dynamicity is established, provided that devices tend to connect and quit the network without an intimation. Pragmatically achievable schemes developed for coordinated task execution requires to be innately energy-

) Centralized Controller
It is dedicated in managing the workload on every edge device in a network. Directed Acyclic Graph (DAG)-based workflow is used by the devices at the edge. The cooperative execution of tasks is rested in a cloud controller [83,84]. SDN is used as the basis for implementing Software-Defined Cooperative Offloading Model (SDCOM) [85]. A controller is used to enhance the coordination among mobile devices linked to the controller on a Packet Delivery Network (PDN) gateway. The controller focuses on decreasing the gateway's traffic and assuring impartiality in energy utilization among mobile devices. The actively arriving tasks are managed by Online Task Scheduling (OTS) algorithm.

b) Distributed Controller
A game-theoretic method was utilized as a decentralized method for attaining the Nash equilibrium in coordinated devices [86]. The Nash equilibrium in the sharing model is concerned deeper to create the Congestion Game (COG)based sharing and Multi-item Auction (MIA) model [87].

ii. Adaptive Techniques' oriented
It is nature-stimulated and provide a solution for multiobjective optimization problems [88]. Sharing model is used concerning various goals in a system. For instance, the battlefield scenario implements the sharing model at the edge [89]. In this environment, latencies are expected to be in a decreased value, and the energy consumption of the devices is also expected to be in optimal value. The adaptive methods discussed in existing literature is summarized below: a) Connectivity-conscious The sharing model requires the details about the connectivity among devices, for instance, a battlefield scenario. A mobile device increases its processing when peer devices come inside its proximity of communication [89]. A probabilistic forecasting model in an inherently scheduled task can complete the execution process promptly on a peer device when it is in the scope of the device. Connectivityconscious techniques can be of single or multi-hop, or opportunistic [90]. (

1) Single Hop Techniques
In this method of single hopping, a fully interconnected network is formed by a device after getting a list of its neighbours. If a device shares a workload, then the workload is automatically shared with other devices that are in direct connection with the respective device [90,].
(2) Multi-hop Techniques Every device calculates the shortest path to each other node in the network which is capable of workload sharing. The workload is generally distributed with devices that may decrease the entire energy footprint. When compared to singlehop techniques, the advantage of using the multihop technique in the sharing mode is, a huge supply of resources can be drawn into workloads that need thorough computations. The total running time of a distributed workload is decreased using a tasksharing approach implementing a greedy algorithm [91].

(3) Opportunistic Techniques
A device in need to distribute its workload in these methods confirms whether its peers can run a task when it is inside the proximity of communication.
It is forecasted through contextual profiling of how long a device was inside the communication proximity of its peers. In the IoT environment for data-centric services, a group of mobile devices creates a mobile cloud through opportunistic networking to process the multiple IoT sensors requests [92]. b) Heterogeneity-conscious Generally, edge devices are diversely natured at all levels in a mobile cloud. Hence, the operating system, processor architecture, and workload deployment confront various issues in easing coordination [93]. Solutions for handling diverseness concerned problems in mobile networks are developed. For instance, Honeybee, a work-sharing method was developed in which rotations of diversified mobile devices are utilized to share the workload among the edge devices [94].

c) Security-conscious
Honeypot which identifies and separates malicious attacks present in a device employed in the sharing model is proposed [95,151]. A malevolent device is found in twenty minutes. If a device is found to be malevolent, then it is separated for safeguarding the network.

d) Fairness-conscious
It is a multi-objective optimization issue. The goals are to decrease the battery drain in mobile devices to extend the lifetime of the network as well as enhance the performance gain of the workload shared among devices [96].

iii. Cooperative sharing oriented
Devices at edge can distribute workloads either (a) in a less framed environment based on ad hoc coordination or (b) in a more tightly coupled surrounding to ease coordination. Facilitating device-to-device communication by using ad hoc networks is an existing research area. This coordination EAI Endorsed Transactions on Energy Web 03 2021 -05 2021 | Volume 8 | Issue 33 | e15 is encountered for Mobile cloud computing (MCC) in the sharing model environment for the edge [97]. The term "transient clouds," is named by a research work where neighbouring mobile devices form an ad hoc cloud, and the fundamental algorithm for managing the tasks is relied on an alternative of the Hungarian method [98].

a) Infrastructure-based Cooperative sharing
Federation of devices is being analysed at the edge of the network to ease the coordination [99]. This produces tightly coupled coalitions when compared to ad hoc clouds and cost-effective than exclusive micro cloud deployment.

Offloading
Here, a server, an application, and its associated data are transferred to the Edge of the network. It either increases the processing needs of a single or a group of user devices or conducts cloud services to process device requests nearer to the source. Analysis based on Offloading can be distinguished in the following two ways. i. Offloading from User Device to Edge It increases processing in user devices by utilizing edge nodes (usually a single hop away). Two major methods used for offloading to edge from user device are application partitioning and caching mechanisms.

a) Partitioning of application
GigaSight architecture is an instance for offloading from devices to the Edge through application partitioning [76] in which Cloudlet Virtual Machines (VMs) helps in processing videos streamed from numerous mobile devices [100]. The Cloudlet VM is utilized for denaturing, a process of removing user related content for protecting privacy. The framework involved is presented as a Content Delivering Network (CDN) inversely. In this section methods and models used for application partitioning are discussed.

1) Methods
Brute Force, Greedy Heuristic, Simulated Annealing and Fuzzy Logic are the four methods discussed in the context of application partitioning.

Brute force approach:
The entire feasible combinations of offloading plans (taking the cloud, edge nodes, and user devices) are analyzed [101]. The scheme with the minimal running time for a task is then selected. It is simply not an exact practical solution given the time required to obtain a scheme, but instead could provide awareness into the search space. Greedy Heuristic approach: It concentrates on reducing the time taken for finishing the execution of a task on the mobile device [101]. Offloading framework utilizes a greedy heuristic approach for obtaining offloading plans during the implementation of prototype models [102].

Simulated Annealing approach:
The search space is dependent on the usage of fog and cloud nodes, total costs, and the finishing time of an application to derive an offloading plan that reduces the costs and the task accomplishment time [103]. Fuzzy logic: The objective is to enhance the QoE given by several parameters like resource requirements, sensitivity and service access rate for delay in data processing. It is utilized in ranking every application placement request by taking the nodes' processing abilities [104].

2) Models
Graph-oriented, component-oriented and neural network-oriented are the three fundamental models used for partition the application from devices to the edge. Graph-oriented: It is used in the automated partitioning of application in Clone Cloud [105]. In the execution time, it translates to moving the application thread onto the clone, then it is returned onto the first mobile device. Component-oriented: The various capabilities of an application (a web browser) executing on a device are formed as components separated from the device and edge server [106]. Neural Network-oriented: A deep neural network's latency is decreased for latency-critical applications without transmitting images/videos distantly from the source. Many layers are present in deep networks that are shared over various nodes. The infrastructure of Neurosurgeon models the separation among layers that is both energy and latency effective from end-to-end [107].

b) Caching Mechanisms
A global cache is formed in a way that it is accessible on an edge node that plays as a distributed memory for numerous devices that require to interact and the caching mechanisms are:

1) Chunking and Aggregation based
The multi Radio Access Technology (multi-RAT) was an architectural model for upload caching. Here, in this mechanism, VMs are present at the edge of the network, and a user device uploads chunks of a large file onto them concurrently [108]. After aggregation VM integrates these chunks, and transmitted to a cloud server.
2) Reverse Auction Game-based A caching mechanism on coordinating the edge nodes was stated as an alternate mechanism in [109]. The user-generated videos are distributed among the users ii. Offloading to the Edge from the cloud Here, the data flow direction is reversed when compared to the above mechanism by moving the workload to the edge from the cloud. Server offloading, caching mechanisms and web programming are the different mechanisms.

a) Server Offloading
Replication or partitioning is used to offload the server executing in the cloud to edge. Replication is a method to create server replications on edge.

1) Database Cloning
An application's database tends to be made replica and shared by multiple applications or users at the edge of the network [111].

2) Application-specific Data Replication
This approach enables a particular application to fetch the relevant data to the users in the edge for executing the application in a consistent way which is contrasting to database cloning [110]. However, these methods are not viable in resource-constrained edge scenarios because of the assumption that edge nodes are not storage restricted by the cloning and applicationconcerned data replication methods.

3) Partitioning
The partitioning factors such as functionality aware, latency-aware and geography-aware in the server are concerned in offloading to the edge from the cloud. Functionality-aware: Google Glass comes under the cognitive assistance applications category in which the cloud alone does not provide the processing required for such type of latency-critical applications. To fulfil the latency and processing demands of applications based on cognitive assistance, the research is ongoing to offload the required processing into the Cloudlet VMs [112]. Latency-aware: [114] explained the backend partitioning with an application logic traditionally present in clouds for servicing the application requests concurrently. The hybrid edge-assisted execution model for LTE networks works by fulfilling the application requests by the cloud and also the edge networks oriented on latency needs. It varies with the Edge Nohyde Resource Management (ENORM) framework by way of partitioning the server along with geographical requirements [112]. Geography-aware: Online gaming application such as Pokemon request the services which are normally transferred to a cloud server from user devices. The ENORM framework segregates the game server and utilizes in an edge node instead of transmitting the entire traffic to data centers [113]. Geographically related data to a particular location is then made obtainable in an edge node. The users form the cloud to Edge from the relevant offloading. Functionality aware, latency-aware and geography-aware are the factors involved with partitioning. b) Caching Mechanisms It is found that two methods, such as multi-layer caching and content popularity and forms the methodologies in caching.

1) Based on Content Popularity
ISP-based caching and CDN mitigate the network congestion problems at the time of downloading apps in user devices. However, considerable issues emerge due to increased growth of apps and devices.

2) Caching in Multi-layers
It is a wireless networking method used for delivering the contents [115]. It is assumed that a global cache caches the data from data centers is available at a base station, and localized caches are accessible on edge nodes. Uncoded caching and coded caching are the two methods deployed in this caching. Every node is unknown about the cached content of other nodes, and hence data cooperation is not needed in uncoded caching. The coded caching method deals with coding the cached content provided that all other edge nodes are needed to encode the content before sending to users.

Control
Controlling the resources is another method for categorizing architectures in accomplishing the management of various resources in an edge scenario. This research survey identified two architectures, such as centralized and distributed control architectures. Centralized control is the usage of a controller which decides the processing, communication, networks of the edge resources. In contrast to this, the architecture can be called as distributed if the process of making decisions is distributed across the edge nodes. The control techniques used in edge computing are summarized in Figure 5 and discussed in this section.  i. Solver-approach Solver approach is based on mathematical solvers which are generally employed in initiating deploying and redeploying plans for distribution of workloads in clouds, clusters, and grids. Approaches similar to the above is fixed for edge scenario [116]. For instance, a Least Processing Cost First (LPCF) method was developed for controlling the assignment of tasks in edge nodes. Solver approach is focussed at processing costs and reducing network.
ii. Graph Matching-approach An offloading infrastructure considering device-to-device and cloud offloading techniques were stated. Offloading of tasks through a 3-layer graph-matching algorithm formed by getting the offloading space (mobiles, edge nodes, and the cloud) into consideration. The issue in reducing the running time of the whole task is plotted to the minimal weightmatching problem in the 3-layer graph. A consolidated method utilizing the Blossom algorithm was used to produce an offloading plan [117].

Distributed
The three different types of distributed architectures are (i) game-theoretic approach (ii) blockchain approach (iii) genetic algorithm i. Game-theoretic approach It is used to attain control in a decentralized manner for tasks offloading in the mobile-edge cloud computing having a diverse-channel in wireless environment [119]. It is obtaining an ideal solution using centralized methods that results in NP-hard. Hence the game-theoretic method is found to be more suitable in those type of environments. The Nash equilibrium was accomplished for offloading in a decentralized scenario. In contrast, two metrics, such as the number of benefited users in the cloud and the overheads in computation, were analyzed to substantiate the viability of the game-theoretic method over other centralized methods.
ii. Blockchain approach It serves as a supporting method to implement decentralized management in edge computing systems [118] and enables the feasibility in developing a decentralized peer-to-peer network in the absence of intermediaries. Therefore, imparting the blockchain to edge computing model leads to communication among the nodes present at the edge without the need of intermediates. A decentralized ledger platform termed as Hyper ledger Fabric is utilized for execution and promotion of intelligent contracts defined by the user securely.
iii. Genetic algorithm Generally, the sensors are the end devices which transmits the data to a computing node through a network in IoT systems and the several features regarding communication, computation and networking ae decided by it. This decision making is shared along with several edge nodes by using the Edge Mesh approach, which utilizes a processing overlay network also with a genetic algorithm [120]. This combination is used for mapping the task graph to the communication network for minimizing the utilization of energy. The variables concerned in this genetic algorithm are the Generation Gap for mutation rate, crossover methods, and size of the population [121].

Tenancy
Tenancy is one of the techniques used in the management of resources by providing a classification of architectures in an edge-oriented environment. It can be defined as the possibility of sharing the fundamental resources of hardware among various entities to achieve optimized usage of resources and effectiveness in energy consumption. The complete utilization of hardware resource by a single entity can be called a single-tenant system. Contrarily, the utilization of the same resource by various entities constitutes the multi-tenant system. Multi-tenancy is the essential attribute for an absolute distributed system to be accessed publicly. A single-tenant scheme applies to an entity's access to a private hardware. Conversely, a multitenant scheme refers to the sharing of the same resource by many individuals. Multi-tenant requires to be an optimal distributed system that is publicly available to allow the efficient use of resources in edge computing with minimal ii. Single Application, Multiple User (SAMU) It provides the edge with the capability to execute one application that supports multiple users. Although the fundamental hardware resources are not shared among applications, there is a higher degree of sharing than SASU, since the edge node services multiple user requests.
iii. Multiple Application, Single User (MASU) It makes the edge node to host multiple applications, but each application can only support one user. This mode of the tenancy is used for experimental purposes (or stress-testing the system) during the development of an ideal infrastructure.

iv. Multiple Application, Multiple User (MAMU)
It makes the edge node to host multiple applications, and many users are connected to an individual application. This is a perfect infrastructure in representing the publicly accessible infrastructure.
Multi-tenancy is supported by two methods termed as system virtualization and network slicing.

1) System Virtualization
It is a method supporting multi-tenancy at the system level. Different virtualization techniques are presently obtainable, like containers (considered in Section 3.2.1) and traditional VMs. VMs possess a wider resource footprint in comparison to containers. Hence edge computing uses lightweight virtualization presently [112,122,124] that eases the isolation of resources for separate applications made feasible by virtualization, where the users may access the virtualized application-for instance, simultaneous hosting of numerous applications with various containers on an edge node.

2) Network Slicing
Several logical networks are made to execute on the physical network's top layer while considering the network level. Therefore, the same physical network is used for communication by different networks with various throughput and latency requirements [124].

Infrastructure
The fog/edge computing framework gives functionalities with software and hardware to control the computation, storage resources and network [53] for utilities using the fog/edge. The three classes of infrastructure involved in effective management of resources in fog/edge computing is given below:  Middleware: It works by executing on an operating system (OS) and providing compatible functionalities not underpinned by the system software. The middleware correlates decentralized process nodes. Containers or virtual machines are deployed for each edge node.

Hardware
Hardware forms the core unit of any framework for handling the functioning and controlling of computation on a realtime basis. The grouping of such small computing servers enhances the environment in cloud computing and it can be accelerated by a well-defined set of applications implementing cyber-physical systems (CPS) and IoT data. The hardware in fog/edge computing is categorized into two methods, as depicted in Table 3.

Software
In fog/edge platform, system software functions directly with fog/edge devices and controls the processing, storage and networking of the devices. Some examples are VMs and containers. In fog/edge computing, the usage of system software is categorized as virtualization concerning system and network as depicted in Table 4.

Middleware
Along with delivering interrelated services to system software, middleware involves in monitoring the performance, coordinating & organizing, providing communication utilities, and protocols to fog/edge computing. There are four classes about the usage of middleware in fog/edge computing is divided into the following, as presented in Table 5.

Algorithms
The four fundamental algorithms enabling fog/edge computing are: (i) discovery -finding edge resources inside the network to be utilized for distributed processing, (ii) benchmarking -acquiring resources' performance to make decisions in expanding the performance concerning implementation, (iii) load-balancing -distributing workloads among various resources with some bases like fairness, priorities and (iv) placement -finding resources necessary for the deployment of workload. Table 6 presents the techniques used and applications based on the four algorithms. Edge computing can minimise the network and bandwidth issues by localising cluster-based networks and associated with moving large amounts of data to or from IoT devices and reduce reliance on the network. This reduced reliance of networks enables the intractability among the edge devices.  [156,157]

Use Case Scenarios
The goal of this Section is to explain the most important functional requirements and features of edge computing platforms from a use case. There are many use cases where the edge computing is implemented such as Smart Agriculture, Smart Healthcare, Smart Transportation and Smart Waste Managements. Edge computing is the subset of the cloud computing to enrich the cloud services for all kinds of applications in IoT environment various techniques is reviewed under the hardware, algorithm and infrastructure for efficient resource management. A typical use case scenario of smart agriculture is explained in this section.

Smart agriculture
The advent of Information and Communication Technologies (ICT) has a significant part in the agricultural sector by delivering computer-based services and functionalities [123]. These systems are unable to satisfy the needs of the current generation because of the factors like processing of massive data, lack of major functionalities such as storage space, processing speed, dependability, availability and extensibility. It also lacks an effective utilization of resources in computer-based agricultural systems. Big data features are presented in the form of Agriculture-as-a-Service (AaaS) applications. Cloud-based service can easily control various kinds of agriculture based-data and serves as the solution for evergrowing volume of agricultural data. As per the government report, the amount of agriculture data sets acquired by Open Government Data Platform India records to a size of 3.5GB [126]. The data becomes diverse, specifically in the form of images. Figure 6 depicts the edge computing based smart agriculture.
The status of agricultural crops affected due to insects, weather, and other factors is acquired through the IoT sensors and satellites in the form of heterogeneous, huge volume of big data. Data sets expand with a velocity of EAI Endorsed Transactions on Energy Web 03 2021 -05 2021 | Volume 8 | Issue 33 | e15 80.72 KB/ minute or more [126] due to the continuous data collection. Cloud-based service is a key solution for solving this problem which works on various aspects (soil, crop, pest, weather, fertilizer, cattle, productivity, irrigation, and equipment) following the steps given below.
• gathering of data from multiple sensors through predefined devices, • categorizing the collected data into several classes after analysis, • storing the categorized information in cloud repository for upcoming use and • automatic diagnosing of the status in agriculture.

Figure 6. Edge Computing scenario for intelligent agriculture
The number of users in agriculture systems and the volume of data sets is directly proportional to each other. Therefore, Cloud computing serves as a solution for providing highly extendable and resilient distributed computing environments. The cloud-based information system can find the QoS needs from user requests, and resources should be allocated effectively to run the user request. There arises a need to track and control the ground level factors, which is then automated and predicted by communicating to the cloud. These agricultural factors are handled in the field level itself, where IoT plays a major role. where Edge computing arrives into the picture. Edge computing decreases the computation burden on the cloud for better results in smart farming.
In accordance with architecture in resource management, [125] the edge-server layered method named DART (Data analysis in real time) scheme is proposed in tomato harvest yield prediction. The layered method involves the separation of edge layer and server layer. An edge trained and tested devices are used to analyse the collecting and pre-processing of growth measurement values and environment sensor values by the IoT gateway. The server analyses after collecting cumulative data from the edges for predicting the complete tomato yield which includes the process of server training and server testing. At this point, infrastructure in resource management comes into the picture where the system deploys sensor devices to communicate with MCU using UART interface. REST api is used for sending the data from MCU to the edge device (IoT gateway by the Raspberry Pi 3) systematically. A mini MySQL database is employed in the edge device for storing the data to implement the DART methodology. In the meanwhile, the edge device executes the Smart Farm Edge application that runs on the apex of the DART framework. Appropriate usage of algorithm handles the computation analytics at the edge of this system where the nonlinear polynomial model aids the server in predicting the subsequent harvest yield and gross fruit yield. The system was analysed on the edges with different machine learning models, such as Long Short-Term Memory Recurrent Neural Networks (LSTM), multi-layer perceptron and ridge regression as a comparison with the proposed algorithm.
The various perspectives in resource management of edge computing are effectively addressed in this article for tomato yield prediction.

Conclusion
An extensive range of technical challenges regarding management of resources in fog/edge computing is approached in this survey work. Although some demanding issues prevail with respect to the capacities and performance factors in fog/edge computing, few future research directions are discussed to confront the remaining issues. Edge computing has drawn heed over the last decade as an alternate methodology to traditional centralized cloud computing model. Latency in communication is reduced and network bandwidth is used effectively by bringing the processing devices within the EAI Endorsed Transactions on Energy Web 03 2021 -05 2021 | Volume 8 | Issue 33 | e15 proximity of mobile and IoT devices. The various techniques in resource management are presented in this paper to find and differentiate the major benefactions in terms of architectures, frameworks and algorithms. Evolution from prototype models to usable platforms in daily life is still in its infancy. Edge computing systems are expected to be the most important links for effective processing of information. Methodical studies in this domain are expanding over these years and several resource optimization and management schemes are proposed. A wide survey of edge-based computing systems presented in this paper is expected to provide an intuitive understanding for both academicians and researchers.