Design and Implementation of a Multi-Hop Real-Time LoRa Protocol for Dynamic LoRa Networks
<p>A LoRa network model with two-hop tree topology.</p> "> Figure 2
<p>Link failure and inconsistency of slot schedule due to node mobility. (<b>a</b>) The change of topology by node movement; (<b>b</b>) Slot schedule before node <span class="html-italic">b</span> moves away; (<b>c</b>) Slot schedule after node <span class="html-italic">b</span> moves away.</p> "> Figure 3
<p>Two-hop tree slot scheduling using logical slot indices. (<b>a</b>) Logical slot indexing with 16 slots; (<b>b</b>) Slot scheduling for Tree-1 in <a href="#sensors-22-03518-f001" class="html-fig">Figure 1</a>.</p> "> Figure 4
<p>The operational structure of the proposed protocol.</p> "> Figure 5
<p>Multi-channel frame-slot architecture.</p> "> Figure 6
<p>Node registration and tree construction process.</p> "> Figure 7
<p>Distribution of group scheduling information.</p> "> Figure 8
<p>Example of spatial distribution with 500 end nodes in an area of 800 × 800 (m<sup>2</sup>).</p> "> Figure 9
<p>The average <span class="html-italic">PDR</span> and <span class="html-italic">PDR_NoOrphan</span> with different λ.</p> "> Figure 10
<p>The average <span class="html-italic">MobileOH</span> with different λ.</p> "> Figure 11
<p>Photos of GW and some nodes installed in a university campus.</p> "> Figure 12
<p>Static node deployment scenario and the change of topology. (<b>a</b>) Node connections after network initialization; (<b>b</b>) Node connections after 8 h of operation; (<b>c</b>) Node connections after 16 h of operation; (<b>d</b>) Node connections after 24 h of operation.</p> "> Figure 12 Cont.
<p>Static node deployment scenario and the change of topology. (<b>a</b>) Node connections after network initialization; (<b>b</b>) Node connections after 8 h of operation; (<b>c</b>) Node connections after 16 h of operation; (<b>d</b>) Node connections after 24 h of operation.</p> "> Figure 13
<p>The change of connections according to node movement (The red-colored dashed lines indicate the unreliable connection). (<b>a</b>) Moving path of node 41; (<b>b</b>) Moving path of node 42.</p> ">
Abstract
:1. Introduction
2. Background
2.1. Network Model
2.2. Problem Identification
2.3. Notations and Messages
Notation | Meaning |
RNL | indicates a registered node list in which every node has registered with a server. |
P(x) | indicates the parent of node x. |
TCRInt | indicates the interval that GW uses to broadcast a tree construction request (TCR) message during initialization period. |
MaxChildren | indicates the maximum number of children that a 1-hop relay node can have. |
uPF(x | indicates the updated profile that node x generates if it detects link breakage to any of its children. |
uSSI(x) | indicates an updated slot scheduling information that a server generates for node x that has reported uPF(x) |
Message | Description |
TCR = (level, RNL) | is a tree construction request (TCR) message that a server broadcasts at the intervals of TCRInt during initialization period and level indicates the tree level of the node that broadcasts this message. |
RR(x) = (x,P(x),PF(x)) | is the registration request (RR) message that node x sends to its parent P(x) to register with a server. |
2.4. Overview of Slot Scheduling for Two-Hop LoRa Networks
Algorithm 1. Slot scheduling of 1-hop relay node |
1: At node x that receives NSSI: 2: calculates startLSI(x) using (5); 3: Alloc(x) = a list of SD(x) sequential logical slot numbers starting with startLSI(x) according to the LSI algorithm; //The ascending sorted list of physical slot numbers corresponding to Alloc(x) 4: TxSlots(x) = ascSort {psi(y)| y ∈ Alloc(x)}; 5: startLSI = startLSI(x) + SD(x); 6: RxSlots(x) = { }; 7: for each y ∈ CS(x) 8: Alloc(y) = a list of SD(y) sequential logical slot numbers starting with startLSI; 9: psiAlloc(y) = ascSort {psi(v)| v ∈ Alloc(y)} 10: RxSlots(x) = RxSlots(x) ∪ {v| v ∈ psiAlloc(y), v is in odd position}; 11: TxSlots(x) = TxSlots(x) ∪ {v| v ∈ psiAlloc(y), v is in even position}; 12: startLSI = startLSI + SD(y); 13: endFor |
Algorithm 2. Slot scheduling of 2-hop node |
1: At node xi that receives LSSI(x): 2: 3: get Alloc(xi) starting with startLSI; 4: psiAlloc(xi) = ascSort {psi(v)| v ∈ Alloc(xi)}; 5: TxSlots(xi) = {x| x ∈ psiAlloc(xi), x is in odd position}; |
3. Protocol Design
3.1. Protocol Structure
3.2. Frame-Slot Architecture
3.3. Network Initialization
Algorithm 3. Node type determination |
//avg_rssi indicates the average of RSSIs //avr_snr indicates the average of SNRs 1: At an Orphan node that receives k TCRs, k > 1: 2: calculate avg_rssi and avg_snr with multiple TCRs; 3: determine nodeType using avg_rssi and avg_snr as follows: 4: if avg_rssi ≥ RSSI_Th1 and avg_snr ≥ SNR_Th1 then 5: nodeType = 1HopR; 6: else if avg_rssi ≥ RSSI_Th2 and avg_snr ≥ RSSI_Th2 then 7: nodeType = 1Hop; 8: else 9: nodeType = 2HopCan; |
3.4. Scheduling Information Dissemination and Slot Scheduling
3.5. Data Transmission and Topology Maintenance
3.5.1. Link Failure
3.5.2. Node Joining
3.5.3. Slot Scheduling Information Management
4. Evaluation
4.1. Simulation
4.1.1. Channel Model
4.1.2. Simulation Setup
4.1.3. Simulation Results
4.2. Experiment
4.2.1. Experiment I with Static Node Scenario
4.2.2. Experiment II with Mobile Node Scenario
5. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Tran, H.P.; Jung, W.; Yoon, T.; Yoo, D.; Oh, H. A Two-Hop Real-Time LoRa Protocol for Industrial Monitoring and Control Systems. IEEE Access 2020, 8, 126239–126252. [Google Scholar] [CrossRef]
- IEEE Std 802.15.4-2020 (Revision of IEEE Std 802.15.4-2015); IEEE Standard for Low-Rate Wireless Networks. The IEEE Standards Association: Piscataway, NJ, USA, 2020; pp. 1–800.
- Song, J.; Han, S.; Mok, A.; Chen, D.; Lucas, M.; Nixon, M.; Pratt, W. WirelessHART: Applying Wireless Technology in Real-Time Industrial Process Control. In Proceedings of the 2008 IEEE Real-Time and Embedded Technology and Applications Symposium, St. Louis, MO, USA, 22–24 April 2008; pp. 377–386. [Google Scholar]
- ISA100.11a Standard; Wireless Systems for Industrial Automation: Process and Related Applications. Standards Committees—ISA: Research Triangle Park, NC, USA, 2009.
- Song, W.; Huang, R.; Shirazi, B.; LaHusen, R. TreeMAC: Localized TDMA MAC protocol for real-time high-data-rate sensor networks. In Proceedings of the 2009 IEEE International Conference on Pervasive Computing and Communications, Galveston, TX, USA, 9–13 March 2009; pp. 1–10. [Google Scholar]
- Oh, H.; van Vinh, P. Design and implementation of a MAC protocol for timely and reliable delivery of command and data in dynamic wireless sensor networks. Sensors 2013, 13, 13228–13257. (In English) [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Oh, H.; Ngo, C.T. A Slotted Sense Multiple Access Protocol for Timely and Reliable Data Transmission in Dynamic Wireless Sensor Networks. IEEE Sens. J. 2018, 18, 2184–2194. [Google Scholar] [CrossRef]
- Nguyen, T.; Oh, H. A Smart Multi-Channel Slotted Sense Multiple Access Protocol for Industrial Wireless Sensor Networks. IEEE Internet Things J. 2021, 1. [Google Scholar] [CrossRef]
- Reynders, B.; Wang, Q.; Tuset-Peiro, P.; Vilajosana, X.; Pollin, S. Improving Reliability and Scalability of LoRaWANs through Lightweight Scheduling. IEEE Internet Things J. 2018, 5, 1830–1842. [Google Scholar] [CrossRef]
- Haxhibeqiri, J.; Moerman, I.; Hoebeke, J. Low Overhead Scheduling of LoRa Transmissions for Improved Scalability. IEEE Internet Things J. 2019, 6, 3097–3109. [Google Scholar] [CrossRef] [Green Version]
- Leonardi, L.; Battaglia, F.; Bello, L.L. RT-LoRa: A Medium Access Strategy to Support Real-Time Flows over LoRa-Based Networks for Industrial IoT Applications. IEEE Internet Things J. 2019, 6, 10812–10823. [Google Scholar] [CrossRef]
- Polonelli, T.; Brunelli, D.; Marzocchi, A.; Benini, L. Slotted ALOHA on LoRaWAN-Design, Analysis, and Deployment. Sensors 2019, 19, 838. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Hoang, Q.L.; Jung, W.; Yoon, T.; Yoo, D.; Oh, H. A Real-Time LoRa Protocol for Industrial Monitoring and Control Systems. IEEE Access 2020, 8, 44727–44738. [Google Scholar] [CrossRef]
- Zorbas, D.; Abdelfadeel, K.; Kotzanikolaou, P.; Pesch, D. TS-LoRa: Time-slotted LoRaWAN for the Industrial Internet of Things. Comput. Commun. 2020, 153, 1–10. [Google Scholar] [CrossRef]
- Augustin, A.; Yi, J.; Clausen, T.H.; Townsley, W. A Study of LoRa: Long Range & Low Power Networks for the Internet of Things. Sensors 2016, 16, 1466. [Google Scholar]
- Semtech Corp. AN1200.22 LoRa Modulation Bacics; Semtech Corp.: Camarillo, CA, USA, 2015. [Google Scholar]
- Dias, J.; Grilo, A. LoRaWAN multi-hop uplink extension. Procedia Comput. Sci. 2018, 130, 424–431. [Google Scholar] [CrossRef]
- Liao, C.; Zhu, G.; Kuwabara, D.; Suzuki, M.; Morikawa, H. Multi-Hop LoRa Networks Enabled by Concurrent Transmission. IEEE Access 2017, 5, 21430–21446. [Google Scholar] [CrossRef]
- Lee, H.; Ke, K. Monitoring of Large-Area IoT Sensors Using a LoRa Wireless Mesh Network System: Design and Evaluation. IEEE Trans. Instrum. Meas. 2018, 67, 2177–2187. [Google Scholar] [CrossRef]
- Farooq, M.O. Clustering-Based Layering Approach for Uplink Multi-Hop Communication in LoRa Networks. IEEE Netw. Lett. 2020, 2, 132–135. [Google Scholar] [CrossRef]
- Bor, M.; Vidler, J.; Roedig, U. LoRa for the Internet of Things. In Proceedings of the International Conference on Embedded Wireless Systems and Networks (EWSN), Graz, Austria, 15–17 February 2016; pp. 361–366. [Google Scholar]
- Ebi, C.; Schaltegger, F.; Rust, A.; Blumensaat, F. Synchronous LoRa Mesh Network to Monitor Processes in Underground Infrastructure. IEEE Access 2019, 7, 57663–57677. [Google Scholar] [CrossRef]
- Perkins, C.E.; Bhagwat, P. Highly dynamic Destination-Sequenced Distance-Vector routing (DSDV) for mobile computers. In Proceedings of the Conference on Communications Architectures, Protocols and Applications, London, UK, 31 August–2 September 1994. [Google Scholar] [CrossRef] [Green Version]
- Ferrari, F.; Zimmerling, M.; Thiele, L.; Saukh, O. Efficient network flooding and time synchronization with Glossy. In Proceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks, Chicago, IL, USA, 12–14 April 2011; pp. 73–84. [Google Scholar]
- Goldsmith, A. Wireless Communications; Cambridge University Press: Cambridge, UK, 2005. [Google Scholar]
- Xu, W.; Kim, J.Y.; Huang, W.; Kanhere, S.S.; Jha, S.K.; Hu, W. Measurement, Characterization, and Modeling of LoRa Technology in Multifloor Buildings. IEEE Internet Things J. 2020, 7, 298–310. [Google Scholar] [CrossRef] [Green Version]
(a) Before the Update of ni2 | (b) After the Update of ni2 | ||||||
---|---|---|---|---|---|---|---|
1Hop | TSD | PF | Valid | 1Hop | TSD | PF | Valid |
ni1 | 3 | PF(ni1) | 1 | ni1 | 3 | PF(ni1) | 1 |
ni2 | 5 | PF(ni2) | 1 | ni2 → v2 | 5 | - | 0 |
… | … | ||||||
ni(j−1) | 1 | PF(ni(j−1)) | 1 | ni(j−1) | 1 | PF(ni(j−1)) | 1 |
nij → v1 | 5 | - | 0 | nij → ni2 | 3 | PF(ni2) | 1 |
nij → v3 | 2 | - | 0 | ||||
ni(j + 1) | 1 | PF(ni(j + 1)) | ni(j + 1) | 1 | PF(ni(j + 1)) | ||
… | … | ||||||
nik | 1 | PF(nik) | 1 | nik | 1 | PF(nik) | 1 |
… | … |
Parameter | Value | Parameter | Value |
---|---|---|---|
No. GWs | 1 | Data rate (SF, BW) | 7, 125 |
No. static nodes | 500 | No. UL slots | 128 |
No. mobile nodes | 20 | UL slot size | 100 (ms) |
UL payload size | 50 (bytes) | DL slot size | 200 (ms) |
Data transmission interval | 13.2 (s) | Frame size | 13.2 (s) |
Expected pausing time (λ) | 5, 10, 15, 20, 25 | No. Data channels | 8 |
Parameter | Value | Parameter | Value |
---|---|---|---|
UL slot size | 100 ms | Data rate (SF, BW) | 7, 125 |
DL slot size | 200 ms | Frame Size | 13.2 s |
No. UL slot | 128 | Data transmission interval | 13.2 s |
No. UL channel | 1 | Payload size | 24 bytes |
After Initialization | After 8 h | After 16 h | After 24 h | |
---|---|---|---|---|
No. 1-hop nodes | 33 | 28 | 25 | 26 |
No. 2-hop nodes | 7 | 12 | 15 | 14 |
AVG. PDR_NoOrphan (1-hop) | N.A. | 99.4% | 99.4% | 99.2% |
Worst PDR_NoOrphan (1-hop) | N.A. | 97.9% | 97.7% | 95.9% |
AVG. PDR_NoOrphan (2-hop) | N.A. | 97.5% | 97.7% | 98.5% |
Worst PDR_NoOrphan (2-hop) | N.A. | 92.2% | 93.4% | 95.2% |
Node ID | 41 | 42 |
---|---|---|
Experiment time | 1 h | 25 min |
Number of parent changes | 1 | 2 |
PDR_NoOrphan | 93.3 (97.4) | 90.2 (96.5) |
PDR | 90.3 (94.3) | 80.8 (86.4) |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Tran, H.P.; Jung, W.-S.; Yoo, D.-S.; Oh, H. Design and Implementation of a Multi-Hop Real-Time LoRa Protocol for Dynamic LoRa Networks. Sensors 2022, 22, 3518. https://doi.org/10.3390/s22093518
Tran HP, Jung W-S, Yoo D-S, Oh H. Design and Implementation of a Multi-Hop Real-Time LoRa Protocol for Dynamic LoRa Networks. Sensors. 2022; 22(9):3518. https://doi.org/10.3390/s22093518
Chicago/Turabian StyleTran, Huu Phi, Woo-Sung Jung, Dae-Seung Yoo, and Hoon Oh. 2022. "Design and Implementation of a Multi-Hop Real-Time LoRa Protocol for Dynamic LoRa Networks" Sensors 22, no. 9: 3518. https://doi.org/10.3390/s22093518
APA StyleTran, H. P., Jung, W. -S., Yoo, D. -S., & Oh, H. (2022). Design and Implementation of a Multi-Hop Real-Time LoRa Protocol for Dynamic LoRa Networks. Sensors, 22(9), 3518. https://doi.org/10.3390/s22093518