# ACE: A Routing Algorithm Based on Autonomous Channel Scheduling for Bluetooth Mesh Network
Still, no previous works have done this for standard Bluetooth Mesh to the best of our knowledge. However, compared to flooding, adding a routing algorithm without delicate design can bring some new problems, such as more management traffic overhead, higher latency, and less flexibility [3]. To this point, we summarize four main challenges as follows:  
First, how to reduce the complexity of the routing algorithm and customize it for Bluetooth Mesh with minimal traffic overhead is a challenging issue. Running a routing algorithm is more expensive than flooding [3], There are computational and memory overhead to setup and maintain routing table. Bluetooth Mesh with complex protocol stack has the advantage of simplicity benefited from its managed flooding technique, thus adding an existing routing protocol to Bluetooth Mesh such as RPL [7] used in ZigBee is not a good choice. RPL is an oriented distance-vector routing protocol that organizes nodes in a Destination-Oriented DAG (DODAG) structure with large control overheads (e.g., DIO, DIS, DAO, and DAO-ACK). Suppose run RPL over Bluetooth Mesh, and nodes need to switch between connected and connectionless states frequently for control and data messages respectively [8] which significantly increase the network processing burden and seriously reduce network performances. Second, it is challenging to perform a low end-to-end latency of routing algorithm for Bluetooth Mesh. Due to the potential multipath characteristic of flooding, an optimal path can be easily selected in standard Bluetooth Mesh, resulting in low end-to-end latency. Previous works focusing on routing algorithms for Bluetooth Mesh sacrificed the advantage of flooding and have a high end-to-end latency generally more than a second [8; 9; 10]. Therefore, they are unsuitable for delay-sensitive scenarios due to their time-consuming routing processes caused by frequent connection state transitions. The third challenge is how to achieve an efficient BLE channel resource utilization in the routing algorithm for Bluetooth Mesh. Bluetooth Mesh utilizes only three ADV channels (37; 38; 39) for managed flooding, which increases the congestion risk of ADV channels. However, the rest 37 data channels are idle and wasted. This challenge can be abstracted as a CAP (Channel assignment Problem) [11], which is objected to maximize the channel resource utilization and minimize the interference. However, CAP is an NP-C problem, meaning that giving the optimal solution with an acceptable overhead is difficult. The data channels of BLE are used by two paired BLE devices through maintaining a frequency-hopping table after creating the BLE connection and then perform frequency-hopping operations on 37 data channels using the channel selection algorithm. Even though some previous routing algorithms for unofficial BLE mesh have taken 37 data channels into consideration, they were connection-oriented methods, which would bring an unacceptable delay by frequent connection establishments. Introducing TSCH (Time Slotted Channel Hopping) [7] to efficiently utilize channel resources by frequency-hopping operation needs a network-wide time synchronization at the beginning, which can cause an entire network collapse due to time synchronization errors, and a large delay can be brought by waiting for time slots when delivering packets. Fourth, how to enable the routing algorithm more flexible and adapt to dynamic changes in mesh networks is challenging. Bluetooth Mesh can be easily applied to a dynamic network for its flexibility of managed-flooding. Conversely, topology changes can seriously affect routing networks' performance because frequent routes updating will interrupt communications and degrade network performance. Ad-hoc On-Demand Distance Vector Routing (AODV) [12] is a routing algorithm widely used in wireless mesh networks. It utilizes HELLO packets and RERR packets to cope with topology changes, which requires a relatively large traffic overhead to restore routes.