ACE: A Routing Algorithm Based on Autonomous Channel Scheduling for Bluetooth Mesh Network
Abstract
:1. Introduction
- Compared with Bluetooth Mesh, ACE can create and maintain routes without any additional route management packets nor connection state transitions.
- With the well-designed routing algorithm, the transmission latency of ACE is much lower than standard Bluetooth Mesh.
- The ACE can fully utilize all the 40 channels of BLE, but standard Bluetooth Mesh only use three advertising channels for data transmission.
- A beacon-aware routes recovery mechanism is proposed. It can recover routes mainly by adaptively listening beacon packets without any traffic overhead.
- We propose a proactive routing algorithm for Bluetooth Mesh network. And an autonomous channel scheduling mechanism is applied to fully utilize all the 40 BLE channels.
- We customize the routing algorithm for Bluetooth Mesh containing the following advantages: (1) Route creation reuses existing mesh messages without inner-node negotiation nor path reservation, and (2) routes recovery using an adaptively beacon-aware mechanism without additional traffic overhead.
- We implement ACE on the nRF52840 SoC, and the experimental results show that ACE outperforms Bluetooth Mesh in the following aspects: end-to-end latency, reliability, spectrum utilization, and scalability. Moreover, unmodified smartphones can control the mesh network without knowing the existence of ACE.
2. Background
2.1. Overview
2.2. Bluetooth Mesh Stack
- Bluetooth Low Energy Core Specification: Bluetooth Mesh stack is built on top of the BLE specification.
- Bearer Layer: This layer defines exchange messages among nodes using ADV and GATT bearers, where ADV carries most of the traffic in the network.
- Network Layer: This layer defines addressing of transport messages, rules to relay, accept or reject messages, network message format, and encryption or authentication.
- Lower Transport Layer: This layer defines how to handle message segmentation and reassembly of transport PDUs.
- Upper Transport Layer: This layer defines how to handle encryption, decryption, and authentication of application data.
- Access Layer: This layer defines the format of application data, controls data encryption and decryption, maintains network context and application keys.
- Foundation Model Layer: This layer defines models to configure and manage a mesh network.
- Model Layer: This layer defines standardized application models such as lightning and sensor.
2.3. Managed Flooding
- Time-To-Live (TTL): TTL restricts the number of hops a message can survive in the mesh network.
- Message Caching: This means mesh nodes can cache received packets to avoid unnecessary re-relaying of these packets.
2.4. Bluetooth Mesh Protocol Fields
3. Bluetooth Mesh Communication and Problems
- Inefficient BLE channels utilization: Bluetooth Mesh uses only three of 40 channels of BLE channels for communication, which results in the congestion problem of three ADV channels, especially when data traffic becomes heavier. Meanwhile, the other 37 channels are completely unused, causing the extreme imbalance of BLE channels resource utilization.
- Potential collision issue: Managed flooding in Bluetooth Mesh does not contain any routing algorithm, resulting in a large number of duplicate packets in the Bluetooth Mesh network and wasting of wireless channel resources. All packets sending from mesh nodes compete for three ADV channels, which indicates potential packets collisions and influences the reliability [5] and timeliness of the data transmission.
- Noncontinuous scanning state: According to Bluetooth Mesh network specification, the relays or the friend nodes should be scanning with a duty cycle as close as possible 100% to avoid missing any packets on advertising channels. However, when a scanner is switching scanning channels or processing received packets, it will leave the scanning state, and any packet received within these periods will be lost. In Particular, commuting from one scanning frequency to another takes up to 16 ms [14]. Thus, a noncontinuous scanning state will cause packet loss issue and reduce the Bluetooth Mesh network’s reliability.
- Uncertain end-to-end latency: Communication occurs successfully in Bluetooth Mesh only if two nodes advertise and scan on the same channel at the same time, thus uncertain latency can be introduced by the time to match the ADV channel and the scanning channel. Besides, the path of packet transmission from the same source node to the same destination node may be different even in the same topology. Furthermore, packets collisions issue in Bluetooth Mesh could also cause an uncontrollable delay due to packets retransmission. The above problems are unacceptable for some applications with stable latency requirements.
- Prone to be interference by BLE devices: BLE devices are ubiquitous in our daily life such as smartphones, Bluetooth headsets, and fitness bands, etc. It is possible that various BLE devices from outside the Bluetooth Mesh network have a negative impact on the communication flows inside the network, especially from iBeacon devices using three ADV channels.
4. Motivation
5. ACE: A Routing Algorithm Based on Autonomous Channel Scheduling for Bluetooth Mesh Network
5.1. Overview
- Packet Sending: When a node has a packet to send, it will first look up the routing table and find out the ADV address of the next hop, and then look up the neighbor table using the ADV address to find out the scanning channel of the next hop, finally send the packet on this specific channel. However, suppose the routing table does not have the entry of the destination node. In that case, the node will send the packet to all its neighbors to ensure the destination element can receive the packet at all possible.
- Packet Receiving: When a node has a packet to receive, the first thing to do is to check whether the destination element address is one of its element address. If so, it will deliver the packet to the upper layer for further processing directly. Otherwise, if the TTL value in the packet is more than one and its relay feature is on, the node will forward the packet and then start the packet sending phase as described above. Otherwise, the packet will be discarded for the TTL value is less than one.
- Routing Update (optional): As for typical Bluetooth Mesh applications like lighting control, all light nodes are static, and the network topology can always keep fixed. In such a widely used scenario, we can disable the routing update function to avoid unnecessary overhead. However, there are some dynamic Bluetooth Mesh network scenarios, such as asset tracking. The node mobility issue needs to be taken into consideration to keep the route valid all the time. Therefore, we design the routing update phase (optional) to enable our algorithm to adapt to a dynamic network as well. The details of the design are described in the next section.
5.2. Design and Implementation
- First, the mobile node perceives the change of topological if it cannot receive the heartbeat message from the original neighbors on its scanning channel.
- The mobile node starts scanning the beacon message on specific beacon channel to discover the new neighbors.
- Once the discovery is done, the mobile node starts to transmit heartbeat message on the scanning channels of the new neighbors.
- The new neighbors will forward the heartbeat message to the entire network, and the other nodes will update routing table when their route update timer expires.
Algorithm 1 ACE |
start_timer(initialize_timer); |
publish heartbeat packet; |
listen(compute_channel(self.adv_addr)); |
routing_maintenance(); |
Algorithm 2 update_routing_table |
Input: packet |
Output: routing_table_pointer |
dst_addr, adv_addr ← get_addr(packet); |
hop ← compute_hop(packet, INIT_TTL); |
5.3. Discussion of Design Details
Algorithm 3 routing_maintenance |
start_timer(online_timer); |
start_timer(routing_update_timer); |
6. Evaluation
- Packet Delivery Ratio (PDR): The PDR is the portion of packets sent at the application layer, which make it to their final destination, possibly over multiple hops.
- End-to-end Latency: The end-to-end latency is measured between the initial application’s intention to send a packet and its reception at the final destination.
- Route Setup Time: The route setup time refers to the time when routing table entries are last updated by any of the nodes in the network.
- Route Recovery Time: The route recovery time refers to the time when the moved node receives the mesh packet sent to itself again.
6.1. Impact of Neighbor Numbers
6.2. Impact of Hop Numbers
6.3. Impact of Traffic Load
6.4. Impact of BLE Interference
6.5. Impact of Network Size
6.6. Route Setup Time and Route Recovery Time
6.7. Compatibility with Unmodified Phones
7. Discussion
8. Related Works
9. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Lakhan, A.; Li, J.; Groenli, T.M.; Sodhro, A.H.; Zardari, N.A.; Imran, A.S.; Thinnukool, O.; Khuwuthyakorn, P. Dynamic Application Partitioning and Task-Scheduling Secure Schemes for Biosensor Healthcare Workload in Mobile Edge Cloud. Electronics 2021, 10, 2797. [Google Scholar] [CrossRef]
- Yin, J.; Yang, Z.; Cao, H.; Liu, T.; Zhou, Z.; Wu, C. A survey on Bluetooth 5.0 and mesh: New milestones of IoT. ACM Trans. Sens. Netw. (TOSN) 2019, 15, 1–29. [Google Scholar] [CrossRef]
- Darroudi, S.M.; Gomez, C. Bluetooth low energy mesh networks: A survey. Sensors 2017, 17, 1467. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Bluetooth, S. Mesh Profile Specification: 1.0; Bluetooth Special Interest Group: Kirkland, WA, USA, 2017. [Google Scholar]
- Rondón, R.; Mahmood, A.; Grimaldi, S.; Gidlund, M. Understanding the Performance of Bluetooth Mesh: Reliability, Delay, and Scalability Analysis. IEEE Internet Things J. 2019, 7, 2089–2101. [Google Scholar] [CrossRef] [Green Version]
- Tseng, Y.C.; Ni, S.Y.; Chen, Y.S.; Sheu, J.P. The broadcast storm problem in a mobile ad hoc network. Wirel. Netw. 2002, 8, 153–167. [Google Scholar] [CrossRef]
- Kinney, P.; Brethour, V.; Bain, J.; Houghton, P.; Lampe, J.; Brethour, V.; Sahinoglu, Z.; Orlik, P.; Lakkis, I.; Hach, R.; et al. IEEE Standard for Part 15.4: Wireless MAC and PHY Specifications for Low-Rate Wireless Personal Area Networks (LR-WPANs): Amendment 1: Add Alternate PHY. 2007. Available online: https://standards.ieee.org/standard/802_15_4-2015.html (accessed on 26 December 2021).
- Lee, T.; Lee, M.S.; Kim, H.S.; Bahk, S. A synergistic architecture for rpl over ble. In Proceedings of the 2016 13th Annual IEEE International Conference on Sensing, Communication, and Networking (SECON), London, UK, 27–30 June 2016; pp. 1–9. [Google Scholar]
- Mikhaylov, K.; Tervonen, J. Multihop data transfer service for Bluetooth Low Energy. In Proceedings of the 2013 13th International Conference on ITS Telecommunications (ITST), Tampere, Finland, 5–7 November 2013; pp. 319–324. [Google Scholar]
- Sirur, S.; Juturu, P.; Gupta, H.P.; Serikar, P.R.; Reddy, Y.K.; Barak, S.; Kim, B. A mesh network for mobile devices using bluetooth low energy. In Proceedings of the 2015 IEEE SENSORS, Busan, Korea, 1–4 November 2015; pp. 1–4. [Google Scholar]
- Audhya, G.K.; Sinha, K.; Ghosh, S.C.; Sinha, B.P. A survey on the channel assignment problem in wireless networks. Wirel. Commun. Mob. Comput. 2011, 11, 583–609. [Google Scholar] [CrossRef]
- Perkins, C.E.; Royer, E.M. Ad-hoc on-demand distance vector routing. In Proceedings of the WMCSA’99. Second IEEE Workshop on Mobile Computing Systems and Applications, New Orleans, LA, USA, 25–26 February 1999; pp. 90–100. [Google Scholar]
- Semiconductor, N. nRF52840 Development Kit. 2017. Available online: https://www.nordicsemi.com/Products/Development-hardware/nRF52840-DK (accessed on 26 December 2021).
- Pérez-Díaz-De-Cerio, D.; García-Lozano, M.; Bardají, A.V.; Valenzuela, J.L. Bluetooth Mesh Analysis, Issues, and Challenges. IEEE Access 2020, 8, 53784–53800. [Google Scholar]
- Woolley, M. Bluetooth Core Specification v5. Bluetooth. 2019. Available online: https://www.bluetooth.com/specifications/specs/core-specification/ (accessed on 26 December 2021).
- Semiconductor, N. nRF5 SDK for Mesh, Software Development Kit for Bluetooth Mesh. 2019. Available online: https://www.nordicsemi.com/Products/Development-software/nRF5-SDK-for-Mesh (accessed on 26 December 2021).
- THREAD Protocol Standard. 2021. Available online: https://www.threadgroup.org/ (accessed on 26 December 2021).
- McQuillan, J.; Richer, I.; Rosen, E. The new routing algorithm for the ARPANET. IEEE Trans. Commun. 1980, 28, 711–719. [Google Scholar] [CrossRef]
- Amgoth, T.; Jana, P.K. Energy-aware routing algorithm for wireless sensor networks. Comput. Electr. Eng. 2015, 41, 357–367. [Google Scholar] [CrossRef]
- De Leon, E.; Nabi, M. An Experimental Performance Evaluation of Bluetooth Mesh Technology for Monitoring Applications. In Proceedings of the 2020 IEEE Wireless Communications and Networking Conference (WCNC), Seoul, Korea, 25–28 May 2020; pp. 1–6. [Google Scholar]
- Darroudi, S.M.; Caldera-Sànchez, R.; Gomez, C. Bluetooth mesh energy consumption: A model. Sensors 2019, 19, 1238. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Baert, M.; Rossey, J.; Shahid, A.; Hoebeke, J. The Bluetooth mesh standard: An overview and experimental evaluation. Sensors 2018, 18, 2409. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Almon, L.; Álvarez, F.; Kamp, L.; Hollick, M. The King is Dead Long Live the King! Towards Systematic Performance Evaluation of Heterogeneous Bluetooth Mesh Networks in Real World Environments. In Proceedings of the 2019 IEEE 44th Conference on Local Computer Networks (LCN), Osnabrueck, Germany, 14–17 October 2019; pp. 389–397. [Google Scholar]
- Perez-Diaz-de Cerio, D.; Valenzuela, J.; Garcia-Lozano, M.; Hernández-Solana, Á.; Valdovinos, A. BMADS: BLE Mesh Asynchronous Dynamic Scanning. IEEE Internet Things J. 2020, 8, 2558–2573. [Google Scholar] [CrossRef]
- Maharjan, B.K.; Witkowski, U.; Zandian, R. Tree network based on Bluetooth 4.0 for wireless sensor network applications. In Proceedings of the 2014 6th European Embedded Design in Education and Research Conference (EDERC), Milan, Italy, 11–12 September 2014; pp. 172–176. [Google Scholar]
- Patti, G.; Leonardi, L.; Bello, L.L. A Bluetooth low energy real-time protocol for industrial wireless mesh networks. In Proceedings of the IECON 2016—42nd Annual Conference of the IEEE Industrial Electronics Society, Florence, Italy, 23–26 October 2016; pp. 4627–4632. [Google Scholar]
- Guo, Z.; Harris, I.G.; Tsaur, L.F.; Chen, X. An on-demand scatternet formation and multi-hop routing protocol for BLE-based wireless sensor networks. In Proceedings of the 2015 IEEE Wireless Communications and Networking Conference (WCNC), New Orleans, LA, USA, 9–12 March 2015; pp. 1590–1595. [Google Scholar]
- Perkins, C.E.; Bhagwat, P. Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers. ACM SIGCOMM Comput. Commun. Rev. 1994, 24, 234–244. [Google Scholar] [CrossRef]
- Bellur, B.; Ogier, R.G. A reliable, efficient topology broadcast protocol for dynamic networks. In Proceedings of the IEEE INFOCOM’99. Conference on Computer Communications Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies, The Future is Now (Cat. No. 99CH36320), New York, NY, USA, 21–25 March 1999; Volume 1, pp. 178–186. [Google Scholar]
- Murthy, S.; Garcia-Luna-Aceves, J.J. An efficient routing protocol for wireless networks. Mob. Netw. Appl. 1996, 1, 183–197. [Google Scholar] [CrossRef] [Green Version]
- Sodhro, A.H.; Sodhro, G.H.; Guizani, M.; Pirbhulal, S.; Boukerche, A. AI-enabled reliable channel modeling architecture for fog computing vehicular networks. IEEE Wirel. Commun. 2020, 27, 14–21. [Google Scholar] [CrossRef]
- Johnson, D.B.; Maltz, D.A. Dynamic source routing in ad hoc wireless networks. In Mobile Computing; Springer: Berlin/Heidelberg, Germany, 1996; pp. 153–181. [Google Scholar]
- Park, V.D.; Corson, M.S. A highly adaptive distributed routing algorithm for mobile wireless networks. In Proceedings of the INFOCOM’97, Kobe, Japan, 7–11 April 1997; Volume 3, pp. 1405–1413. [Google Scholar]
- 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]
- Al Nahas, B.; Duquennoy, S.; Landsiedel, O. Concurrent Transmissions for Multi-Hop Bluetooth 5. In Proceedings of the IEEE International Conference on Embedded Wireless Systems and Networks (EWSN), Beijing, China, 25–27 February 2019; pp. 130–141. [Google Scholar]
Table Size | 10 | 100 | 500 | 1000 | 5000 | 10,000 |
---|---|---|---|---|---|---|
Searching Time (us) | 18 | 165 | 822 | 1642 | 8205 | 16,408 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 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
Wang, M.; Li, Y.; Lv, J.; Gao, Y.; Qiao, C.; Liu, B.; Dong, W. ACE: A Routing Algorithm Based on Autonomous Channel Scheduling for Bluetooth Mesh Network. Electronics 2022, 11, 113. https://doi.org/10.3390/electronics11010113
Wang M, Li Y, Lv J, Gao Y, Qiao C, Liu B, Dong W. ACE: A Routing Algorithm Based on Autonomous Channel Scheduling for Bluetooth Mesh Network. Electronics. 2022; 11(1):113. https://doi.org/10.3390/electronics11010113
Chicago/Turabian StyleWang, Minyue, Yeming Li, Jiamei Lv, Yi Gao, Cheng Qiao, Baiqiang Liu, and Wei Dong. 2022. "ACE: A Routing Algorithm Based on Autonomous Channel Scheduling for Bluetooth Mesh Network" Electronics 11, no. 1: 113. https://doi.org/10.3390/electronics11010113
APA StyleWang, M., Li, Y., Lv, J., Gao, Y., Qiao, C., Liu, B., & Dong, W. (2022). ACE: A Routing Algorithm Based on Autonomous Channel Scheduling for Bluetooth Mesh Network. Electronics, 11(1), 113. https://doi.org/10.3390/electronics11010113