Bluetooth Mesh Analysis Issues and Challenges
Bluetooth Mesh Analysis Issues and Challenges
fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Date of publication xxxx 00, 0000, date of current version xxxx 00, 0000.
Digital Object Identifier 10.1109/ACCESS.2017.Doi Number
ABSTRACT BLE is a widely used short-range technology which has gained a relevant position inside the Internet-of-
Things (IoT) paradigm development thanks to its simplicity, low-power consumption, low-cost and robustness. New
enhancements over BLE have focused on supporting mesh network topology. Compared to other mesh networks, BLE mesh
has only considered a managed flooding protocol in its first version. Managed flooding may generally seem inefficient in many
contexts, but it is a high desirable option when data transmission is urgent, the network is small or its configuration changes
in a very dynamic way. Knowing the interest to many application contexts, this paper analyses the impact of tweaking several
features over the reliability and efficiency of the mesh network. These features are configured and controlled in different layers:
message repetition schemes, the transmission randomization, the election of a scheme based on an acknowledged or
unacknowledged transmission, etc. In order to estimate the real performance of a mesh network deployment, this paper
evaluates the effects of the interaction of the chosen parameters, their appropriate adjustment in relation with the characteristics
of real implementations and the true overhead related to the whole protocol stack. The paper identifies configuration
challenges, proposes network tuning criteria and outlines possible standard improvements. For this purpose, a detailed
assessment on the implementation and execution of real devices has been performed with their chipset limitations.
INDEX TERMS Bluetooth Low Energy, wireless mesh networks, BLE mesh, managed flooding,
performance.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
necessary step. The Bluetooth Special Interest Group (SIG) flooding) may be contemplated to adapt the system to the
has formed the Bluetooth Smart Mesh Working Group to work network conditions in many scenarios.
on the standardization of such capabilities for BLE [4]. In fact, Knowing that flooding-based configurations (core of the
it is remarkable that mesh functionalities are not a part of the current specification) are of interest to many application
core Bluetooth standard [5]. contexts, the main objective of this paper is to identify
Compared to other mesh networks or protocols (including configuration challenges, propose network tuning criteria and
ZigBee, Thread, Z-Wave, WiFi) that use routing techniques, outline possible standard improvements. For this purpose, a
the BLE SIG has only considered a flooding protocol in its detailed assessment on the implementation and execution of
first version. Indeed, a managed flooding, halfway between real devices has been performed with their chipset limitations.
the basic flooding and routing. Nevertheless, the SIG A key point of BLE mesh is that it is defined to work over
specification itself contemplates the short-term incorporation BLE core specification. Mesh PDUs are transported between
of a routing mechanism [4]. The absence of a standardized and nodes using the advertising bearer, and specifically using
efficient algorithm limits BLE suitability for a variety of simple non-connectable and non-scannable undirected
applications in spatially distributed networks. In fact, the advertising events. Nevertheless, the structure of those packets
success of Bluetooth mesh depends on the ability to provide and timing transmission parameters need to be adapted to
unique features and the possibility to address a wider range of mesh transport requirements. For instance, adaptations and
applications, equaling or exceeding those offered by randomization on advertising intervals and passive scanning
competing technologies. This is the reason why there are many with a duty cycle as close to 100 percent as possible in order
proprietary and academic solutions in order to include routing to avoid missing any incoming mesh messages or PDUs are
[6][7][8]. Flooding is not the only difference between BLE required. However, BLE devices present non-idealities in their
and other mesh networks. Mesh is built on top of BLE, just operation that need to be well characterized. Often, BLE
using its advertising/scanning states. It does not use the devices present blind times linked to decoding or switching
Internet Protocol (IP) either. frequency functions, which prevent a real continuous scanning
Comparison between BLE and the competing technologies and may result on higher PDU loss rate than expected.
for IoT, or between flooding and other routing alternatives, is The reliability and efficiency of the mesh network depend
not the matter of this paper. Overall characteristics, strengths on several features such as message repetition schemes, the
and limitations of flooding and routing are widely known. transmission randomization, the election of a scheme based on
Routing is robust and consumes little energy, but implies high an acknowledged or, alternatively, on an unacknowledged
delay and finding an optimal route is challenging. On the other transmission, which are configured and controlled in different
hand, advantages of flooding are its simplicity, redundancy layers of the protocol stack. Besides, to estimate the real
and that it does not require computing routing tables. Any new performance of a mesh network deployment it is necessary to
message is forwarded by multiple relay nodes. However, the understand the effects of the interaction of the chosen
number of relay nodes and retransmissions should be limited parameters sets at the several involved layers on mesh
and finely tuned to control congestion, which results in packet specification (configuration needs be considered jointly to
loss and high delays due to the contention-based access. achieve the best performance), their appropriate adjustment in
Otherwise, this yields high energy consumption and relation with the characteristics of real implementations (for
congestion, the main drawback of flooding. The managed instance, cache and buffering capacities are not ideal, and in
flooding option considered by BLE improves basic flooding fact, very limited values are often present in real chipsets ), and
operation by adding some optimizations. Important examples the true overhead related to the whole protocol stack. Covering
are time-to-live (TTL) stamps, message caching, heartbeat and discussing all these points are the contributions of this
messages and friend node features. Although flooding and work.
even managed flooding may generally seem inefficient in The rest of the paper is organized as follows. First, section
many contexts, it is a high desirable option when data II briefly introduces the reader to the BLE mesh concept,
transmission is urgent, the network is small or its configuration topology, terminology and required features. Section III
changes in a very dynamic way. This is the case, for instance, describes key design parameters linked to bearer services,
of lighting applications. Currently, the main focus of the network mesh layers and involved overhead. In section IV, we
flooding based BLE mesh standard are lighting applications, analyze the interactions of the adjustable functions and
for the sole reason that it is easy to apply in these systems. parameters. In some cases, the analysis allows us to provide
Nevertheless, it can work for other applications. The standard configuration suggestions and, in other cases, it allows to
also defines a set of models for the operation on scenarios such identify open points that need further study. Section V briefly
as device configuration and sensor readings. Actually, includes other additional research challenges linked to mesh.
dynamic switching between the two options (routing and Finally, in section VI we give some concluding remarks.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
b) Client/Server states
Models
a) BLE mesh node types and topology.
Foundation models
Access Layer
BLE Scanner
Upper Transport Layer
Sca nning: Ch 37 Sca nning: Ch 38 Sca nning: Ch 39
Sca n Inteval t Lower Transport Layer
BLE Advertiser Network Layer
t Bearer Layer
Advertising PDU: Ch 37
mesh nodes use a 100% duty cycle
Advertising PDU: Ch 38
Scan Interval=Scan Window Advertising PDU: Ch 39
Bluetooth Low Energy
d) BLE advertising and scanning process c) The BLE mesh layered architecture
II. OVERVIEW OF BLUETOOTH MESH BASIS AND a message to a certain address. If this address is unicast, the
ARCHITECTURE destination is a single element inside a node (e.g. node F) and
In this section, we will introduce the key aspects that it is automatically processed by this element upon reception.
characterize Bluetooth Mesh [9]. Understanding BLE mesh But, when a group/virtual address is used, elements that are
networking first requires to define the terminology present in interested in receiving the messages will subscribe to such
the standard, related with the BLE mesh concept and topology, group/virtual address, and only they would process that
and the required features to support them. An illustration of a message (for example, all lamps in Fig. 1.a).
mesh network, including the main terms and concepts that will Following with the terminology, nodes have a number of
be used along the paper, is shown in Fig. 1.a to ease its reading. optional features, giving them special capabilities:
Devices which are part of a mesh network, specifically Relay Node: A node that receives and then retransmits mesh
devices that are able to transmit and receive messages in a messages over the advertising bearer to enable larger
mesh network, are called “Nodes” or “provisioned devices”, networks, using a managed flooding process. In this way, a
and those which are not are called “unprovisioned devices”. node supporting the relay feature broadcasts messages to all
The “provisioning process” is the mechanism that transforms nodes within its range but with a couple of optimizations:
an unprovisioned device into a node. messages have a Time-To-Live (TTL) assigned which gets
Additionally, an “Element” is an addressable item within a decremented with each retransmission. So, a message is only
device/node. A node is required to have at least one element retransmitted when its TTL is greater than one. And,
(e.g., a light bulb, a security camera, smoke detector, additionally, the messages are cached. Therefore, a received
temperature sensor, etc.). But, in fact, a device (“node”) could message that already exists in the cache is automatically
be composed of several elements (e.g., a light fixture discarded and not retransmitted.
composed by multiple light bulbs which can be turned on/off Low Power Node (LPN) and Friend Node: A low power
independently). Concerning the exchange of data between node is a node that has the ability to operate within a mesh
elements, it follows a publish/subscribe paradigm, and three network at significantly reduced reception duty cycles. In
types of addresses are contemplated: unicast, group and virtual general, they are nodes that need to preserve energy as much
addresses. The sender (e.g., node A in Figure 1.a) “publishes” as possible. Usually, they are nodes that spend most of their
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
time transmitting data, that is, they are senders (e.g. a acknowledgement, or independently as an unsolicited
temperature sensor that sends data periodically or above a message. A node may include multiple models, while
threshold), although occasionally can receive messages. In elements may be recognized as a server, client or control
order to enable a LPN to reduce its receiver duty cycle and element.
save energy, it needs a friendship relationship to another node, Server is an element that implements the configuration
called “Friend Node”. The friend node, supporting the friend server mode. This mode provides a device with the ability to
feature, provides assistance to a LPN in reception, by storing be configured concerning various aspects (destination address
and forwarding messages destined to that node. Forwarding by to use when publishing messages or address subscribed to,
the friend node is made on demand, when the LPN polls the parameters relating the periodic message publication, features
friend for messages awaiting delivery. like relay, LP o proxy roles), typically using an application that
Proxy Node: A node supporting proxy feature is able to will implement the configuration client model (e.g. in Fig. 1.a,
relay/forward messages between non-mesh Bluetooth devices all the nodes except node A).
and a mesh network. Client is an element that implements the Configuration
Provisioner node: A device that is capable of adding a Client model, i.e. a node that can change and monitor the
device to a mesh network (provisioning process/feature), configuration parameters of other nodes. It defines the
providing among other information the necessary security messages which it may send or receive to GET, SET or acquire
keys. The provisioning process starts when an unprovisioned the STATUS of states defined in the servers. That is, an
device sends mesh beacon advertisements announcing its element exposing a state is referred to as a server and an
availability to be configured. When the provisioner detects this element accessing a state is referred to as a client (see Fig. 1.
device, it sends an information request to this unprovisioned b).
device about supported security algorithms, number of Control is an element that contains both a server model and
elements the device supports, public key parameters, etc. a client model.
Next, it starts the public key exchange (DevKey) and
authentication between the device and the provisioner over a A LAYERED STACK OVERVIEW
Bluetooth connection, other technology such as Near Field Bluetooth mesh has been designed as a layered architecture
Communications (NFC) or even a QR (Quick Response) code. with BLE 4.x backward compatibility. Thus, all certified
Once the authentication is complete, they exchange the Bluetooth Smart or Smart Ready devices could interact with a
provisioning data defined for that network: network and Bluetooth mesh network with suitable modifications to their
application keys, unicast address, default TTL, IV index, etc. software/firmware. Fig. 1.c) shows the layered stack. The
When it is necessary to sell/change/dispose a node from a main characteristic of the standard is that it is built on the top
mesh network it is important to remember that it contains these of the full BLE stack (physical and link layer). Data is
security keys and should be removed properly from the mesh transmitted consecutively on channels 37, 38, and 39 reserved
network. for all non-connected state communications (see Fig. 1.d) and
Finally, each node supports a set of configuration states that using non-connectable and non-scannable undirected
concerns the node capabilities and behavior within the mesh. advertising events, with some adaptations. On the top of this
For example, the features supported by the node (proxy, relay mesh stack, an application is implemented, being one of the
and so on), the addresses the node has subscribed to, the most important key points of BLE mesh to standardize the
security keys, the conditions under which an element can be specification of device behaviors according with the Model
found and their representation by a state value, etc. paradigm introduced above. To support it, the standard
Within BLE mesh specification, the model paradigm and, follows a layered architecture covering all the OSI layers from
specifically, the term model organizes all these aspects. It the application layer to the physical layer, in such a way that
addresses data among nodes for supporting applications in full BLE mesh stack concerns with: 1) How to define and
different scenarios and the definition of the behavior of nodes implement these models; 2) How to address and deliver data
associated with the functionality. That is, similarly to the across the mesh network; 3) How to abstract the underlying
profiles in Bluetooth Classic, Bluetooth Mesh has its own BLE Core [4] specification towards the layers above through
specification for the so called models [9]. It completely defines the so called bearer concept.
the operation of typical usage scenarios for some specific We will concisely review each layer of the mesh
functionalities, e.g., lighting or sensors. Elements can be in architecture from top to bottom.
different states which also have associated properties. For
1) Model layer: Concerns the implementation of models and
example, a light may be represented through the Generic
as such, the implementation of basic functionality of the
OnOff state. It is remarkable that generic states are reusable
nodes (behaviors, states, messages, and so on) in a specific
and allow a quick creation of new models. States can be
and standardized application scenarios such as lightning
managed by means of messages that can be of three types:
and sensor. Each model is a part of the application and
GET and SET to request and change their value and the
jointly with it and the foundation layer, they form a whole
STATUS message. The latter is sent as a GET response, a SET
representation of the device.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
2) Foundation Model Layer: It is responsible for the repetition may be controlled by several redundant processes,
implementation of those models concerned with the managed by different parameters. In addition, BLE mesh
configuration and management of a mesh network. supports transmission of unacknowledged and acknowledged
3) Access Layer: It defines how higher layer applications can messages.
use the more technical layers below (upper transport The interaction between these processes and with flooding
layer). It defines the format of the application data; it configuration parameters needs to be evaluated. In this section
defines and controls the application data encryption and we will first define all the relevant procedures and parameters
decryption performed in the upper transport layer; and it which affect the delivering data process across the mesh
checks whether the incoming application data has been network. The analysis of the effects of the interaction of the
received in the context of the right network and application chosen parameters setting will be included in section IV.
keys before forwarding it to the higher layer. 1) PROTOCOL STACK OVERHEAD ESTIMATION
4) Upper Transport Layer: The upper transport layer Data is transmitted in sequence using at least one of the three
encrypts, decrypts, and authenticates application data and advertising channels, while data transport capacity is limited
is designed to provide confidentiality of access messages. by the advertising packet size and overhead introduced by the
5) Lower Transport Layer: It defines how upper transport whole protocol stack from the bearer to the access layer.
layer messages are segmented and reassembled into Although messages are usually short enough to be transported
multiple lower transport Packet Data Units (PDU). in only one ADV frame/PDU, segmentation could be also
6) Network Layer: It defines how transport layer messages required. In any case, we will see that a low percentage of
are addressed towards one or more elements. It defines the ADV PDU contains relevant data.
network message format that allows Transport PDUs to be Fig. 2 shows an example of a non-connectable undirected
transported by the bearer layer. The network layer decides advertising event. The payload length for this advertisement
whether to relay/forward messages, accept them for further type is limited to 37 bytes. Nevertheless, the first 6 bytes of
processing, or reject them. That is, relay and proxy features this payload are used to transmit the advertising address and
may be implemented by the network layer. It also defines the rest (31 bytes) must follow a concatenation of one or
how a network message is encrypted and authenticated. several specific structures (ADV structures). Each ADV
7) Bearer Layer: It is the last layer before accessing the BLE structure is composed by a 1-byte length field and another 1-
core. It defines how network messages are transported byte type field. For the specific case of mesh messages, the
between nodes. At the moment there are two bearers type should be 0x2A as defined in [10]. Summarizing, this
defined, the advertising bearer and the Generic Attribute provides a maximum transport capacity for upper layers of 29
Profile (GATT) bearer. The advertising bearer is the bytes from the total 47 bytes.
preferred bearer to deliver messages on a mesh network Fig. 3. depicts the PDU structure at the different layers
and defines the configuration and new content in non- defined in the mesh profile specification [4]. The Network
connectable advertising PDUs and scanning configuration. Layer defines how packets are addressed over the network. It
On the other hand, the GATT bearer is provided to enable defines the structure to handle the parameters that allow the
devices that are not capable of supporting the advertising relaying functionality and network layer authentication using
bearer to participate in a mesh network. The GATT bearer the NetKey. At this point, the following fields are needed:
uses the Proxy protocol to transmit and receive Proxy
PDUs between two devices over a GATT connection. IVI: Least significant bit of the Initialization Vector Index.
Note that Bluetooth mesh networking was designed with NID: Network Identification.
security as one of its main priorities and it is mandatory: all CTL: Indicates the type of message (Access/Control).
Bluetooth mesh messages are encrypted and authenticated. In TTL: Time-To-Live.
fact, it has different keys to address independently different SEQ: Sequence number.
concerns: network security (NetKey), application security SRC: Source element address.
(AppKey) and device security (DevKey). For example, being DST: Destination element address.
in possession of a NetKey allows a node to decrypt and Transport PDU: Next layer data.
authenticate messages up to the Network Layer to enable, for NetMIC: Network Message Integrity Check (MIC).
instance, relaying. However, this key does not allow data to be When transmitting an access message (CTL = 0) the
decrypted and an additional AppKey would be required in this NetMIC is reduced in 4 bytes because an additional MIC is
case. added at the transport layer (TransMIC, Message Integrity
III. BLE MESH PDU TRANSPORT BASIS Check for Transport).
Good throughput estimation requires to take into account The Lower Transport Layer defines a reliable transmission
real packet overheads linked to the whole protocol stack mechanism for Upper Transport PDU. To transmit Upper
specification and time overheads associated to the delivering Transport PDUs larger than 15 bytes (11 bytes excluding
process across the network. On the other hand, the reliability TransMIC), the lower transport layer segments and
of the network is based on repetition of messages. But reassembles them on the receiver.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
≤ 10 ms ≤ 10 ms
t adv
Header Payload
2 Bytes 37 Bytes
Version 5.x
Length Type AD Data (Network PDU)
1 Byte 1 Byte 1‐ 29 Bytes
0x2A
«Mesh Message»
FIGURE 2. Use of BLE advertisements to send mesh messages
Concerning the Upper Transport Layer, it takes internally advertisement, a 21% efficiency. As an example, we provide
generated Upper Transport Layer Control messages (up to 256 the composition of the SET and STATUS messages for the
bytes PDU payload size) or access messages (up to 380 bytes Generic On/Off model in Fig. 3. It can be seen that only six
PDU payload size). Access messages include a TransMIC, and five bytes are needed, respectively.
which allows the authentication and encryption using the When the PDU requires segmentation, it is necessary to take
AppKeys. Note that when the Upper Transport Access into account the limitations of the bearer. The time between
message is segmented at Lower Transport layer, the segments is greater or equal than 20 ms and, therefore, the
TransMIC is present only in the last segment. So, taking into transmission efficiency is reduced even more.
account that the field SegN (Segment Number), which 2) BLE ADVERTISEMENT EVENT ADAPTATION TO
indicates the number of the current segment, has only 5 bits, it MESH
is possible to send up to 31 segments of 12 data bytes and the Bluetooth mesh preferably uses advertising bearers, based on
last with up to 8 data bytes. In conclusion, with Bluetooth non-connectable and non-scannable advertising packets. A
mesh it is possible to transmit up to 380 data bytes from Upper bearer is composed by the transmission of one advertising
Transport Layer. Yet, in the unsegmented case, the maximum PDU in sequence (advertising event) using at least one of the
available payload is only 11 bytes from the 47 bytes that three advertising channels (channel 37, 38 and/or 39).
composed the BLE advertisement. In addition, every Access The time between the beginning of two consecutive
Layer PDU, containing the Application data, shall be formed Advertising PDUs within an advertising event shall be less
by an operation code (OpCode) plus some parameters. The list than or equal to 10 ms. The time between the start of two
of the operation codes can be found in section 4.3.4 of [9]. The consecutive advertising events (affected by the imposed
OpCode can have one byte (special messages), two bytes timing restrictions within the event) is controlled by the
(standard messages) or three bytes (vendor specific). advInterval parameter (≥20 ms) plus a random variable
Therefore, at least one byte should be subtracted to this between 0 and 10 ms.
maximum of 380 bytes. That is, according to core BLE specification, the Link Layer
At the moment of this writing, most of the defined models may enter in Advertising state, being possible to send several
use GET, SET and STATUS messages that are shorter than 11 advertising PDUs in consecutive advertising events. Related
bytes. Hence, they can be sent in a single unsegmented access to this, we note that reliability of managed flooding mesh
message. As a result, the maximum user available payload is networks could be improved by the repetition of Network
only 10 bytes from the 47 bytes that composed the BLE PDUs (this implies to use several advertising events).
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
Network PDU
CTL
IVI
Access message
CTL
IVI
Control message
SEG
AID Upper Transport Access PDU 1‐ 11 Bytes TransMIC 4 Bytes OpCode Parameters 0‐ 11 Bytes
RFU
SEG
AID SeqZero SegO0SegN Segment 1‐ 12 Bytes OpCode SeqZero SegO0SegN Parameters 1‐ 8 Bytes
SZMIC
AKF
SEG
RFU
SEG
AID SeqZero SegO1SegN Segment 1‐ 12 Bytes OpCode SeqZero SegO0SegN Parameters 1‐ 8 Bytes
SZMIC
AKF
SEG
RFU
SEG
AID SeqZero SegOnSegN Segment 0‐8 Bytes TransMIC 4 Bytes OpCode SeqZero SegO0SegN Parameters 1‐ 8 Bytes
Nevertheless, mesh specifications indicate that BLE Link receiving a mesh Network PDU and relaying a Network PDU
Layer shall exit the Advertising State within the advertising to avoid collisions between multiple relays that have received
interval. That is, only one advertising event can be completed. the Network PDU at the same time.
This means that repetition of Network PDUs will not be Lastly, according to the specifications, all devices
supported by configuring the duration of the advertising state supporting only the advertising bearer should be scanning with
(link layer configuration). Instead, repetitions will be a duty cycle as close as possible to 100%. However, many
controlled by timers and parameters defined in the Network gaps affect the scanning process, disabling the radio reception:
layer, being the advInterval parameter the minimum threshold 1) time to switch between scanning channels; 2) time required
for the defined parameters at this layer. Note that core 4.2 does to process the message (Network PDU contained on the
not consider interleaving advertising events linked to various ADV). After receiving it, the receiving node passes the
Network PDU transmissions. Thus, repetitions controlled at message, at least, up to the network layer (if this node is not
the link layer level when a node is involved in transmission the destination, no matter it was a relay or not) or up to the
or/and retransmission of several Network PDUs may not be application layer (if the node is the destination), where other
very flexible. However, from Bluetooth 5.0 onwards it is events could be triggered (for example, sending an
possible to intercalate different advertising events. acknowledgement to the source node). In addition, when a
Advertising data belonging together are called an advertising node acts as relay node, scanning is affected by the required
data set. The Link Layer may support multiple sets, with each time to send the relaying message on the advertising channels.
set having different advertising parameters such as advertising 3) BASIC MANAGED FLOODING SUPPORTING
PDU type, advertising interval, and PHY. This feature can be PARAMETERS ADN ADV PROCESSING
used as an improvement in future mesh specifications. In fact, BLE mesh uses managed flooding technique, supported by
it could allow time between the start of two consecutive two main features. Each message includes a TTL value that
advertising PDU corresponding to different sets lower than 20 limits the number of times a message can be relayed and to
ms. avoid unnecessary retransmissions, the nodes maintain a cache
In addition, out of specification, the standard recommends of the last received messages. The Bluetooth mesh
that a small random delay should be introduced between specifications do not provide a specific value for the cache. It
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
just requires it to be fixed to a value greater than one. 4) RELIABILITY AND MESH NETWORK PARAMETERS
However, the flooding efficiency, in addition to timing gaps, The reliability of the network is based on the relay and
linked to the relay processing algorithm, are affected by repetition of the messages according to three different
chosen cache capacities. A low value for the cache in a dense procedures and parameters, which could be redundant. One of
network makes the flooding algorithm ineffective because the them controlled by the model related layers and the other two
cache is renewed too fast. On the other side, if this value is by the network layer.
increased, the processing delay and blind times also increase. At the model level, as many replicas of an access packet
The Network PDU processing process is summarized in (containing the model messages) are generated as the
Fig. 4. Starting from the ADV detection, the receiver parameter Publish retransmit count establishes. These replicas
synchronizes during the preamble and makes the bit decision. are spaced between them depending on the Publish retransmit
Then, a de-whitening of the data is made with a sequence that interval steps (Pris) parameter (5-bit value), being the
depends on the frequency of the current scanned channel. retransmission interval equal to 𝑃𝑟𝑖𝑠 1 50 ms.
Next, the checksum is calculated and if it matches, the Additionally, at the network layer, when a managed
advertisement data type is checked to determine whether it is transport PDU (containing a segment or unsegmented access
a mesh message or not. or control PDU) is originated in a node (source), it should be
The next step is to determine if the message belongs to the repeated several times as the parameter Network transmit
same network as the node by checking the NID and NetMIC. count establishes and the space between these repetitions
At this point, a crucial step is to check whether the message depends on the Network transmit interval steps (Ntis). Ntis is
has been received previously, i.e., it is present in the cache. If a 5-bit value, being the transmission interval equal to
not, the message should be added to the cache and its 𝑁𝑡𝑖𝑠 1 10 ms.
processing should be continued. But, if it is in the cache, it Finally, also at the network layer, but linked to the relay
should be automatically discarded. feature, if the message comes from another node and needs to
Next, if the DST address is the unicast address of one of the be relayed, the Relay retransmit procedure is applied. Similar
elements in the node, the message should not be relayed and to the previous Network transmit, this procedure has two
directly is passed to the upper layer. parameters: Relay retransmit count and Relay retransmit
The relay processing algorithm should check whether the interval steps (Rris). Rris is a 5-bit value, being the
TTL is greater than one. If true, the TTL should be retransmission interval equal to 𝑅𝑟𝑖𝑠 1 10 ms.
decremented, the message added to a relay queue and Note that, according to the mesh specification, the
scheduled for a future transmission. minimum interval for the network transmit and relay
Finally, the DST address is checked again, to see whether it retransmit states are 10 ms. But the bearer may impose
matches one of the subscribed addresses of that node. If not, restrictions on the set of intervals that it considers valid, for
the process is terminated and the node should wait for the example, according with advInterval. Currently, the minimum
reception of the next ADV event. On the contrary, the message required values of Rris and Ntis are one. Furthermore, at the
is delivered to the next layer, reassembled if necessary and the link layer, each transmission managed by Ntis or Rris should
TransMIC calculated and checked before being passed to the be perturbed by a random value from 0 to 10 ms from the
application layer. previous transmission. Random time value is not required to
be added to the publish retransmission interval. Specification
Wait Adv
event
Packet
Demodulation
Transport PDU
Processing
sets that upon receiving a network PDU at the Advertising
Packet Packet Network PDU Bearer Network Interface that is not tagged as relayed from
Processing Reassembling
Demodulation detection
the network layer (this is the case of the network PDU
associated to the publish retransmit), it shall transmit the
Check NID NO
CRC NO Synchronization Segment
OK? End?
Bit decision
NID OK?
NO
Calculate
Network PDU over the advertising bearer using the value of
PHY PDU
Processing
Calculate
TransMIC
the Network Transmit state, which includes Ntis and the
Mesh? NO Other Process
De‐whitening NetMIC
Return random time requirement between each transmission. It is not
Calculate
Checksum
NetMIC
OK?
NO
clear that random affects the first transmission, but
Network PDU
Processing
Relay Processing
measurements performed with real devices implement it,
Extract DST
Valid
PDU?
NO
Return PHY PDU
NO
according with Fig. 5. In any case, it is desirable that
TTL>1?
YES PHY PDU
Is in
Cache?
YES
consecutive advertiser transmissions will be affected by a
My
Addr? Processing
TTL=TTL‐1 random time.
Add Cache
Relay
Processing
Extract
Network PDU Add Queue To better understand these procedures there is an example
Relay
depicted in Fig. 5, assuming that unsegmented access
Return
Transport PDU
YES Check Type & DST or error
Subscr Transport PDU Schedule for
Addr? Processing Tx messages are required for the application layer. In this
example, the first node receives a trigger/event from the
Return Type &
Application Network PDU Return
PDU
Processing
application layer that implies the transmission of one
unacknowledged message (model layer) to another node. The
FIGURE 4. ADV processing block diagram
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
Event Seq: 8 8 9 9
Generation TTL: 30 30 30 30
Node 1
t (ms)
ASAP (Ntis+1) ×10+rand10 (Ntis+1) ×10+rand10
(Pris+1) ×50 rand
Seq: 8 8 8 9 9 9
TTL: 29 29 29 29 29 29
Node 2 /Relay
t (ms)
rand (Rris+1) ×10+rand10 rand (Rris+1) ×10+rand10
(Rris+1) ×10+rand10 (Rris+1) ×10+rand10
destination address is supposed to be a group address or a Network transmit and Relay retransmit processes are
unicast address not belonging to the elements of Node 1 or repeated at node 1 and node 2.
Node 2. Thus, Node 2, which has the relay feature enabled, 5) ACKNOWLEDGED MESSAGES
should relay the message. For this example: As previously indicated, BLE mesh supports transmission of
Publish retransmit count = 1 unacknowledged and acknowledged messages at the model
Network transmit count = 1 related layer. When the unacknowledged option is set,
Relay retransmit count = 2 reception is not ensured. The advertising bearer does not
The transmission of the message should be scheduled by the include acknowledgements. Nevertheless, the managed
lowest layers as soon as possible. In the example, this would flooding protocol has an implicit redundancy. It allows the
be the first group of three blue bars representing the three nodes to receive multiple copies of the original packet and
advertisement channels. This message is supposed to be set repetitions controlled by parameters defined above. However,
with a sequence number SEQ = 8 and a TTL = 30 at the the redundancy level depends on node configuration. This
network layer. Almost at the same time, the publish must be suitable to the deployment scenario and traffic.
retransmission message is generated and buffered. Now, the When a receiver gets a message requiring acknowledgment,
network layer tag the corresponding transport PDU with it usually replies back with a STATUS message. This message
SEQ = 9 and TTL = 30, and the link layer schedules its is treated as any other, just having some timing differences.
transmission 𝑃𝑟𝑖𝑠 1 50 ms later. For instance, Fig. 6 represents an example of two nodes
When the first packet is effectively transmitted by node 1, exchanging messages with acknowledgement. In this
following the Network transmit procedure, a repetition of this example:
message (SEQ value remains equal to 8) is scheduled for Publish retransmit count = 0
𝑁𝑡𝑖𝑠 1 10 𝑟𝑎𝑛𝑑 0,10 ms later. When the packet is Network transmit count = 2
received and decoded by node 2 the Relay retransmit Relay retransmit count = N/A (No relay)
procedure starts. Then, the standard recommends to introduce
a small random delay to avoid collisions between relays. In The process is very similar to the previous example. The
Fig. 5 we include this delay before transmitting the first main difference is that when the packet is received and
relayed packet (SEQ = 8 and TTL = 29) and the second processed at node 2 a new event in response is generated. This
repetition (SEQ = 8 and TTL = 29) is scheduled 𝑅𝑟𝑖𝑠 1 event schedules the transmission of the acknowledgment
10 𝑟𝑎𝑛𝑑 0,10 ms later. Note that prior to the message (SEQ = 67) after a random delay (randACK). When the
transmission of this second packet, node 2 receives again a acknowledgement is the response to a message that was sent
packet with SEQ = 8 and TTL = 30 from node 1. This to a unicast address, randACK should be between 20 and 50 ms.
reception is discarded because it was already in the cache. But, if it was sent to a group address or a virtual address,
Finally, when the second relayed packet is transmitted, the randACK should be between 20 and 500 ms to reduce the
third and last one is also scheduled. All these relayed packets probability of collisions. Note that, if Publish retransmit count
are received and discarded by node 1. is greater than 0, at this moment another packet should be
Next, node 1 generates a new packet with SEQ = 9. This is
due to the Publish retransmit procedure. Thus, the same
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
generated and scheduled following the Publish retransmit connectable advertising packets. These packets are sent
procedure as explained before. periodically to allow the reconfiguration of the network.
Event Seq: 8 8 8
For example, in the Nordic BLE mesh implementation the
Generation TTL: 30 30 30 devices present a blind time of 15 ms within periods of 2 s
Node 1 as can be seen in Fig. 7.
Event Seq: 67 67 67
Response TTL: 30 30 30
Node 2
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
Seq: 18 18 19 19
TTL: 30 30 30 30
Node 1
Scanning
Channel 37 Event Event t (ms)
Generation Generation
Seq: 43 43 44 44
TTL: 30 30 30 30
Node 2
Scanning
Channel 39 Event Event t (ms)
Generation Generation
Seq: 18 18 43 43 44 44
TTL: 29 29 29 29 29 29
Node 3 /Relay
Scanning
Channel 37 t (ms)
Relay buffer 18 43 18 19 43 18 43 44 43 19 44 43 44
4
period defined after the previous Network PDU process. operation. General discussion about Publish, Network and
Secondly, the random period, if defined, is small. Thus, it is Relay repetition count parameter setting will be included later.
expected that the probability of receiving more than one PDU In Fig. 8 we depict an example scenario showing the
in the random period is low. The minimum configurable behavior of a relay node, according with a buffer real
advInterval is 20 ms, so, buffering more than one PDU is only implementation, where the buffer is able to store just two
required when the relay node is involved in relaying PDUs messages. Fig. 8 represents in an easy and visual way the result
from different source nodes. of a real monitoring of chipsets obtained in laboratory
If no repetitions are configured in the network, buffering measurements.
more than one packet is only required when the relay node At the lower right of the figure the topology and layout of
receives inputs from different source nodes. Nevertheless, the nodes is represented. Node 1, node 2 and 4 are out of
when repetitions are configured, the relay node stores a coverage from each other. Node 1 and node 2 generate data
received Network PDU until all repetitions are completed. with destination to node 4. Applications at node 1 and 2
That is, if R relay repetitions are configured (Relay generate unacknowledged messages. The data reaches this
retransmit count is equal to R), the time is node through node 3, which acts as a relay. We do not make
R×[(Rris+1)×10+rand(0,10)] ms. This means that the use of the Publish retransmit procedure (Publish retransmit
probability of receiving a new Network PDU in this period count = 0). However, the Network transmit count and Relay
is significantly greater, and thus, if the buffer size is limited, retransmit count are configured to a value of 1. This means
PDU discarding probability may be high.
that when a new event is generated at the sources or a packet
Relay repetition could improve the reliability of one
is received at the relay the packet is transmitted twice in both
message node, since it provides diversity against possible
cases.
errors or collisions. But, depending on the buffer size, it may
So, the example works as follows: first, an event is
affect the relay operation for additional transmissions.
generated at Node 1 and a message with TTL=30 and
The effect is significant if Access PDUs require
Sequence number = 18 is prepared and sent over the three
segmentation. Even when a relay node is only simultaneously
advertisement channels as soon as possible. This message is
involved in the retransmission of messages from two source
received and decoded successfully by the relay (node 3). Thus,
nodes. The time between the beginning of two consecutive
the relay schedules the future transmission of the packet
transmissions of segments is expected to be as short as
(Seq = 18, TTL = 29) and stores it in its buffer.
possible. That is, in BLE v. 4.2, this time will be probably
Then, before the relay can effectively transmit the first of
advInterval or (N+1)×[(Ntis+1)×10+rand(0,10)] ms, when
the two retransmissions, Node 2 generates another event. This
Network transmit count = N is greater than zero. This means
event has a message associated with Seq = 43 and TTL = 30
that, depending on relay retransmit count and Rris, the
and it is the second message sent to the air interface. The
probability of transmission of a new segment while the buffer
packet is also received successfully by the relay. Hence, it
is full is very high.
stores the message at the second and last position of the buffer
Note that concerning to Publish or Network repetition, the
and schedules its future transmission.
implications are different from the point of view of the relay
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
The next message over the air is sent by the relay (Seq = 18, However, high values in the number of repetitions and time
TTL = 29). Node 1 receives this message on channel 37 and intervals between repetitions produce increased delays,
node 2 on channel 39. Both of them discard the message network saturation and a significant reduction of the
because they do not have the relay feature set nor they are the throughput depending on the scenario.
destination of the message. Note that packet with Seq = 18 Related to the increased delays, even if no concurrent
remains at the relay buffer because a second retransmission is message transmissions occur in the mesh network between
still scheduled (relay retransmit count = 1). This message is several source and destination nodes, the major impact
also received and correctly processed by node 4 although this concerns to network and relay parameter configuration.
is not shown in the figure. Nevertheless, it depends on the link/physical level BLE core
Next, Node 1 does the retransmission of packet with specification. When BLE v.4.2 is considered (mesh
Seq = 18 and TTL = 30 (network transmit count = 1). The specification is defined compatible with this specification), the
relay discards this packet because it was received recently, so link layer manages advertising events sequentially. This
it is in the cache. The same happens with the retransmission of means that, if a source node transmits a segmented Access
packet with Seq = 43, TTL = 30 from node 2. PDU or a sequence of unsegmented Access PDUs, waiting
The key point of the example comes now: node 1 generates PDUs are affected by repetition processes of the previous
another event (Seq = 19, TTL = 30). This message is ones. Out of other components that impact
transmitted and received successfully by the relay. However, reception/transmission of messages (interference, non-
the relay buffer is full at this moment, so the device cannot overlapping scanning and advertising channels, discarded
store the message and it is discarded. received packets due to buffer overflow, etc.) and, in case of
Just after this, the relay makes the second retransmission of multihop communication involving n relays (equally
packet (Seq=18, TTL=29), which is again received and configured), the minimum trip time without packet loss for the
discarded by node 1 and 2. As this was the last retransmission Mth subsequent Network PDU (or Mth segment) can be given
of this packet, it is removed from the relay buffer leaving a (in a simplified way) by (1):
free slot. n
To illustrate the issue under discussion, it is supposed that t Tadv (t RXdelay ,i trand Tadv ,i ) t processing, total
i 1 (1)
now, node 2 generates another event (Seq = 44, TTL = 30).
This message is received at the relay and introduced at the +(M-1) maximum(t NetworkTransmitConf , tRelayTransmitConf )
relay queue, filling it up again.
where, tNetworkTransmitConf=(N+1)×[(Ntis+1)×10+rand(0,10)]
Before the relay transmits the first packet with (Seq = 43,
and tRelayTransmitConf=(R+1)×[(Rris+1)×10+rand(0,10)], being
TTL = 29) both, node 2 and 1, make the second retransmission
N and Ntis, the network transmit count and interval steps,
of their last packet. Both packets are discarded at the relay.
respectively, and R and Rris, the relay retransmit count and
The first one because the packet was in the cache and the
number of interval steps, respectively. tRXdelay,i is a reception
second one because the buffer is completely full again. So,
delay, depending on which channel (CH=37, 38, or 39) the
packet with Seq = 19 and TTL = 30 is definitely lost and will
ADV PDU is received on. Tadv = Tadv,i is the transmission time
never arrive at its destination.
of an ADV PDU and trand is the small random delay that the
The example finishes transmitting twice the two packets
BLE specification recommends to be introduced between
stored and so emptying the buffer.
receiving a mesh Network PDU and relaying it. Finally
With this example we have illustrated that not only the
tprocessing, total is the sum of the processing times in all the nodes.
cache is important. It is also necessary to take into account
Note that if Rris=Ntis, no matter the N and R values, the delay
during the design other buffers that could affect unexpectedly
depends on the highest of them (N or R), but the load depends
to the network performance.
on the sum of them (N+R).
Assuming the relay buffer to be very limited, the questions
The minimum delay would be significantly reduced if the
to answer by the network configurator, depending on the
Network Layer was able to instruct the Link Layer to
context scenario, may include for example:
interleave advertising events. Similar to the support of
Is it better to improve the reliability using publish
multiple advertising data sets, defined in BLE v.5.0
retransmission instead of network/relay repetition or both?
specification. In ideal conditions, it would be given by (2).
What is the probability that the repetition of a publish
n
overlaps original public transmission process along the mesh
t Tadv (tRXdelay,i trand Tadv,i ) t processing, total (2)
network? Pris needs to be set according to the size of the mesh
i 1
network?
Obviously, when having multiple source/relay nodes and in
3) NETWORK, RELAY AND PUBLISH RETRANSMISIONS real operation conditions, the exact timings depend on the
PARAMETER SETTING specific channel conditions between neighbor nodes which are
Network, relay and publish repetitions impact directly on the listening to each other and on collision probability between
reliability of the network because they provide diversity ADV transmissions, in addition to firmware implementation.
against possible errors or collisions over the different links.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
Message
Seq: 12
TTL: 30
Node 1
Scanning >=(Ntis+1) ×10+rand10
Channel 37
R. Message ACK R.ACK
Seq: 12 14 46
TTL: 29 4 3
Node 2 /Relay
Scanning
Channel 37 rand (Nris+1) ×10+rand10 >=(Nris+1) ×10+rand10
randACK >=(Ntis+1) ×10+rand10
Node 3 /Relay
Scanning
Channel 37 rand (Nris+1) ×10+rand10 >=(Nris+1) ×10+rand10
randACK >=(Ntis+1) ×10+rand10
12 12 46 46 46 Relay buffer
Node 2 /Relay
(buffers) 14 14 14 Source buffer
t0 t1 t2 t4 t5 t6 t7
Packet Transmission (freq:37,38,39) App_ack_msg generation Scheduling for transmission Network transmit count: 0
Packet Reception App_status_msg_generation randACK : Random delay for ACK Publish retransmit count: 0
rand10 : Random delay between Relay retransmit count: 0
Packet Decodification (Completed) Packet Decodification (Discarded)
0 and 10 ms
FIGURE 9. Timing between consecutive transmissions. Relay and source buffer state
In this case, N, R, Ntis, Rris need to be chosen separately for difference between receptions of relay nodes may be
each source and relay node depending on their own TRX,delay = D or TRX,delay = 2D. The probability of collision
neighboring context (channel conditions and rate of interfering depends on the random backoff applied (trand), but may also be
transmissions). conditioned by the D value, particularly if the D value is close
4) TIMING RELATIONSHIPS BETWEEN CONSECUTIVE
to the backoff. D shall be less than or equal to 10 ms.
TRANSMISSIONS AND APPROPRIATE SELECTION OF Nevertheless, this value is very conservative. In real
SOME RANDOM VALUES implementations, D is significantly lower. For example, when
The specification does not determine explicitly some random the highest ADV frame size is considered (47 bytes), the
values such as the random delay before relaying a message transmission time, Tadv, is 376 µs, while measured D is even
(see Fig. 5 or Fig. 9). Inappropriate selection of these values below 500 µs (exactly 430 µs).
and additional timing relationships between consecutive The probability that a transmission from a reference node
(re)transmissions could increase the collisions or the expected (started in a time instant t) collides with another one (Pcol),
delay. A first restrictive condition appears between relay corresponds with the probability that one neighbor node starts
nodes that receive a mesh Network PDU at the same its own transmission in the interval [t-Tadv ,t+Tadv]. When
Advertising Event and relay it. Relay nodes may receive the TRX,delay between relays is 0, if random backoff is trand, the
advertising PDU in the same or a different channel, but a relay probability of collision between two relays is 2 Tadv / trand .
advertising event always starts at channel 37. We define the And, if Nrelays relays are involved, it is (3):
time between the beginning of two consecutive ADV PDUs Pcol 1 (1 2 Tadv / trand )Nrelay 1 (3)
within the Advertising Event as D. This means that the
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
In the specification, as we referred above, random is probability is around 3%. The value is not negligible. If the
suggested but not specified. As an example, we observed in number of nodes ( N nodes ) grows, the probability is (4):
real implementations that a random value from 0 to 10 ms is
set, similar to the added after each transmission managed by Pcol 1 (1 2 Tadv / ti nterADV )Nnodes 1 (4)
Network Transmit or Relay Retransmit parameters (Ntis or
Rris). If so, collision probability between two relays is 15%. Besides, the collision probability may be greater if nodes are
The value is not negligible. This implies that not only random involved in relaying the same PDUs as explained above and
selection is important, but also selecting which nodes of the considering the two interleaved Advertising sets. Thus,
network should act as a relay, or even, physical channels parameters Ntis and Rris need to be adequately set in each
selected for transmission on advertising events. scenario to achieve a tradeoff between collisions and delay.
The second restrictive condition concerns timing In addition, the random delay before transmitting an ACK
relationships between consecutive (re)transmissions. To better message (randACK) is specified to be longer than 20 ms (from
illustrate some aspects to be considered, Fig. 9 depicts an 20 to 50 or 500 ms, for unicast or group destinations). Upper
example scenario showing the behavior of two relay nodes bound of this random variable needs to be adequately set
(node 2 and 3), acting also as destination of a message according to the number of expected nodes to control
originated in node 1. For instance, they could represent light collisions while avoiding unnecessary delays.
bulbs of a light application that can be turned on/off 5) ADDRESSING AND ACKNOWLEDGEMENTS
simultaneously. In this case, both send response messages Some configurations of the addressing and type of
(Acknowledgment). Fig. 9 represents the result of a real acknowledgement could generate unexpected issues. For
monitoring of chipsets obtained in laboratory measurements, example, let’s suppose a case where a source sends a message
where Rris and Ntis were equal to 1 That is, the minimum time to a group address and that message needs acknowledgement.
interval is 20 ms. When just one device subscribed to this group address answers
The specification sets that the advertising bearer, upon with the ACK, the source would consider that the message has
receiving a Network PDU that is not tagged as relayed from reached its destination. However, it is possible that many other
the network layer, shall retransmit the Network PDU over de devices that are also subscribed to this address may not have
bearer using Network Transmit State (parameter Ntis); and, received the message. Considering multicast scenarios, it only
upon receiving a PDU tagged as relayed from the Network makes sense to request acknowledgements if it is enough to
layer, using the value of Relay Retransmit state (parameter just receive an ACK from one device.
Rris). This means that not only Network Transmit Interval and
Relay Retransmit Interval apply between repetitions of the 6) OTHER NETWORK PARAMETER ADJUSTMENTS
same Network PDU as explained in section III. They control, There are several other network feature configuration and
respectively, the minimum time interval between any message parameters that, if they are not adjusted correctly, could
transmissions originated from the node and between any underperform or even disrupt the communications of the mesh
Network PDU relayed by a node. Currently, the minimum Ntis network. The most important are:
and Rris are required to be 1 to meet v4.2 bearer restrictions.
For example, in Fig. 9, once node 2 receives the ACK TTL adjustment: the results of a wrong setting of this
(Seq = 46, TTL = 4) from node 3, node 2 retransmits it parameter could produce from the messages not reaching its
(Rris+1)×10+rand(0,10) ms after the previous PDU destination (low value) to the saturation of the network with
retransmission (Seq = 12, TTL = 29), Specifically, this time is unnecessary messages (high value). On the other hand, when
20+rand(0,10) ms. However, as shown in Fig. 9, the time acknowledgement messages are considered (for example,
between two consecutive transmissions of the advertising STATUS messages), TTL configuration for ACK has to be
bearer can be really shorter (in this case, shorter than 20 ms). consistent with the network dimension.
Indeed, nodes can manage two buffers (for PDUs The aim may be learning dynamically the number of
retransmitted and for PDUs originated in the node), similar to required hops and set the TTL value for each model. It may be
the interleaved Advertising Sets defined in v5.0. This is the an easy objective considering the model paradigm, but
reason why in node 2 the time between relaying the Message requires cross layer communication between Network and
received from node 1 (Seq = 12, TTL = 29) and the originated Model Layers.
ACK (Seq = 14, TTL = 4) is shorter than 20 ms. Thus, out of
interleaved advertising sets, the minimum time between ADV Relay feature: apart from the collisions seen in the previous
transmissions is 20+rand10 ms. A fixed delay of 20 ms could section, selecting which nodes of the network should act as a
be considered unnecessarily long in many scenarios. relay affects the energy consumption, saturation and reliability
Nevertheless, the minimum collision probability between two of the network.
nodes (configured equally, with tinterADV=(Xris+1)×10+
rand(0,10), being Xris = Ntis =Rris) involved in independent
transmissions is 2 Tadv / ti nterADV . If Xris = 1, collision
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
information could be transferred through the mesh network by [10] Bluetooth SIG, “Bluetooth SIG Assigned Numbers: Generic Access
Profile.” [Online]. Available https://www.bluetooth.com/specifications
means of the new Bluetooth 5.1 periodic advertising sync /assigned-numbers/generic-access-profile/.
transfer (PAST) feature [5]. Reducing advertising/scan [11] Á. Hernández-Solana, D. Perez-Diaz-de-Cerio, A. Valdovinos, and J.
(transmission/reception) times may yield to increased packet L. Valenzuela, “Proposal and Evaluation of BLE Discovery Process
Based on New Features of Bluetooth 5.0,” Sensors, vol. 17, no. 9, p.
collision. For this reason, collision avoidance methods would 1988, Aug. 2017.
require especial care, simple examples are random back-off [12] D. Perez Diaz de Cerio, A. Hernandez, J. L. Valenzuela, and A.
times and random selection of advertising channels. Valdovinos, “Analytical and experimental performance evaluation of
BLE neighbor discovery process including non-idealities of real
chipsets,” Sensors (Switzerland), 2017.
VI. CONCLUSIONS [13] Nordic Semiconductor, “nRF52840 Product Specification v1.1.”
Mesh specifications enable a variety of new applications, [Online]. Available: https://infocenter.nordicsemi.com/pdf/
allowing BLE to enter even more into the world of IIoT, nRF52840_PS_v1.1.pdf. [Accessed: 16-Jan-2020].
massive sensor networks, smart buildings and smart cities, etc. [14] Nordic Semiconductor, “nRF52832 Product Specification v1.4.”
[Online]. Available: https://infocenter.nordicsemi.com/pdf/
However, the parameters to configure the network are so nRF52832_PS_v1.4.pdf. [Accessed: 17-Jan-2020].
wide that optimizing them can become a brainteaser. Even
some of them are not fully specified in the standard. Ángela Hernández Solana obtained the
Engineer of Telecommunications and Ph.D.
Along the paper we have discussed most of these degrees from the Universitat Politècnica de
parameters, pointing the relationships and interaction between Catalunya (UPC), Spain, in 1997 and 2005,
them and the problems that arise when they are not properly respectively. She has been working at UPC and
at UNIZAR, where she is an Associate Professor
configured. This is done covering all the layers of the protocol since 2010. She is member of the Aragón
stack, from the bearer to the model. We have even considered Institute of Engineering Research (I3A). Her
and evaluated on a test-bed real device limitations such as research interests include 5G/4G technologies,
heterogeneous communication networks and
blind times or buffering problems due to manufacturer mission-critical communication networks, with
implementations. emphasis on transmission techniques, radio resource management and
Finally, we have highlighted some research challenges that quality of service, mobility management and planning and dimensioning of
may improve BLE mesh networks: self-optimized networks, mobile networks.
soft combining, the use of different bearers, the application of David Pérez-Díaz-de-Cerio obtained the MSc in
angle of arrival and angle of departure, etc. And last, but not telecommunications Engineering degree in 2003.
least, we have placed the focus on energy consumption That year he joined the WiComTec research
group of the Signal Theory and Communications
because, with mesh, BLE losses some of its low-energy department as a collaborating lecturer. All his
objectives. lectures are held at the Escola d’Enginyeria de
Telecomunicació i Aeroespacial de Catalunya for
ACKNOWLEDGMENT Bachelor’s degree, second-cycle and MAST
master students. In 2010, he received the PhD
This work has been supported in part by the Spanish degree in Telecommunication from the Technical
Ministry of Science through the projects RTI2018-099880- B- University of Catalonia (UPC). He has
C32, RTI2018-095684-B-I00 and RTI2018-099063-B-I00 participated as a consultant in several local and European projects in
with ERFD funds, and by the Government of Aragon addition to other public and private funded projects. His research interests
are wireless communications systems; especially those based on the IEEE
(Reference Group T31_17R). 802.X standards and their use in e-health applications and IoT.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/ACCESS.2020.2980795, IEEE
Access
Author Name: Preparation of Papers for IEEE Access (February 2017)
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/.