# A Survey of LoRaWAN for IoT: From Technology to Application
## 9 Tackling LoRaWAN Challenges and SWOT Analysis
### Communication Scalability and Reliability  
Communication scalability in uplink was shown to be a bottleneck for dens LoRaWAN deployments. The number of packet losses increases with the number of end nodes in network or increase of traffic load. In addition, the average power consumption per end node will increase too, decreasing the battery lifetime below the acceptable thresholds. This is due to Aloha-based access scheme that LoRaWAN uses.  
Apart from parameter tuning of ADR mechanism in current LoRaWAN, scalability can be increased with transmission synchronization solutions for LoRaWAN. Such solutions include slotted Aloha access scheme for uplink [109], beacon-based time synchronized uplink communication [105], any polling based techniques [112] or even more fine-grained scheduling possibilities [108]. The last method will increase also the reliability, as scheduled traffic is not interfered by other LoRaWAN transmissions. A step further compared to [108] can be to coordinate transmissions from different network technologies to decrease inter-technology interference in LoRaWAN.  
Usage of confirmed traffic increases the spectrum occupancy, as many packets are retransmitted due to lack of downlink confirmation. LoRaWAN standard [9; 11] specifies that the confirmation has to be transmitted in the receive windows following the uplink transmission. However, the absence of a confirmation does not mean that the uplink packet was lost. Most likely, the absence of confirmation is related to gateway duty cycle. Thus, it is desirable that the confirmation traffic to follow the same mechanism as it is followed in ADR. The end node will wait for the confirmation in the next \(D\) uplink packets. This will give possibility to gateway to confirm later the uplink traffic, releasing the condition of immediate confirmation. Moreover, the confirmation can be a group confirmation for a group of previous uplink packets.  
Radio duty cycle rule is another factor that decrease LoRaWAN scalability (valid only for Europe). Moreover, radio duty cycle is the main factor for low downlink scalability. Implementation of carrier sensing mechanism in gateways will dismiss the need for radio duty cycle in downlink [52; 53]. Carrier sensing mechanism in gateways will ease the duty cycle requirements, however, due to large coverage, hidden-node issues cannot be tackled. However, such a mechanism will not ensure high reliability in downlink. Collision avoidance based techniques [111; 112] can be used to improve reliability of downlink communication in expense to higher average power usage for end nodes. Another impact in downlink scalability is the packet collision between uplink and downlink traffic. Decoupling the UL/DL communication in different sub-bands will avoid such a collision [110]. Moreover, by using only high-power high duty cycle channel in the first receive window for downlink it will improve downlink scalability and reduce power usage, as shown in Section 9.2.  
Another solution that can overcome the duty cycle negative impact in the downlink traffic is to co-locate multiple gateways to increase the duty cycle in downlink. The co-located gateways need to be managed by a central manager that will control the usage of channels as well as SFs in downlink to avoid collisions. In addition, with advancement of electronics, simultaneous transmissions can be possible using different SFs and different channels by single gateway. A time-power multiplexing approach [110] can be used to decrease the gateway duty cycle too.  
In some highly dense networks, ADR scheme can end up in a situation where most of the end nodes have switched to the highest SF, increasing the collision possibility at maximum. Thus, in such cases, it is desirable to have a static assignment of SFs. By keeping a share of end nodes that have a static SF and others that will use ADR, the negative impact of ADR in highly congested networks can be decreased.