Skip to Content
You are currently on the new version of our website. Access the old version .
Future InternetFuture Internet
  • Article
  • Open Access

27 May 2023

14 Pages

Research and Design of a Decentralized Edge-Computing-Assisted LoRa Gateway

,
,
and
Beijing Engineering Research Center for IoT Software and Systems, Beijing University of Technology, 100 Pingleyuan, Chaoyang District, Beijing 100124, China
*
Author to whom correspondence should be addressed.

Abstract

As a narrowband communication technology, long-range (LoRa) contributes to the long development of Internet of Things (IoT) applications. The LoRa gateway plays an important role in the IoT transport layer, and security and efficiency are the key issues of the current research. In the centralized working model of IoT systems built by traditional LoRa gateways, all the data generated and reported by end devices are processed and stored in cloud servers, which are susceptible to security issues such as data loss and data falsification. Edge computing (EC), as an innovative approach that brings data processing and storage closer to the endpoints, can create a decentralized security infrastructure for LoRa gateway systems, resulting in an EC-assisted IoT working model. Although this paradigm delivers unique features and an improved quality of service (QoS), installing IoT applications at LoRa gateways with limited computing and memory capabilities presents considerable obstacles. This article proposes the design and implementation of an “EC-assisted LoRa gateway” using edge computing. Our proposed latency-aware algorithm (LAA) can greatly improve the reliability of the network system by using a distributed edge computing network technology that can achieve maintenance operations, such as detection, repair, and replacement of failures of edge nodes in the network. Then, an EC-assisted LoRa gateway prototype was developed on an embedded hardware system. Finally, experiments were conducted to evaluate the performance of the proposed EC-assisted LoRa gateway. Compared with the conventional LoRa gateway, the proposed edge intelligent LoRa gateway had 41.1% lower bandwidth utilization and handled more end devices, ensuring system availability and IoT network reliability more effectively.

1. Introduction

LoRa is one of the low-power wide-area network (LPWAN) technologies. The characteristics of LPWAN include long-range communication, short packets, low power, and low bandwidth [1]. As a result, LoRa can enable energy-efficient connectivity for many widely dispersed end-point IoT devices. In many IoT applications, such as environmental monitoring and smart cities, the LoRa gateway acts as a bridge that transmits messages from the end device to the cloud processing center. As the Internet of Things grew, so did the number of apps that support real-time latency. Due to the huge amount of computing data generated by IoT end applications, effectively reducing the latency of latency-sensitive IoT applications is a huge challenge for LoRa gateways currently. In addition, LoRa gateways provide services for data transfer between end-point IoT devices and cloud computing. This information is subsequently analyzed and saved on the cloud. Consequently, the LoRa gateway’s computation and storage capabilities are underutilized, and are subject to certain potential dangers. The difficulties include enhancing the effectiveness and safety of the LoRa system.
With the development of IoT and communication technology, more and more sensor devices are connected to the IoT in various ways, and a large amount of data is generated as a result. This massive amount of data causes several issues, including excessive latency, necessitating a larger bandwidth. Transmission of data between cloud centers and IoT devices will result in significant delays. Edge computing may deliver services at the network’s edge to minimize latency and provide edge data processing power and security [2]. Edge computing became popular as a result of the installation of servers at the edge [3]. Edge computing employs a decentralized strategy that allows application processing and task execution to occur locally. In this manner, the network traffic issue is reduced. In edge computing, access to resources is provided at the network’s edge [4], close to end devices, which has a significant influence on bandwidth and minimizes communication latency [5]. With the development of edge computing technology, the processing power of traditional cloud computing can be partially migrated to the LoRa gateway. This decentralized strategy may aid in preventing the falsification of data when applied to the LoRa gateway. Consequently, an EC-assisted LoRa gateway is anticipated to enhance both computing performance and security.
The issue of job scheduling in the LoRa gateway using edge computing is an essential subject of debate. A lot of research has focused on the job scheduling of edge computing resources in recent years. Nonetheless, the majority of past initiatives have encountered two significant limitations, namely a lack of practicability and a lack of generalizability. Existing simulation-based systems, for instance, are inapplicable to the majority of real-world circumstances. Most present solutions are appropriate for a limited range of IoT applications but cannot be generalized to compute-intensive and time-sensitive applications. Moreover, several algorithms are engaged in sophisticated offloading procedures that demand a considerable amount of decision time, thereby rendering the schemes unfriendly. The main research contributions of this paper are as follows.
First, we built a LoRa gateway with edge computing on the Zynq SoC platform, which is called the EC-assisted LoRa gateway.
Then, based on the characteristics of the LoRa network, we used the delay awareness algorithm with high-availability edge computing to monitor and maintain the edge node failures through a distributed method. On the one hand, we want a reverse tile gateway that can run locally or together with existing network server systems. In order to build a resource-concentrated and latency-aware IoT application, we have been developing a decentralized method for grouping edge nodes in a distributed pattern.
In addition, in order to improve the network reliability of the Internet of Things in the distributed deployment mode, we have constructed a distributed edge node group for the end nodes in the network, and performed maintenance operations such as detection, repair, and replacement on each node in the group.
Finally, in order to enable the new algorithm LAA to run on the LoRa gateway, we modified the ARM-based embedded Linux operating system in the LoRa gateway to generate an image.ub that is compatible with third-party lib libraries and plugins. The experimental results indicated that the EC-assisted LoRa gateway can achieve the same performance while using fewer resources than a traditional LoRa gateway.
The rest of the paper is organized as follows. Section 2 discusses related work, and Section 3 describes a design for an EC-assisted LoRa gateway. Then, the experiments and their results are elaborated on in Section 4. Section 5 concludes this article.

3. Design of the EC-Assisted LoRa Gateway

3.1. LoRa Gateway Hardware System Design Based on Zynq SoC

The LoRa gateway hardware system is based on a XINLIX Zynq7000 processor. Zynq SoC architecture combines the software programmability of a processor with the hardware programmability to form a dual-core ARM Cortex-A9 processor and a conventional FPGA logic component, providing unparalleled system performance, flexibility, and scalability. The communication module of the LoRa gateway uses the LoRa SX1278 baseband chip, which features a small size, low power consumption, long transmission distance, and high interference immunity. The LoRa gateway can receive, process, store, and forward the data of end devices. By assigning LoRa gateway edge computing capability, it can effectively enhance data processing capability and reduce data transmission delays. The proposed EC-assisted LoRa gateway hardware system architecture is shown in Figure 2.
Figure 2. LoRa gateway hardware system based on Zynq SoC.
As shown in Figure 2, the main modules connected to the PS resource include the sensor interface, the system debugging interface, the storage module, the communication module, the Ethernet interface, etc. The storage module mainly includes QSPI FLASH, DDR3, and eMMC, which are used to store the running memory, system files, application files, and data files. The wireless communication method for uplink in the system is via 3G, 4G, or LTE modules, which are connected to the network server, while the wireless communication for downlink relies on four LoRa modules, which are connected to numerous end devices. The communication interface between the LTE module and the Zynq is USB, and the communication interface between the LoRa module and the Zynq is UART pass-through. Furthermore, the system also includes interfaces for sensor information acquisition and debugging. In order to connect to multiple serial devices, we utilized multiple AXI_UARLITE IP core ports in our system. We developed the software for multi-threaded design, communication interface development, and distributed computing using the Xilinx Software Development Kit (SDK) environment. The program was compiled using appropriate tools to generate an executable file that was subsequently executed on the Zynq platform.
Algorithmic IP cores for data processing have been integrated into the PL side based on edge requirements to further improve the efficiency of edge computing. However, the end device access and management calculations in this article were run on the dual-core ARM Cortex-A9 on the PS side.

3.2. Edge Computing in the LoRa Gateway

Using the LoRa gateway with edge computing capabilities, two modules were transferred from the network server to the LoRa gateway. Through network control (NC), which processes application packet data, and JS, which manages the connection operations of the end devices using connection operations, the LoRa gateway generated and stored contextual data for the end devices. Conversely, the LoRa gateway required certain contextual data to perform application packet processing tasks.
As shown in Figure 3, when the LoRa gateway receives a network request from an end device, it first verifies the legitimacy of the request. Then, the LoRa gateway creates session data for the end device, including DevAddr, two session keys, and some metadata. The LoRa gateway requests and creates a new block with a transaction containing these data. In the meantime, the LoRa gateway must produce and transmit a join accept message to the end device. The end device’s successful acceptance of the join accept message shows that the join operation was successful. It may be sent from the network server to the LoRa gateway because the NC module is placed in the LoRa gateway, which is utilized for application data processing.
Figure 3. The EC-assisted LoRa Gateway workflow of data.
Uplink Data Processing: When an end device reports application data, the NC processing module in the LoRa gateway divides the application into three parts: metadata, encrypted data, and the message integrity code (MIC) value. Then, the NC module checks the integrity of the application data by extracting the DevAddr field from the metadata and querying the session data of the end device to verify the authenticity of the MIC. If the MIC value of the application packet does not match, the packet is rejected. After the verification is passed, the LoRa gateway transmits the encrypted data applied by the end device to the network server. At the same time, the LoRa gateway must send an acknowledgment message (ACK) to the end device, confirming that the application packet has been successfully received.
Downlink Data Processing: When sending data to the end device, the network server first creates a new connection and encrypts the application data sent down. The encrypted data are then sent from the network server to the LoRa gateway. The LoRa gateway contains the downlink device application data packets, and the MIC value information is generated and calculated by the LoRa gateway, which is encapsulated in the NC module. When the end device reports data, the LoRa gateway obtains the target information of the end device, while the downlink application packets are sent to the end device through the wireless channel of the LoRa module.
LoRa gateways that are deployed on near-end devices can improve the efficiency of cloud computing processing in the system by means of edge computing. Among them, the LoRa gateway mainly handles the parsing and encapsulation of application packets from end devices and MIC calculations, which are no longer handled by the central cloud server. On the one hand, the computing resources in the LoRa gateway can be fully utilized to relieve the computing pressure in the cloud server, and at the same time, the LoRa gateway can perform pre-processing operations on the application data reported by the end devices, such as the verification of MIC, without affecting the processing of the cloud server or the transmission function of the application data.

3.3. Distributed Task Execution Mode in the LoRa Gateway

The symbols applied in this paper are shown in Table 1.
Table 1. Symbols applied in this article.
We set the characteristics of E N k = i k , u k , a k , e k , where i k denotes the i th edge node with the execution request. u k denotes the workload, a k denotes the size of task-related data, and e k denotes the deadline of the task. The task E N k = δ 1 , δ 2 … … δ n , without any limitations. These subtasks may be undertaken concurrently on several edge nodes without a specific order. In Table 1, the significant equation variables are shown. The required resources are provided in ( e k ) time to complete the task faster than its objective, in order to process an edge node network subtask and ensure a fair procedure. For the sake of this paper, we will consider each task’s required CPU time as a resource. For one subtask of the task E N k , Ci millions of instructions (MI) were required. The following subtasks δ i will be loaded.
u δ i = ∑ i = 1 n C i
On the basis of speed δ p , the CPU time ( t e δ i ) required for processing the E N i on the edge of the network e is shown below.
t e δ i = u δ i δ p
For the E N k consisting of n subtasks, the LoRa gateway processes the tasks on Y edge nodes in a distributed manner. R E N k t denotes the resources (CPU time) required to process the tasks at the edge nodes at time t . ∑ R E N t will be:
∑ R E N t = ∫ 0 t R E N k t d t
U k denotes the resources required to complete all the tasks of a single edge node, U R denotes the resources allocated to the tasks processed by the edge node at the current moment t , and the remaining required resources U n e e d are denoted as follows.
U n e e d = U k − U R
The current resource demand was given by D E N t at time t . For the k th E N k at time t , S E N t describes all resources that are currently accessible. The resources for E N k employed in the edge network distribution process associated with the cloud are defined as the degree of fairness f d E N k t of k th E N k at time t .
f d E N k t = ∫ 0 t R E N k t d t ∫ 0 t max D E N k t , S E N k t d t
The degree of network fairness f d E N k t = 1 indicates that all needed network resources have been allotted to perform the k th E N k at time t . Less than 1 in disparity f d E N k t indicates an unfair execution.
For competent administration, we propose that significant jobs at the edge be spread over a group G i e E N , where i denotes the number of groups and e denotes edge nodes. E N is associated with a group job that has to be executed. As an organizer, E o is a representation of an edge node that will receive and process the E N k . The edge node of the organizer will interact with other edge nodes in the group to complete the assigned task and provide output to the end nodes.
In the E o edge node group, each edge node acquires the available LoRa gateway resources based on the task. Our proposed latency-aware algorithm (LAA) executes in a decentralized way. An edge node joins the edge node group when it accepts handling a task, so that the action may be completed in distribution mode. To enable distributed processing of the E o , the E o node will broadcast to the edge environment Q to establish a G i e E N .
Our proposed LAA algorithm is shown in Algorithm 1. First, in steps 3–7, The E o will broadcast a grouping message for adding edge nodes to the pair queue Q . After the grouping is completed, in steps 9–15, the LoRa gateway will perform tasks on the edge node elements added to the queue Q . Then, in steps 18–21, the nearby edge nodes in the grouping are monitored and are included in the group when the nearby nodes are available. Throughout the process, the task processing is cyclically performed on all edge nodes that join the group.
Algorithm 1. Pseudocode of the LAA algorithm.
Algorithm LAA: Distributed Latency-Aware Task Processing Algorithm
Input:  E o , G E N , Q , Q f r e e , ∑ E N , ∑ a e i ;
Output:  G i e E N
1:  for  E o ∈ Q  do
2:    Q f r e e ← E o ;
3:    E o send a request to join u u ∈ Q ;
4:    E o r z response neighborhood edge node u ′ u ′ ∈ Q
5:   for  u ′ ∈ Q  do
6:     Q f r e e ← u
7:   end for
8:   while  f d E N k ≠ 1  do
9:    if  Q f r e e ≠ ϕ  then
10:     for  e i ∈ Q f r e e  do
11:      if  ∑ E N ∩ ∑ a e i ≠ ϕ  then
12       e i pull δ i
13:       ∑ E N = ∑ E N − ∑ a e i
14:       G i e E N ← e i
15:      end if
16:     end for
17:    else
18:     for  e i ∈ G E N  do
19:      if  e n ∈ e i ∩ G E N = = ϕ  then
20:        e i send R r s to e n
21:        G E N ← e n
22:      end if
23:     end for
24:    end if
25:   end while
26:    G i e E N ← G E N
27:  end for
28:  return  G E N

4. Experiments

4.1. Experimental Setup

The LoRa gateway was built on an FPGA-based embedded hardware system using the industrially specialized Xilinx Zynq CPU board and Cortex-A9 SoC. With this gear, edge computing is feasible. In the central cloud, our system comprised four LoRa gateways and two network servers. Many customizable client applications were deployed on the server that could make direct connections to the LoRa gateway. The end devices were deployed for experimental testing using the SX1278-based LoRa communication module. The end device can typically connect multiple sensors for data collection and upload the collected data to the LoRa gateway.
In Experiment 1 (test join requests from end devices), 100–2200 simulated end devices submitted join requests continually to the LoRa gateway. Each LoRa gateway controlled between 25 and 550 end devices. Each end device operated at random intervals ranging between 10 min and 2 h. If the end device received a join request and accepted the message, the join operation was deemed successful. After 300 s, if no application had been received, the join request failed. The registration messages for end devices are usually very short, and a large number of device accesses can create pressure on the edge computing system in terms of registration information parsing.
In Experiment 1, the evaluation metric used to reflect the real-time performance of the gateway during the registration of a large number of devices was the time it takes for the end node to register with the network service.
Experiment 2 (test application data upload of end devices) emulated between 100 and 2000 end devices. Each LoRa gateway could support between 25 and 400 end devices. All steps for end device assembly were completed. Therefore, the end devices could perform data uploading normally. Each end device was able to select a time interval of 15–20 s for continuous data reporting. The network server sent an ACK to each package to signal that the uplink data were received properly. If the end device did not receive an ACK within 30 s after the upload, the transmission of the application data package was deemed unsuccessful. After the time interval or a failure, the endpoint continued to transmit. A large number of end device data packets were transmitted with a full load (payload 255 bytes), and by adopting the design proposed in this paper, the performance of the edge gateway was fully utilized.
Experimental metric 2 utilized two performance indicators: system throughput and CPU utilization. System throughput refers to the number of successfully transmitted data in a unit of time by network devices or ports (the maximum data rate that devices can receive and forward without dropping frames). It is an actual value used to measure network performance. CPU utilization is the percentage of CPU resources occupied by running programs, representing the status of the machine running programs at a specific time. Throughput and CPU utilization at their limits can assess whether the utilization of a LoRa network’s overall processing and forwarding capabilities has reached its maximum, and whether the fairness of network transmission is ensured.
Experiment 3 (testing the EC-assisted LoRa gateway versus the traditional LoRa gateway) simulated the operation of 100–2200 end devices. During the experiment, four LoRa gateways were deployed to provide data processing services for the end devices. Each LoRa gateway could interact with the end devices in the coverage area and obtain the application information reported by the end devices. Then, a comparative experiment was carried out using the conventional LoRa system technique. In a traditional LoRa gateway system, the JS and NC modules are deployed in a central cloud implementation. As seen in Figure 4, the central cloud must thus handle all application packages. Our comparison demonstrated the enhanced performance of the LoRa gateway with EC-assisted support.
Figure 4. Illustrations of the experiments on the LoRa Gateway with edge computing: (a) EC-assisted LoRa gateway system; (b) traditional LoRa gateway system.
In Experiment 3, we evaluated the overall network processing and forwarding capability of the LoRa gateway using the metric of bandwidth occupation, which represents the efficiency of receiving and sending messages on the gateway’s bandwidth per second.
In conclusion, the evaluation encompassed the gateway’s capacity for accommodating large-scale LoRa nodes and processing their uplink data, and the enhancement in bandwidth utilization achieved by EC-assisted LoRa gateways compared to conventional gateways. Through these experiments, the beneficial effects of the proposed approach were assessed.

4.2. Results and Analysis

Figure 5 provides statistical information on the processing time for access requests. The black dashed line represents the maximum acceptable delay for an end device to receive and accept the message. It may be adjusted to meet certain needs. The join request was deemed unsuccessful if the time barrier was exceeded. Once the number of end devices reached 2000, the mean latency began to exceed the barrier. According to the findings, nearly 75% of end devices could effectively receive and accept messages with a 5 s constraint and 1800 end devices.
Figure 5. Processing time of join requests with the number of end devices.
Figure 6 depicts the system throughput and CPU utilization of the LoRa gateway and network server while processing application packets from the end devices. The throughput continued to increase until the number of end devices reached 1200, due to underutilized resources. At the same time, CPU usage increased. Once the number of end devices approached 1200, the system throughput stabilized and decreased slightly. This was because as the number of end devices continued to increase, the system became overloaded and the consumption of various resource switches caused a degradation in system performance, thus affecting system throughput. Similarly, the variation in CPU utilization reflected this. The NC module in the LoRa gateway consumed about seven CPU cores. The rest of the cores were occupied by modules used for the operating system and signal processing. However, the processing burden on the network server was alleviated, as the packet processing was now handled by the LoRa gateway with edge computing capabilities.
Figure 6. System throughput and CPU utilization.
As the number of end devices increases, the LoRa gateway and network server demand increasing CPU resources. As a result of all packages and invalid packages being processed and checked by the LoRa gateway, the network server’s CPU use was decreased in comparison to the prior LoRa system, in which the network server was responsible for handling all packages. As demonstrated in Figure 7, in addition to conserving CPU resources, the bandwidth of the transmission link between the LoRa gateway and a network server was also preserved. Compared to the conventional LoRa system, 1000 end devices required about 41.1% less bandwidth. As the number of end devices increased, the gap continued to expand linearly. One of the advantages of conserving resources is that the saved resources may be used for more genuine packets, protecting them from invalid or malicious traffic. We built edge intelligence algorithms in the LoRa gateway, which were able to validate the effectiveness of end devices and perform specific data processing, effectively reducing the transmission bandwidth of the LoRa network and reducing the energy consumption.
Figure 7. Bandwidth occupation of the EC-assisted LoRa gateway system and traditional LoRa gateway system.

5. Conclusions

This article proposed the design and implementation of a LoRa gateway with edge computing, which is called an “EC-assisted LoRa Gateway”. Then, an EC-assisted LoRa gateway prototype was developed on an embedded hardware system, and we proposed a new distributed computing model and used the latency-aware algorithm (LAA) for task processing at the edge nodes in the system, which effectively reduced the latency of task processing and improved the reliability and stability of the network. Experiments demonstrated the efficacy of our approaches, with the suggested LAA algorithm achieving the greatest edge node improvement and performance. We showed the highest performance that the EC-assisted LoRa gateway is capable of achieving: compared to a conventional LoRa system, the EC-assisted LoRa gateway reduces CPU usage and bandwidth use without compromising system throughput.
In our future work, we plan to further advance research in edge computing. The current proposal did not address issues related to energy efficiency or the detection and repair of failures in edge nodes. In the future, these issues may be considered for achieving high network availability in the context of IoT ecosystems. Furthermore, the experiments presented in this paper were conducted using a simulated LoRa transmission interface, time, and rate, and not with actual massive LoRa end devices. Therefore, future experiments will focus more on the deployment of actual massive wireless modules and data testing to extend the research to a wider range of wireless transmission scenarios.

Author Contributions

Conceptualization, X.Z.; methodology, X.Z. and H.G.; software, X.Z.; validation, H.G. and H.Y.; investigation, H.G. and X.Z.; resources, H.G.; writing—original draft preparation, H.G. and H.Y.; writing—review and editing, X.Z. and Z.H.; visualization, H.Y. and X.Z.; supervision, Z.H.; project administration, Z.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Raza, U.; Kulkarni, P.; Sooriyabandara, M. Low power wide area networks: An overview. IEEE Commun. Surv. Tutor. 2017, 19, 855–873. [Google Scholar] [CrossRef] [Scilit]
  2. Gong, C.; Lin, F.; Gong, X.; Lu, Y. Intelligent cooperative edge computing in internet of things. IEEE Internet Things J. 2020, 7, 9372–9382. [Google Scholar] [CrossRef] [Scilit]
  3. Cui, L.; Yang, S.; Chen, Z.; Pan, Y.; Ming, Z.; Xu, M. A decentralized and trusted edge computing platform for Internet of Things. IEEE Internet Things J. 2019, 7, 3910–3922. [Google Scholar] [CrossRef] [Scilit]
  4. Bukhsh, M.; Abdullah, S.; Bajwa, I.S. A Decentralized Edge Computing Latency-Aware Task Management Method with High Availability for IoT Applications. IEEE Access 2021, 9, 138994–139008. [Google Scholar] [CrossRef] [Scilit]
  5. Premsankar, G.; Di Francesco, M.; Taleb, T. Edge computing for the Internet of Things: A case study. IEEE Internet Things J. 2018, 5, 1275–1284. [Google Scholar] [CrossRef] [Scilit]
  6. Latre, S.; Leroux, P.; Coenen, T.; Braem, B.; Ballon, P.; Demeester, P. City of things: An integrated and multi-technology testbed for IoT smart city experiments. In Proceedings of the 2016 IEEE International Smart Cities Conference (ISC2), Trento, Italy, 12–15 September 2016; pp. 1–8. [Google Scholar]
  7. Chen, X.; Jiao, L.; Li, W.; Fu, X. Efficient multi-user computation offloading for mobile-edge cloud computing. IEEE/ACM Trans. Netw. 2015, 24, 2795–2808. [Google Scholar] [CrossRef] [Scilit]
  8. Sornin, N.; Yegin, A. LoRaWAN Backend Interfaces 1.0 Specification; Lora Alliance Standard Specification: Fremont, CA, USA, 2017; p. 11. [Google Scholar]
  9. Danish, S.M.; Lestas, M.; Asif, W.; Qureshi, H.K.; Rajarajan, M. A lightweight blockchain based two factor authentication mechanism for LoRaWAN join procedure. In Proceedings of the 2019 IEEE International Conference on Communications Workshops (ICC), Shanghai, China, 20–24 May 2019; pp. 1–6. [Google Scholar]
  10. Lin, J.; Shen, Z.; Miao, C.; Liu, S. Using blockchain to build trusted LoRaWAN sharing server. Int. J. Crowd Sci. 2017, 1, 270–280. [Google Scholar] [CrossRef] [Scilit]
  11. Liu, Z.; Zhou, Q.; Hou, L.; Xu, R.; Zheng, K. Design and implementation on a LoRa system with edge computing. In Proceedings of the 2020 IEEE Wireless Communications and Networking Conference (WCNC), Seoul, Republic of Korea, 25–28 May 2020; pp. 1–6. [Google Scholar]
  12. Ozyilmaz, K.R.; Yurdakul, A. Designing a blockchain-based IoT with ethereum, swarm, and LoRa: The software solution to create high availability with minimal security risks. IEEE Consum. Electron. Mag. 2019, 8, 28–34. [Google Scholar] [CrossRef] [Scilit]
  13. Queralta, J.P.; Gia, T.N.; Tenhunen, H.; Westerlund, T. Edge-AI in LoRa-based health monitoring: Fall detection system with fog computing and LSTM recurrent neural networks. In Proceedings of the 2019 42nd international conference on telecommunications and signal processing (TSP), Budapest, Hungary, 1–3 July 2019; pp. 601–604. [Google Scholar]
  14. Gia, T.N.; Qingqing, L.; Queralta, J.P.; Zou, Z.; Tenhunen, H.; Westerlund, T. Edge AI in smart farming IoT: CNNs at the edge and fog computing with LoRa. In Proceedings of the 2019 IEEE AFRICON, Accra, Ghana, 25–27 September 2019; pp. 1–6. [Google Scholar]
  15. Yetgin, H.; Cheung, K.T.K.; El-Hajjar, M.; Hanzo, L.H. A survey of network lifetime maximization techniques in wireless sensor networks. IEEE Commun. Surv. Tutor. 2017, 19, 828–854. [Google Scholar] [CrossRef] [Scilit]
  16. Moridi, E.; Haghparast, M.; Hosseinzadeh, M.; Jassbi, S.J. Fault management frameworks in wireless sensor networks: A survey. Comput. Commun. 2020, 155, 205–226. [Google Scholar] [CrossRef] [Scilit]
  17. Elsayed, W.M.; Sabbeh, S.F.; Riad, A.M. A distributed fault tolerance mechanism for self-maintenance of clusters in wireless sensor networks. Arab. J. Sci. Eng. 2018, 43, 6891–6907. [Google Scholar] [CrossRef] [Scilit]
  18. Jamjoom, M.M. EEBFTC: Extended energy balanced with fault tolerance capability protocol for WSN. Int. J. Adv. Comput. Sci. Appl. 2017, 8, 253–258. [Google Scholar]
  19. Scazzoli, D.; Kumar, A.; Sharma, N.; Magarini, M.; Verticale, G. Fault recovery in time-synchronized mission critical ZigBee-based wireless sensor networks. Int. J. Wirel. Inf. Netw. 2017, 24, 268–277. [Google Scholar] [CrossRef]
  20. Guo, H.; Ren, J.; Zhang, D.; Zhang, Y.; Hu, J. A scalable and manageable IoT architecture based on transparent computing. J. Parallel Distrib. Comput. 2018, 118, 5–13. [Google Scholar] [CrossRef] [Scilit]
  21. Paul, R.; Melchior, J.; Van Roy, P.; Vlassov, V. Designing distributed applications using a phase-aware, reversible system. In Proceedings of the 2017 1st IEEE International Conference on Edge Computing (EDGE), Honolulu, HI, USA, 25–30 June 2017; pp. 55–64. [Google Scholar]
  22. Hossain, M.S.; Islam, F.B.; Nwakanma, C.I.; Lee, J.M.; Kim, D.S. Decentralized latency-aware edge node grouping with fault tolerance for Internet of Battlefield Things. In Proceedings of the 2020 11th International Conference on Information and Communication Technology Convergence (ICTC), Jeju Island, Republic of Korea, 21–23 October 2020; pp. 420–423. [Google Scholar]
  23. Raghuvanshi, K.K.; Agarwal, A.; Jain, K.; Singh, V.B. A time-variant fault detection software reliability model. SN Appl. Sci. 2021, 3, 18. [Google Scholar] [CrossRef] [Scilit]
  24. Mavromatis, A.; Colman-Meixner, C.; Silva, A.P.; Vasilakos, X.; Nejabati, R.; Simeonidou, D. A software-defined IoT device man-agement framework for edge and cloud computing. IEEE Internet Things J. 2020, 7, 1718–1735. [Google Scholar] [CrossRef] [Scilit]
  25. Meneghello, F.; Calore, M.; Zucchetto, D.; Polese, M.; Zanella, A. IoT: Internet of Threats? A survey of practical security vulnerabilities in real IoT devices. IEEE Internet Things J. 2019, 6, 8182–8201. [Google Scholar] [CrossRef] [Scilit]
  26. Jeong, T.; Chung, J.; Hong, J.W.K.; Ha, S. Towards a distributed computing framework for fog. In Proceedings of the 2017 IEEE Fog World Congress (FWC), Santa Clara, CA, USA, 30 October–1 November 2017; pp. 1–6. [Google Scholar]
  27. Mohamed, N.; Al-Jaroodi, J.; Jawhar, I. Towards fault tolerant fog computing for IoT-based smart city applications. In Proceedings of the 2019 9th IEEE Annual Computing and Communication Workshop and Conference (CCWC), Las Vegas, NV, USA, 7–9 January 2019; pp. 752–757. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.