BLEX
Eunjeong Park, Hyung‐Sin Kim, Saewoong Bahk
Abstract
This work investigates a run-time scheduling system for Bluetooth Low Energy (BLE). The Bluetooth specifications propose control of the anchor point (i.e., start time of each connection event) by changing the WinOffset parameter of the control protocol data unit (PDU), which can be very useful when the master schedules multiple connections simultaneously. Since we had no access to the controller (i.e., which wraps the physical layer and link layer of Bluetooth), we could not figure out how WinOffset works or use it the way we wanted. However, with Zephyr's advent, there is room to modify the controller of BLE, and we can adjust anchor points as we want using WinOffset. To the best of our knowledge, this work is the first systematic study of this regime in the research community. We experimentally study how commercial devices actually schedule multiple connections and how this inefficient scheduling degrades BLE's performance. Based on the preliminary study, we propose BLEX that dynamically adjusts anchor points of multiple slaves to satisfy quality of service (QoS) requirements without violating the Bluetooth specifications or intervening the BLE host (i.e., software-defined higher layer). Through extensive performance evaluation on off-the-shelf BLE chips, we show that BLEX provides stable performance regardless of the traffic requirements of applications and shows significantly reduced QoS failures compared to the state-of-the-art scheduling schemes for BLE.