# ACE: A Routing Algorithm Based on Autonomous Channel Scheduling for Bluetooth Mesh Network
## 3 Bluetooth Mesh Communication and Problems  
Bluetooth Mesh is designed to use a flooding-based communication technique. Thus, all messages transmissions in a Bluetooth Mesh network are broadcast under BLE's advertising and scanning scheme. BLE defined three channels (37, 38, 39) for all non-connected state communications and using non-connectable and non-scannable undirected advertising events. During the advertising process, packets are broadcast sequentially over the three advertising frequency channels within the span called _Advertising Event_. All devices in radio range scanning on a matching ADV channel. The scanning process, called _Scanning Events_ is conducted periodically. At the beginning of a _Scanning Event_, the scanning device starts listening on the next ADV channel from the last scanning channel. _ScanWindow_ parameter defines the duration in which the link-layer scans on one ADV channel. _ScanInterval_ defines a time interval between scans on different ADV channels. If the _ScanWindow_ is equal to the _ScanInterval_, it means the device is continuously scanning. In Bluetooth Mesh, the time between the beginning of two consecutive advertising PDUs within an advertising event shall be less than or equal to 10 ms. The time between the start of two consecutive advertising events is controlled by the advInterval parameter (\(>\)=20 ms) with a random delay of no more than 10 ms. Figure 2 depicts a communication flow between two adjacent relay nodes. As introduced in the previous section, Bluetooth Mesh transmission model is based on _managed flooding_. In particular, nodes in the Bluetooth Mesh network can receive all messages within direct radio range, and messages will be relayed to reach the destination node in the distance. The Time-To-Live (TTL) field in the network PDU indicates the maximum number of hops. The design of managed flooding allows messages to reach their destination via multiple paths through the network, potentially improving the robustness performance. However, flooding is prone to suffer from collisions, especially when the network has a large number of packets. To alleviate this problem, Bluetooth Mesh makes it possible to contain random back-off periods before the start of an _Advertising Event_ and randomize the time between the three transmissions within the _Advertising Event_. We conclude several issues of Bluetooth Mesh through the analysis of the above communication process as follows:  
* **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  
Figure 2: Example of communication flow between two adjacent relay nodes in a Bluetooth Mesh network. 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.