A Survey on Long-Range Wide-Area Network Technology Optimizations

Long-Range Wide-Area Network (LoRaWAN) enables flexible long-range service communications with low power consumption which is suitable for many IoT applications. The densification of LoRaWAN, which is needed to meet a wide range of IoT networking requirements, poses further challenges. For instance, the deployment of gateways and IoT devices are widely deployed in urban areas, which leads to interference caused by concurrent transmissions on the same channel. In this context, it is crucial to understand aspects such as the coexistence of IoT devices and applications, resource allocation, Media Access Control (MAC) layer, network planning, and mobility support, that directly affect LoRaWAN’s performance. We present a systematic review of state-of-the-art works for LoRaWAN optimization solutions for IoT networking operations. We focus on five aspects that directly affect the performance of LoRaWAN. These specific aspects are directly associated with the challenges of densification of LoRaWAN. Based on the literature analysis, we present a taxonomy covering five aspects related to LoRaWAN optimizations for efficient IoT networks. Finally, we identify key research challenges and open issues in LoRaWAN optimizations for IoT networking operations that must be further studied in the future.


I. INTRODUCTION
The growth of the emerging IoT technology has dramatically changed society worldwide through a disruptive technology ecosystem in new sets of application verticals [1]. In this context, IoT has been receiving increasing attention from academia and industry due to its potential use in a wide range of application domains, including smart agriculture [2], smart cities [3]- [5], smart object recommendation [6], smart traffic [7], [8], healthcare [9], [10], and others. Recent forecasts The associate editor coordinating the review of this manuscript and approving it for publication was Adnan M. Abu-Mahfouz . estimate that 4.1 billion IoT devices will be connected to the Internet by 2024 [11], [12]. In light of these high-density IoT network predictions, new and complex requirements arise, which need a reassessment of global connectivity to enable devices to be deployed to transmit data of IoT applications [13], [14].
IoT applications have many requirements including (i) low energy consumption (to adapt to devices with 10-year battery life), (ii) high coverage, and (iii) widespread mMTC [15]- [17]. In this way, the wireless communication technology used to transmit the collected IoT data plays a vital role in the massive adoption and deployment of IoT VOLUME 9, 2021 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ applications. For instance, the short-range network technologies (e.g. Wi-Fi and Bluetooth) are widely adopted, but they only provide a few meters of limited coverage area and are very prone to interference. These networks need (i) a high-density deployment to extend their coverage area, (ii) incur high costs in terms of CAPEX and OPEX, (iii) suffer from exposure to noise and interference, and (iv) require complex management. In a traditional mobile network (e.g. 2G, 3G, and 4G), by operating on licensed frequency bands (i.e. 850 -1900 MHz, 1.6 -2.5 GHz, and 2 -8 GHz), the infrastructure provides extended coverage up to 50 km, and serve thousands of devices with high throughput rate up to 100 Mbps [18]. However, complex modulation, along with medium access schemes, are energy-demanding features. As a means of ensuring this growth, LPWAN, such as LoRaWAN, SigFox, NB-IoT, and others, appears as an innovative concept to enable wide area networks with low power consumption. LPWAN is attracting attention from both the academic and industrial worlds [19], [20]. According to Haxhibeqiri et al. [21], the number of publications concerning LoRa and LoRaWAN fields has grown tremendously in the past years. In this context, LoRa refers to a radio-frequency modulation proprietary technology that belongs to the Semtech 1 company, tailored to LPWAN wireless WAN networks category. LoRa radio relies on CSS modulation for the long-range and low-energy communication link. LoRaWAN, in turn, denotes an open network protocol and ecosystem developed by the non-profit association called LoRa Alliance. In this way, LoRa Alliance considers LoRa radio as the physical layer and defines the upper layers and network architecture of LoRaWAN [22]. LoRa Alliance includes over 500 members, and there are several public and private LoRaWAN networks active in more than 160 countries around the world [23]. LoRaWAN uses a star-topology to connect IoT devices, gateway, network server, and application server. In LoRaWAN operations, the LoRaWAN gateway receives the data from IoT devices and forwards it to the application server. LoRaWAN provides a coverage area of tens of kilometers connecting thousands of IoT devices [24]. However, several factors affect the performance of IoT applications transmitting data over LoRaWAN.

A. PROBLEM STATEMENT
In future dense IoT scenarios, the LoRaWAN performance could be affected by different aspects to provide efficient IoT network operations with QoS assurance. Based on the literature analysis, we divide such aspects into the co-existence of IoT devices and applications, resource allocation, MAC layer, network planning, and mobility support. Each aspect can be solved separately or integrated in order to provide efficient IoT network operations. Next, we describe each aspect that affects the LoRaWAN performance.
The connectivity of IoT devices is highly affected by network planning, such as the LoRaWAN gateway placement. This is because an inefficient network planning scheme leads to the void area where IoT devices may not have connectivity to a gateway [25]. This issue affects IoT applications' performance in terms of QoS and network operation in terms of CAPEX and OPEX [26]. Aside from that, future IoT application verticals foresee a huge amount of IoT devices per square meter. In smart manufacturing systems, for instance, a dense factory site features more than 10,000 coexisting IoT devices continuously introducing massive traffic overload into the network, in a fraction of dozens of gigabytes per second [27]. IoT devices' densification generates severe challenges on the QoS level of IoT applications because more connected devices coexist in the same area with limited radio resources [28]. For instance, the LoRaWAN Gateway might receive messages from many IoT devices on the same channel, leading to high packet loss caused by collision and interference, thereby affecting the underlying network's scalability and efficiency [19]. In this case, packets transmitted using the same SF and on the same channel cannot be correctly decoded by the LoRaWAN gateway, leading to interference and poor application performance.
To cope with this issue, LoRaWAN considers a set of radio parameters that can be adjusted on the fly by a resource allocation mechanism [29]. In specific terms, resource allocation means adjusting on the fly a set of radio parameters, such as BW, CF, CR, DC, SF, and TP [30]- [32]. These parameters can be adjusted by the network server or device's application layer, providing a trade-off among transmission range, data rate, air time, interference, and energy consumption [32]. Hence, it is essential to provide an efficient resource allocation mechanism to maximize channel usage while minimizing the number of collisions in a dense LoRaWAN environment [33].
Additionally, LoRaWAN suffers the effects of packet losses caused by collisions at the MAC layer. These losses are due to LoRaWAN considers ALOHA, which is an oversimplified access medium protocol that does not account for channel fading, power control, and aggregate interference [33]. Therefore, the MAC layer must be optimized to avoid collisions while improving the network performance.
Co-existence mechanisms, such as network slicing and multiple RAT, must cope with different IoT devices and applications. For instance, network slicing [34] has emerged as an efficient way of enabling different applications to coexist within a shared infrastructure and gain momentum from academia and industry [35], [36]. Specifically, the network slicing can reserve physical resources in LoRaWAN gateways for each slice, depending on the IoT devices' QoS requirements [37]. On the other hand, by integrating multiple RAT, also known as multihoming, it is possible to select the most appropriate LPWAN RAT based on application requirements and multiple attributes, such as current network conditions and application requirements [38].
Finally, some IoT applications could benefit from mobile IoT devices designed to follow mobility procedures, unlike traditional applications (which are generally stationary) [39].
For this reason, while mobility provides excellent opportunities to improve IoT systems in diverse domains, it also imposes several critical challenges, especially concerning fulfilling QoS guarantees.
There is increasing interest from both the academic and industrial communities in harnessing LoRaWAN connectivity in smart spaces. For instance, Google Trends and academic databases such as IEEE Xplore, ACM, MDPI, and other digital libraries, show signs of peaks when searching published articles that mention LoRaWAN optimization toward an efficient IoT networking operation. To the best of our knowledge, recent state-of-the-art surveys about LoRaWAN [19], [21], [24], [40], [41] address challenges and open issues concerning the physical-layer and architecture aspects, paving the way for the development of LoRaWAN. However, there is a severe lack of a comprehensive review of other aspects that affect the LoRaWAN performance, i.e. co-existence of IoT devices and applications, resource allocation mechanisms, MAC layer protocols, network planning, and mobility support toward efficient networking operations, beyond those aspects investigated in existing published. This knowledge gap in the available literature motivates this work.
This article performed a systematic review in the main search engines to present the existing work concerning optimizing LoRaWAN technology for efficient IoT networking operations. To achieve this goal, we focus on: (i) in-depth analysis of state-of-the-art LoRaWAN optimization solutions for IoT networking operations; (ii) a taxonomy that covers five aspects related to LoRaWAN optimizations for efficient IoT network; (iii) identify key research challenges and open issues in the area of LoRaWAN optimizations for IoT networking operations.

B. CONTRIBUTIONS
We summarize the main research contributions of this article as follows: (a) We present a systematic review of the state-of-the-art results focusing on specific aspects that affect the LoRaWAN performance, including co-existence of IoT devices and applications, resource allocation mechanisms, MAC layer protocols, network planning, and mobility issues. (b) We introduce a taxonomy classification to categorize the aspects that affect the LoRaWAN operation. (c) We discuss some of the challenges, open issues, and potential future research directions in optimizing LoRaWAN technology for efficient IoT networking operations that need further investigation in the future.

C. REVIEW METHODOLOGY
We conducted a systematic review to select, evaluate, and analyze all the relevant available works [42]. Initially, we developed a set of research questions based on relevant issues for an efficient LoRaWAN operation. In this context, we answer the following questions: (i) What are the initiatives already developed to optimize the performance of LoRaWAN? (ii) How to classify the works we reviewed into various categories? (iii) What will a taxonomy classification for the aspects that affect the LoRaWAN operation be?
To find answers to these questions, we performed a systematic and comprehensive review with the following query, ''ALL (LoRaWAN)'' on the relevant digital libraries such as IEEE Xplore Library, ACM Digital Library, Springer SpringerLink, Scopus, MDPI, and Microsoft Academic research tools that publish peer-reviewed papers. The key aspect of the query is to filter recent documents that explicitly cite costs associated with LoRaWAN.
In the article selection method, we considered only full papers published in English. On the other hand, we excluded the following results: duplicate entries, articles that have been published more than five years ago, and results that were not scientific peer-reviewed. We consider a time window of five years because LoRaWAN was not prominent before that. On July 28, 2020, this query resulted in 2445 papers published between 2015 and 2020. After using the criteria listed above and the filtering process defined by Keele et al. [43], we selected 64 papers.
Sections II-VI presents the results of Research Questions regarding LoRaWAN optimizations considering the five aspects (i.e. co-existence of IoT devices and applications, resource allocation mechanisms, MAC layer protocols, network planning, and mobility support). We introduced a brief description of the authors' simulation results to show each article's main strengths for each work. In this context, it is possible to describe the main metrics used to evaluate each aspect's work. For instance, it is essential to analyze the MAC layer's interference, while interference is not central for mobility work. It is worth noting that a complete analysis in terms of simulation and implementation of LoRaWAN optimizations is beyond the scope of this article. Moreover, we developed a taxonomy to answer Question 3 Figure 1 depicts. The proposed taxonomy covers each network aspect considered in this study (i.e. co-existence of IoT devices and applications, resource allocation, MAC layer, network planning, and mobility support). We also highlight and discuss open challenges and future research directions in sections II-VI.

D. ORGANIZATION OF THIS ARTICLE
We organize the rest of the paper as follows. Section II describes how the LoRaWAN application could efficiently coexist on common network infrastructures. Section III presents state-of-the-art results about resource allocation mechanisms for LoRaWAN. Section IV outlines the current MAC and physical layer enhancements in LoRaWAN. Section V discusses network planning for LoRaWAN. Section VI presents enhancements that provide mobility support in LoRaWAN scenarios. Section VII makes some concluding remarks. Section VIII presents a list with all acronyms used in this article, with its respective definition.

II. CO-EXISTENCE OF IoT DEVICES AND APPLICATIONS
In this section, first, we present an overview of the co-existence of IoT devices and applications in Section II-A. In Section II-B, we describe a comprehensive review of the state-of-the-art in the latest most significant advances about the co-existence of IoT devices and applications. Finally, in Section II-C, we summarize the analyzed co-existence of IoT devices and applications.

A. OVERVIEW
LPWAN access opportunities' densification can be attributed to the increasing population of LoRaWAN gateways in urban areas. Since there is a need to efficiently allocate network resources to particular IoT devices that seek guaranteed levels of isolation and QoS over time, several challenges arise due to the IoT ecosystem's co-existence. In this context, network operators are exploring new technologies capable of efficiently incorporating IoT devices and applications into a shared infrastructure. To achieve this goal, we need to meet their particular heterogeneous requirements, which include coordination and reconfiguration protocols tailored to secure gateways and IoT devices in a dynamic, flexible, and agile manner [44].
Network slicing has emerged as one of the most essential 5G novelties and gained momentum in both academia and industry through its great ability to allow different IoT devices and applications to coexist on top of a shared physical network infrastructure [35]. In general terms, network slicing harnesses virtualization and softwarization substrate technologies to dynamically orchestrate physical networking resources (bandwidth, pathways, virtual network service chaining, placement). Network slicing allows creating end-to-end virtual network instances (the network slices) isolated on top of a shared physical network system. At the same time, the programmability feature that network softwarization enables can provide the technological means for customizing, managing, and controlling the different active network slice instances at runtime and thus offer network services in a multi-tenancy manner [36].
In addition, the gateways that support multiple RATs (also known as multihoming) can potentially provide alternative communication opportunities through different wireless networking technologies and enable IoT devices to send their data. For this reason, multihoming gateways must embed control functions capable of selecting the most appropriate RAT interface for targeting IoT data, based on multiple attributes, such as current network conditions and application requirements [38]. From this perspective, network softwarization can help enforce functions in the gateway at runtime and keep different IoT devices always best connected and best served. In this context, the literature includes several ideas [38], [45]- [47] for making improvements to LWPAN so that LWPAN and IoT devices/applications can coexist on common network infrastructures. Figure 2 depicts a scenario that offers the co-existence between IoT devices and applications by adopting multihoming gateways capable of affording different LPWAN technologies (e.g. IEEE 802.11ah, LoRa, IEEE 802.15.4g, SigFox, NB-IoT, and LTE-M) for radio selection. It also enables advanced and customized network managing and controlling perspectives through softwarization capabilities, thus providing network slicing features. In the following subsection, we present state-of-the-art results for enabling IoT devices and applications to be designed for LoRaWAN networking.

B. STATE-OF-THE-ART
Based on our analysis of the state-of-the-art, we could divide the existing work on the co-existence of IoT devices and applications into (i) Network slicing, (ii) multiple RAT integration, and (iii) Integration with other technology as described in the following.

1) NETWORK SLICING
Dawaliby et al. [45] focused on factors related to IoT dense deployment scenarios, particularly when faced with the challenging task of using network slicing for a LoRaWAN gateway because this results in performance degradation caused by the physical limitations of these gateways. The authors employed an SDN-based architecture tailored to network slicing for the efficient deployment and isolation of network slices in the LoRaWAN physical gateways. They also improved the scalability and configuration of the LoRaWAN by employing a slice-based optimization method. It is based on TOPSIS and GMM algorithms to find the optimal network slice configuration strategy that maximizes QoS benefits while reducing energy and reliability costs. The numerical results show the efficiency of the method employed to ensure better decision-making in realistic LoRaWAN scenarios for slice configuration provided by other decision techniques (static, dynamic-adaptive, and dynamic-random).
In a similar way to the previous study, Dawaliby et al. [48] formulated network slicing optimization as a threefold problem that includes: (i) the network slice admission model and its links to LoRaWAN devices, (ii) a strategy for determining the optimal inter-slicing resource reservation, and (iii) an approach to intra-slice resource allocation. They proposed a slicing optimization algorithm consisting of three stages. First, the algorithm allocates IoT devices in the slice that meets its QoS requirements by applying the BIRCH method. Second, the MLE algorithm dynamically reserves the LoRaWAN gateway resources for each slice in the network [49]. Finally, AHP maximizes slice members' utility value based on weights in multiple criteria decision-making for reliability and load. After this process, it was possible to determine the LoRaWAN gateway that provides the optimal utility value for forwarding packets to LoRaWAN servers. The authors also investigated network slicing employing LoRaWAN technology to evaluate slicing strategies' performances with different SF configurations. This included three slicing strategies for carrying out this evaluation: (i) static configuration, (ii) dynamic-random, and (iii) dynamic-adaptive. The simulation results revealed that the optimization algorithm improves the network reliability and considers the QoS thresholds of LoRaWAN slices in IoT dense deployments.

2) MULTI-RADIO ACCESS TECHNOLOGY INTEGRATION
Mikhaylov et al. [38] investigated the feasibility of building a multi-RAT LPWAN device capable of meeting transmission requirements in a scenario where NB-IoT co-existed. The authors constructed a device prototype that implements the LoRaWAN module, and it contains an NB-IoT chipset that handles communication events. The dual-RAT LPWAN device was evaluated in a commercial NB-IoT at Brno University of Technology, Czech Republic, and a private LoRaWAN. The results show that the NB-IoT chipset consumed more than 200 mW on average to maintain network synchronization. On the other hand, the LoRaWAN transceiver consumed less than 60 mW due to the lower transmission power, although the transmission time was higher.
Navarro-Ortiz et al. [50] designed a system to integrate LoRaWAN with 4G/5G mobile core networks by allowing mobile network operators to re-utilize their current infrastructures. This required adjusting a LoRaWAN gateway to implement the required LTE signaling and maintain the LoRaWAN protocols. They adopted an integrated approach in an experimental testbed (on the 5Gcity project). Through this integration, the IoT devices could send data to the application server while maintaining end-to-end security (in terms of integrity and confidentiality). Finally, the addition of LoRaWAN in these scenarios has been promising because of the security features provided by LoRaWAN.
Kim et al. [51] implemented a Wi-Fi and LoRa-based multi-interface IoT System device. This is achieved by using a sensor data system; the multi-interface device can collect data from each sensor and redirect it to one of two handlers: (i) the Wi-Fi handler, which carries the wireless packet through Wi-Fi; (ii) the LoRaWAN handler, which sends the sensor data using the LoRaWAN module network. Using a power and data scheduler, the multi-interface device selects the best approach (Wi-Fi or LoRaWAN) to transmit the packet based on the data type. The authors evaluated the performance by deploying a real infrastructure scenario at the seaside (wireless LAN AP, station, and LoRaWAN gateway). The numerical results show that as the distance increases, the RSSI value and the data rate decrease demonstrating the VOLUME 9, 2021 Wi-Fi card sensitivity. The RSSI outcomes are similar in both antennas at any distance, and the higher the antenna gain, the better the value of SNR.
Masoudi et al. [52] designed an analytical model for a performance assessment of grant-free IoT-based networks, particularly in scenarios where the same radio spectrum carries one or more concurrent radio access technologies (e.g. LoRaWAN and Sigfox). This required the authors to carry out analytical modeling of transmission success probability and KPIs in terms of delay and battery lifetime. By measuring the interference of a scenario where different communication technologies coexist, it was possible to evaluate the system performance when subjected to this interference. The authors assessed the performance of a reference grant-free technology through simulations with the analytical models. The scenario was simulated through a simplified form of LoRaWAN when subjected to interference caused by another transmission device that uses the same frequency. The simulation results show that the existence of competing technologies considerably degraded the system's performance. The authors found a solution to this problem by showing that it is possible to mitigate the interference caused by the co-existence of transmission devices through joint reception.
Oliveira et al. [53] solved the problem of data gathering by integrating LoRaWAN and Wi-Fi technologies and finding alternative means of communication for sensors to send their data to servers. They arranged the LoRaWAN nodes in a hierarchical cluster to ensure reliable data delivery and network scalability. They also provided a heterogeneous Connection Manager capable of simultaneously handling multiple technologies by determining which technological system to choose to forward data in a given situation. Thus, the solution found for data gathering is responsible for obtaining data from the sensors and storing them locally. After this, the Connection Manager decides the best means of communication (by giving preference to the technology that offers the best communication conditions for the data type) to perform data forwarding. By evaluating realistic scenarios, it was possible to improve the data collection's overall performance in the presence of Wi-Fi due to its lower packet delay and higher throughput during the data forwarding. Finally, the results show that a multi-technological approach is of significant value in scenarios with high-frequency data collection or high-density networks, mainly when LoRaWAN and Wi-Fi technologies are being used.
Haghighi et al. [54] developed a game theory-based model, where the end-nodes implement multiple radio transceivers (e.g. LoRa, Wi-Fi, and BLE) to perform data processing at the network edge and interconnect multiple networks with different radio technologies. They use auction-based techniques to achieve this as described in a previous work [55] to integrate it into LoRaBox. The system consists of a test solution that handles LoRaWAN, BLE, and Wi-Fi. The system can switch between multiple radio technologies opportunistically based on the signal strength, radio, and application requirements. The authors evaluated the scheme's feasibility by conducting their experiments in an urban area located at Queen Elizabeth Olympic Park, London. In this way, they validated its effectiveness in maximizing the node lifetime and meeting the application requirements. Finally, the addition of a device capable of simultaneously handling multiple radio systems has proved to be a promising alternative for improving network edge data processing, ToA, and energy consumption.
Sciullo et al. [56] extended the preliminary version of LOCATE to connect to a LoRa transceiver via BLE. This means that through the mobile-based app, users can send emergency requests that have been re-broadcasted by other peers (LOCATE Users) until they reach the rescue personnel who can handle the emergency. This involved enhancing the previous data dissemination scheme using probabilistic storage and forwarding mechanisms derived from DTN. The simulation results showed that the LOCATE approach ensured better emergency resolution in terms of reliability, time, and lower emergency overhead than other multi-hop message dissemination systems (e.g. flooding, continuous dissemination, and Wi-Fi). Finally, the simulation results also improve the performance in terms of ERT, ERR, and EO by using LoRaWAN in ECS applications.
Queralta et al. [57] designed a system architecture for dealing with IoT-based healthcare systems, particularly electrocardiography monitoring systems that have to perform the data processing and compression at the network edge. The authors combined edge and fog computing concepts with LoRaWAN and deep-learning algorithms to build a five-layer system, namely, sensor layer, edge layer, fog layer, cloud layer, and the application layer. To validate the architecture's feasibility, the authors conducted their experiments in an urban environment in Turku, Finland. The evaluation results show that through this architecture, event identification occurs with an average degree of accuracy of over 90% and an average recall of over 95% in fall detection; it also reduces the computational load of the sensor nodes by carrying out health-monitoring tasks in edge-gateways.

3) INTEGRATION WITH OTHER TECHNOLOGY
Yasmin et al. [46] investigated the problem of integrating LoRaWAN with a 5GTN running at the University of Oulu, Finland. 2 They combined LoRaWAN with 5GTN via a 3GPP access network because it offers a scalable alternative with mid-size deployment complexity. They used a commercial off-the-shelf MultiConnect conduit for this, which acted as an IoT gateway and 868 MHz band for communication between end devices and the gateway. As well as being able to make use of the ThingWorx cloud platform, 3 the sensor data can be monitored and stored. Through this integration, the network can be used by researchers and third parties to test a wide range of IoT devices and new applications.
Fraga-Lamas et al. [58] examined the deployment of a LoRaWAN-based infrastructure that can support novel applications and cover the network communication in a smart campus (Elvinã, 26.000m 2 ) located at the University of A Coruña. In their architecture, fog nodes deployment across the campus provides the necessary support for applications that need low latency. The architecture is formed of three layers: (i) the node layer represents the grouping of several LoRaWAN nodes scattered throughout the campus; (ii) the fog layer consists of multihoming LoRaWAN gateways, which support different communication interfaces, such as Wi-Fi, Ethernet, Bluetooth, and LoRaWAN; (iii) the cloud layer executes various IoT applications. The authors evaluated the system implemented by realistically recreating the campus setting using a 3D-Launching radio planning simulator. The tests involved transmitting packets from the LoRaWAN node to the gateway from different campus points by means of acknowledgment messages. The results show that, through LoRaWAN transceivers, there is an improvement in the reception range, where the received power levels are above −120 dBm. LoRaWAN meets the requirements (in terms of bandwidth) of applications such as remote monitoring, which generates a low traffic rate.
Sciullo et al. [59] employed an ECS called LOCATE. Through the use of LoRaWAN technology, this system can establish device-to-device communication over long distances. In this ecosystem, the authors include an application for mobile devices, which is used to transmit vital emergency data. They also established a geo-tagged broadcast dissemination protocol for emergency requests over the LoRa multi-hop links. The system consists of an Android app connected to a LoRaWAN System on Chip via a USB cable.
Böcker et al. [47] adopted an analytical modeling approach to assess LoRaWAN's scalability in terms of range, latency, data rate, downlink, and uplink capabilities (based on [60]). Through this analytical model, the authors were able to evaluate the suitability of using LoRaWAN as a complementary method in unlicensed frequency bands to meet mMTC application-specific 5G requirements when faced with dense scenario deployments (1.000.000 devices per km 2 and latency less than, or equal to, ten seconds). The OMNeT++ simulation results showed that, in terms of uplink, when using LoRaWAN, approximately 10% of the 5G mMTC connection density target is covered. This means that LoRaWAN can act as a potential technology for meeting the application area requirements of 5G mMTC, particularly for non-time-critical sensor applications.

C. SUMMARY AND OPEN ISSUES
The co-existence of heterogeneous technologies spread across different types of hardware is a field of research that has arisen from the explosive growth of IoT devices. According to the literature analyzed, several researchers have investigated strategies to allow the co-existence of LoRaWAN with different wireless technologies to meet the requirements of next-generation IoT applications that use LPWAN technologies. In this context, Table 1 summarizes the current works in terms of (i) the problem being addressed (i.e. network slicing, interference, energy, and others), (ii) strategies, (iii) evaluation metrics, (iv) assessment methodology (i.e. simulation, prototype experiment, analytical modeling, and others), and (v) main results. Next, we discuss open challenges that current approaches do not solve.
Based on the works reviewed, we conclude that network slicing is a promising solution for optimizing the resource reservation management of LoRaWAN gateways together with resource allocation in large-scale LoRaWAN scenarios. Additionally, the literature recommends the adoption of LoRaWAN as a supplementary technology for 4G/5G networks by mobile operators, which leverage the security features of LoRaWAN and LTE to provide more secure and reliable communications in mMTC 5G networks. While these approaches offer several benefits in providing efficient IoT networking operations, the complexity of the networks opens up a severe challenge in searching for a slicing solution in a multi-tenant network that allows it to share different radio access technologies among network operators. Furthermore, it is essential to examine coordination mechanisms for reducing the performance degradation caused by the network gateways' physical limitations.
In the same context, the implementation of multiple-RAT devices deployed at the fog and edge layers provides a viable alternative to address future IoT applications that need to offload data processing at the network edge [61], [62]. In particular, multiple-RAT devices can solve transmission bandwidth and rate-limiting problems by integrating LoRaWAN with other wireless network technologies. Multiple-RAT can increase reliability by allowing simultaneous transmissions of critical data over different media. However, the addition of multiple-RAT devices is likely to open up another significant challenge: how can we deal with the interference caused by the co-existence of different technologies that share the same wireless spectrum? For instance, interference leads to loss of information or packet re-transmissions, which affect various IoT applications, waste energy, increase latency, and even reduce the data rate. Several works have highlighted the benefits of allowing LoRaWAN to co-exist with other LPWAN technologies but fail to address the problem of interference. This means that more research is needed to investigate the effects of interference on large-scale and heterogeneous LPWAN network deployments. Also, as new wireless technologies for IoT applications emerge [63], they need to work with the legacy ones. Thus co-existence mechanisms must be developed to support seamless interoperability directions.
Another challenge related to IoT Devices and Applications' co-existence is the complexity of ensuring information security measures. As new technologies are integrated into the same device, there is a considerable risk that these IoT devices will be used as a vector of large-scale cyberattacks (e.g. DDoS attack [64]). In addition, existing IoT applications have different QoS requirements, coexisting in the same physical space. In this context, it is essential to consider key application requirements individually rather than a onesize-fits-all solution. For instance, this can be achieved by TABLE 1. Summary of proposed approaches designed for advancing LoRaWAN co-existence between IoT devices and applications: problem addressed, the strategy employed, evaluation metrics adopted, assessment methodology, and main results.
analyzing statistical properties from the transmitted packets (e.g. the maximum, average, and minimum of volume flow) to identify IoT applications as Vergutz et al. [65] described.
Finally, it is of utmost importance to provide agnostic management for network mechanisms co-existing in the sub-GHz LPWAN technologies to ensure efficient network configuration and service deployment. This goal can be achieved by extending the infrastructure with programmability capabilities supported through the facilities provided by paradigms such as SDWN and WNV. Hence, it will be possible to ensure more effective management of different LPWAN gateways through well-defined application programming interfaces [66]. Among several benefits that can be achieved through this innovative approach, there is the prospect of improving network learning mechanisms and software updates while reducing the network control signaling overhead through an optimized control plane within the entire network infrastructure [67].

III. RESOURCE ALLOCATION
In Section III-A, we present an overview of the resource allocation mechanism. We present a comprehensive analysis of the most significant state-of-the-art results on resource allocation mechanisms in Section III-B. Finally, in Section III-C, we summarize the analyzed resource allocation mechanisms.

A. OVERVIEW
The LoRaWAN architecture comprises four elements arranged in a star-of-stars topology, namely: (i) IoT devices, (ii) gateways, (iii) network server, and (iv) application server [40]. LoRaWAN is mainly engaged with provisioning IoT device-to-gateway single-hop multi-channel communication. Therefore, a complex multi-hop network infrastructure is not required. As for LoRaWAN operations, IoT devices proceed by broadcasting messages to gateways nearby, which propagate these incoming messages using an IP network to the targeting application server. Although the IoT devices-to-network server uplink communication is preferred, communication is bi-directional.
The LoRaWAN architecture allows the deployment of high-dense IoT devices and applications to coexist in the same physical space. However, the incidence of interference and performance degradation conditions happens since many IoT devices deliver messages to the gateway over the same channel [41], [68]. The main reason behind this is the LoRaWAN gateway's inability to accurately decode simultaneous incoming messages from a set of IoT devices allocating the same SF within the same CF. LoRaWAN addresses this issue by defining a set of radio-related parameters adjusted on the fly by a resource allocation mechanism such as BW, CF, CR, SF, and TP. In this context, the network server could implement the resource allocation mechanism to return the configured radio parameters of the downlink. Figure 3 presents an overview of the LoRaWAN architecture by positioning infrastructure elements such as the Application server, the Network server Gateway, and IoT devices by providing the comprehension of how the resource allocation mechanisms could interact.
To be more precise, a given IoT device can use a particular BW to transmit each packet, which indicates the width of the frequencies in the transmission band [30]. LoRaWAN makes it possible to set the BW at 125 kHz, 250 kHz, and 500 kHz according to the regional parameters [32]. For instance, BW can increase the transmission rate. In contrast, a higher BW value will afford to achieve an increased data transfer rate at the cost of a shorter radio range due to the greater noise sensitivity. CF means the central frequency for LoRaWAN communications. The CF is spread out along different frequency channels through leveraging pseudo-random channel hopping implementation [69]. The CF values depend on local frequency regulations, whereas LoRaWAN gateways usually support eight channels, while the IoT devices generally support at least 16 channels [30], [69]. Specifically, CF can be configured within the range of 137 to 1020 MHz, following the legislation in force in the geographic region [70]. It worth raising that the number of channels can be planned for allocation with the goal to reduce the likelihood of collisions.
In turn, CR reveals the number of payload bits concerning the error correction code values based on the FEC scheme. CR mitigates bursts of interference and decoding errors during packet transmission. Specifically, CR can be assigned to values from 1 to 4 for 4/5 to 4/8 coding rate, respectively, where 4/5 is the default value [71]. The nodes can use different CR values by using an explicit header because the CR is included in the packet header [31]. Therefore, more protection against errors is achieved at the cost of longer packets and ToA. In this way, the CR can be adjusted depending on the channel conditions, where increasing the CR value for a channel with high interference is recommended. The TP values extend the transmission distance at the expense of reducing the energy efficiency. The TP values depend on the regional regulations. For instance, EU863-870 defines the following set of TP values: 2, 5, 8, 11, 14, and 20 dBm, while the US has a different configuration setting [72]. More information about the TP values for other regions can be found at the LoRaWAN specification [73].
The SF determines the chirps transmission rate. The network chooses the SF, ranging from 7 to 12, based on the communication device's environmental conditions and the gateway. More specifically, smaller SFs provide higher data rates at the cost of reduced ranges and low air time, whereas larger SFs allow longer-range lower rates [74], [75]. Thus SF is a key parameter to increase the QoS [40]. For instance, the packet with a payload of 20 bytes transmitted with SF 12 has a ToA of 1,318 ms, while SF 11 has a ToA value of 659 ms [76]. In this context, packet collisions increase based on the SF value because the ToA is longer for high SF value making the channel busy for a longer time [77]. Furthermore, packet transmission with SF11 consumes ten times more energy compared to packet transmission using SF7 [76]. Finally, a significant number of IoT devices could be assigned to lower SF values, thereby avoiding interference [77]. SFs have an orthogonal design, enabling multiple IoT devices to use the same channel simultaneously without interference, which means that up to 6 nodes can transmit simultaneously on the same channel [69]. Therefore, to avoid a collision, simultaneous transmissions must select different SFs and, for devices with the same SF, select other channels [24]. Table 2 shows the LoRaWAN configurable radio parameters with respect to their possible values and impact.
Resource allocation mechanisms on the fly configure radio parameters based on the signal to noise ratio, data rate, number of gateways that receive the data, and signal strength [78].   This configuration increases or decreases channel utilization, energy consumption, radio interference, the transmission rate, and radio coverage on-demand [30]. In the following subsection, we describe related works on resource allocation mechanisms for LoRaWAN.

B. RELATED WORKS ON RESOURCE ALLOCATION FOR LORAWAN
Based on our state-of-the-art analysis, we organize the existing work on resource allocation into mechanisms that configure (i) one radio parameter and (ii) multiple radio parameters, as described in the following.

1) ONE PARAMETER
Slabicki et al. [79] evaluated the default LoRaWAN resource allocation mechanism, i.e. ADR. They considered the collision probability and the distribution of parameters in the network when ADR is extended. This improves network performance in dense IoT scenarios. The simulation results show that a wireless channel with widely varying levels critically influences the ADR. The proposed solution increases the reliability and the energy efficiency of communications in a noisy channel.
Lyu et al. [33] proposed a high-level resource allocation mechanism to maximize all IoT devices' minimum throughput in the LoRaWAN. The proposed mechanism considers the average channel statistics and IoT devices' spatial distribution to adjust the SF, power control, and duty cycle. The mechanism included a formula for the packet success probability using the Poisson rain model and simple modifications to the selected LoRaWAN. The results show that the scheme mitigates fairness problems, increased the cell-edge throughput, and improved overall spatial throughput.
Lim and Han [80] formulated an optimization problem for maximizing PDR by employing a resource allocation mechanism. This is achieved by suitably allocating the SF to each network traffic based on the IoT distance to the gateway, optimizing IoT device connectivity. The authors designed an optimization model to maximize the average rate of probability for packet delivery success. They put forward a sub-optimal SF allocation scheme for each network traffic. The simulation results show that the recommended scheme generated the highest packet delivery success and ensured maximum connectivity.
Cuomo et al. [81] introduced the Explora-SF and Explora-AT resource allocation models to optimize LoRaWAN performance. The models consider RSSI to configure the SF values for the IoT devices because a higher RSSI leads to a lower SF for a given IoT device. However, Explora-SF and Explora-AT mechanisms limit the number of devices in each SF in different ways. Explora-SF balances the number of devices in each SF and prevents many devices in a given SF from reducing packet collisions. On the other hand, Explora-AT distributes devices in each SF based on the ToA. Azari and Cavdar [82] proposed a lightweight learning approach adapted to the communication parameters of IoT devices and increased energy efficiency and reliability. To this end, this method assigns SF based on the distance between the IoT device and the gateway. The simulation results show better energy efficiency and reliability when using this proposed approach instead of relying on other benchmark solutions.
Farhad et al. [83] devised an interference-aware resource allocation mechanism to avoid the interference caused by employing the SFs. This mechanism considers the gateway sensitivity, the interfered SFs, the fact that the collided packets may overlap in time, and interfering energy, to assign an SF to reduce the interference effects. Hence, this work can minimize the ToA of every IoT device because of the optimal assignment of the SFs. Simulation results show a reduction in the number of collisions and an improvement in the packet success ratio.
Caillouet et al. [84] employed a resource allocation mechanism designed for maximizing the number of served IoT devices. The authors assume that all the IoT devices have the same traffic generation method, and the SF allocation considers Intra and inter SF collisions probability. This work proposed an ILP model that considers the IoT devices' physical locations and the imperfect SF orthogonality, increasing the transmission success probability to each IoT node [85]. The simulation results demonstrate the effectiveness of their resource allocation for the scenario with different LoRaWAN gateways.
Farhad et al. [86] developed two resource allocation mechanisms to reduce the effects of interference while improving the packet delivery ratio. The first approach either increments or decrements the SF value by considering the IoT device packet retransmissions rate and shows the networks' channel status. The second approach allocates SF to IoT devices based on IoT device sensitivity during the initial deployment. Simulation results show that the proposed schemes enhance the PDR compared to the typical resource allocation schemes.
Babaee and Sharifian [87] proposed a metaheuristic method to optimize the selection of SF, producing fewer collisions in a dense network. In the simulation, the network is a model for devices to select the SF parameter and transmit in an ALOHA-based manner, limiting the scalability of the approach. The proposed method for selecting SFs reduces the number of collisions by 42% in low-density networks and up to 8% in the worst case for a scenario with thousands of nodes.

2) MULTIPLE PARAMETER
Babaki et al. [88] enhanced the default resource allocation algorithm, i.e. ADR, by dynamically designating the radio-related parameters, SF and TP, and applying the OWA operator. This work aims to increase the network noise resilience and PDR in dense IoT scenarios recognizing the OWA decision-make nature and the PLR metric.
Amichi et al. [89] investigated a resource allocation mechanism to adjust the SF and TP allocation by focusing on the effects of co-SF and inter-SF interference. The authors optimized the assignments of the SFs and TP assignments to maximize the average data rates. Moreover, they solved the joint SF intractability and TP assignment problem by dividing them into two sub-problems: (i) assigning SF values with fixed TP and (ii) TP assignment with fixed SFs. The simulation results showed that the proposed mechanism improves the fairness, data rates, and throughput performance compared to the baseline algorithms.
Moraes et al. [90] designed a resource allocation mechanism to dynamically adjust CF and SF LoRaWAN parameters to reduce the number of collisions while increasing the PDR. Therefore, this work proposed a heuristic to find the optimum CF and SF settings by analyzing RSSI and distance between the gateway and the IoT device. In this way, the gateway could receive the transmitted packet with enough power in the selected SF value. It also assigns more IoT devices in the lower SF values to reduce the interference, which is achieved by considering the ratio of IoT devices on each SF computed based on ToA. Simulation tests show that the proposed heuristic provides results closer to the optimum model computed using the MILP approach.
El-Aasser et al. [69] developed two resource allocation mechanisms to assign the CR and SF parameters based on the distance. More specifically, each subset of the IoT devices within a given distance is assigned a CR that maximizes this SF network throughput. They maximized the network throughput of each SF by keeping the optimal load in each logical network. The simulation results showed that this improved the network throughput, i.e. all the logical SF networks in a single LoRaWAN gateway cell. They also showed that the total network success rate was 24% better than the conventional ADR.
Qin and McCann [91] introduced a resource allocation mechanism as a joint optimization problem of the TP and CF assignment. It aimed to provide throughput fairness among IoT devices, especially when there are many connected devices. They formulated the channel assignment by treating IoT devices and channels as two sets of selfish players seeking to maximize their utilities. They proposed a Matching Channel Assignment Algorithm by distributing the channel access decision-making site with users. As a result, the LoRaWAN gateways obtained the optimal TP for IoT devices by sharing the same CF with the same channel's users. The simulation results showed that the resource allocation mechanism achieved 80% better performance than the baseline method but with much lower complexity.
Kerkouche et al. [92] devised a resource allocation mechanism to make a tradeoff between energy consumption and PLR, where the IoT devices used a lightweight learning method (i.e. multi-armed bandit algorithms) to determine the transmission parameters (i.e. SF and TP). The purpose of choosing the parameters is to improve reliability when all the SFs are combined with the highest TP. It is also possible to cut energy consumption by reducing power as soon as the highest data rate can be applied (i.e. SF7). The results show that the proposed algorithm allows a tradeoff between energy consumption and the PLR better than ADR.
Sallum et al. [30] introduced a resource allocation scheme to increase the PDR by fine-tuning LoRaWAN radio parameters (i.e. SF and CF). This involved introducing a MILP formulation to obtain SF and CF's ideal values, considering the network traffic specifications. The authors examined the network traffic details to improve DER while reducing the packet collision rate and energy consumption in LoRaWAN.
Zorbas et al. [93] proposed a resource allocation mechanism to improve the LoRaWAN capacity by applying multiple communication parameters. They expressed the average success probability per set as a density function by analyzing intra-SF and inter-SF collisions. With this kind of model, each IoT device has a different communication setting in BW and SF. For this reason, this work seeks to assign a given BW and SF to the largest possible number of IoT devices to provide a PDR that is enough for each BW and distance. The results showed that optimal solutions could increase the maximum number of devices by 700% more than is the case with equal SF allocation, or up to 16% more than the SF allocation based on the ToA.
Benkhelifa et al. [94] designed a resource allocation algorithm for LoRaWAN, which involved energy harvesting. The authors also developed a model to optimize the SF assignment, energy harvesting time duration, and power devices for IoT transmission. The article presents two SF allocation algorithms based on the fairness or unfairness of the IoT devices. Simulation results demonstrated that the unfair SF allocation algorithm maximized the minimum rate. Moreover, the imperfect SF orthogonality did not affect the minimum performance rate. Finally, the authors concluded that the throughput performance is highly affected by co-SF interference and not energy insufficiency.

C. SUMMARY AND OPEN ISSUES
Based on the literature we have reviewed, several resource allocation mechanisms have been designed to adjust radio-related parameters at the device and/or network level. Table 3 summarizes the related works in terms of (i) the problem addressed (i.e. enhanced capacity, reliability, scalability, and others), (ii) radio-related parameters adjusted by the mechanism (denoted as a strategy), (iii) evaluation metrics, (iv) assessment methodology (i.e. simulation, prototype experiment, analytical modeling, and others), and (v) main results. However, state-of-the-art articles are still enumerating a number of research opportunities. Next, we summarize the open challenges that current resource allocation mechanisms could not address.
We need to design a resource allocation mechanism to select LoRaWAN radio parameters to improve the system's scalability while providing QoS support and energy efficiency. In this way, SF represents the main radio parameters that can be configured because it impacts packet collisions, radio range, ToA, and energy consumption, considered by all existing resource allocation mechanisms. SF is designed to allow theoretical orthogonal communication to enable packets to be separated in the receptor without collisions, i.e. multiple IoT devices could transmit packets on the same CF simultaneously without interfering and colliding. However, recent studies [85], [89], [95]- [98] evaluated the effects of inter-SF interference and concluded that SFs adopted by LoRa are quasi-orthogonal. For instance, Lavric et al. [85] conducted an empirical and practical evaluation and concluded that collisions between different SF within the same communication channel occur, drastically decreasing the LoRaWAN performance. This decrease occurs because collisions lead to the gateway not receiving packet transmissions using different SFs [96]. In this context, it is essential to consider the SF interference caused by non-orthogonality to have a better SF assignment.
There are several combinations of LoRaWAN radio configurations to improve the channel occupation to reduce the risk of collisions and interference. Here, it is important to provide a mathematical model developed using MILP to develop an optimal resource allocation solution. This helps to maximize the LoRaWAN performance because the optimization model provides the optimum parameter settings. Additionally, it is important to consider regional parameters for decision-making on resource allocation algorithm. These regional parameters are important because the LoRaWAN configuration values depend on each country's ISM band usage rules [73]. Therefore, it is essential to consider such limitations for each country rather than a one-fits-all solution. For instance, based on the EU863-870 Regional Parameters, BW 125 can be configured for SF 7 to 12, while BW 250 can be configured to SF 8 [72]. However, the US has a different configuration setting.
In a future IoT scenario, several IoT applications will coexist in the same area with different performance requirements in terms of QoS and energy. In this way, it is important to provide a resource allocation mechanism to support different application priorities by assigning radio-related parameters that match the application requirements. However, this is still an open issue because it is essential to consider key application requirements individually rather than a one-size-fits-all solution. For instance, delay-sensitive applications must have priority to select radio parameters to reduce the delay.
Interference or packet success probability models can be used to estimate interference or collisions to increase the level of error correction (CR parameter). Device location and neighborhood information could also be used for decision-making because some areas could have a high node density (i.e. more interference and collisions). In this way, it must group/identify IoT devices based on the application priority and neighborhood information to consider parameter assignment. Thus, it is important to develop a resource allocation approach to configure the LoRaWAN radio parameters set by considering the issues mentioned to improve the network performance while reducing interference, energy consumption, and packet collisions.

IV. MAC LAYER
In this section, we describe an overview of the MAC layer, as Section IV-A presents. In Section IV-B, we present a comprehensive state-of-the-art review of the recent most significant advances about MAC layer protocols. Finally, in Section IV-C, we summarize the MAC layer protocols analyzed.

A. OVERVIEW
A basic feature of the LoRaWAN architecture relates to medium access control in the transmission interface. Any wireless technology must deal with the challenge of supporting an increasing number of devices in a limited spectrum. Defining the limits of LoRaWAN has become a key feature of MAC Layer technology. LoRaWAN networks include the ALOHA protocol at the MAC layer, a random access MAC protocol wherein end devices transmit without performing any carrier sensing [99]. More specifically, LoRaWAN adopts pure ALOHA with additional ACK mechanisms to simplify the MAC layer [40]. As a result, ALOHA increases the node's battery life more than other LPWAN technologies.
The IoT devices send messages to gateways through a single-hop communication using an ALOHA-based MAC mechanism [100]. LoRaWAN defines three (3) categories of devices: Classes A, B, and C [101], as depicted in Figure 4. IoT devices that accept Class-A employ pure ALOHA access for the uplink. Downlink transmission is only allowed after a successful uplink transmission. Class-B nodes follow the schedule of additional windows received for downlink traffic without previous successful uplink transmissions. Finally, Class C devices continuously listen to the channel except when transmitting. In the following section, we describe the state-of-the-art MAC layer protocol for LoRaWAN.

B. RELATED WORKS
From our study of the state-of-the-art results, we divide the existing work on MAC layer protocols into (i) Transmission Scheduling, (ii) Real-time transmission, and (iii) slot-based, as described in the following.

1) TRANSMISSION SCHEDULING
Haxhibeqiri et al. [102] proposed a transmission schedule algorithm at a central node, which determines when a given IoT device is allowed to transmit. They reduce the size of the messages by introducing a probabilistic structure based on Bloom filters, which encodes time slots designed to reduce the synchronization for the packet length and send more information to the IoT nodes. Time slots are assigned based on the IoT nodes' traffic needs and contextual information, such as synchronization, periodicity, or clock drift. They used the central node to synchronize the IoT devices' uplink transmission.
Abdelfadeel et al. [103] adopted a scheduling approach to reliably synchronize transmissions with low energy consumption for non-critical applications. The scheduler running in the gateway optimizes the transmission by granting simultaneous usage to all the receiving channels. The scheduler requires information about the minimum permitted SF and data buffer size for each IoT device in this context. Hence, the scheduler allows IoT devices with a different SF to transmit simultaneously, while a device with the same SF transmits sequentially.
Zorbas et al. [104] proposed a scheme for scheduled node communications in different size slots according to SF. This approach allows transmissions with the same SF to be scheduled in other slots. In contrast, those transmissions with different SFs can be processed in parallel, thus avoiding collisions. The first algorithm calculates the schedule for all the communications. The second algorithm only schedules the first transmission for every individual node and replicates this in subsequent frames. In this context, the IoT device keeps the same SF during successive transmissions but prefers the shortest schedule.
Zorbas and O'Flynn [105] developed a collision-free slotted scheduling in LoRaWAN to provide a better performance than pure-ALOHA and slotted-ALOHA. Initially, the strategy consists of converting the device's MAC address to a slot number. The algorithm extracts the 28 least significant bits from the MAC address, converts them to an integer, and finally to a slot number. To make the solution manufacturerindependent, they include a hash function in the conversion algorithm. A side effect of the algorithm is that it produces empty slots. However, the authors mitigate the empty slot effect by merely shifting the occupied slots, to the left, toward slot 0. The strategy proved less efficient for a large number of devices (hundreds), although, for tens of devices, the MAC scheme performed better than ALOHA (i.e. 40% better).
To and Duda [106] designed a transmission scheduling mechanism based on temporal mappings. The authors use the process of joining a new device to provide transmission periodization information. This enables the gateways to schedule transmissions while avoiding collisions. The results obtained from the NS-3 simulations show that, unlike LoRaWAN and CSMA, the collision rate declines when the packet delivery rate increases.
Kim and Kim [107] focused on a medium-term scheduler using K-Means clustering to prioritize the traffic originating in a set of IoT devices. This work assumes that not all IoT devices have the same priority. In this case, the mechanism groups IoT devices according to their proximity or similarity, i.e. as generated data traffic, using K-Means. Hence, this work assigns IoT devices different priorities to give more airtime for the group with a larger number of devices and avoid collisions as much as possible.

2) REAL-TIME TRANSMISSION
Leonardi et al. [101] designed an innovative MAC protocol with a random channel and SF selection based on the distance required to avoid collisions in periodic transmissions. This work relies on a central device to synchronize the IoT devices through a beacon for scheduled tasks. Afterward, Leonardi et al. [100] enhanced their MAC protocol by investigating real-time applications for both stationary and mobile IoT devices. This new research assumes three classes of applications to define the packet size for transmission and show how to achieve a trade-off between reliability and energy consumption. Hence, this work introduces the superframe structure and assesses a feasible schedule for a given set of flows.
Zhou et al. [109] designed a novel architecture by using the LoRaWAN MAC layer and the application layer to overcome obstacles, such as buildings and hills, and extend radio coverage. The evaluation results showed promising performance outcomes when they tested their proposed system in a simulated grid environment.
Terada et al. [108] focused on the LoRaWAN standard with a transmission distance of several kilometers and low power consumption. When the LoRaWAN MAC protocol adapts ALOHA, the number of collisions increases because the number of nodes increases. Therefore, a back-off process is necessary since this system increases the power consumption during its operation. This paper improves the LoRaWAN MAC protocol by minimizing the number of collisions and performing sleep control of the end nodes.

3) SLOT-BASED
Michelusi and Levorato [110] developed a control framework to maximize the throughput for devices with high energy levels in the network. This work puts the framework in the context of a network of energy harvesting devices connected to a gateway. The device access policy follows three scenarios: (i) local energy harvesting, (ii) genie-aided detector, and (iii) the Bayesian policy. Local energy harvesting refers to the knowledge the device has of its own energy level. The genie-aided detector examines the knowledge of which devices are active in the network. Finally, the Bayesian policy infers the number of active devices based on the network behavior. The authors validated the concept by simulation and evaluated the network performance with 20 devices. They obtained almost a 20% improvement with the Bayesian policy when compared with local energy harvesting.

C. SUMMARY AND OPEN ISSUES
The MAC layer is among the most widely explored research areas in the IoT network field. More specifically, prioritization, scheduling, and latency have attracted a good deal of attention in recent research studies. Based on the literature review we have conducted, several mechanisms have been proposed to improve the performance of MAC protocols to optimize them. Table 4 summarizes the current work in terms of (i) the problem addressed (i.e. scheduling, traffic prioritization, latency, and others), (ii) improvements made in the MAC protocol by the mechanism (denoted as a strategy), (iii) evaluation metrics, (iv) assessment methodology (i.e. simulation, prototype experiment, analytical modeling, and others), and (v) main results. Next, we discuss the open challenges that current MAC layer mechanisms do not solve.
Packet losses at the MAC layer are caused by simultaneous packet transmissions that collide in the wireless medium. This is because LoRaWAN uses the ALOHA protocol at the MAC layer, which is an oversimplified medium access method that does not consider essential issues such as channel fading, power control, and aggregate interference to avoid collisions [33]. For instance, Class A IoT devices consume less energy compared to Classes B and C. However, Class A transmission requires an improvement in the pure-ALOHA MAC protocol. Additionally, Slotted-ALOHA requires an improvement in scalability to support a large number of IoT devices. Moreover, the MAC layer might leverage synchronization and scheduling techniques to reduce the number of packet collisions. In this way, the MAC layer must prioritize the traffic for high-priority applications, which TABLE 4. Summary of existing approaches designed for improving LoRaWAN MAC layer facilities: problem addressed, the strategy employed, evaluation metrics adopted, assessment methodology, and main results.
can be achieved by giving more air time to IoT devices to enhance application performance by decreasing the number of packet collisions. Finally, real-time IoT applications require enhancements in CAP.

V. NETWORK PLANNING
In Section V-A, we start by introducing an overview of network planning. Section V-B presents a comprehensive state-of-the-art review of the most recent significant advances in network planning. Finally, in Section V-C, we summarize the analyzed network planning schemes.

A. OVERVIEW
Network planning is primarily responsible for providing connectivity for IoT devices, achieved by efficiently planning and deploying strategies, as Figure 5 suggests. However, some IoT devices might still lack a connection as a result of inefficient network planning [25]. This issue can be addressed by improving network coverage, and performance using additional LoRaWAN gateways in the environment [31], [111]. However, LoRaWAN gateways' deployment leads to high capital and operational cost, including a LoRaWAN gateway and leasing and maintenance costs. Therefore, network planning is a challenge that affects QoS, capital, and operating costs [26]. In the following subsection, we review stateof-the-art results on recently proposed networking planning mechanisms for LoRaWAN.

B. RELATED WORKS ON NETWORK PLANNING FOR LORAWAN
We divide the existing work on network planning into (i) Evaluation, (ii) Gateway Placement, and (iii) Multi-hop, as described in the following.

1) EVALUATION
Stusek et al. [112] performed enhancements to current propagation models for LPWAN technologies, such as Ericsson Urban for NB-IoT and LoRAWAN, and 3GPP for SigFox. To achieve this, the authors adopted a fine-tuning strategy for the current models to improve the urban environment's planning policies. The results obtained showed a higher degree of accuracy than the standardized propagation models that use real-life datasets.
Georgiou and Raza [113] investigated scalability by simulating a single LoRaWAN gateway under interference conditions. However, a large deployment of a device will likely require multiple LoRaWAN gateways positioned close to each other, even though the proximity will increase access interference. In addition, Voigt et al. [114] analyzed two alternative methods to address the interference problem under conditions of multiple gateways and multiple devices. They concluded that both the application of directional antennas and multiple gateways improved the network performance.
Gravalos et al. [115] adopted an ILP model to reduce the total network costs by taking into account the information about IoT devices that are needed to keep the QoS requirements. The approach takes note of the gateway placement information and transmission quality details to follow a procedure for reducing the CAPEX, notwithstanding the respective predefined QoS requirements. The simulated results provide a means of estimating the proposed ILP model's effectiveness considering various topologies and traffic.
Hossain et al. [116] introduced the calculation method from an urban scenario to make a comparison for deploying and operating of networks using LPLAN and LPWAN APs with the cost of Cellular-IoT solutions. They used network dimensioning for cost structure calculations. The two dimensions, coverage and capacity, are used in the scenario. Moreover, the dimensioning is performed from these two features based on the scenario. The cost composition estimates the value of an IoT network, and the authors also presented the comparison method. The authors get the output using this technique and based on the input. Elshabrawy and Robert [117] evaluated the capabilities of LoRaWAN with joint noise and interference coverage. The framework employed for the capability analysis has the advantage that it derives the additional capability distribution that might be supported from the cell edge toward the cell center of the LoRa gateway. Thus, it is indisputable that the capability distribution curves can be employed within the LoRa network.
Mahmood et al. [98] devised a model of a single-cell LoRaWAN system that estimates the degree of interference between transmissions in the same SF (co-SF) and also with different SFs (inter-SF). They derive the signal-tointerference ratio for several conditions for interference by modeling the interference field as a Poisson point process under duty-cycled ALOHA. The results corroborate the fact that, in the case of a duty-cycle as low as 0.33%, the network performance with the same SF interference is considered to be as promising as the inter-SF interference when it has a coverage probability of approximately 10% and 15%, respectively, using 1500 devices. Finally, the authors demonstrate how their analysis can characterize the critical device quantity concerning cell areas.

2) GATEWAY PLACEMENT
Tian et al. [26] explored the LPWAN gateway arrangement model by considering techniques of interference cancellation. The authors employed the greedy algorithmic approach using two optimized gateway location schemes. The evaluation highlights an accurate but computationally complex algorithm, while another algorithm is less complex but less accurate.
Rady et al. [118] examined gateway position services in two different categories based on detailed data obtained from the IoT sensors, called 'network-aware' and 'networkagnostic'. The authors considered two design systems: (i) to maximize RSSI considering the gateway place, and (ii) to perform load balancing analyzing RSSI of the available gateways. In this sense, this work computes the gateway location without prior knowledge of IoT devices' specific locations. This work can be used as a guiding principle to design spatial algorithms for computing gateway location.
Matni et al. [119], [120] designed a gateway arrangement for LoRaWAN called PLACE. This work estimates the LoRaWAN gateway position by applying the clustering technique FCM and Gap Statistics to determine the number of clusters. Specifically, this work calculates the number of clusters (i.e. LoRaWAN gateway) for a distinct IoT deployment scenario considering the Fuzzy C-Means algorithm. Next, it estimates the LoRaWAN gateway position based on the Gap statistics method. In this sense, this work aims to reduce OPEX and CAPEX while maintaining a high PDR.
Ousat and Ghaderi [121] examined the network planning problem in LoRaWAN regarding the gateway placement and the configuration of IoT sensors. The authors optimize the planning and deployment of LoRaWAN using mixed-integer non-linear optimization. Moreover, the performance evaluation only considered small networks because of the complexity of the method. The authors proposed planning large-scale LoRa networks based on an approximate algorithm. The authors compared the proposal with the ADR algorithm. The simulation results show improvements, on average, of 15% and 20% in the throughput and energy efficiency, respectively, of the network.

3) MULTI-HOP
Borkotoky et al. [122] proposed a communication scheme with relays to improve the reliability of IoT devices with duty-cycle limitations. The relays overhear the transmissions of the IoT device and send them to a gateway. Although this approach does not manage the coordination of the devices, and the duty cycle parameter restricts the number of sensor measurements that can be sent, the simulations conducted have yielded good results. The authors found that a single relay reduces the measurement PLR by 50%, and eight relays to improve the grid gain by two orders of magnitude.
Loginov et al. [123] devised a strategy to reduce the network latency in multi-hop LoRaWAN transmissions. The strategy consists of instantly retrying the first transmission attempt when the first collision is detected, i.e. using retry transmission without back off. Encouraged by TXOP sharing feature from Wi-Fi and adapting the p-persistent extension from slotted ALOHA, they proposed an analytical model based on the Markov chain.

C. SUMMARY AND OPEN ISSUES
The related works' analysis shows that network planning and optimization is a fundamental topic that directly affects QoS, capital, and operational costs [26]. The transmission channel between the LoRaWAN gateway and IoT devices can be enhanced with an efficient LoRaWAN gateway arrangement, reducing capital and operational costs. Table 5 summarizes the existing work in terms of the (i) problem addressed, (ii) strategy used, (iii) evaluation metrics, (iv) assessment methodology (i.e. simulation, prototype experiment, analytical modeling, and others), and (v) main results. Next, we discuss the open challenges that the current network planning approaches do not solve.
Network planning mechanisms affect the application performance (QoS, coverage, interference, and collision) and the costs (CAPEX and OPEX). For instance, network planning is highly affected by the LoRaWAN dynamism because mobility or different device traffic patterns worsen the application performance. Additionally, natural emergencies e.g. earthquakes, floods, and so on, or a human-made crisis e.g. terrorist attacks, industrial accidents, might also affect the application performance. This problem arises because such events affect the correct behavior of the LoRaWAN gateway when the antenna or other equipment is damaged or if the power is disrupted. In both LoRaWAN dynamism and emergencies, it is fundamental to design an efficient and resilient network planning mechanism to mitigate such problems. Furthermore, a resource allocation mechanism could be combined with network planning to improve the application performance while minimizing the costs.
The coverage area of LoRaWAN for data acquisition in huge areas may not be sufficient. For instance, farms have hundreds of kilometers that require data collection with low CAPEX and OPEX. In this scenario, the deployment of LoRaWAN gateways leads to high CAPEX and OPEX, including the cost of a gateway, leasing, maintenance, and so on [120]. It is possible to consider multi-hop communications among the gateways, IoT devices, or both to increase the coverage area [124]. For instance, the multi-hop communications between IoT devices can be seen as a D2D communications alternative to deal with coverage issues [125], [126]. Moreover, D2D communications enable new applications and services with major stringent requirements not currently achieved by traditional LoRaWAN architectures [125]. However, some concerns need to be addressed regarding its operation. These include (i) multi-hop architecture considering only the LoRaWAN radio, also known as LoRa radio, without the restrictions of LoRaWAN, enabling large scale IoT deployment; (ii) interference and packet loss caused by D2D communications; and (iii) lower signaling overhead for the routing protocol [127].

VI. MOBILITY
In Section VI-A, we present an overview of mobility issues on LoRaWAN. In Section VI-B, we present a comprehensive state-of-the-art review of the recent most significant advances about mobility issues on LoRaWAN. Finally, in Section VI-C, we summarize the analyzed mobility works on LoRaWAN.

A. OVERVIEW
Diverse IoT applications' requirements should benefit from mobile IoT devices, which, unlike traditional applications (generally stationary), are designed to support mobility features [39]. For instance, IoT devices are increasingly attached and operated in mobile devices, such as wearables, vehicles, trains, and so on [4], [128]. Mobility provides great opportunities to improve IoT systems in different domains, but it also imposes several critical challenges, especially with regard to guaranteeing QoS requirements. In this context, the LoRaWAN performance might be affected even by small mobility, and also, the long distance to the gateway further increases the impact of mobility [128]. Mobility introduces additional requirements, such as localization, navigation, and coverage [129]. Mobile IoT devices can be in the coverage area of multiple LPWANs and out of range of all available gateways, allowing the IoT devices to select the preferred connection when there are multiple LPWAN technologies with overlapping coverage. The flexibility of choosing different networks provide improved connectivity and coverage for IoT devices, and also increased level of network reliability. LoRaWAN addresses mobility by employing roaming capabilities in two different ways [130]: (i) passive roaming, which redirects data from an fNS to the hNS; and (ii) handover roaming which enables the target NS to control the MAC-layer. While passive roaming is available in both LoRaWAN v1.0 and v1.1, handover roaming became available only from LoRaWAN v1.1, through the introduction of the JS mechanism [131]. Figure 6 depicts a typical LoRaWAN mobility scenario with several different mobile IoT devices, with particular mobility behaviors and consequently distinct QoS requirements.
Moreover, several works [132]- [135] have proposed new protocols and mechanisms to provide mobility support for LoRaWAN applications, and we present them in the following subsection.

B. RELATED WORKS ON MOBILITY FOR LORAWAN
From our study of the state-of-the-art, we could divide the existing work on mobility issues into (i) Performance Evaluation and (ii) Mobility Management, as described in the following.

1) PERFORMANCE EVALUATION
Patel and Won [128] analyzed the effects of mobility events on the overall performance of LoRaWAN enabled systems. The study assumed that LoRaWAN mobile nodes are subject to mobility, and this mobility could affect the performance of both the transmission and reception of data. Due to constant changes in the network, mainly caused by the network's high dynamicity, the ADR scheme could not expectedly handle mobility.
Weyns and Berrevoets [129] studied how the adaptation of mobile node settings influences KPI for reliability and power requirements in LoRa-based IoT systems. The authors focused on two QoS requirements that usually apply to scenarios consisting of battery-powered wireless IoT systems, namely (i) communication reliability and (ii) IoT node energy consumption. The issues mentioned above were addressed mainly by adopting an approach that can dynamically adapt the IoT node settings by tracing the environment's conditions. First, the relationship between the LoRa-enabled IoT node settings and KPIs for the QoS requirements was defined. Second, an algorithm enabled the IoT node to perform self-adaptation settings that meet the QoS requirements. An experimental evaluation was made through a practical prototype built under the IMST ic880a LoRa concentrator. In addition, an IoT node was equipped with a Microchip Technology Mote LoRa transmitter, an Adafruit Ultimate GPS module, and a Raspberry Pi 3 Model B. The network infrastructure consisted of four gateways long with the end node movement speed close to a human walking speed (i.e. approximately 1.6 m/s) moving linearly. The evaluation results showed that the algorithm could accomplish its goals in a practical IoT scenario.
Spinsante et al. [134] investigated the feasibility of employing LoRaWAN for providing connectivity support in a physical activity measurement scenario subjected to mobility conditions. The authors used the connected smart shoe prototype in Spinsante and Scalise [135], which made it act as the mobile node to measure the users' activity levels by adopting a less invasive approach. Two sets of evaluations were carried out, which involved building a LoRaWAN prototype by employing an Adafruit Feather M0 with RFM95 Radio (configured at 900 MHz). The first experiment placed the mobile node in an urban-like propagation scenario, which included several buildings and had the main goal of determining the number of correctly received messages (93%) from the mobile node to the gateway. The second experiment was conducted by carrying the mobile node on a car (for 1.5 hours) with the primary goal of checking the robustness of LoRa in transmitting messages (84% of the packets were correctly delivered) considering the distance between the node and the gateway. In their conclusions, the authors stated that they are currently analyzing (i.e. they will provide more information in future work) whether the results obtained make LoRa a suitable reference technology for this kind of scenario.
Andrei et al. [136] reported on the experiments conducted to evaluate the data transmission capabilities of a mobile node using LoRaWAN technology. The authors highlighted the relationship between the mobile node movement and the received packet quality during the evaluations. They discovered that the node movement could impair the quality of the communication when transmitting packets. In one of the experiments, the mobile node was placed on board a car traveling at 90 km/h. Even at this speed (in regions with no visible obstacles), the mobile node transmitted and received packets correctly. The test results recorded distances of 4.3 km for urban areas and 9.7 km in open regions outside the town's boundaries. Based on the results, the authors showed that LoRa and LoRaWAN could be suitable technologies suitable for scenarios that do not have real-time or high-resolution data requirements, such as those found in smart farms.

2) MOBILITY MANAGEMENT
Lemic et al. [137] developed a mechanism for making discovery and handover decisions in LPWAN-based infrastructures without the need for constant probing, which can lead to high energy power consumption. The mechanism used some basic information about the available gateways (such as the accurate location and propagation characteristics) and the mobile node (with estimations and, in some cases, moderate accuracy). The decision-making process was triggered by a pre-defined threshold of the expected SNR between the mobile node and the gateway, derived from the information about the location of both the gateway and mobile node and the propagation features. In addition to reducing energy consumption on the mobile node side, the mechanism also reduces the signaling overhead. The evaluations were conducted within a scenario that used SigFox and LoRa technologies enabled by dataset collections for outdoor urban and rural areas.
Ayoub et al. [132] addressed the application session continuity during the end device mobility in LPWANS. The authors developed a mechanism that extended the SCHC scheme [138] to improve network roaming through a rule-based mechanism. This achieves mobile session continuity by enabling data to be transmitted and received while the end device moves across different operators. The proposed solution (MSCHC) improves the static context for SCHC in diverse contexts when the use of the memory is enhanced by splitting the rules into several layers. MSCHC was implemented in a LoRaWAN network and evaluated in different scenarios. In addition to improving session continuity, the evaluation of the proposed approach shows that it outperforms the traditional method by reducing bandwidth usage, packet loss, and delay among the operators involved during the roaming procedure.
Torroglosa-Garcia et al. [133] proposed two integration strategies for enabling mobility interoperability between LoRaWAN and 5G network infrastructures. These included a novel protocol that relies on key management and IoT device authentication options to extend the roaming capabilities. The scheme was deployed on a real testbed deployed by LoRaWAN and 5G capabilities. The approach was evaluated in terms of the authentication setup time and message overhead.
Benkahla et al. [139] improved the ADR mechanism by providing positioning technologies for mobile IoT devices (by employing the trilateration technique [140]) and supplying knowledge about trajectories. E-ADR can perform dynamic allocation procedures, resulting in an optimal network transmission time, lower energy consumption, and overall packet loss reduction. The E-ADR performance was evaluated with Waspmote-SX1272 devices and gateways using several mobility models (cleaning robots, drones for inspections, monitoring robots, a feeding system, and temperature sensors) in a smart farm scenario. The results reveal that E-ADR can reduce, and in some cases, eliminate packet loss while supporting mobility procedures.

C. SUMMARY AND OPEN ISSUES
Based on the review of related works, several approaches have been proposed to provide mobility support have been designed to deal with network constraints (i.e. packet loss, QoS, and so on). Another group of strategies has been proposed to deal with energy-efficiency and mobility decisions (i.e. handover), thus improving network reliability and session continuity. Table 6 summarizes the related works we have reviewed in terms of the (i) problem addressed, (ii) strategy used, (iii) adopted evaluation metrics, (iv) assessment methodology (i.e. simulation, prototype experiment, analytical modeling, and others), and (v) main results. Next, we discuss the open challenges that current mobility approaches have not yet solved.
LoRaWAN is a promising technology that provides many benefits to future network infrastructure communications. However, some research challenges in mobility management must be addressed. For instance, vertical and horizontal handover must be supported without affecting the communication requirements. But this is challenging because LoRaWAN VOLUME 9, 2021 TABLE 6. Summary of existing approaches launched to deal with LoRaWAN mobility issues: problem addressed, the strategy employed, evaluation metrics adopted, assessment methodology, and main results.
is designed to operate individually without integrated control. Due to the rapid changes in the network, which are mainly caused by the diverse mobility patterns, IoT devices are subject to several hardware overheads, which can be caused by a network server's inability to control the data rate. How this problem can be addressed in an ultra-dense network environment, such as that imposed by networking-sliced infrastructures, remains a challenge. But this challenge can be addressed by enabling technologies such as WVN, NFV, and SDN. In addition, IoT devices can be configured to use different radio-related parameters. How can this extensive configuration be applied to improve mobility procedures? It should be noted that mobility events, by their nature, are unpredictable. Therefore, prediction mechanisms for dynamic reconfiguration of components and schemes must be used to optimize network resources and procedures.
LoRaWAN could use a resource allocation mechanism to individually manage data rate and transmission power for each mobile node. At the same time, it must deal with the issue of isolation with a managed basic resource allocation mechanism. Similar to what occurs in network-cloud slicing, the network infrastructure must employ the appropriate isolation techniques to ensure that each mobile node's QoS restrictions do not suffer interference from the noise of another concurrent adaptation. Another crucial factor is the poor performance (such as the low adaptation speed) achieved in reconfiguring the basic resource allocation mechanism. Thus, optimization techniques for the basic resource allocation mechanism can ensure fast and reliable resource adaptation.

VII. CONCLUSION
LoRaWAN enables IoT devices to communicate over a long range, with low power and low bit rate, as expected for many IoT applications. This article has reviewed the latest developments, trends, and key challenges arising from the LoRaWAN technology. The review was conducted over the most significant and recent studies published between 2014 and 2020.
As a result of the literature review, this work contributes by providing a comprehensive review of LoRaWAN networking optimizations driven by enabling IoT networking operations beyond other recent LoRaWAN-related surveys published. By developing a taxonomy that describes, classifies, and categorizes several aspects that affect the operation of LoRaWAN, the review presented a broad overview of the latest advances in LoRaWAN. The main focus was to summarize and analyze the current LoRaWAN improvements for particular elements such as network slicing, RAT mechanisms, resource allocation, MAC layer protocols, network planning, and mobility.
Finally, we have also discussed open issues and research challenges about the LoRaWAN particular aspects, including several possible solutions to address them. Moreover, we also analyzed several technological trends with high innovation potential to improve LoRaWAN further.

5G
Fifth His publications include five edited books, five book chapters, four patents, and over than 180 articles in national/international refereed journals/conferences. His research interests include multimedia, future Internet, quality of experience, and mobility and ubiquitous computing. He has been serving as a guest editor for six special issues of various peer-reviewed scholarly journals. VOLUME 9, 2021