# RESEMBLE: A Real-Time Stack for Synchronized Mesh Mobile Bluetooth Low Energy Networks
## 3 Overview of the Bluetooth Mesh Architecture
### Limits of Bluetooth Mesh in Supporting Real-Time Communications
#### 3.1.1 Bluetooth Low Energy v.4.2  
The BLE 4.2 [30] specifications for connectionless message transmissions define the Broadcast/Observer communication paradigm, in which the Broadcast transmits the advertisements (ADVs) containing data and the Observer receives them (the Broadcast and Observer roles can alternate). For the ADV transmission, the specifications allow for the adoption of only 3 of the 40 channels available in BLE. The ADVs are transmitted within a time interval called an advertisement event, as depicted in Figure 2. Within an advertisement event, multiple ADVs can be transmitted, each one being transmitted on a different channel (starting with the first channel reserved for the ADVs). The time interval between two consecutive ADVs within the same advertisement event has to be lower than or equal to 10 ms.  
The advertisement event periodically repeats with period \(T_{advEvent}\). This period is the sum of a constant time and a pseudo-random time, as shown in (1)  
\[T_{advEvent}=advInterval+advDelay \tag{1}\]  
where _advInterval_ is a constant in a range between 20 ms (100 ms in the case of non-connectable ADVs) and 10.24 s and varies in steps of 0.625 ms. Instead, _advDelay_ is a pseudo-random time between 0 and 10 ms that is calculated at every advertisement event. As far as the Observer role is concerned, a reception window is defined, called a _scanWindow_, which periodically repeats with period _scanInterval_. Both the _scanWindow_ and the _scanInterval_ can be configured in a range from 0 and 10.24 s, with _scanWindow_ lower than or equal to _scanInterval_.  
Using the Broadcaster/Observer paradigm described above, there is no synchronization between the transmissions of nodes. This entails a high probability of message collisions, as the ADV transmissions from two or multiple nodes may overlap. Looking at the example in Figure 3, there are two Broadcasters (B1 and B2) that transmit ADVs (for  
Figure 2: Advertisement event.  
the sake of simplicity, we assume that a single message can be transmitted within each advertisement event). The Observer (O1) will not receive any message during the first two advertisement events of both the Broadcasters, as the messages collide. At the third advertisement event, the Observer will receive both messages.  
The example presented in Figure 3 shows that the ADV transmission mechanism defined in the BLE specifications is a source of non-determinism. In fact, the only component that avoids the indefinite repetition of collisions is a random interval (i.e., advDelay), and this leads to unpredictability, as the nodes that caused a collision may cause collisions again. Moreover, as there are only three advertisement channels (fixed by the standard) and their use cannot be controlled for each message (as they are used in sequence within an advertisement event), the collision probability remains high. The BLE specifications, in the case of ADV transmissions, do not provide any acknowledgement mechanism, so the error management is delegated to the upper layers.