Smart Architectural Framework for Symmetrical Data Ofﬂoading in IoT

: With new technologies coming to the market, the Internet of Things (IoT) is one of the technologies that has gained exponential rise by facilitating Machine to Machine (M2M) communication and bringing smart devices closer to end users. By 2025, it is expected that IoT will bring together 78.4 billion of devices, thus improving the quality of life beyond our imagination; however, there are multiple potential challenges, such as the exploitation of energy consumption and the huge data trafﬁc being generated by smart devices causing congestion and utilizing more bandwidth. Various researchers have provided an alternative to this problem by performing ofﬂoading of data, the task and computational requirements of an application at edge and fog nodes of IoT, thus helping to overcome latency issues for critical applications. Despite the importance of an ofﬂoading approach in IoT, there is need for a systematic, symmetric, comprehensive, and detailed survey in this ﬁeld. This paper provides a systematic literature review (SLR) on data ofﬂoading approaches in IoT network at edge and fog nodes in the form of a classical taxonomy in order to recognize the state-of-the art mechanism(s) associated with this important topic and provide open consideration of issues as well. All of the research on classiﬁed ofﬂoading approaches done by researchers is compared with each other according to important factors such as performance metrics, utilized techniques, and evaluation tools, and their advantages and disadvantages are discussed. Finally, an efﬁcient smart architecture-based framework is proposed to handle the symmetric data ofﬂoading issues. like data traffic, bandwidth utilization, and offloading issues.


Introduction
The Internet of Things (IoT) provides the interconnection of various heterogeneous devices that can transfer data via the internet. Today, we have various people connected with the internet via several type of communication devices. In the past two decades, the internet has gained huge popularity in terms of making various devices work smartly. The term 'IoT' was coined by Kevin Ashton [1] in 1999 to provide optimization support to his company's supply chain via RFID. He used RFID along with the internet to track and count the supply of goods without human intervention. CompTIA, a vendor-neutral IT certification company, has predicted that internet-connected IoT devices will reach 50 billion by 2020 [2] as shown in Figure 1. This will entirely change the computing and network paradigm, affecting scalability of the network [3]. Additionally, heterogeneity of devices will bring interoperability issues [4], and overcoming network congestion in IoT will also be a big challenge [5]. IoT [6] is a computer paradigm that predicts a future in which any low-power device connects to the Internet, such as a smartphone, wearables, sensors, and so on. The devices' heterogeneity, particularly in terms of computational power and battery life, presents substantial issues in terms of how to efficiently utilize and execute apps on them. Offloading is one of the most important approaches for increasing the efficiency of low-power devices' resource utilization (e.g., CPU, battery, and storage). Offloading is the process of a device delegating the processing of a task to a more powerful unit. To evaluate whether offloading is advantageous, the device must measure the difficulty of running a program locally against the possible benefits of offloading it during runtime. Multiple system parameters [7], such as network latency, data exchange size, distant server abilities, and so on, are taken into account when calculating the cost of outsourcing the activity. The technique's potential rests in its ability to assist low-power devices with processing [8]. Although, an offloading approach in IoT has huge importance in terms of Quality of Service and Quality of Experience, there has been no thorough analysis or survey on the offloading challenges associated with the IoT edge computing that may assist researchers with their investigations in the field. As a result, the goal of this work is to completely and methodically review and analyze the available symmetric offloading methodologies in edge computing. Offloading methodologies are divided into three categories in this paper: data offloading, computation offloading, and task offloading. The main contributions of this review are as follows: • the major concerns and challenges associated with IoT edge computing symmetric offloading techniques are outlined; • a thorough examination of existing data offloading techniques employed in IoT is conducted; • finally, a proposed smart architecture is presented for symmetric data offloading that addresses issues like data traffic, bandwidth utilization, and offloading issues. IoT [6] is a computer paradigm that predicts a future in which any low-power device connects to the Internet, such as a smartphone, wearables, sensors, and so on. The devices' heterogeneity, particularly in terms of computational power and battery life, presents substantial issues in terms of how to efficiently utilize and execute apps on them. Offloading is one of the most important approaches for increasing the efficiency of low-power devices' resource utilization (e.g., CPU, battery, and storage). Offloading is the process of a device delegating the processing of a task to a more powerful unit. To evaluate whether offloading is advantageous, the device must measure the difficulty of running a program locally against the possible benefits of offloading it during runtime. Multiple system parameters [7], such as network latency, data exchange size, distant server abilities, and so on, are taken into account when calculating the cost of outsourcing the activity. The technique's potential rests in its ability to assist low-power devices with processing [8]. Although, an offloading approach in IoT has huge importance in terms of Quality of Service and Quality of Experience, there has been no thorough analysis or survey on the offloading challenges associated with the IoT edge computing that may assist researchers with their investigations in the field. As a result, the goal of this work is to completely and methodically review and analyze the available symmetric offloading methodologies in edge computing. Offloading methodologies are divided into three categories in this paper: data offloading, computation offloading, and task offloading. The main contributions of this review are as follows: • the major concerns and challenges associated with IoT edge computing symmetric offloading techniques are outlined; • a thorough examination of existing data offloading techniques employed in IoT is conducted; • finally, a proposed smart architecture is presented for symmetric data offloading that addresses issues like data traffic, bandwidth utilization, and offloading issues.
This paper is organized as follows: Section 2 elucidates the concept of offloading, issues in data offloading, and various approaches of data offloading, and provides a summary of the findings. Section 3 illustrates the research methodology used to select papers from various databases and the process adopted to select the best quality papers. Section 4 outlines important aspects that address various considerations for data offloading in IoT. Section 5 proposes a smart architecture for data offloading and proposes a data offloading workflow for industrial IoT. Subsequently, in Section 6, conclusions and recommendations for future research are presented.

Literature Review
This section introduces basic definitions, fundamental concepts relevant to the area of data offloading in IoT networks, and related work.

A Brief Overview of Offloading in IoT Architecture
This sub-section presents a generic offloading done at a three-tier level architecture of IoT (see Figure 2). Offloading is a technique that allows a low-power device, such as a smartphone or a wearable, to delegate the processing of a task, such as a code, service, or job, to a device with more skills and resources [6][7][8]. When a device can reach the server with low latency rates of transfer in the presence of network connectivity, it is opportunistically outsourced. Offloading all the time is not very effective or practical when the processing needs are very low in comparison with the expenses incurred during communication (particularly latency), so the devices must not unload if the advantage of offloading does not outweigh the cost of doing the operation at the device. The technique's ultimate goal is to minimize the device's overall processing load in order to extend battery life.
This paper is organized as follows: Section 2 elucidates the concept of offloading, issues in data offloading, and various approaches of data offloading, and provides a summary of the findings. Section 3 illustrates the research methodology used to select papers from various databases and the process adopted to select the best quality papers. Section 4 outlines important aspects that address various considerations for data offloading in IoT. Section 5 proposes a smart architecture for data offloading and proposes a data offloading workflow for industrial IoT. Subsequently, in Section 6, conclusions and recommendations for future research are presented.

Literature Review
This section introduces basic definitions, fundamental concepts relevant to the area of data offloading in IoT networks, and related work.

A Brief Overview of Offloading in IoT Architecture
This sub-section presents a generic offloading done at a three-tier level architecture of IoT (see Figure 2). Offloading is a technique that allows a low-power device, such as a smartphone or a wearable, to delegate the processing of a task, such as a code, service, or job, to a device with more skills and resources [6][7][8]. When a device can reach the server with low latency rates of transfer in the presence of network connectivity, it is opportunistically outsourced. Offloading all the time is not very effective or practical when the processing needs are very low in comparison with the expenses incurred during communication (particularly latency), so the devices must not unload if the advantage of offloading does not outweigh the cost of doing the operation at the device. The technique's ultimate goal is to minimize the device's overall processing load in order to extend battery life. One of the notable studies of offloading was performed by Kumar et al. [9], who conducted a survey to provide readers with explanations of the architecture of the offloading system, areas of research, technologies used to offload, and motivations for carrying out the computation offloading with the goal of allowing readers to become more familiar and adaptive to the use of these technologies in mobile systems. In [10][11][12][13][14], the authors conducted their analysis by adopting computation offloading to eliminate resource constraints in mobile cloud computing, and performed some research on challenges, such as collective optimization efforts among devices, rating offloading services that had not been previously defined and studied. In [15][16][17][18], the authors reviewed the primary approaches used in compute offloading techniques, including communication with the client and server, the virtualization process, and the use of mobile agents, as well as the benefits and drawbacks. Wang et al. [19] provided a survey overview on compute offloading efforts One of the notable studies of offloading was performed by Kumar et al. [9], who conducted a survey to provide readers with explanations of the architecture of the offloading system, areas of research, technologies used to offload, and motivations for carrying out the computation offloading with the goal of allowing readers to become more familiar and adaptive to the use of these technologies in mobile systems. In [10][11][12][13][14], the authors conducted their analysis by adopting computation offloading to eliminate resource constraints in mobile cloud computing, and performed some research on challenges, such as collective optimization efforts among devices, rating offloading services that had not been previously defined and studied. In [15][16][17][18], the authors reviewed the primary approaches used in compute offloading techniques, including communication with the client and server, the virtualization process, and the use of mobile agents, as well as the benefits and drawbacks. Wang et al. [19] provided a survey overview on compute offloading efforts related to the following research areas like systems pertaining to single users' multi-user systems, offloading on edge servers with different users, offloading to some other edge devices, and mobility awareness.
Briefly, the previous review papers suffer from some weaknesses, as follows: • The papers do not contain a systematic heuristic technique on data offloading in IoT, especially between the years 2017 and 2020. • Some papers [10][11][12][13] did not present any reasonable categorization of offloading approaches in IoT.

•
The existing works did not have a systematic format for selecting papers.

•
The aforementioned reasons motivated us to prepare a survey paper on offloading approaches in IoT to overcome all of these existing deficiencies.

Data Offloading Issues
The bandwidth usage from 4G's rich data services is not expected to decrease. As a result, the expense of maintaining the expected exponential growth in traffic created by mobile data services using current 4G network topologies is unsustainable. As a result of the expected surge in data traffic on 4G networks, carriers must immediately consider alternate solutions in order to ensure that both voice and data services run properly. In [20][21][22], the unanticipated data explosion is also due to the rapid uptake of smartphones by mobile phone subscribers, as well as the significantly greater usage profile of smartphones compared to basic handsets. Therefore, with the exponential rise in data traffic due to smart devices, offloading data every time at fog and edge is not the solution, as it will create a scalability issue in the near future and we will have to come up with some other new technique(s). In consideration of the above, an efficient framework should be readily prepared to tackle this increasing data in order to handle this scalability issue.

Overview of Data Offloading Approaches
In [23], the authors devised a novel offloading approach for edge computing by optimizing the efficiency in order to improve the performance of deep learning in IoT-based applications. Furthermore, in [24], the authors developed a fog computing-based system to handle mobile data in real time. In the edge context, the authors in [25] used in-memory storage and processing to reduce long-term energy use while maintaining acceptable latency. In [26], the authors presented one of the first efforts in opportunistic-based mobile data offloading. The authors addressed the subject of target set selection and proposed three techniques for selecting a set of targets: greedy, heuristic, and random. In [27], the authors suggested a method for offloading by direct connectivity or intermediate nodes, with data from mobile devices to infrastructure. The review looked into the relationship between data amount and the probability of a failed delivery for a particular path and time limitation.
In [28], the authors proposed an incentive-based strategy for incentivizing users who give data offloading space for requesters. In [29], the authors developed an offloading technique based on Wi-Fi. Before the deadline, every user of the new system was required to get some particular data using a Wi-Fi access point. The authors in [30] investigated a dataset of video requests obtained from real-world cellular traffic over a one-month period in a big metropolitan region to come up with a viable offloading approach.
The authors in [31] developed an operator-assisted offloading system in which a central controller determines which nodes the material must be transported across the cellular network dynamically over time, based on the current state of dissemination. The proposed approach is based on centralized control rather than being entirely opportunistic. In [32], the authors suggested a cooperative data offloading based on Wi-Fi architecture to ensure that dependable data is stored using smart phones.
In [33], the authors investigated the effects of self-contention on data storage of mobile devices and offered a strategy for maximizing offloading throughput's upper limits. At the edge, multi-device collaborative data offloading is more appropriate. As a result, some research has attempted to address the challenge of collaborative data dumping. The authors in [34] introduced optimization models and presented energy-aware collaborative data offloading, as shown in Figure 3. In [35], the random forests approach and Apache Hadoop were used to build a machine learning method incorporated within a big data analytics platform to estimate highway travel time based on data collected from highway electronic toll collection in Taiwan. bile devices and offered a strategy for maximizing offloading throughput's upper limits. At the edge, multi-device collaborative data offloading is more appropriate. As a result, some research has attempted to address the challenge of collaborative data dumping. The authors in [34] introduced optimization models and presented energy-aware collaborative data offloading, as shown in Figure 3. In [35], the random forests approach and Apache Hadoop were used to build a machine learning method incorporated within a big data analytics platform to estimate highway travel time based on data collected from highway electronic toll collection in Taiwan. Various heuristic-based techniques proposed by different researchers are highlighted in Table 1. The table contains a literature survey related to techniques utilized, parameters used, case studies adopted, and simulators used.

Summary
The majority of the offloading strategies that were reviewed utilized techniques that are model-based, such as queueing theory, game theory, and Lyapunov optimization, although heuristic-based techniques were used to a lesser extent. In terms of case studies, it was discovered that the majority of researchers evaluated offloading solutions for compute-intensive mobile apps, including video surveillance, face detection, and AR/VR, but less work was done on traffic intensive applications. From the standpoint of performance metrics, it was observed that practically all research looked into metrics related to energy consumption because the offloading of duties represents an energy-intensive operation. In terms of assessment tools, it was discovered that the majority of strategies related to offloading were tested with the help of iFogSim, despite the fact that benchmarks should be used to verify the efficiency with which mobile applications work.

Summary
The majority of the offloading strategies that were reviewed utilized techniques that are model-based, such as queueing theory, game theory, and Lyapunov optimization, although heuristic-based techniques were used to a lesser extent. In terms of case studies, it was discovered that the majority of researchers evaluated offloading solutions for computeintensive mobile apps, including video surveillance, face detection, and AR/VR, but less work was done on traffic intensive applications. From the standpoint of performance metrics, it was observed that practically all research looked into metrics related to energy consumption because the offloading of duties represents an energy-intensive operation. In terms of assessment tools, it was discovered that the majority of strategies related to offloading were tested with the help of iFogSim, despite the fact that benchmarks should be used to verify the efficiency with which mobile applications work.

Research Methodology
In this section, we present a systematic literature review (SLR) method for categorizing the offloading approaches in IoT used in recent research [26][27][28][29][30][31][32][33][34][35][36][37][38][39][40][41]. The following studied string words were used to determine important synonyms and keywords of the approaches: • ("Off" OR "Data Offloading" OR "Allocation" OR "Task Offloading" OR "Offloading" OR "Edge computing"). We created some technical questions (TQs) based on the scope of the data offloading technique in IoT network using the SLR method: In order to refine the key research, addition and removal techniques were employed for the screening of the final paper selection. Due to the tremendous potential of Web of Science journals, research articles that index in the Web of Science and ISI proceedings with the peer-reviewed process were considered for offloading challenges in IoT. Some of the papers' drawbacks were as follows: (1) non-English research articles are not considered in the SLR method; and (2) low-quality conferences with less than four pages are not considered in the SLR method. Finally, we chose 100 papers to respond to our technical queries. Scientific publishers such as Google Scholar, IEEE, Elsevier, Springer, ACM, and Wiley publish a wide range of research studies each year, as seen in Figure 4. Figure 5 depicts the addition and rejection flowchart for the final selection of papers.

Discussion and Comparison
This section shows an analytical examination and discussion of existing data offloading studies in IoT. The analytical examination and reports are based on the existing TQs in Section 3: • TQ1: What are the primary considerations for data offloading in IoT? Figure 6 represents a statistical comparison of various issues related with data offloading. In this figure, we consider four different issues, namely traffic congestion, allocation of resources, load balancing, and scheduling approach. Traffic congestion is featured most prominently in the selected papers due to the scalability of the devices followed by scheduling (in 27% of papers), load balancing (in 24% of papers), and allocation (in 17% of papers). Year IEEE Elsevier Springer Others

Discussion and Comparison
This section shows an analytical examination and discussion of existing data offloading studies in IoT. The analytical examination and reports are based on the existing TQs in Section 3: • TQ1: What are the primary considerations for data offloading in IoT? Figure 6 represents a statistical comparison of various issues related with data offloading. In this figure, we consider four different issues, namely traffic congestion, allocation of resources, load balancing, and scheduling approach. Traffic congestion is featured most prominently in the selected papers due to the scalability of the devices followed by scheduling (in 27% of papers), load balancing (in 24% of papers), and allocation (in 17% of papers). • TQ2: What evaluation tools are used to assess data offloading strategies?
As per Figure 7, 36% of the research papers implemented iFogSim in their proposed approach. In addition to this, MATLAB tool was used in 26% of research papers, followed by CloudSim (in 22% of papers). A few of the research papers did not specify a simulation tool for evaluating their methods.

Traffic Congestion
Scheduling Load Balancing Allocation Figure 6. Percentage of presented issues in data offloading. • TQ2: What evaluation tools are used to assess data offloading strategies?
As per Figure 7, 36% of the research papers implemented iFogSim in their proposed approach. In addition to this, MATLAB tool was used in 26% of research papers, followed by CloudSim (in 22% of papers). A few of the research papers did not specify a simulation tool for evaluating their methods. • TQ2: What evaluation tools are used to assess data offloading strategies?
As per Figure 7, 36% of the research papers implemented iFogSim in their proposed approach. In addition to this, MATLAB tool was used in 26% of research papers, followed by CloudSim (in 22% of papers). A few of the research papers did not specify a simulation tool for evaluating their methods. • TQ3: What are the most common criteria used to assess data offloading approaches?
In Figure 8, the analytical report on QoS depicts that response time parameter was used in 29% of the papers on data offloading, followed by energy (20% of papers), bandwidth utilization (19% of papers), and latency (18% of papers).  • TQ3: What are the most common criteria used to assess data offloading approaches?
In Figure 8, the analytical report on QoS depicts that response time parameter was used in 29% of the papers on data offloading, followed by energy (20% of papers), bandwidth utilization (19% of papers), and latency (18% of papers). • TQ4: Which techniques are used for data offloading approaches?
In Figure 9, the analytical report depicts that most of the papers utilized heuristicbased techniques, followed by meta-heuristics-based approaches. Model-based approaches, such game theory and queueing theory were used less. • TQ4: Which techniques are used for data offloading approaches?
In Figure 9, the analytical report depicts that most of the papers utilized heuristicbased techniques, followed by meta-heuristics-based approaches. Model-based approaches, such game theory and queueing theory were used less. • TQ4: Which techniques are used for data offloading approaches?
In Figure 9, the analytical report depicts that most of the papers utilized heuristicbased techniques, followed by meta-heuristics-based approaches. Model-based approaches, such game theory and queueing theory were used less.

Proposed Smart Architectures for Symmetric Data Offloading
The proposed IoT-based system for symmetric data offloading (the architecture is shown in Figure 10) consists of ESP32 with integrated Wi-Fi and Bluetooth, GSM module, a sensor device, and a cloud data repository (for storing offloaded data).The sensor device senses the signal (such as temperature, smog percentage, humidity) and then sends the data to the ESP32 module, which acts as a gateway through an NRF module embedded in sensor devices. Low data rate transmission is preferred using one of the IoT protocols such as Zigbee, LoRa WAN, Bluetooth, etc., depending on the use case. The gateway in the system ESP32 acting as an edge node allows data to come from sensor devices and then offloads data to cloud either via GSM module or via local Wi-Fi using a heuristic-based offloading algorithm. Offloaded data requiring a quick response will be sent to the user via GSM for quick action, and attached actuators will respond as per the response of the user. With limited storage facility at the edge node, data resides here for a certain period of time and is then replaced by new data. A cloud server equipped with offloaded data can be utilized for data analytics in order to make effective decisions using pattern-matching techniques of machine learning.

Proposed Smart Architectures for Symmetric Data Offloading
The proposed IoT-based system for symmetric data offloading (the architecture is shown in Figure 10) consists of ESP32 with integrated Wi-Fi and Bluetooth, GSM module, a sensor device, and a cloud data repository (for storing offloaded data).The sensor device senses the signal (such as temperature, smog percentage, humidity) and then sends the data to the ESP32 module, which acts as a gateway through an NRF module embedded in sensor devices. Low data rate transmission is preferred using one of the IoT protocols such as Zigbee, LoRa WAN, Bluetooth, etc., depending on the use case. The gateway in the system ESP32 acting as an edge node allows data to come from sensor devices and then offloads data to cloud either via GSM module or via local Wi-Fi using a heuristic-based offloading algorithm. Offloaded data requiring a quick response will be sent to the user via GSM for quick action, and attached actuators will respond as per the response of the user. With limited storage facility at the edge node, data resides here for a certain period of time and is then replaced by new data. A cloud server equipped with offloaded data can be utilized for data analytics in order to make effective decisions using pattern-matching techniques of machine learning.

Proposed Workflow for IIoT
The proposed workflow in Figure 11 is specifically designed for the above architecture, where data sensed by the sensors is sent to the edge node, which will filter out the data based on the threshold value. If the data is above the threshold value, the flag value will be set to one and thread one will be activated, which will send the data further to the cloud end. Thread 2 will allocate the server to the offloaded data based on the response received from Thread 1. This workflow curtails the bogus data that is sent every time to

Proposed Workflow for IIoT
The proposed workflow in Figure 11 is specifically designed for the above architecture, where data sensed by the sensors is sent to the edge node, which will filter out the data based on the threshold value. If the data is above the threshold value, the flag value will be set to one and thread one will be activated, which will send the data further to the cloud end. Thread 2 will allocate the server to the offloaded data based on the response received from Thread 1. This workflow curtails the bogus data that is sent every time to the cloud, which causes congestion due to data traffic, and will minimize the load on the server in comparison to existing techniques; thus, it is anticipated to help improve issues related to network congestion, reduced bandwidth, and green computing. Allocation of task will depend upon the server with the smaller ping value and will be AI-based. This proposed workflow for the above architecture will be implemented in traffic-generating applications like industrial IoT. The novelty of the proposed approach is in its curtailing of data outreaching to cloud environments; additionally, algorithms will be implemented at edge node as per changing scenarios.

Conclusions and Future Research
In this paper, a systematic literature review on data offloading approaches used in IoT networks was conducted, and some important issues were highlighted. This paper provides a brief overview of primary considerations for data offloading, evaluation tools, and common criteria used to assess various data offloading strategies. It also highlights various parameters used to evaluate data offloading algorithms. As per the literature review analysis, we observed that traffic congestion has been identified as the main issue even after offloading data at edge and fog nodes. Additionally, we observed that mobile applications have been used most (with 15 studies), followed by vehicular networks (with 8 case studies). Regarding the tools used for implementation, 36% of the papers used iFog-Sim, followed by 26% of the papers using MATLAB. Pertaining to the QoS parameters used to evaluate the performance of the proposed model, response time was the parameter that was used the most in the selected data offloading papers. From an analysis of the utilized techniques, it was observed that heuristic techniques were used in 35 studies. Finally, based on the statistical analysis conducted, a smart architecture framework for data offloading in IoT networks was presented along with a proposed workflow for an industrial IoT-specific application that will be used to implement traffic-intensive applications in the future. The authors hope that this paper will help researchers to gain a better understanding of current data offloading approaches and will help support future research The novelty of the proposed approach is in its curtailing of data outreaching to cloud environments; additionally, algorithms will be implemented at edge node as per changing scenarios.

Conclusions and Future Research
In this paper, a systematic literature review on data offloading approaches used in IoT networks was conducted, and some important issues were highlighted. This paper provides a brief overview of primary considerations for data offloading, evaluation tools, and common criteria used to assess various data offloading strategies. It also highlights various parameters used to evaluate data offloading algorithms. As per the literature review analysis, we observed that traffic congestion has been identified as the main issue even after offloading data at edge and fog nodes. Additionally, we observed that mobile applications have been used most (with 15 studies), followed by vehicular networks (with 8 case studies). Regarding the tools used for implementation, 36% of the papers used iFogSim, followed by 26% of the papers using MATLAB. Pertaining to the QoS parameters used to evaluate the performance of the proposed model, response time was the parameter that was used the most in the selected data offloading papers. From an analysis of the utilized techniques, it was observed that heuristic techniques were used in 35 studies. Finally, based on the statistical analysis conducted, a smart architecture framework for data offloading in IoT networks was presented along with a proposed workflow for an industrial IoT-specific application that will be used to implement traffic-intensive applications in the future. The authors hope that this paper will help researchers to gain a better understanding of current data offloading approaches and will help support future research in this field.