Abstract
Bluetooth Low Energy (BLE) is a recently developed energy-efficient short-range radio communication technology, which is nowadays vastly becoming more and more popular. The technology aims to provide an energy-efficient low-cost wireless communication mechanism for a wide range of resource-limited consumer electronic devices and applications. In this paper we focus on the networking aspects of the technology. First, we overview fundamentals of BLE communication technology, discuss its capabilities and limitations, and compare BLE with state-of-the-art technologies. Furthermore, we identify and discuss two scenarios, for which standard BLE communication mechanisms show poor performance and propose two mechanisms capable of improving throughput and energy efficiency of BLE communication in multi node environment. The efficiency of the proposed mechanisms is proved via network level simulations, which are executed using the developed BLE simulation tool. The results of the simulations are reported and discussed. We believe that the presented results might be of some interest not only for academic researchers but also for practicing engineers.
Introduction
Bluetooth Low Energy (BLE) or Bluetooth Smart was standardized in 2010 as a part of Bluetooth Core Specification version 4.0 [3]. Development of the technology was motivated by a need for reducing the power consumption, complexity and price of radio transceivers. Despite carrying the name of its predecessor and operating in the same 2.4 GHz frequency band, BLE is an all-sufficient technology employing novel technical solutions, which make it incompatible with classic Bluetooth. The major target scenarios for BLE are different measurement and control applications, where battery-powered BLE sensors and actuators are interfaced with Personal Information Devices (PIDs), such as smartphones or laptops.
One of the major advantages of BLE compared to existing communication technologies is the compatibility with numerous commercial mobile phones, tablets and laptops. Bluetooth Special Interest Group (SIG) has defined two types of Bluetooth Smart compatible devices. The former ones, named “Bluetooth Smart Ready”, are the PIDs. They encapsulate dual-mode Bluetooth transceiver supporting communication over both Bluetooth Classic and BLE. The latter ones, called “Bluetooth Smart”, are BLE-only devices which can communicate between themselves and with Bluetooth Smart Ready devices. Between 2011 and 2014 many consumer electronics manufacturers replaced Bluetooth Classic radio transceivers with the chips supporting both Bluetooth Classic and BLE in their products. Today availability of BLE in PIDs provides a good starting point for developing a wide variety of human-oriented distributed measurement and control applications [34]. Therefore, we have witnessed an appearance of multiple Bluetooth Smart gadgets on the market over the last year and, undoubtedly, more are on the way. This makes BLE a very probable candidate for enabling the Internet of Things (IoT) concept and emphasizes the importance of studying the networking aspects of this technology.
In this paper we first discuss the results of the previous studies related to BLE technology in Section 2. In Section 3, we overview fundamentals of BLE communication, discuss the capabilities and limitations of the technology, and compare it with the state-of-the-art short range wireless communication technologies. In Section 4 we indicate and discuss in details two scenarios, in which standard BLE communication mechanisms show poor performance. The major contributions of the paper are two mechanisms targeting the discussed scenarios and aimed to improve throughput and energy efficiency of BLE communication in multi-node environment. They are introduced and discussed in Section 5. In Section 6 we present results of network simulations conducted using the developed network-level BLE simulation tool. The presented results prove feasibility and efficiency of the proposed mechanisms. Finally, Section 7 concludes the paper and summarizes the obtained results.
Related works
Although BLE standard was introduced a few years ago, the technology got serious attention from academic community quite recently.
The performances of BLE technology and of the commercial hardware BLE transceivers were investigated and compared with other state-of-the-art wireless communication technologies in [8,14,34,45]. The reported results revealed that theoretical maximum Link Layer (LL) throughput for BLE is 319.5 kbit/s, which transforms into maximum application layer throughput of 236.7 kbit/s [13,34,37]. In terms of energy consumption, commercial BLE radios outperform e.g., IEEE 802.15.4 transceivers 2 to 4 times [8,34,45].
Over the recent years, a wide variety of novel applications has been developed employing wireless data transfer over BLE. The majority of reported applications are related to medicine and healthcare (e.g., [2,6,28,29,40,41,46,50,54]) and benefit from easy connectivity between a sensor and a smartphone. In addition, a few automotive [11,20,22] and consumer [44,51,53,55] applications based on BLE technology have been reported. The feasibility of using energy-harvesting based BLE sensors in smart home environment was analysed and discussed in [12].
The novel designs of BLE transceivers and of particular transceiver components were reported by the authors in [31,49,52]. In [52] and [31] the authors proposed novel demodulator architectures for BLE transceivers; in [49] Wong et al. presented a low power transceiver chip supporting three different communication technologies including BLE.
The new mechanisms for improving performance and capabilities of BLE communication were proposed in [24–26,32,35,37,38,48]. Furthermore, a solution for transferring Internet Protocol (IP) packets over BLE was proposed in [37] and [38]. The first implementation of IP data transfer over BLE was reported in [48]. In [35] we proposed and reported implementation of the first multihop data transfer solution for BLE. The implementation of tree-based multihop BLE network solution was reported in [30]. The process of neighbour discovery for BLE was analysed in [24] and [26], and a new adaptive discovery mechanism was proposed in [25]. The security issues related to energy restricted wireless communication systems in general and the BLE protocol in particular were discussed in [4,5] and [43] respectively.
Nevertheless, networking aspects of BLE technology have not received sufficient attention over the recent years. Among the major reasons causing this were: (a) the complexity of BLE communication; (b) the absence of tools capable of simulating BLE networks. In [33] we reported the results of implementing a network-level simulator for BLE. In the paper we continue this work and target two scenarios, for which standard BLE mechanisms suffer from significant performance degradation in multi-node environment.
Fundamentals of BLE wireless communication protocol
Similar to classic Bluetooth, BLE protocol stack consists of two major components, namely BLE Controller and BLE Host (see Fig. 1(a)). These two either reside on the same physical device or might be implemented by different devices. The Controller is a logical entity which is responsible for Physical (PHY) layer and LL. The Host implements functionalities of the upper layers. They include: L2CAP, GAP, ATT, GATT and SM. The Logical Link Control and Adaptation Protocol (L2CAP) multiplexes packets of the upper layers, manages connection establishment, configuration and destruction and might support packet segmentation. The Security Manager (SM) handles pairing, authentication, bounding and encryption of BLE communication. The ATTribute protocol (ATT) specifies mechanisms for discovering, reading and writing attributes on a peer device, and the Generic ATTribute profile (GATT) provides framework for discovering services and for reading and writing characteristic values. Finally, the Generic Access Profile (GAP) interfaces application and BLE stack. Host and controller are connected via the standartized Host Controller Interface (HCI).

BLE technology fundamentals. (a) BLE stack. (b) State diagram for BLE LL. (Colors are visible in the online version of the article;
In order to simplify the design and to minimize the cost of transceivers, BLE PHY is based on Gaussian Frequency Shift Keying (GFSK) modulation with a bandwidth bit period product equal to 0.5 and symbol rate of 1 mega-symbols per second. To simplify the implementation even further, BLE communication relies on very short data packets with the maximum packet size of just 47 bytes. For a BLE transmitter, the power of output radio signal ranges from −20 to +10 dBm and the sensitivity level of BLE receiver should exceed −70 dBm. Similar to the classic Bluetooth, BLE operates in license-free Industrial, Scientific and Medical (ISM) 2.4 GHz band, which is divided into 40 2-MHz wide channels. Three of them, which are located between typically used wireless local area network channels, are assigned specifically for advertising and discovery of the services and are called advertising channels. The remaining 37 data channels are intended for transferring the data between BLE devices. The data transmission between BLE devices is bound to time units known as advertising and connection events.
The advertising events are used by BLE devices to broadcast small blocks of data or to agree on parameters of a connection to be established in data channels. In the beginning of an advertising event an advertiser, i.e. a device which either has some data to transmit or which expects to get some data, sends an advertising frame. Using different advertising frame types, the advertiser either encapsulates up to 31 data bytes directly in advertisement frame or announces its aptitude to establish a connection in data channels. In the latter case, after transmitting a frame, the advertiser switches to receive and waits for possible connection establishment requests. If the connection request from a device (which is referred to as an initiator) is received, the two devices start peer-to-peer connection in data channels. A BLE advertiser may either send its advertisements in a single advertising channel or sequentially switch between different advertising channels. The minimum time period between the starts of two consecutive advertising events according to BLE standard is defined as:
Once a connection in data channels has been created, the initiator becomes master and the advertiser becomes slave (see Fig. 1(b)). In the beginning of each connection event (referred to as the connection event anchor point) the used radio channel is changed following a pre-defined sequence. The communication in each connection event is started by a master, which sends a frame to a slave. The master and the slave alternate sending data frames on the same data channel while at least one of the devices has data to transmit or until the current connection event ends. In the case of either of the devices receives two consecutive frames with Cyclic Redundancy Check (CRC) errors, the connection event is closed. The same happens if either device misses a radio packet. Once a connection event is closed, both master and slave might switch to low-power sleep mode until the start of the next connection event. The connection parameters (e.g., the interval between two connection event anchor points known as connection event interval – connInterval) may be updated on the fly without re-establishing the link. The connection is closed either by devices once the link is not required, or automatically due to connection loss timeout (so-called supervision timeout), which might range from 100 ms to 32 s. Note that BLE assumes that a master is typically more complex and richer on resources than a slave.
To mitigate the possible interferences caused by other systems, a set of the used data channels might be modified on the fly. The BLE features a mechanism enabling a master, which is aware of the spectrum situation, to exclude from use channels where strong interferences are expected. Note that the BLE specification does not define from where and how a BLE master should obtain information regarding the spectrum situation.
The timing for the connection events is determined using two parameters, namely the connection interval – connInterval, and the slave latency – connSlaveLatency. The connInterval is a multiple of 1.25 ms and ranges from 7.5 ms to 4.0 s. The connSlaveLatency defines the maximum number of consecutive connection events in which a slave is not required to listen for packets from a master. The period between two frames on the same data channel equals to the Interframe Space period (IFS) set at 150 µs. The whole procedure including advertising, connection establishment and data transferring for BLE is illustrated in Fig. 2.

Illustration of advertising, connection establishing, data transferring and connection terminating in BLE and related timing. (Colors are visible in the online version of the article;
An important part of BLE stack is the client-server mechanisms enabling the discovery of available services, applications and providing the devices with the universal mechanism for data exchange. Those are implemented by ATT, GATT and GAP layers. The further details and the practical issues are discussed e.g., in [16].
Year of initial specification release
not applicable
currently is under development, release is planned for 2015
PHY – physical, DL – data-link, MAC – media access control, LLC – logical link control, NWK – network
commercial radios compatible with DASH7 PHY are existing, but those do not include the appropriate DASH7 stack implementation
depending on the mode can be used: DBPSK, DQPSK, D8PSK, GMSK, OOK, CP-BFSK, DPSK, FM-UWB
to be defined
DASH7 Mode 2 (2009) supports the data rate of 250 kbit/s and packet payload of 249 bytes
Over-the-air/maximum theoretical application throughput
for low-end commercial transceiver chips on market
transmit mode, 3V supply, 0 dBm TX power
The recent studies have shown that, in theory, a BLE link can provide 1.5–2 times higher throughput and is more energy efficient than IEEE 802.15.4 with 2450 DSSS physical layer. Another important benefit of BLE technology is the cost. As the Table 2 reveals, the commercial BLE transceiver chips are cheaper than the transceivers for competing technologies.
Among the major limitations of BLE technology are restriction of supported network topologies to only a single-hop scenario (i.e., point-to-point or star topologies), lower distance of communication compared to e.g., IEEE 802.15.4, and the use of the stop-and-wait flow control mechanism based on cumulative acknowledgments, which might cause degradation of the protocol performance in the lossy environment [33].
In our previous study [33] we presented a simulation tool, which extends the popular OMNeT++ network simulator by adding the PHY and LL models of BLE. Using this tool, we executed a series of experiments to study the network-level performance of BLE. The experiments enabled us to identify two scenarios causing degradation of link performance in multimode scenarios. The further details about the experiment set-up can be found from [33] and below we will discuss the detected problems and the preconditions for those.
Collision during connection establishment
The first problem is caused by the specifics of connection establishment mechanism in BLE. As depicted in Fig. 2, to establish a connection initiator sends a connection request after which both nodes should switch to data channels and continue there. However, if a connection request packet is not received by advertiser correctly, the latter stays in advertising channels and continues advertising. Meanwhile, after sending a request initiator switches to data channels and starts sending beacon packets. Since the supervision timeout during connection establishment is proportional to the used connInterval, significant time might pass before an initiator closes unsucesful connection and returns to advertising channels. In addition, in the case if connInterval > advInterval, the energy consumption of potentially resource-poor advertiser (i.e., a slave) during this time will be much higher than the one of resource-rich initiator (i.e., a master). This scenario is illustrated in Fig. 3.

Illustration of first detected scenario. (Colors are visible in the online version of the article;
The discussed problem might arise if there are at least two nodes transmitting in the same advertising channel at the same time. Although this is not very likely to happen if all BLE devices in a network start advertising at random moments of time and do not return to advertising channels once a connection is successfully established, for a network with event-triggered data transfers the problem might arise much more often. For example, consider the case of m BLE sensors and multiple gateways located in the same area. Assume, that the sensors do not transmit any data if the sensed parameter is below the specified threshold and issue an alarm once the sensed parameter exceeds the threshold. If all sensors detect an event and start advertising at the same time, have the same advInterval and start on the same channel (which is quite likely given that the sensors are identical and serve one application), the probability of having at least one collision during connection establishment phase is given by:
The probability of collisions during connection establishment phase as a function of the number of BLE sensors is illustrated in Fig. 4. Although not each collision will cause a loss of connection establishment packet resulting in the described problem, this outcome is still quite possible.
The other problem occurs more rarely, but might have a really devastating effect. For example, consider the two pairs of nodes, namely (

Effect of number of nodes on the probability of discussed scenarios coming to life. (Colors are visible in the online version of the article;

Consequence of the mutual interferences for the two BLE links having same connInterval and hopIncreasement. (a) Example network layout. (b) Illustration of the discussed scenario. (Colors are visible in the online version of the article;
Given that in the target region there are m active links with the same connInterval, the probability of at least two links having exactly the same frequency hopping sequence is given by:
The effect of the number of nodes on probability of frequency hopping sequence match is illustrated in Fig. 4. Similarly to the scenario discussed in Section 4.1, the match of connection hopping sequence is not the only precondition resulting in the described scenario. Moreover, the effect of this scenario is affected by the amount of the data each of the pairs transmits and the delay between starts of connection events for different links
Accelerated Connection Establishment (ACE) mechanism
To handle the problem described in Section 4.1 we propose the mechanism named Accelerated Connection Establishment (ACE). The idea of this solution was proposed in [32] and below we extend it and discuss its implementation in more details.
The ACE is a double-stage connection establishment mechanism which uses different values for connInterval on each stage. Instead of setting the desired connInterval in the CONNECT_REQ packet as this is typically done (see Figs 2 and 3), we propose to use very small values of connInterval during the initialization phase. On one hand, in the case of CONNECT_REQ loss, this enables to reduce the connection supervision timeout (which equals

Pseudocode of Accelerated Connection Establishment (ACE) mechanism.
For a real-life BLE transceiver ACE can be implemented in two ways: either at the LL of the Controller or at L2CAP of the Host. In the former case instead of using connInterval specified by Host in HCI LE_Create_Connection command, the LL issues CONNECT_REQ with a small connInterval. Once the first data frame has been successfully received from the slave, the LL of the master issues LL_CONECTION_UPDATE_REQ and modifies connInterval to the one which was originally requested by Host in LE_Create_Connection command. Once the new connInterval is set the LL informs the Host about successful connection establishment using LE_Connection_Complete_Event message.
In the latter case Host on master device issues LE_Create_Connection command with small connInterval already set. Once getting the LE_Connection_Complete_Event message from LL (which is issued once master has sent the CONNECT_REQ packet) Host issues LE_Connection_Update command and modifies connInterval to match the desired value. Note, that according to BLE specification [3], the master should allow a minimum of 6 connection events during which a slave will be active before starting to use the updated parameters. Therefore, in case if a CONNECT_REQ was missed by advertiser the connection supervision timer of master always fires earlier than the new connInterval is taken in use.
Regardless of the chosen implementation the overhead for proposed mechanism compared to single-staged connection establishment procedure is just one packet – a LL_CONECTION_UPDATE_REQ of 22 bytes, transmission of which takes mere 176 µs.
To mitigate the second described problem we propose the Link Collision Monitoring and Update (LCMU) mechanism. The proposed mechanism is integrated into the LL of BLE stack and implemented as a procedure, which is launched each time a connection event is closed early due to packet loss or reception of packets with errors. Once this happens the procedure estimates the duration of active phase of connection event and compares it with the ThresholdPhase threshold. If the threshold is exceeded duration of active phase is stored in a data array. Once the number of elements in the array exceeds pre-defined number NumPoints, the procedure goes through all of them, calculates standard deviation and compares it with the ThresholdDeviation. If the threshold is exceeded the mechanism initiates a change of connection parameters. Namely, we propose leaving the same hopIncreasement and set
Evaluation
Simulation set-up
To validate the two proposed mechanisms we have integrated them with the BLE simulation environment, which has been presented in [33]. The simulator implements PHY, LL and simplified network layer and enables studying the communication and networking of BLE devices. The capabilities and limitations of the tool are discussed in [33] and [32]. The proposed mechanisms have been implemented in C++ code and integrated with the LL (LCMU mechanism) and network layer (ACE mechanism) of BLE stack.

Pseudocode of Link Collision Monitoring and Update (LCMU) mechanism.
For evaluating performance of the proposed mechanisms we simulated BLE networks consisting of 1 to 64 pairs of BLE nodes randomly placed over the area of 10 by 10 meters. In the beginning of simulation each master got 2000 bytes of data, which should be transferred to a slave. All the nodes started at the same moment of time in the advertisement channels and established the connection (using ADV_DIRECT_IND advertisement frames with advInterval = 100 ms). Then the nodes switched to data channels. If the connection was not established properly (i.e., CONNECT_REQ was lost) or was broken before all the data had been transferred the nodes returned to advertising channels and re-established connection. Once all the data has been transferred the nodes terminated connection and switched to sleep mode. The experiment ended once all the nodes had completed data transfer. All the node pairs used the same connInterval and random hopIncreasement as defined in [3].
Note, that the chosen scenario matches few real-life situations. The first example is a smart home gateway based [12] security system, in which multiple camera nodes start streaming audio/video data once alarm is triggered. The other example is a wireless vehicle control system [11,20] where large amounts of diagnostic data might be transferred immediately after a car start-up or after a traffic incident. Finally, the targeted scenario emulates a situation taking place after a disappearance of a strong wide-band interference, when multiple BLE nodes are attempting to re-establish connection and transfer their data.
In our study we simulated four different scenarios. In the first one all the nodes used the standard BLE mechanisms. In the second one all the nodes used ACE. The connInterval during first phase of ACE was set equal 10 ms. In the third scenario all the nodes monitored established links and modified connection parameters using the proposed LCMU with the following parameters: NumPoints = 3, ThresholdPhase = 0.5, ThresholdDeviation = 0.1, ConstOffset = 1 and RandOffset = 1. Finally, we also tested the performance for the case when nodes had both ACE and LCMU active (labelled ACE + LCMU). The experiments were done for three different connInterval values, namely 10 (i.e., 12.5 ms), 80 (i.e., 100 ms) and 800 (i.e., 1 s), and for different number of available data channels (4, 16 and 37). For each of the 6300 simulation runs, we monitored and logged the total time required for transferring the data and the energy consumed by each node. To minimize the influence of network topology, we repeated the experiment 25 times for each set of parameters with different network layouts. The minimum, maximum and mean values of the measured parameters were calculated. The obtained results are summarized in Figs 8 and 9.
Figure 8 illustrates the time required to complete the data transfers for all scenarios and runs. The mean value is marked with ’x’, the minimum and maximum values are shown as well. Comparing Figs 8(b) and 8(a), one can easily see that use of ACE reduces average time of data transfer for multi-node scenarios. When the number of nodes is below 8, use of ACE can greatly reduce data transfer time. For example, for 4 pairs of nodes (16 active channels and connInterval = 100 ms) the average transmission time is reduced by 45%. For a high number of nodes and a small number of active data channels use of ACE gives minor benefit. For example, for 64 pairs of nodes (37 active channels and connInterval = 1000 ms) the total transmission time is reduced by 17%. From Fig. 8(c) one can see that the use of LCMU dramatically reduces the maximum and average time of data transfer in multi-node environment. For example, for 64 pairs of nodes (37 active channels and connInterval = 1000 ms) the average time is reduced by 26% and the maximum time decreases from 74 s to 17 s. The combination of both mechanisms in a single solution (see Fig. 8(d)) enables to improve the performance even further. For example, for dense network (64 pairs of nodes, 37 active channels and connInterval = 1000 ms) the combined solution outperforms the standard BLE mechanisms in terms of average time required for data transfer by 48%, ACE – by 37% and LCMU – by 30%.

Data transfer time. (a) Standard BLE mechanisms. (b) ACE mechanism. (c) LCMU mechanism. (d) ACE + LCMU mechanisms. (Colors are visible in the online version of the article;

Slaves’ energy consumption. (a) Standard BLE mechanisms. (b) ACE mechanism. (c) LCMU mechanism. (d) ACE + LCMU mechanisms. (Colors are visible in the online version of the article;
The energy consumption of simulated slave nodes is illustrated in Fig. 9. The comparison of Figs 9(a) and 9(b) shows that ACE reduces energy consumption dramatically. For example, for 64 pairs of nodes (16 data channels and connInterval = 1000 ms) nodes with ACE feature five times lower average energy consumption than the nodes using basic BLE connection establishment mechanism. The major reason for this is the reduction of consumption for idle advertising once an initiator has switched to data channels, which happens after CONNECT_REQ loss. Note that the benefit provided by ACE strongly depends from advInterval/connInterval ratio and if advInterval > 6 connInterval use of ACE will hardly be effective. Meanwhile, as one can see from Fig. 9(c), although LCMU reduces total time for data transfer greatly, the improvement of energy consumption provided by this mechanism is minor. This happens due to fast detection of packet collision and switching to sleep featured by stop-and-wait flow control mechanism based on cumulative acknowledgments available in BLE. For example, for 64 pairs of nodes LCMU reduces the average energy consumption compared to basic BLE mechanism by 0.5–2.5%. The combination of ACE and LCMU for dense networks provides the most efficient solution and has energy consumption 1.5–4% lower than the one of nodes with ACE.
Note that for the case if there are no interferences (i.e., only a single pair of nodes is present) the ACE-enabled nodes (as well as nodes using ACE and LCMU) in the simulated scenario consume 2–4% more energy and require 1–2% more time to complete data transfer than the nodes having only basic BLE mechanisms. This is caused by the need of sending an extra LL_CONECTION_UPDATE_REQ packet. Nonetheless, we do not consider this to be a significant drawback considering benefits provided by ACE in multi-node case.
To the best of our knowledge, the current paper is one of the first studies focused on the network aspects of BLE technology. In the paper we discussed in details capabilities of BLE technology and overviewed the specifics of BLE communication mechanisms. Then we identified two scenarios, in which the interference between BLE nodes results in significant increase of the time and energy required for data transfers. In this paper we first described the scenarios and then analysed conditions for those coming to life. Finally, we proposed two mechanisms which enable solving the detected problems.
The first mechanism, named Accelerated Connection Establishment (ACE), modifies the connection establishment procedure by dividing it into two phases with different values of connection interval. This solution reduces the time during which an initiator stays in data channels before returning to advertising channels if a connection establishment request is lost. The ACE can be implemented either by link layer of the Controller or by L2CAP of the Host on BLE transceiver.
The second mechanism, named Link Collision Monitoring and Update (LCMU), extends link layer of BLE with a solution which monitors active BLE links and detects if parameters of a link match the ones of links between neighbouring nodes. If such a match is detected, the parameters of a link are updated for improving the performance of data transfer.
Despite their simplicity, the proposed mechanisms appeared to be quite effective. The network-level simulations of multi-node BLE communication have shown that in a dense network with high connection intervals, the proposed mechanisms might reduce the time and energy for transferring the data four to six times. Nonetheless, we are certain that the efficiency of the proposed mechanisms might be improved even further by optimizing parameters of the mechanisms. We plan to investigate this in the future along with conducting other studies of issues related to networking of BLE devices.
We believe that the results presented in this paper might be interesting for academic researchers and practicing engineers and can be used for improving the performance of a wide range of BLE devices and applications.
