ii) Edge computing challenges:
In order to implement edge computing, it is vital to take challenges into account.
Privacy and Security - As edge computing works with various nodes, traveling to and from different networks requires special encryption mechanisms for security (Figure 2.2). Resource containment being one of the properties of edge computing, security methods are required [1].
Optimization metrics - Edge computing is a distributed paradigm. The workload has to be deployed in various data centres effectively depending on bandwidth, latency, energy, and cost to reduce the response delay [12]. Experiencing uncompromising QoS is another challenge of edge computing (Figure 2.2).
Figure 2.2 Edge computing motivation, challenges and opportunities.
Programmability - Unlike cloud programming, the edge being the heterogeneous platform, the runtime of edge devices differs. The computing stream that determines the computing flow, efficiency must be addressed at the synchronization of the devices [12]. Discovering the edge nodes and general-purpose computing is also another challenge in edge node mentioned in Figure 2.2.
Naming - As the edge network work with various networking devices, the naming scheme has to be followed to avoid confusion with identifying and programming the different edge networks. Naming is also significant for providing security and protection, and mobility of the devices [12].
Data Abstraction - Edge network collects data from various data generators; a lot of unessential data and noise also get collected. The data is sent to the next layer (abstraction layer), where data abstraction takes place. Unwanted data gets filtered at this layer and is then sent to the upper layer for further process. It is important to effectively filter data as an application may not work if data is filtered when it is a mistake for noise [12]. Partitioning a task and applying offloading mechanism is another challenge when considering edge computing (Figure 2.2).
With many challenges described in Figure 2.2, virtual and physical security also has to be taken into account before considering edge computing.
iii) Edge opportunities:
In light of motivation and challenges, edge computing finds itself promising for both consumers and businesses by creating a seamless experience. Many opportunities are listed in Figure 2.2, where standards, benchmarking, and marketplace are edge opportunities. The possibility of creating a lightweight model framework and algorithms in the edge is another opportunity. Micro-operating system with virtualization is another opportunity of edge.
Field and Industrial IoT - Power, Transportation and manufacturing are the leading contenders of edge. Industrial devices that include HVAC systems, motors, oil turbines, RFID’s in the supply chain, etc., that use the information to analyze for security management, predictive maintenance, performance and usage tracking, demand forecasting, etc., can witness advancement using edge computing [13].
Smart Cities Architecture - Municipalities providing faster urban services, traffic management, green energy and public safety, intelligent bus stop are few smart cities applications that may benefit from edge computing [11, 13].
Retail and Hospitality - Customer care can be refined using edge and by analyzing customer sentiments using kiosks or point of scale terminal in retail and hospitality using edge computing. Customer experience enhances [13].
Connected Vehicles - Vehicular system used for tracking, navigation, e.g., police vehicles and predicting maintenance and influence of dynamic pricing is a use case of edge computing [13].
Facial Recognition - Edge computing allows quicker response in a short time by reducing fraud in banking, institutions and various organization [13].
iv) Research directions:
With the discussed challenges taken into account, lack of standardization should be considered while developing an edge computing system. Furthermore, the research needs to identify and provide new challenges like context awareness for further defining the critical exploitation, deployment of edge techniques in cloud computing, IoT, and networks.
2.2 Introduction for Computational Offloading in Edge Computing
Computational offloading is the migration of computational tasks at a different processor or an external device such as cluster, grid, cloud, base stations, or access points. While running on multiple devices, computation offloading helps promote longer battery lifetime. To enhance the insufficient computation, single users benefit [14].
Figure 2.3 shows the offloading process in the IoT nodes. When the tasks are time-critical and computationally complex, the IOT nodes offload those task computation to nearby edge nodes to execute the task with less delay. Every IoT node has to decide whether to offload the task to an edge node or locally compute based on the task’s time criticality. This offloading or local computation decision can be made by using deep learning algorithm or Markov chain model or Game theory-based model. Non-time-critical tasks that are highly computational complex can be transferred to the cloud computing platform where they can be executed.
Figure 2.3 Offloading in IoT nodes.
2.2.1 Need of Computational Offloading and Its Benefit
Computational offloading is a process of offloading or unloading computation tasks at the edge servers rather than the cloud.
i) Advantages of Computational Offloading:
There are various advantages of offloading, which are depicted in Figure 2.4. The benefits of performing computational tasks at the edge devices are [14]:
Energy consumption - When computation tasks are performed at the edge servers instead of at the cloud, less energy is consumed,