scieee AI-readable full text Open interactive document viewer

PSM-DMO: power save mode and discontinuous BLE mesh operation

Hernandez Solana, Angela,Pérez Díaz de Cerio, David,García Lozano, Mario,Valdovinos, Antonio,Valenzuela González, José Luis

Abstract

The Bluetooth Low Energy (BLE) mesh profile, standardized by the Bluetooth Special Interest Group (SIG), has an increasing interest in IoT solutions. However, the standard assumes that relay and friend nodes should be continuously scanning the channel awaiting any incoming transmissions. This could be very inefficient in terms of energy consumption, particularly in application scenarios where the backbone of the mesh network cannot be powered and traffic is infrequent. Hence, we present a novel strategy, named PSM-DMO, that minimizes the scan periods and thus, significantly reduces the overall energy consumption of the mesh network. PSM-DMO is defined as a new and optional feature for the currently published BLE mesh specifications, coexists with the standard operation, and is implemented without modifying the core of the specification. The proposal, that ensures the reliability of the mesh operation, can be used in BLE sensor networks that can tolerate a certain transmission delay. PSM-DMO replaces the continuous scan by a periodic but asynchronous polling process whereby the relay and sink nodes interrogate their neighbors about the existence of data to receive or to retransmit through the network. Nodes only go into scan mode during the period of time the mesh network will be involved in the transmission and dissemination. This period is estimated by the node which is the source of data, it is announced to its neighbors and it is propagated consecutively by all the relay nodes until the destination. PSM-DMO allows a theoretical reduction in the energy consumption of relay nodes up to 99.24 %.

Full text

Computer Networks 213 (2022) 109114 Available online 23 June 2022 1389-1286/© 2022 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/bync-nd/4.0/). PSM-DMO: Power Save Mode and Discontinuous BLE Mesh Operation ´ A. Hern´ andez-Solana a , * , D. Perez-Diaz-de-Cerio b , M. García-Lozano b , A. Valdovinos a , J.L. Valenzuela b a Aragon Institute for Engineering Research (I3A), University of Zaragoza, Zaragoza 50018, Spain b Signal Theory and Communications Department, Universitat Polit` ecnica de Catalunya, Esteve Terrades 7, Castelldefels 08860, Spain ARTICLE INFO Keywords: Bluetooth BLE Energy Power saving Bluetooth mesh Wireless mesh networks ABSTRACT The Bluetooth Low Energy (BLE) mesh profile, standardized by the Bluetooth Special Interest Group (SIG), has an increasing interest in IoT solutions. However, the standard assumes that relay and friend nodes should be continuously scanning the channel awaiting any incoming transmissions. This could be very inefficient in terms of energy consumption, particularly in application scenarios where the backbone of the mesh network cannot be powered and traffic is infrequent. Hence, we present a novel strategy, named PSM-DMO, that minimizes the scan periods and thus, significantly reduces the overall energy consumption of the mesh network. PSM-DMO is defined as a new and optional feature for the currently published BLE mesh specifications, coexists with the standard operation, and is implemented without modifying the core of the specification. The proposal, that ensures the reliability of the mesh operation, can be used in BLE sensor networks that can tolerate a certain transmission delay. PSM-DMO replaces the continuous scan by a periodic but asynchronous polling process whereby the relay and sink nodes interrogate their neighbors about the existence of data to receive or to retransmit through the network. Nodes only go into scan mode during the period of time the mesh network will be involved in the transmission and dissemination. This period is estimated by the node which is the source of data, it is announced to its neighbors and it is propagated consecutively by all the relay nodes until the destination. PSM-DMO allows a theoretical reduction in the energy consumption of relay nodes up to 99.24 %. 1. Introduction Wireless mesh networking has been proposed as a suitable solution in sensor networks for a wide range of application fields [1–3]: agriculture, farm and cattle control, mountain hydrology measurements, national park monitoring, mobility, smart cities, and in the industry, in the often called Industrial Internet of the Things (IIoT) [4,5]. Meshed architectures allow to improve the control, monitoring, and automation in terms of robustness, reliability, security, latency, and jitter. The main requirements of the applications are features such as resilience, reliability, low infrastructure costs [6–8], and in many cases, ultra-long battery life, preferably measured in years [9,10]. We focus on those applications in which access to energy resources is extremely limited and the operational costs due to battery handling would be prohibitive. In these cases, the devices need to work autonomously. Also, such applications usually require low throughput. Their data generation can be sparse and do not have low-latency requirements. For instance, this is the case of beer fermentation monitoring [11], requiring a sampling rate of six hours, smart agriculture applications that need to send one message per hour [12], smart health [13] or the smart cities and mobility field, that would just need to transmit 10 detections per day [14]. In this context, we explore the potentiality of solutions based on Bluetooth Low Energy (BLE) mesh. In the last years, BLE has gained a dominant position for IoT and other sensor-based applications thanks to its simplicity, low-power consumption, low-cost, and robustness. Really, one of the main advantages of Bluetooth over its competitors is its widespread implantation in the market. The new mesh specification [15] based on Bluetooth Low Energy [16] and developed by the Bluetooth SIG has increased the interest and position of BLE as an enabler of IoT and IIoT, compared with other technological proposals supporting mesh networking, such as Zigbee, WirelessHart, 6LoWPAN or Thread, all of them based on the IEEE 802.15.4 standard family. Nevertheless, contrary to other mesh networks or protocols (including ZigBee, Thread, Z-Wave, WiFi) that use routing techniques, BLE mesh only considers managed flooding. This strategy provides a simple and robust transmission mechanism but * Corresponding author. E-mail address: [email protected] (´ A. Hern´ andez-Solana). Contents lists available at ScienceDirect Computer Networks journal homepage: www.elsevier.com/locate/comnet https://doi.org/10.1016/j.comnet.2022.109114 Received 16 December 2021; Received in revised form 7 April 2022; Accepted 14 June 2022 Computer Networks 213 (2022) 109114 2 requires that nodes scan the channel continuously. The BLE mesh standard defines: “A device supporting only the advertising bearer should perform passive scan with a duty cycle as close to 100 percent as possible to avoid missing any incoming mesh messages or provisioning Packet Data Units (PDUs)” [15]. Continuous scan implies that BLE loses part of its low-energy principles when used in a mesh network, particularly in application scenarios where transmissions are infrequent. Therefore, this paper presents a novel strategy to reduce the overall consumption, named Power Save Mode and Discontinuous BLE Mesh Operation (PSM-DMO). The proposal, adapted to the BLE mesh specification, allows all devices/nodes of the mesh network to go into scan mode only when there is a sensor/device with data to transmit and flooding is required. It replaces the continuous scan by a periodic but asynchronous polling process whereby the nodes interrogate their neighbors about the existence of data to receive or to retransmit through the network. Relay and sink nodes remain by default in sleep mode between polls to save energy and they only go into scan mode during the period of time the mesh operation reactivates. This period is estimated by the node which is the source of data. It is announced to its neighbors and it is propagated consecutively by all the relay nodes until the destination. This proposal clearly differs from the concept of Bluetooth Mesh Low Power Node (BM-LPN) [17]. LPNs, that are located at the end of the network (they cannot act as relays), can be inactive for a long period if their transmissions are infrequent and they have no low-delay requirements. For instance, sensors in scenarios like the ones described in [11–14] . However, they should be connected to a friend node that must remain permanently active. Some approaches for the optimization of the friendship mechanism have recently introduced in [17]. Nevertheless, LPNs do not prevent that relay and friend nodes must remain constantly listening for transmissions, which implies high energy consumption. Note that a real device consumes around 5 mA while scanning [18,19]. This means that a relay powered by a 10,000 mAh battery would have a battery life of under three months. That is, due to continuous scan, mesh BLE loses part of the BLE low-energy principles. This issue is remarked in [20], a remarkably interesting study where we can find a model of BLE mesh energy consumption based on measurements performed on a real hardware platform using the nRF51422 chipset from Nordic Semiconductor [21]. Proposal of [20] is useful to evaluate the energy consumption of the current state of the standard [15]. However, conclusions of [20] state that “Bluetooth Mesh cannot be considered as a general-purpose Internet of the Things (IoT) technology because its application is limited to the scenarios where its backbone can be appropriately powered”. Contrary to [20], we see in [22] that BLE mesh can also be interesting for this kind of applications limiting the scan cycles. PSM-DMO differs from the BMADS proposal previously presented by the authors in [22] for the same purpose. BMADS is based on dynamic scan cycles and sending of a new control message sequence that puts the nodes into a continuous scan. PSM-DMO replaces the requirement of periodic scan cycles with a periodic polling scheme. As we will see, the energy consumption linked to the periodic polling is effectively lower than scan cycles proposed in BMADS. Concerning the state of the art, works focusing on energy optimization in BLE mesh are scarce. Although energy saving is rapidly becoming an interesting and hot topic in mesh networks, in most cases, authors do not focus on energy optimization but on other issues: energy consumption estimation, application of BLE mesh in new areas, or exploring mesh alternatives, that clearly differ from the standardized managed flooding mechanism. For instance, in [23], authors survey several deployed applications, the problems to adopt BLE in new areas, and current academic and industrial solutions that expand the capabilities of BLE, as can be the new mesh profile. However, energy optimization is not discussed. In [24], authors survey works done on Bluetooth multi-hop networks, and include the BLE mesh as one of the enabler technologies among other BLE possibilities. Nevertheless, the survey mostly emphasizes energy saving in solutions that change the routing or use a scatternet topology (connection-oriented), while energy savings in BLE mesh are not addressed. In [25], authors analyze and compare, using power consumption as one of the metrics, flooding using the Trickle algorithm [26], and a connection-oriented networking solution called Fruitymesh [27]. They conclude that the optimal mesh approach depends on the application. Focusing on energy saving, the Trickle algorithm as well as the most recent Drypp algorithm presented in [28] help to reduce the amount of redundant network traffic by adapting transmission rates to network density. This reduction has a clearly impact on energy consumption. However, Trickle and Drypp continue to use a continuous scan approach. Thus, the impact over the energy consumption is considerably lower than the proposal presented here, which allows all nodes of the mesh network to go into scan mode only when a device needs to transmit data. Concerning the FruityMesh solution, like Greenlink [29] or the work discussed in [30], it really is a connection-oriented solution. Thus, the energy savings are moderate and the approach greatly differs from the current non-connection oriented BLE mesh approach. FruityMesh is based on neighbor-only routing, where no routing tables are stored but a connection is established between two nodes and kept open. Greenlink [29], which is a new technology of scatternet formation for BLE, and the work presented in [30] are very interesting approaches. Nevertheless, they really focus on minimizing the number of central/relay nodes, same as the Minimum Relay Tree presented in [31]. Greenlink reduces energy consumption a 50% compared with the standard deployment. Compared to Greenlink, the Minimum Relay Tree requires a previous analysis of the network and the manual selection of which nodes should act as relays. If the topology changes, the network should be reconfigured again manually. Low Power Listening mechanisms like the ones listed for other wireless sensor technologies in [32] can also be explored as another strategy to reduce consumption. In [32], the paper presents three main categories: scheduled, protocols with Common Active Periods, and asynchronous MAC. However, from our point of view, the use of these proposals or a store-and-forward solution implies a drastic change to the bearer, network, and transport layers of the BLE mesh standard. So, most of them cannot be directly used in BLE mesh. Other proposals, like RFC7668 [33], which adapts IPv6 to BLE, or like [34], which presents a novel architecture for IPv6 over BLE mesh networks, are far from the proposal of this work. The first is an adaptation based on connection mode and BLE mesh is based on the transmission of broadcast messages. The second uses continuous scan mode, so the energy consumption is still high. Looking at the orientation of the works found in the literature, the differences of the proposal presented here are clear and significant. Realize that the main motivation of the PSM-DMO proposal, like the BMADS scheme previously proposed by the authors in [22], is that it does not modify the core of the standard as other approaches do. We consider that is one of the main requirements so that the industry can adopt it more easily and quickly. In addition, the proposal must be based on actual devices and measurements to be a realistic approach. Moreover, it should allow large energy savings, particularly in IoT and IIoT application scenarios where traffic is sporadic or infrequent, even when the size of the networks (number of hops) is high. The goal is to achieve a substantial multiplication of the battery life time of the devices. We will show that with few adjustments, the actual BLE mesh can be considered as a general-purpose of IoT and IIoT in many scenarios, allowing large energy savings up to 99.24%. That is, it is up to 8 times better than the BMADS proposal and much more than the 50% claimed by solutions like Greenlink, knowing that the main principles of the Greenlink approach are different and thus, the comparison unfair. In any case, we recall that the proposal must be defined as an optional operation mode, coexisting with the standard mesh operation and eligible when nodes operate in scenarios where energy saving is significant compared with the standard operation. It has been designed as a new feature that can be applied directly to the currently published mesh profile unlike [27,30], etc. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 3 The paper is organized as follows. First, we review the basics of Bluetooth mesh with its main parameters, protocol stack, and frame definitions. Then, in Section 3, we present the points that define our proposal. Later, in Section 4, we analyze the energy consumption of our proposal in comparison with the standard behavior of the specifications. Section 5 discusses the principles of parameter selection and we present the performance of the proposal under different scenarios, compared with the standard operation and the BMADS proposal. Finally, Section 6 concludes the paper. 2. Overview of Bluetooth Mesh basis and BLE bearers In this section, we will introduce the key aspects that characterize Bluetooth Mesh to understand timing relationships between transmissions involved in the proposal, encapsulation of data to be transmitted (overheads), and the mechanism used to achieve the reliability of the network. Devices that are part of a mesh network, specifically devices that can transmit and receive messages, are called “Nodes” or “provisioned devices”. Additionally, a node may have one of several optional features, giving them special capabilities: relay, friend, low power, and proxy. From all of them, the relay feature deserves special attention because, as in any mesh network, in BLE mesh, the nodes with this feature can receive and then retransmit mesh messages. Thus, they cooperate dynamically to transport messages across the network, allowing large deployments. Bluetooth mesh has been designed as a layered architecture with BLE 4.x backward compatibility. The main characteristic of the BLE mesh standard is that it is built on top of the full BLE core stack (physical and link layer), as illustrated in Fig. 1, and uses a managed flooding mechanism instead of routing. This mechanism is very robust. It allows immediate sending of messages, and does not require maintenance of the routes. However, it requires that relay nodes scan the channel continuously. In the current version, mesh data are transmitted consecutively on primary channels 37, 38, and 39 reserved for all non-connected state communications and using advertising events (see Fig. 2) as a bearer. Really, there are two bearers defined: the advertising bearer for devices that include the mesh profile into their stack and the GATT (Generic Attribute) bearer. GATT bearer is used by devices that do not support natively the Bluetooth Mesh Profile to communicate with a mesh network through a proxy node. We focus on nodes supporting the mesh profile. The specification states that the advertising bearer shall use nonconnectable and non-scannable undirected advertising events (see bottom of Fig. 2) with some little adaptation. Besides, according to the specifications, all devices supporting only the advertising bearer should be scanning with a duty cycle as close as possible to 100 %. The standard follows a layered architecture covering all the OSI layers. On top of the mesh stack, an application is implemented. One of the most important key points of BLE mesh is the specification of device behaviors according to a model paradigm (set of configuration states that concerns the node capabilities and behavior within the mesh: features, addresses the node has subscribed to, the security keys, etc.). In such a way, the full BLE mesh stack (see Fig. 1) deals with: •Model layer/foundation model layer: to define and implement the models and basic functionality of nodes (behaviors, states, messages, and so on) in specific application scenarios. •Access layer: to define how higher layers (application) can use the more technical layers below. •Transport layer: to encrypt, decrypt and authenticate application data (at the upper transport layer), and to define how upper transport layer messages are segmented and reassembled into multiple lower transport PDUs. •Network layer: to define how transport-layer messages are addressed towards one or more elements. That is, it defines the network message format that allows Transport PDUs to be transported by the bearer layer and whether to relay/forward messages accept them for further processing or reject them. •Bearer layer: to abstract the underlying BLE Core [16] specification towards the layers above through the so-called bearer concept, defined above. As we stated above, BLE mesh uses a managed flooding technique, supported by two main features: 1) Each message includes a Time To Live field (TTL value included at the network layer) that limits the number of times a message can be relayed and, 2) the nodes maintain a cache of the last received messages to avoid unnecessary retransmissions of previously received messages. Firstly, BLE mesh preferably uses advertising bearers, based on nonconnectable and non-scannable advertising events. These events are composed by the transmission of one advertising ADV_NONCONN_IND PDU in sequence using at least one of the three advertising channels (channel 37, 38, and/or 39). The time between the start of two consecutive advertising events (affected by the imposed timing restrictions within the event) is controlled by the advInterval parameter (≥20 ms) plus a random variable between 0 and 10 ms. In addition, the reliability of the mesh network is based on the relay and repetition of the messages according to three different procedures and parameters that could be redundant. One of them is controlled by the model-related layers and the other two by the network layer. Publish retransmit. This process is controlled at the model level. It defines how many replicas of an access packet (containing the model messages) are generated and the time between them. This is controlled by the Publish retransmit count (P RC ) parameter and the publish interval (pubInt), which depends on the Publish retransmit interval steps (P RIS ) parameter (5-bit value). P RC takes values between zero and seven, i.e., a message can be published between one and eight times. The pubInt interval equals to (P RIS +1)⋅50 ms and takes values from 50 to 1600 ms using 50 ms steps. Network transmit. This process is controlled at the network layer. It defines the number of transmissions of a network PDU generated in a source node and the interval between them. This is controlled by the Network transmit count (N TC ) parameter and the network interval (netInt), which depends on the Network transmit interval steps (N TIS ) parameter (5-bit value). N TC takes values between zero and seven, so a Fig. 1. Mesh BLE stack and required changes to include the new feature. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 4 network PDU is transmitted between one and eight times (N TC +1). The netInt interval, being equal to (N TIS +1)⋅10 ms, takes values from 10 to 320 ms using 10 ms steps. However, the minimum netInt is 20 ms due to the restriction on the advertising interval fixed by the used bearer. Relay retransmit. It is also defined at the network layer but linked to the relay feature. It controls how many times a packet should be retransmitted by a relay and the interval between them. This is controlled by the Relay retransmit count (R RC ) parameter and the network interval (relInt), which depends on the Relay retransmit interval steps (R RIS ) parameter (5-bit value). R RC takes values between zero and seven, so a network PDU is retransmitted between one and eight times (R RC + 1). netInt interval, being equal to (R RIS +1)⋅10 ms, takes values from 10 to 320 ms using 10 ms steps. However, the minimum netInt is 20 ms due to the restriction on the advertising interval fixed by the used bearer. Random delay: To avoid collisions, the mesh profile also requires introducing a random delay at the link layer, controlled by the network layer. Each transmission managed by the network transmit or relay retransmit parameters should be perturbed by a random value from 0 to 10 ms from the previous transmission. Also, and although the advertising bearer does not include Fig. 2. BLE mesh message encapsulation and use of BLE non-connectable and non-scannable advertising events to send mesh messages. Fig. 3. Example of the publish/relay retransmit and network transmit mechanisms. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 5 acknowledgments, BLE mesh supports transmission of unacknowledged and acknowledged messages at the model-related layer. In this case, the network schedules the transmission of the acknowledgment messages after a random delay (rand ACK ) to reduce the probability of collisions. Fig. 3 shows an example of message transmission with BLE mesh. The source node has a P RC =1 and N TC =1, and the relay parameters are R RC =2 and R RC =1 for Relay 1 and Relay 2, respectively. The source generates a packet as soon as possible whenever a user event is generated. The first transmission is received on both relays, stored in their cache, and retransmitted R RC +1 times. The second transmission is received but not retransmitted because it has the same sequence identifier as the first. The source transmits another packet with a different sequence identifier, completing the publish procedure. The Relay 1 receives it and proceeds to retransmit in the same way as the first. The packet is incorrectly received by the Relay 2. The second transmission is received on both relays and is only retransmitted by the Relay 2. Note that, later, we will suppose that these variables, can be configured differently for transmitting the data or the control message. So, hereafter, we use superscripts to indicate this difference. Additionally, from now on, every timereferred equation, variable, or parameter is expressed in ms. Fig. 2 also illustrates the complete encapsulation process from the application layer to the bearer layer considering ADV_NONCONN_IND PDUs based advertisements. The bottom half of the figure is dedicated to explaining the advertising bearer operation. Reading the top half of the figure (mesh stack), there are two message types allowed: access and control messages. When the message to be transmitted is large, no matter its type, it can be segmented. An unsegmented access/control message can convey up to 10 bytes of data, which is enough for the purposes considered in this paper. The difference in the encapsulation of an access versus a control message comes in the transport and network layers. An access message divides the Message Integrity Checks (MICs) into two 4-byte parts, one in the transport layer and the other in the network layer. This is done to allow the encryption of data application messages. For example, a relay may retransmit a message if it belongs to the network (Network MIC OK), but not necessarily has to know its contents (Transport MIC KO). Control messages, instead, are critical messages used to manage the network. Thus, they also use eight bytes, but all of them are dedicated to protecting the network PDU. In this way, both message types have the same length at the network layer. This network PDU is introduced into a standard BLE advertising data structure with a defined advertisement type: 0×2A for mesh messages or 0×2B for mesh beacons. Here on, the advertisement is passed to the physical layer as any other BLE advertisement. Out of current mesh specification, the new proposal includes the use of scannable undirected advertising events, as a part of the poll/interrogation process before mesh flooding reactivation. Thus, we proceed to describe the event. In this case, for every advertising event, the advertiser device broadcasts advertising information (ADV_SCAN_IND PDU) in sequence over each of the three advertising channels (index=37, 38, and 39). When an ADV_SCAN_IND packet is received by a device configured in active scan mode, the scanner device (after TIFS=150 μ s) is allowed to respond with a scan request (SCAN_REQ PDU) to request additional information from the advertiser. After the reception of a SCAN_REQ, the advertiser device responds TIFS later with the corresponding scan response (SCAN_RSP PDU) on the same advertising channel index. Once the SCAN_RSP PDU is sent, the advertiser shall either move to the next used primary channel to send another ADV_SCAN_IND PDU or close the advertising event as illustrated in Fig. 4. Notice that ADV_SCAN_IND and SCAN_RSP may transport an access or control mesh message, whereas SCAN_REQ has only been processed at the link layer. 3. PSM-DMO proposal The proposal is a scan and transmission scheme adapted to the BLE mesh specification, which allows all nodes of the mesh network to go into scan mode only when there is a node with data to transmit and flooding is required. The proposal avoids applying a continuous scan scheme or as close as possible to 100 % of the time, as defined in the standard. The main idea is to replace the continuous scan with a periodic but asynchronous polling process whereby the nodes interrogate their neighbors about the existence of data to receive or to retransmit through the network. Nodes remain by default in sleep mode between polls to save energy and they only go into scan mode during the period of time the mesh network will be involved in the transmission and dissemination of data. This period is estimated by the node which is the source of data, it is announced to its neighbors and it is propagated consecutively by all the relay nodes until the destination. Actually, the proposal is defined as an optional operation mode, Fig. 4. Poll/interrogation process. Based on scannable undirected advertising events. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 6 eligible when nodes operate in scenarios with applications that are delay tolerant and/or make infrequent transmissions. The aim is to reduce the consumption in the network relays. The objective of the proposal differs from the concept of Bluetooth Mesh Low Power Node (BM-LPN) and the associated friendly node function, already defined in the standard. According to the specification, BM-LPN nodes are not responsible for message relaying but they can operate within a mesh network at significantly reduced reception duty cycles using a friendship relationship to another node, called “Friend Node”. BM-LPN can transmit messages at any time since it is assumed that at least one of its next-hop neighbor devices will be always ready to receive and forward such messages. However, a friend node (that is, a relay node supporting the friend feature) assists the BM-LPN in reception, by storing messages destined to the BM-LPN while this node is in a sleep state. Forwarding of messages by the friend node occurs on demand when the BM-LPN asynchronously polls their friend for messages awaiting delivery. After sending the BM-LPN request to its friend node, BM-LPN returns to sleep node for a receiveDelay time (which allows the friend node to prepare its response) and then, it spends a receiveWindow time listening to the channel for a potential response. The current proposal is also based on a polling/request mechanism but differs significantly in the concept and procedure described before. In this case, the objective is that all nodes stay in sleep mode most of the time. It limits the scan mode in all the nodes to the periods where incoming packets are required to be flooding through the network. The proposal is compatible with the underlying core BLE since specification v5.0 [35]. The poll/request process is implemented with the support of connectable and scannable undirected advertising events, currently out of the mesh specification as potential bearer [15]. On the other hand, notifications about the time the mesh network is expected to be busy forwarding messages are performed using non-connectable and non-scannable advertising events and according to BLE mesh. We name these notifications Awaiting Data and Transmission (ADT) message. The main objectives of this proposal coincide with the BLE mesh asynchronous dynamic scan mechanism (BMADS scheme) proposed by the authors in [22] to reduce the overall energy consumption of the mesh networks. However, the overall mechanism differs significantly. BMADS feature reduces the scan cycles of the nodes by defining a low energy scan duty cycle while there is nothing to transmit. That is, being scanWin and scanInt the values of the scan window and scan interval at the receiver, respectively, BMADS uses scanWin<scanInt, instead of keeping the receiver in continuous scan mode (scanWin=scanInt). To prepare the network for data transmission, BMADS sends a new control message sequence (ADS message) that puts the nodes into continuous scan mode before transmitting the data (ADS specifies the time they should stay scanning continuously). Fig. 4 in [22] shows the flow of messages associated to the proposal. The main issue is that scanWin and scanInt should be configured to reduce the energy consumption but ensuring the reception of at least one of the ADS message sequence packets sent from any neighbor. There is a tradeoff between scan cycle configuration and the required length of the ADS sequence configuration to ensure reliability. In fact, there is not a single optimal configuration, seen as the compromise between the energy saving and the additional delay introduced. BMADS provides significant energy savings, which depends on applications, size of the network, and scenarios. Up to 98% of energy savings in selected cases (applications that can tolerate delays of tens of seconds in low-hop networks, i.e. 4 hops, and sporadic transmissions, i.e. TX/day), although extreme cases of networks requiring 127 hops and having high traffic can still show savings of 25%. However, where several transmissions of an ADS message within the scan periods are required to ensure a successful control message reception in non-ideal condition due to collisions and noise, energy saving is reduced (up to 95% with three required transmissions for TX/day and 4 hops). Energy saving is significant but, there is a continuous energy consumption related to the scan periods in addition to energy consumption linked to ADS message sequence transmission. It can be thought that the consumption associated with the duty cycle of the scan process may seem negligible compared to transmissions (i.e. poll or control message transmissions like ADS) but this assessment is inexact. Note that, to optimize the consumption, it is necessary to minimize scanWin, but the minimum scanWin is 10 ms when non-scannable advertising events are used. The new proposal (PSM-DMO) presented here replaces the requirement of periodic scan cycles with a periodic polling scheme. Certainly, polling based on scannable undirected advertising events also requires that nodes enter in a RX scan period after the ADV_SCAN_IND transmission and a TIFS period. However, this scan period is equal to 60 μ s if the neighbors do not respond with a SCAN_REQ, being significantly lower than the 10 ms of the BMADS proposal, as previously described. It was presented in Nordic Semiconductor [36] and measured experimentally by the authors in [37] and [38]. Additionally, it will also be visualized in Figs.10 and 11 in Section 4. The energy consumption linked to the periodic polling is effectively lower than scan cycles proposed in BMADS. In any case, same as BMADS, a main characteristic of the proposal is that it does not require modifying the physical and MAC layer of the core BLE specification. It does not either require relevant changes in the mesh protocol stack structure although an additional feature is required. Fig. 1 depicts the modified BLE mesh stack including the new feature (PSM: Power Save Mode and DMO: Discontinuous Mesh Operation) in dark orange. The necessary changes concern the definition of a new control command linked to the ADT transmission and its management, the activation, control and deactivation of commands linked to the polling process and handling of timings linked to mesh activation and transmission. Note that scannable undirected advertising events are not currently used as a bearer for access or control PDUs. The new commands may be identified using the RFU fields available in the Header field in the current BLE standard frame definitions, showed in Fig. 2. It is necessary that all nodes in the mesh network should include this feature for PSM-DMO to operate. If there are nodes that do not support polling and ADT transmission, network should work in standard mode. Next, we describe the general phases of the mechanism. Then, the overall algorithm will be summarized in Fig. 7. 3.1. General phases of the mechanism The general phases of the PSM-DMO process can be concisely summarized as follows. Nodes are usually in low power state. In this state, all nodes sleep and send regular poll messages to see whether there is traffic to be relayed (box in grey color in Fig. 7). When a node has traffic to send or retransmit, it listens (box in red color in Fig. 7) for such poll messages coming from neighboring nodes and makes use of them to activate these neighboring nodes and put them in scanning mode. This process continues until the entire network is awake. The process includes the transmission of information (box in green color in Fig. 7) about the time required by the nodes to be in active state. Once the network is awake, data transmission occurs (box in blue color in Fig. 7) in a similar way than in the standard mesh. Next, we describe step by step the basis of the implementation. General parameters included in the proposal are summarized in Table 1. 1) Low Power State, Interrogation Process By default, all the nodes remain in a sleep mode. That is, scanning is interrupted, but nodes transmit periodic and asynchronous poll requests to neighbor nodes to determine if they have to change to scan mode. This mode of operation is only active when nodes do not have data to transmit, nor to retransmit nor they are also expecting to receive them from other nodes (in case they are relays). The interrogation process is based on the periodical activation by each node (advertiser) of scannable undirected advertising events. The visual representation of the poll process is shown in Fig. 4, with details about required timing relationships between transmissions. The polling ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 7 event consists of sending packets named ADV_SCAN_IND through one of the three advertising channels defined in the specifications (in this case on all three, CH=37, CH=38, and CH=39). Note that, in Fig. 4, both nodes 1 and 2 are in low power state in the first period of the time. Nodes leave the low power state if a data transmission event is generated or activated by them (e.g. node 1 in Fig. 4), initiating the process that propagates the switch of all the nodes to a continuous scan. Neighboring nodes in polling mode could start receiving responses from active scan devices. Note that difference between passive and active scan is that an active scanner can request additional information from the advertiser while the passive scanner only listens. That is, any device in active scan (e.g. initially, the source node in Fig. 4 after event generation), receiving an ADV_SCAN_IND from an advertiser (polling node), responds with a unicast scan request PDU (SCAN_REQ) to the advertiser on the same channel where it has been received and then listens for the scan response PDU (SCAN_RSP) on the same advertising index. The scanner only sends the SCAN_REQ if the advertiser address is allowed by a scanner filter policy defined in it. In the same way, the advertiser sends the SCAN_RSP only if the SCAN_REQ is received from a scanner allowed by the advertising filter policy defined in the advertiser. Scan and advertiser filters determine, respectively, the devices for which advertising packets will be processed by the scanner and devices for which the advertiser will accept a scan request. Once the SCAN_RSP PDU is sent or if the advertising filter policy forbids processing the SCAN_REQ, the advertiser shall either move to the next used primary channel index to send another ADV_SCAN_IND or close the advertising event. In this proposal, no restrictions are applied concerning the possibility of discovering several devices that send data into two or the three different frequencies within the same event. Therefore, the proposal contemplates closing the event after finishing the round of the three frequencies. However, this scenario is extremely unlikely and, if possible, forces the length of the scan period to be managed to consider the coexistence of multiple parallel transmissions. This aspect will be reviewed later. After sending the sequence of ADV_SCAN_IND linked to the polling event, if the requesting node (relay or sink, node 2 in Fig. 4) has received a SCAN_REQ on any of the three frequencies, it sends the SCAN_RSP PDU. Then, the requesting node goes temporarily into continuous passive scan state as close as possible to 100% (T scanWin =T scanInt ) and deactivates its polling process. Reasons for switching to passive scan instead of active scan are discussed later. After entering in passive scan state, the link layer should listen on a different primary advertising channel index (there is not a selection rule for the first index) for the duration of each consecutive T scanWin . For example, in Fig. 4, node 1 responds to node 2 in CH=38, however, node 2 starts the passive scan in CH=37 according to its own programmed sequence for each T scanInt . The time between consecutive polling processes is T poll plus a random period, which we have defined between 0 and 10 ms (rand 10 ). The polling process is composed of only one polling event. This allows to configure the process as a periodic advertising event, being the time between the start of two consecutive advertising events (T advEvent ) computed as T advInterval =T poll plus τ advDelay =rand 10 . The process described above is not aware of the source or the destination of the messages that will be sent later. It is only a simple mechanism that allows nodes to switch to the required scan mode (firstly a passive mode and then an active scan mode). 2) Activation and management of the scan periods. Cascade spread of the process Once we have defined the more general basis concerning the polling mechanism, let’s specify how the activation of the scan periods and transmissions are managed, first in the source node and then in the relays and destination nodes. Fig. 5 shows an example of the whole mechanism to support the description. 2A) Mechanism at the source node A source node, with data to transmit, switches to scan mode awaiting to receive an ADV_SCAN_IND from each of its relay neighbors according to the procedure described above. When it receives an ADV_SCAN_IND from a valid address and, then, the corresponding SCAN_RSP after sending the SCAN_REQ, the source knows the relay/sink node that interrogated has moved to passive scan mode. The same does not happen in case there is no SCAN_RSP. In this case, the source only knows that a Table 1 Parameters used in the PSM-DMO proposal. Parameters Description Generic random delays rand Undefined random value in the specifications. rand 10 Random value, uniformly distributed between 0 and 10 ms. rand MAX 20 ms. Upper limit in some random variables. Scanning parameters scanInt Generic scan interval. scanWin Generic scan window. Generic processing times Trelay PROC, Tsink PROC Processing times of the relays and sink, respectively. Poll process Poll event Poll event defined as a scannable undirected advertising event. T ADVpoll, T scanREQpoll T scanRSPpoll Times linked to advertising, request and response packets in the scannable undirected advertising event. T poll Fixed time between consecutive polling processes (composed by only one polling event). The time between consecutive polling event is T poll +rand 10 . N PO Number of (T poll +10 ms) intervals to computer T listen . T listen Discovery interval: minimum interval to discover neighboring nodes. It is equal to N PO ⋅(T poll +10). ADT message transmission parameters ADT message Message that includes T ADT . adv seqADT Non-connectable and non-scannable undirected advertising events to notify T ADT. adv seqADT,i adv seqADT linked to source i. rand seqADT Random time applied by the relay nodes after T listen and before transmitting the first ADT message of the adv seqADT sequence. max(rand seqADT ) Upper limit of rand seqADT . It is equal to rand MAX . netInt seqADT Network transmit interval linked to adv seqADT advertisement event. PseqADT RC Public retransmit count linked to adv seqADT . Set to 0. NseqADT TC Network transmit count linked to adv seqADT advertisement event. TTLseq TTL of adv seqADT advertising event. Set to 0. TAEseqADT TxEVENT Duration of the full adv seqADT advertising event. T seqADT Maximum time needed for the transmission of the sequence of ADT messages. T ADT Awaiting Data and Transmission time: amount of time a node should remain in scan state awaiting data. It is included as a parameter in the ADT message. T ADT1 Estimation of the maximum time a node must wait into scan mode before starting to receive data. Tsource ADT1 Estimation of T ADT1 computed by the source. T ADT2 Estimation of maximum time needed to transmit the data TTL ADT TTL parameter included as a parameter in the ADT message. PId Process Identifier (PId ,j is the PId linked to the source j). TIMEOUTRX seqADT Timeout to detect reception of adv seqADT (applied in relay/ sink). After that, the polling process is reactivated. Data transmission parameters pubIntdata Publish retransmit interval netIntdata Network transmit interval relIntdata Relay retransmit interval Pdata RC Publish retransmit count Ndata TC Network transmit count Rdata RC Relay retransmit count TAEdata TxEVENT Duration of the advertising event linked to data transmission. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 8 neighbor exists. How to manage this issue will be discussed later. In absence of errors in reception due to channel effects or collisions, after a time equal to T poll plus 10 ms (maximum of rand 10 ), the source should have been successfully interrogated by all its neighbor relays (if we consider that all relays are configured identically) and knows they all moved to passive scan. To combat the effects of channel errors and collisions, instead of waiting for a minimum time T poll +10 ms, the minimum discovery window for neighboring nodes can be extended to an N PO number of T poll + 10 ms intervals. We name this period T listen . For instance, if N PO =2, T listen =2⋅(T poll +10). The N PO value should be estimated based on the expected collision probability for the application scenario and configuration parameters of poll process, in addition to the Block Error Rate (BLER). N PO will then be configured the same in all nodes of the network. Once the T listen period elapses, the source cannot start sending data yet. First, it is required that the process is repeated in the relays to propagate it over the network so that all relay nodes and the sink in the mesh network have changed and remain in active state. The objective is to prepare the network for the transmission of data. For this purpose, it is required that each relay node, entering into continuous scan mode, receives a mesh control field/message which should specify the amount of time it should remain in scan state awaiting data. This time interval, we denoted as T ADT (Awaiting Data and Transmission time), is composed by two components (T ADT1 and T ADT2 ) we describe later and is calculated at the source node considering the worst-case scenario of delay. It is reasonable to think that the simplest and most desirable approach to send the T ADT value could be encapsulated inside the SCAN_REQ, but this option is not feasible, since this packet does not include any data field (see in Fig. 4 the SCAN_REQ PDU) and it has no bits available in the header. So, the proposal is to send mesh messages to notify the T ADT (named ADT message) using non-connectable and nonscannable undirected advertising events (named adv seqADT ), once the T poll +10 ms period has elapsed (see in Fig. 5 the source). The network layer address field should be set to the broadcast fixed group address 0xFFFF to allow the processing of the message by every node that receives it. ADT message does not include any information about the specific destination of the data flow expected to be transmitted. Nevertheless, ADT message is sent using the mesh bearer layer. It is a control message, defined and managed at the new feature (PSM-DMO) introduced in the mesh protocol stack, which goes through the mesh protocol stack as illustrated in Fig. 2. Details about ADT parameters will be introduced next. To combat the effects of channel errors and collisions over ADT messages, redundancy by repetition is applied using, in this case, mechanisms defined in the mesh specification. Each ADT message should be processed only by neighbors of the node transmitting the message. ADT message is never relayed because this packet should not be retransmitted immediately on the receiving nodes. Thus, the TTL field (identified as TTL seq ) is fixed to zero. When a neighbor propagates ADT information to its neighbors in the next hop, the ADT message should also be regenerated. Specifically, the repetition of the ADT message follows the standard network transmit procedure, with a N TC and netInt, denoted as NseqADT TC and netInt seqADT , respectively. In this way, each ADV packet, containing the ADT information, is transmitted N TC +1 Fig. 5. Example of the proposed mechanism. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 9 times in each of the three frequency channels (37, 38, and 39) using the ADV event. On the other hand, the maximum time needed for the transmission of the sequence of ADT messages is given by the following equation: TseqADT =NseqADT TC ⋅(netIntseqADT +10)+TAEseqADT TxEVENT (1) where netInt seqADT plus 10 ms (the maximum of a random interval between 0 and 10 ms -denoted as rand 10 -) is the maximum time interval between consecutive adv seqADT events and TAEseqADT TxEVENT the duration of the full advertising event (transmission of the ADT message on all three frequencies). After elapsing the T listen and transmitting the sequence of ADT messages, if neighbor nodes are detected, the source node cannot transmit data immediately. It should wait enough time, named as T ADT1 , until all nodes in the network are in scan mode before start sending the data. This time must be added to the maximum time, named as T ADT2 , required to transmit the data through the network. Data acknowledgment from the destination node is not considered in this work, but it can be easily contemplated with few modifications. In this case, the source will use larger values for ADT2, including the estimation of ACK transmission. Both values, T ADT1 and T ADT2 , must be reported in the ADT message. As we said above, the ADT message does not include any information about the specific destination of the data stream expected to be transmitted. 2B) Mechanism in the relays and the sink nodes In the relay and sink nodes the process is repeated similarly but the following peculiarities need to be considered. In relation to the polling state, as mentioned above, after sending an ADV_SCAN_IND, if a relay node receives a valid SCAN_REQ PDU (there is a neighbor that requires transmission of data), it sends the SCAN_RSP PDU, disables the polling process, and proceeds to continuously scan on the frequency corresponding according to the configuration of the scan procedure. However, when the node enters the scan mode, it must still inhibit the response to polling messages from other nodes for a period (see, e.g., dark blue periods in node 2 in Fig. 5). Specifically, the inhibition lasts until it does not successfully receive an ADT message of the sequence of adv seqADT events from the node that put it in scanning mode. Thus, passive scan is used instead of active scan. There are two reasons for that: (1) Receiving an adv seqADT is the only explicit evidence that the interrogated node has successfully received the SCAN_RSP PDU from this relay/sink node or any of its neighbors during the T listen period. Let’s consider a relay/sink node that is the only neighbor of the one sending SCAN_REQ. If the interrogated node did not receive the response (SCAN_RSP), it is not sure that the relay/sink node has entered scan mode, since it is not possible to know if the SCAN_REQ PDU was received correctly. Therefore, the interrogated node will not send the sequence of adv seqADT . (2) If a relay node immediately goes into active scan mode, it can respond to the polling request from other neighboring nodes that are also one hop away from the node from which they expect to receive the data. This could be the case that occurred in node 5 with respect to nodes 3 and 4 in Fig. 5. Therefore, collisions between scannable undirected advertising events are unnecessarily increased. To solve the anomalies derived from the loss of the SCAN_RSP packet, we define a timeout, called TIMEOUTRX seqADT , which is particularly useful when the node is the only neighbor of the interrogated node. If after sending SCAN_RSP a relay/sink node does not receive any adv seqADT within a TIMEOUTRX seqADT period equal to T listen +T seqADT +max(rand), the node reactivates the polling process. In this case, polling and continuous passive scan coexist but responses (thanks to passive scan mode) to its own polling neighbors are inhibited. This solution allows that in case this node was the only neighbor of a given node, the propagation of the process of switching to the scan mode is not blocked in the network. Really, this situation is expected to occur with low probability, especially when the number of poll events in the T listen period is greater than unity and this number is correctly dimensioned. The scan process can be disabled if nothing is received after a second T listen period and the node returns to the low power state. Fig. 6 shows an example of the situation. Further details about the use of this TIMEOUTRX seqADT and the concatenation of various T listen periods will be discussed later, related to anomalies management. Once a relay node successfully receives the adv seqADT , it starts a new time period in active scan mode equal to the ADT value received in adv seqADT , being now able to respond to polling neighbors to facilitate the pass to the scan mode of the rest of the network nodes (see, e.g., light blue periods in node 2 in Fig. 5. After that, similarly as the source did, at the beginning of that scan period and for a time T listen , the relay waits for the reception of ADV_SCAN_IND PDUs. When an ADV_SCAN_IND is received, the relay responds with a SCAN_REQ and waits for the SCAN_RSP. After T listen , if at least one SCAN_RSP has been received, the relay sends the adv seqADT with the same procedure, contents, and parameterization used by the source. Then, it remains in active scan, waiting for the reception of the data in mesh mode. A small random delay should be introduced between finishing the T listen and relaying the ADT message using the adv seqADT to reduce collisions of the first adv seqADT events when multiple relays have been involved in the T listen period at the same time (e.g., see nodes 4 and 5 in Fig. 5). This random time (named rand seqADT but represented as rand in figures) is similar to the one defined in the mesh for the ACK in relay nodes. Specification [15] says that rand ACK should be between 20 and 50 ms when the ACK is the response to a message that was sent to a unicast address, but between 20 and 500 ms to reduce the probability of collisions, if it was sent to a group address or a virtual address. In this case, rand seqADT must be set according to the expected probability of collisions. Once the relay node has sent the sequence of adv seqADT events, it expects to remain in active scan mode for a period of time equal to that specified in the adv seqADT that it had received from its neighboring nodes. It would be feasible to define a second TIMEOUTRX data to disable the scan process if nothing is received after a T ADT period. Above, we have described the basis of the process by which all network nodes enter into scan mode, to proceed below with data transmission in mesh mode. In addition to Figs. 5 and 6, the algorithm of Fig. 6. TIMEOUTRX seqADT to solve non-detection. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 16 Thus, the number of competing nodes decreases along the T listen and they are affected by lower collision probability. That is, if there are several nodes (for example, the 4 used for the estimation), the values of the collision probability included in Table 2 are really upper bounds. On the other hand, if several nodes interrogate the same node in T listen period, as long as a SCAN_REQ was successfully sent, the reception of at least one SCAN_RSP from one of these nodes activates the sending of the adv seqADT . So, the real effects of collisions and BLER are less significant than the estimated in Table 2. On the contrary, when there is a single node, the expected BLER is a key parameter. Concerning the n neighPoll parameter used in Eqs. (18) and (20) to compute consumption energy, n neighPoll is the average number of poll events in which a node is involved. It is selected in such a way that it represents a conservative bound. n neighPoll is the sum of two terms: 1) the mean number of poll events that the node transmits during the period it is being scanned by a neighbor in the T listen period and, 2) the average number of poll events in which it is involved (responding with poll scan request messages to their neighbors) when it passes to the T listen period. It is calculated based on the P NDScanRSP., using the Eq. (33) where n neigh is the number of estimated neighbors. Realize that to obtain an upper bound of the consumption, as a simplified approach, poll events are considered completed (up to the reception of SCAN RSP transmission) and the energy linked to the polling node. Table 2, includes the corresponding values for the derived N PO when n neigh =4. nneighPoll=(nneigh +1)⋅(1−PNDScanRSP)∑ NPO n=1 n(PNDScanRSP)n−1(33) With these assumptions, the performance of PSM-DMO will be evaluated in terms of energy consumption and delay for different T poll values and N PO between 3 and 6, always assuming n neig =4 and a worstcase of n neighPoll =9. 5.4. Discussion and results To evaluate the achievable gains of the PSM-DMO proposal, the energy consumption of the network has been computed and been expressed relative to the standard mode operation of the Bluetooth Mesh network. That is, it is computed as a percentage of the continuous scan option. Energy consumption is computed from the source node point of view related to the passive and active scan intervals. Nevertheless, n neighPoll is computed as indicated in (Eq. (33), same as if it were a relay. The energy consumption is lower for relay and sink nodes, being the differences very significant when the size of the network grows. Although, in reality, any node can be a source, relay or sink, the energy consumption is always calculated for the worst node (the one that acts as a source) to evaluate the benefits of PSM-DMO. In addition, it is clear that PSM-DMO introduces an additional delay in the start of data transmission in mesh mode. The delay is computed in the source as the time elapsed from the data generation event to the beginning of data transmission. This delay is an upper bound of the time it takes for all nodes to be activated. A main requirement of the configuration is to reduce the total delay, although it is expected that a compromise exists between reducing the time and the energy consumption. In any case, recall that the proposal is defined as an optional operation mode, eligible adaptively when nodes operate in scenarios with applications that are delay tolerant and/or make infrequent Table 2 P NDScanRSP variation with T poll and BLER for four competing nodes and one node in T listen period. Mean N PO , upper bound of N PO required to achieve a non-detection probability lower than 1% and estimated n neighPoll . BLER¼0% BLER¼10% T poll P NDScanRSP MeanN PO N PO n neighPoll P NDScanRSP MeanN PO N PO n neighPoll 20 ms 0.2245 3.09 4 7 0.4347 5.53 6 9 30 ms 0.1676 2.58 3 6 0.3932 4.94 5 8 40 ms 0.1337 2.29 3 6 0.3685 4.61 5 8 50 ms 0.1112 2.1 3 6 0.3521 4.41 5 8 100 ms 0.0604 1.64 2 6 0.315 3.98 4 8 200 ms 0.0316 1.34 2 6 0.294 3.76 4 7 300 ms 0.0213 1.20 2 6 0.2866 3.68 4 7 400 ms 0.0161 1.12 2 6 0.2828 3.65 4 7 500 ms 0.0130 1.06 2 6 0.2805 3.62 4 7 1 s 0.0065 0.92 1 5 0.2758 3.57 4 7 Table 3 Parameters used in the evaluation. Common parameters Current consumption at 8 dBm 16.4 mA Current consumption receiving (scan) 4.60 mA Current consumption in idle mode 0.01 mA Working voltage 3 V Processing times Trelay PROCand Tsink PROC 20 µs rand 10 10 ms Scanned channels 37, 38 and 39 Data parameters PSM-DMO BMADS Publish retransmit count, Pdata RC 0 0 Publish retransmit interval, pubIntdata N/A N/A Network transmit count, Ndata TC 5 k-1=[2–5] Network transmit interval, netIntdata 20 ms 20 ms Relay retransmit count, Rdata RC 5 k-1=[2–5] Relay retransmit interval, relIntdata 20 ms 20 ms Time of advertising event, TAEdata TxEVENT 1.694 ms 1.694 ms rand MAX= max (rand) at the relay nodes 20 ms 20 ms PSM-DMO parameters Poll process ADT sequence T advIntervall = T poll [20–1000]s TTL seq 0 Max (rand 10 ) 10 ms PseqADT RC 0 N PO 1, 3–6 NseqADT TC 2–5 T ADVpoll 312 µs netIntseqADT 20 ms T scanREQpoll 176 µs TAEseqADT TxEVENT 1.694 ms T scanRSPpoll 336 µs rand MAX = =max(rand seqADT ) 20 ms BMADS parameters Pseq RC [0–7] in steps of 1 Rseq RC N/A pubInt seq [50, 1600] ms in steps of 50 relInt seq N/A Nseq TC [0–7] in steps of 1 Redundancy level, k 1, 3–6 pubInt seq [20, 320] ms in steps of 10 TAEseq TxEVENT 1.694 ms scanWin seq Chosen together with Pseq RC pubInt seq Nseq TC and pubInt seq according with k. TTL seq 0 scanInt seq ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 17 transmissions. In other cases, standard mode operation remains active. If the system operates in conditions where traffic is heavy and the number of hops required is also high, it should operate in normal operating mode. Evaluation has been performed for different T poll and N PO values, in several scenarios that differ in their traffic volume, measured in the number of transmission events (TX) per time unit (a number that we translate in the number of transmissions event per day, N TX ) and in the network size. The number of relays is not limited in the deployment but, according to the specification, the number of hops is limited by the TTL. Thus, we define the networks size in terms of the number of hops required in each transmission to reach the destination and equal to the TTL (TTL=TTL ADT ). That is, if TTL is set to the maximum 127, the maximum number of intermediate relays for a transmission is 126. Parameters used in the evaluation are summarized in Table 3. The proposal does not impose any restriction on the valid topology of the network. But, recall that parameter selection has been performed according to some expected characteristics of the deployments and about the density of the neighbors. Power consumption and delay have been realistically considered. In particular: •The consumption data are extracted from [36] and validated experimentally using the nRF52840 DK. Data correspond with that represented Fig. 9 and Fig. 10, I dle =0.01 mA and I scan =4.6 mA and I TX =16.4 mA (8 dBm). •The processing time at relay and sink nodes was also measured from the test-bed [43]. •The rest of the parameters are taken from the range of values defined BLE mesh specifications (verified with real measurements). Selected values correspond with those chosen in the parameter selection. Fig. 11 shows the relative energy consumption with respect to a standard Bluetooth Mesh operation for a different number of poll events in the T listen period (N PO ) and time between consecutive poll events (T poll ). Evaluation is performed considering one transmission per day (1TX/day) and one transmission per minute (1TX/min), in scenarios with TTL ADT =4, 10, 50, and 127 (from now named only as TTL). Unrepresented values are not possible options. For example, for 1 TX/min and TTL=127, settings with the time between polling events of 100 ms or more are not feasible. As expected, recall that for 1 TX/day relative energy consumption is similar for different values of TTL. In the same conditions, Fig. 12 shows the extra delay introduced by the PSM-DMO. Note that, in this case, the delay does not depend on the number of transmissions per unit of time. It only depends on T poll , N PO, and TTL . For one TX/day, Table 4 shows the values illustrated in Fig. 11 for the extreme cases (TTL=4 and TTL=127 with N PO =3 and N PO =6), including also unrepresented delays in Fig. 12 for TTL=127. Power savings are higher than 99% in some configurations. In addition, Table 4 shows in column No TX the relative energy consumption of the proposal compared to a standard BLE mesh network in the absence of transmissions. Now we evaluate simultaneously both energy consumption and delay. When the number of transmission events is low (1TX /day) it is remarkable that the relative energy consumption reduces up to 25.5% for T poll =20 ms, to 5.3% for T poll =100 ms, and until 1.3% for T poll =500 ms, with a negligible impact due to N PO or TTL. However, the delay depends on the number of hops (TTL). As TTL grows, the transmissions might increase the delay. For instance, with TTL=4, the delay varies in the range of [0.67 s-1.03 s] for T poll =20 ms, [1.63 s-2.95 s] for T poll =100 ms and [6.43 s-12.55 s] for T poll =500 ms, depending on the N PO value. Really, taking into account N PO requirements of Table 2 for a hostile and very improbable scenario with BLER=10%, delay is 1.03 s (N PO =6 and T poll =20 ms), 2.07 s (N PO =4 and T poll =100 ms), and 8.5 s (N PO =4 and T poll =500 ms). That is, results are very good both in terms of save of energy and delay. However, as TTL grows, the transmissions might increase its delay. In any case, there is a tradeoff between delay and energy saving. For instance, if TTL=127, a relative consumption of 1.2% or 1.4% can be achieved with T poll =1 s and N PO =3 and N PO =4 but with a delay up to 6.6 min and 8.7 min, respectively. In the other extreme, a delay lower than 33.2 s can be achieved with T poll =20 ms and N PO =6 and a relative consumption of 25.5%. A tradeoff can be achieved, for instance, for T poll =200 ms and N PO =4. In this case, relative consumption is 5.4% with a delay of around 1 min (66 s). Notice that for T poll =1000 ms relative energy consumption can be reduced up to 0.75% for TTL=4 or TTL=10 and up to 1.63% for TTL=127. Thus, a node having a battery of 4400 mAh, the operational life would be extended from 40 days to 43.7 years (for TTL up to 10) or 6.7 years for the largest networks (TTL=127 hops). Consequently, we can conclude that the proposed mechanism is a remarkably interesting option to achieve power-efficient Bluetooth Mesh networks where traffic is infrequent and for delay-tolerant applications. As traffic increases, for instance, 1 TX/min =1440TX/day (see Fig. 11), relative energy consumption grows and the mechanism Fig. 11. Relative Energy Consumption (%) of PSM-DMO proposal compared with the standard mode implementation. Fig. 12. Additional delay introduced by the PSM-DMO proposal compared with the standard mode implementation. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 18 logically tends to a standard continuous scan mode, particularly when the number of hops grows above TTL=50 (i.e. TTL=127). However, the energy saving is appreciable even with a high number of hops (i.e. TTL=50). As shown in Fig. 11, not all the configurations are feasible. In addition, a higher time between polling events does not necessarily imply less energy consumption. Certainly, this reduction occurs when there are no transmissions or a reduced number of them. However, remember that every time a data transmission event occurs, the nodes enter into passive and active scan states for periods up to T ADT1. Note that the same T ADT1 parameter is notified to all the nodes but the effective time a node spends in active/passive scan is different and is lower for relays several hops away from the source node. Consumption linked to scan mode is not negligible and T ADT1 depends on the duration of the T listen period (T poll and N PO ) and TTL . When T ADT1 increases (in Fig. 11 we can appreciate T poll values where trend changes occur), the greater the T listen period, the greater the energy consumption. Logically, both energy saving and delay degrade if the parameter N PO , which is linked to the feasibility and redundancy, is increased. Remember that N PO must be chosen according to the T poll parameter, depending on the BLER (see Table 2). For instance, assuming BLER=10%, for T poll =50 ms, N PO =5 is enough, whereas for T poll =20 ms, N PO =6 is required. In those conditions, with 1 TX/min and TTL=10, the relative consumption is 29.8% with a delay of 2.59 s for T poll =20 ms, whereas consumption is reduced to 18.21% with a delay of 3.8 s for T poll =50 ms. In this case, T poll= 50 ms seems a good configuration. However, with 1 TX/min and TTL=50, the relative consumption is 46.6% with a delay of 13.1 s for T poll =20 ms, whereas consumption is reduced only to 44.68% with a delay of 19.1 s for T poll =50 ms. In this case, the option to choose is not clear. However, with TTL=127, the best option from the point of view of both energy saving and delay is T poll =20 ms. In this case, relative consumption is 79% with a delay of 33.22 s. Note that, even in extreme cases of networks requiring 127 hops and having high traffic, we can still benefit from the mechanism and show energy savings of 21% when BLER=10% and 35% in almost ideal conditions in terms of BLER (BLER=0%). Remember that, in all the cases, parameters have been chosen to compensate collision probabilities. Fig. 13 shows with more detail how the relative energy consumption grows as long as traffic increases from 100 TX/day to 1500 TX/day (around the 1 TX/min) and for different values of N PO (3–6). In this case, only the minimum relative energy consumption, obtained for the best T poll configuration, is shown. For each T poll , the power consumption grows linearly, being larger the slope as the value of T poll increases. Certainly, from the trend of the results obtained in Figs. 11–13 we derive that PSM-DMO is an advantageous proposition when network traffic is infrequent. However, the benefits can be extended when the number of hops is low or moderate. Fig. 14 shows the relative energy consumption (in %) for TTL=10, 30 and 50 when traffic grows above 1TX/min. In this case, relative energy consumption is shown for Table 4 Detail of Relative Energy Consumption (%) of PSM-DMO proposal compared with the standard mode implementation and Delay. 1 TX/day and without TX. T poll NoTX 1 TX/ day TTL¼4 TTL¼127 Energy Energy Delay Energy Delay N PO ¼3 N PO ¼6 N PO ¼3 N PO =3 N PO ¼6 N PO =6 20 ms 25.500 25.500 25.487 25.500 21.8 s 25.523 33.2 s 30 ms 17.100 17.100 17.065 17.100 25.6 s 17.112 40.8 s 40 ms 12.900 12.900 12.854 12.900 29.4 s 12.910 48.5 s 50 ms 10.300 10.300 10.327 10.400 33.2 s 10.393 56.1 s 100 ms 5.270 5.270 5.275 5.340 52.3 s 5.385 1.6 min 200 ms 2.740 2.750 2.751 2.860 1.5 min 2.947 2.8 min 300 ms 1.900 1.910 1.911 2.060 2.1 min 2.193 4.1 min 400 ms 1.480 1.490 1.493 1.680 2.8 min 1.860 5.4 min 500 ms 1.230 1.240 1.243 1.470 3.4 min 1.695 6.6 min 1 s 0.723 0.738 0.751 1.188 6.6 min 1.630 13.0 min Fig. 13. PSM-DMO proposal. Relative Energy Consumption (%) of PSM-DMO proposal compared with the standard mode implementation as the number of TX/day increases from 100 to 1500 for TTL=10, 50 and 127. Fig. 14. PSM-DMO proposal. Relative Energy Consumption (%) of PSM-DMO proposal compared with the standard mode implementation as the number of TX/min increases from 1 to 20 for TTL=10, 30 and 50. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 19 different values of N PO (3 to 6) and for the T poll value (between 20 and 100 ms) that provides the best performance. When TTL=10, consumption is still reduced around 50% for 8TX/min. When the number of hops increases (TTL=50 in versus TTL=30 or TTL=10), in Fig. 14 we can see again that energy consumption grows faster as traffic increases. Also, as the number of hops increases, the parameter settings that provide the minimum energy consumption correspond with lower T poll values. Concerning with the number of devices that are sources of data, in general, and not only for PSM-DMO but also standard operation, the performance is affected by an increased number of collisions as the number of transmissions increases. When there is a greater number of devices increasing the number of transmissions, the overall performance gets worse. In any case, PSM-DMO performs better than the standard as long as the overall number of transmissions is infrequent. In order to compare the PSM-DMO and BMADS [22] proposal, Fig. 15 (for PSM-DMO) and Fig. 16 (for BMADS) quantify the relation between relative energy consumption and delay in three scenarios (1 TX/day and TTL=4 and 1 TX/min for TTL=10 and TTL=50). In the case of BMADS, as it can be seen in [22], there is not a single optimal configuration for the mechanism but a set of non-dominated solutions to choose from. That is to say, solutions in which the energy consumption cannot be further improved without degrading the maximum delay. Such solutions are Pareto optimal and constitute the configurations to consider and that are represented in Fig. 13. Table 3 summarizes BMADs parameters. To configure the BMADS control sequence that puts the relays into continuous scan, BMADS use Nseq TC , Nseq TIS, Pseq RC, and Nseq RIS parameters and calculate the associated values, netInt seq and pubInt seq , as defined in [22]. These parameters should be selected in a way that we can create a long enough pattern to ensure that at least one control message (named ADS) is received during the active part of the scanner duty cycle, assuming ideal conditions in terms of collisions or BLER. The scanner duty cycle is controlled by scanWin seq and scanInt seq parameters, which together with the previous ones form the set of parameters to choose from. To ensure reliability in non-ideal conditions, BMADS introduces the parameter k, which represents the minimum number of consecutive control packets (ADS) to be received to ensure a successful control message reception. That is, to ensure the reception even with up to k-1 consecutive packet with errors. The purpose is similar to that of N PO and repetitions of adv seqADT . Redundancy of the control sequence and the data is controlled with their correspondent Pdata RC , Ndata TC and Rdata RC . Although N TC, N TIS, P RC , and N RIS could be different for the data or the BMADS sequence as their target is different, the same level of redundancy is considered for the control messages and data (Ndata TC =Rdata RC =k – 1, Pdata RC =0). Tuning these parameters, including k, not only affects the reliability of the transmissions but also has a direct impact on the receiver scan cycles. Hence, energy consumption depends heavily on how they are adjusted. As stated above, results in Fig. 16 correspond with the Pareto optimal solutions for k=1 (non-redundancy) and from 3 to 6. Parameter combinations are represented by different points. Unrepresented values of delay are not feasible. Increasing redundancy has a higher impact in large scenarios with higher traffic. This is because continuous scan is kept active for a longer time when the network is larger and such reconfiguration happens with every new transmission. As a result, the effect of network size and traffic volume is multiplicative. Note that even with k=6, important energy savings are still observed with respect to normal Bluetooth Mesh Operation. Comparing the new proposal (PSM-DMO) with BMADS, under equivalent conditions, we see that PSM-DMO clearly exceeds the performance of BMADS in all cases. For instance, when the number of transmission events is low (1 TX/day) and TTL=4, with a delay up to 2.5 s, relative energy consumption in BMADS is around 20% with k=3, whereas in PSM-DMO is below 3% with N PO =3, and even lower than 5.5% with N PO =6 (while is around 38% in BMADS). Thus, in this specific situation, PSM-DMO reduces power consumption 7 times and up to 8 times when higher delays are considerd. As can be seen by comparing Figs. 12 and 15, the gain of PSM-DMO depends on the specific delay threshold (for instance, around 4 times for 1.25 s). As the traffic (1 TX/min) and the number of hops increases, both schemes tend to the continuous scan mode and therefore the ratio between them is reduced. However, differences between PSM-DMO and BMADS are still very significant. For instance, for TTL=50, N PO =k=3, and 12.5 s, relative energy consumption in PSM-DMO is 35% compared with 55% of BMADS. With N PO =k=6 and 12.5 s, relative energy consumption is 80% in BMADS. However, in this case, in PSM-DMO the minimum delay is 13 s but relative energy consumption drops to 47%. Thus, the gain is significant. We can see that PSM-DMO imposes a higher minimum delay than BMADS when traffic increases and for a high number of hops (TTL). However, the energy reduction is significant with a very low impact over the minimum delay. From the previous discussion, we can conclude that the PSM-DMO proposal provides very significant energy benefits in networks where traffic is infrequent. and, furthermore, when traffic increases if the number of hops is not excessive. In any case, we recall that the proposal Fig. 15. PSM-DMO proposal. Relative Energy Consumption (%) compared with the standard mode implementation vs Delay. Fig. 16. BMADS proposal. Relative Energy Consumption (%) compared with the standard mode implementation vs Delay. ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 20 is defined as an optional operation mode, eligible when nodes operate in scenarios with applications that are delay tolerant and/or make infrequent transmissions. That is, PSM-DMO needs to coexist with standard mesh operation in other cases. 6. Conclusions Mesh feature has risen the interest of BLE as an enabler for IoT. However, almost continuous scan requirement stated in the standard and linked to the managed flooding scheme reduces its advantages in terms of energy consumption compared to other alternatives. Particularly, in application scenarios where its backbone is battery-powered and traffic is infrequent. To overcome this limitation, we have proposed a novel strategy, named PSM-DMO, that minimizes the scan periods and thus, significantly reduces the overall power consumption. The proposal, adapted to the BLE mesh specification, allows all nodes of the mesh network to go into scan mode only when there is a node with data to transmit and flooding is required. It replaces the continuous scan by a periodic but asynchronous polling process whereby the nodes interrogate their neighbors about the existence of data to receive or to retransmit through the network. Nodes remain by default in sleep mode between polls in order to save energy and, they only go into scan mode during the period of time the mesh network will be involved in the transmission and dissemination of data. This proposal clearly differs from the concept of Bluetooth Mesh Low Power Node (BM-LPN) and, also, from BMADS proposal previously presented in [22], based on dynamic scan cycles and sending of a new control message sequence that puts the nodes into a continuous scan. The results of the new proposal (PSM-DMO), which minimizes scan periods, show that the approach provides very power-efficient Bluetooth Mesh networks. The evaluation has been made considering the redundancy required by the propagation and interference conditions. It provides very significant energy benefits in networks where traffic is infrequent. For applications that require 1 TX/day, substantial energy savings have been observed, depending on the number of hops. Although there is a compromise between energy saving consumption and delay, over 99.24% and few seconds of delay can be achieved in networks with few hops. Therefore, it is possible to extend a 4400 mAh powered node from less than 40 days to more than 43.7 years. A 98.24% energy saving can be achieved for 127 hops and applications with higher tolerance of delays. Networks having higher traffic demands (1 TX/min), even when they require a high number of hops, can also benefit from this mechanism. For instance, networks with 50 hops show energy savings above 55% with delays below 12 s. Compared with BMADS proposal, PSM-DMO far outperforms BMADS in all cases, while parameter selection is easier. Energy consumption can be reduced up to 7-8 times compared with BMADS. The proposal is defined as an optional operation mode, eligible when nodes operate in scenarios with applications that are delay tolerant and/ or make infrequent or sporadic transmissions. It does not either require relevant changes in the mesh protocol stack structure although an additional feature is required. Authorship statement All persons who meet authorship criteria are listed as authors, and all authors certify that they have participated sufficiently in the work to take public responsibility for the content, including participation in the concept, design, analysis, writing, or revision of the manuscript. Furthermore, each author certifies that this material or similar material has not been and will not be submitted to or published in any other publication before its appearance in the Computer Networks. Declaration of Competing Interest The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper. Acknowledgment This work has been supported in part by the Spanish Ministry of Science through the projects RTI2018-099880-B-C32. RTI2018-095684B-I00 and RTI2018-099063-B-I00 with ERFD funds, and by the Government of Aragon (Reference Group T31_20R). References [1] L. Chettri, R. Bera, A Comprehensive Survey on Internet of Things (IoT) Toward 5G Wireless Systems," in, IEEE Internet of Things Journal 7 (1) (2020) 16–32. [2] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, M. Ayyash, Internet of things: a survey on enabling technologies, protocols, and applications, IEEE Commun. Surv. Tutor. 17 (4) (2015) 2347–2376, 10. [3] S.A. Malek, S.D. Glaser, R.C. Bales, Wireless sensor networks for improved snow water equivalent and runoff estimates, IEEE Access 7 (2019) 18420–18436. [4] G.A. Akpakwu, B.J. Silva, G.P. Hancke, A.M. Abu-Mahfouz, A Survey on 5G Networks for the Internet of Things: Communication Technologies and Challenges, 6, IEEE Access, 2018, pp. 3619–3647. [5] C. Perera, C.H. Liu, S. Jayawardena, M. Chen, A Survey on internet of things from industrial market perspective, IEEE Access 2 (1) (2015) 1660–1679. [6] J. Weiss, R. Yu , “Wireless sensor networking for the industrial IoT,” pp. 1–6, 2015. [Online]. Available: https://www.electronicdesign.com/technologies/iot/article/ 21800947/wireless-sensor-networking-for-the-industrial-iot. [7] J.M. Williams, R. Khanna, J.P. Ruiz-Rosero, G. Pisharody, Y. Qian, C.R. Carlson, H. Liu, G. Ramirez-Gonzalez, Weaving the wireless web: toward a low-power, dense wireless sensor network for the industrial IoT, IEEE Microw. Mag. 18 (7) (2017) 40–63, 11. [8] D. Raposo, A. Rodrigues, S. Sinche, J.S. Silva, F. Boavida, Industrial IoT monitoring: technologies and architecture proposal, Sensors 18 (10) (2018) 3568. http://www.mdpi.com/1424-8220/18/10/3568, 10[Online]. Available:. [9] S. Jacobs, “Power your wireless sensors for 40 years,” 2013. [Online]. Available: https://www.electronicdesign.com/power-management/article/21795789/p ower-your-wireless-sensors-for-40-years. [10] "Saft Batteries for The Internet of Things", Saft Batteries, Levallois-Perret, France, 2019. [Online]. Available: https://bit.ly/3eMbNx8. [11] A. Kutyła-Olesiuk, M. Zaborowski, P. Prokaryn, P. Ciosek, Monitoring of beer fermentation based on hybrid electronic tongue, Bioelectrochemistry 87 (10) (2012) 104–113. [12] T. Ojha, S. Misra, N.S. Raghuwanshi, Wireless sensor networks for agriculture: the state-of-the-art in practice and future challenges, Comput. Electron. Agric. 118 (10) (2015) 66–84. [13] G. Hornero, D. Conde, M. Quílez, S. Domingo, M.P. Rodríguez, B. Romero, O. Casas, A wireless augmentative and alternative communication system for people with speech disabilities, IEEE Access 3 (2015) 1288–1297. [14] E. Sifuentes, O. Casas, R. Pallas-Areny, Wireless magnetic sensor node for vehicle detection with optical wake-up, IEEE Sens. J. 11 (8) (2011) 1669–1676. [15] “Mesh profile Bluetooth specification v1.0.1,” Bluetooth SIG, Kirkland, WA USA, 2019. [Online]. Available: https://www.bluetooth.com/specifications/specs/mesh -profile-1-0-1/. [16] “Bluetooth core specification 5.2,” Bluetooth SIG, Kirkland, WA USA, 2019. [Online]. https://www.bluetooth.com/specifications/specs/core-specificati on-5-2/. [17] D. Hortelano, T. Olivares, M.C. Ruiz, Reducing the energy consumption of the friendship mechanism in Bluetooth Mesh, Comput. Netw. 195 (2021), 108172. Volume4 August. [18] “nRF52840 product specification v1.1.” Nordic Semicond., Trondheim, Norway, 2019, [Online]. Available: https://infocenter.nordicsemi.com/pdf/nRF52840_PS _v1.1.pdf. [19] “nRF52832 product specification v1.4.”, Nordic Semicond., Trondheim, Norway, 2017, [Online]. Available: https://infocenter.nordicsemi.com/pdf/nRF52832_PS _v1.4.pdf. [20] S. Darroudi, R. Caldera-S´ anchez, C. Gomez, Bluetooth Mesh energy consumption: a model, Sensors 19 (5) (2019) 1238. https://www.mdpi.com/1424-8220/19/5/ 1238, 3[Online]. Available:. [21] “nRF51422 - Bluetooth low Energy, ANT and 2.4 GHz SoC ”, Nordic Semicond., Trondheim, Norway, 2020. [Online]. Available: https://www.nordicsemi.com/pro ducts/nrf51422. [22] D. Perez-Diaz-de-Cerio, J.L. Valenzuela, M. Garcia-Lozano, ´ A. Hern´ andez-Solana, A. Valdovinos, BMADS: BLE mesh asynchronous dynamic scanning, IEEE Internet Things J. 8 (4) (2021) 2558–2573. Feb.15. [23] J. Yang, C. Poellabauer, P. Mitra, C. Neubecker, Beyond beaconing: emerging applications and challenges of BLE, Ad Hoc Netw. 97 (2) (2020), 102015. [24] N. Todtenberg, R. Kraemer, A survey on Bluetooth multi-hop networks, Ad Hoc Networks 93 (10) (2019), 101922. [25] Y. Murillo, B. Reynders, A. Chiumento, S. Malik, P. Crombez, S. Pollin, Bluetooth now or low energy: should BLE mesh become a flooding or connection oriented network?, in: Proceedings of the IEEE International Symposium on Personal, ´ A. Hern´ andez-Solana et al. Computer Networks 213 (2022) 109114 21 Indoor and Mobile Radio Communications, PIMRC Institute of Electrical and Electronics Engineers Inc., 2018, pp. 1–6, 2017-October. [26] P. Levis, P. Clausen, J. Hui, O. Gnawali, and J. Ko, “The trickle algorithm,” Internet Eng. Task Force, RFC 6206, 2011. [Online]. Available: https://tools.ietf.org/htm l/rfc6206. [27] M-Way Solutions GmbH, “FruityMesh - the first completely connection-based open source mesh on top of Bluetooth Low Energy (4.1/5.0 or higher),” 2019. [Online]. Available: https://github.com/mwaylabs/fruitymesh. [28] A.S. Brandao, M.C. Lima, C.J.B. Abbas, L.J.G. Villalba, An energy balanced flooding algorithm for a BLE mesh network, IEEE Access 8 (2020) 97946–97958, 5. [29] X. Wang, K. Xu, B. Mao, "GreenLink: An Energy Efficient Scatternet Formation for BLE Devices", Wireless Communications and Mobile Computing, vol. 2018, Article ID 1836198, 13 pages, 2018. [30] R.T.E. Dvinge, A. Stalmach, L. Nalpantidis, Connection-Based Bluetooth Mesh Network as a Low Energy Solution for Off-Grid Data Networks, in: Proceedings of the 8th International Conference on Modern Circuits and Systems Technologies, MOCAST 5, Institute of Electrical and Electronics Engineers Inc., 2019, 2019. [31] A. Beben, A. Bak, M. Sosnowski, Efficient relay node management in BLE mesh networks, Int. J. Electron. Telecommun. 66 (2020). http://www.ijet.pl/index.ph p/ijet/article/view/10.24425-ijet.2019.130262 [Online]. Available:. [32] C. Cano, B. Bellalta, A. Sfairopoulou, M. Oliver, Low energy operation in WSNs: a survey of preamble sampling MAC protocols, Comput. Netw. 55 (15) (2011) 3351–3363, 10. [33] J. Nieminen, T. Savolainen, M. Isomaki, B. Patil, Z. Shelby, and C. Gomez, “IPv6 over BLUETOOTH (R) Low Energy (RFC 7668),” 2015. [Online]. Available: https: //datatracker.ietf.org/doc/html/rfc7668. [34] B. Luo, Z. Sun, Y. Pang, A. Ahmad, J. Lin, J. Wu, H. Zhang, Neighbor discovery for IPv6 over BLE mesh networks, Appl. Sci. 10 (5) (2020) 1844. https://www.mdpi. com/2076-3417/10/5/1844, 3[Online]. Available:. [35] "Bluetooth® Core Specification 5.0", Bluetooth SIG, Kirkland, WA USA, 2016. Available: https://www.bluetooth.com/specifications/specs/core-specification-5/. [36] “Online power profiler”, Nordic Semiconductor, Trondheim, Norway, 2020. [Online]. Available: https://devzone.nordicsemi.com/power/w/opp. [37] ´ A. Hern´ andez-Solana, D. Perez-Diaz-de-Cerio, A. Valdovinos, J.L. Valenzuela, Proposal and evaluation of BLE discovery process based on new features of bluetooth 5.0”, Sensors (Switzerland) 17 (9) (2017) 1988. [38] D. Perez Diaz de Cerio, A. Hernandez-Solana, A. Valdovinos, J.L. Valenzuela, Lowcost test measurement setup for real IoT BLE sensor device characterization, Measurement 135 (2019) 814–827. [39] "Bluetooth® Core Specification 4.2", Bluetooth SIG, Kirkland, WA USA, 2014. Available: https://www.bluetooth.com/specifications/specs/core-specificati on-4-2/. [40] ´ A. Hern´ andez-Solana, D. P´ erez-Díaz-De-Cerio, A. Valdovinos, J.L. Valenzuela, Anticollision adaptations of BLE active scanning for dense IoT tracking applications, IEEE Access 6 (2018) 53620–53637. [41] B. Al Nahas, S. Duquennoy, O. Landsiedel, Concurrent Transmissions for Multi-Hop Bluetooth 5, in: Proceedings of the International Conference on Embedded Wireless Systems and Networks, EWSN, ACM Digital Library, 2019, pp. 130–141. [42] CC2650MODA SimpleLinkTM Datasheet, Texas Instrum., Dallas, TX, USA, 2018. [Online]. Available: http://www.ti.com/lit/ds/symlink/cc2650moda.pdf. [43] D. Perez Diaz de Cerio, A. Hernandez, J.L. Valenzuela, A. Valdovinos, Analytical and experimental performance evaluation of BLE neighbor discovery process including non-idealities of real chipsets, Sensors (Switzerland) (2017). ´ Angela Hern´ andez-Solana obtained the Engineer of Telecommunications and Ph.D. degrees from the Universitat Polit` ecnica de Catalunya (UPC), Spain, in 1997 and 2005, respectively. She has been working at UPC and at UNIZAR, where she is an Associate Professor since 2010. She is member of the Arag´ on Institute of Engineering Research (I3A). Her research interests include 5G/4G technologies, heterogeneous communication networks and mission-critical communication networks, with emphasis on transmission techniques, radio resource management and quality of service, mobility management and planning and dimensioning of mobile networks. David P´ erez-Díaz-de-Cerio obtained the MSc in telecommunications Enginnering degree in 2003. That year he joined the WiComTec research group of the Signal Theory and Communications department as a collaborating lecturer. All his lectures are held at the Escola d’Enginyeria de Telecomunicaci´ o i Aeroespacial de Catalunya for Bachelor’s degree, second-cycle and MAST master students. In 2010, he received the PhD degree in Telecommunication from the Technical University of Catalonia (UPC). He has participated as a consultant in several local and European projects in addition to other public and private funded projects. His research interests are wireless communications systems; especially those based on the IEEE 802.X standards and their use in e-health applications and IoT. Mario Garcia-Lozano is a Ph.D. in Telecommunications Engineering from the Universitat Politecnica de Catalunya (UPC, Barcelona-TECH) since 2009. Dr. Garcia-Lozano has >20 years of experience in different radio network planning and optimization activities both at the academia and industry. He is currently an associate professor at UPC and his research activities are focused on the field of radio resource management and the optimization of wireless networks. He has actively participated in >25 competitive research projects and contracts with the industry. He is recipient of 3 best paper awards and was the advisor of the student team that won the international competition for mobile network planning organized by the company ATDI. Antonio Valdovinos Bardají obtained the Engineer of Telecommunications and Ph.D. degrees from the Universitat Polit` ecnica de Catalunya (UPC), Spain, in 1990 and 1994, respectively. He has been working at UPC and at the University of Zaragoza (UZ), where he is a Full Professor since 2003. His research interests include 5G/4G technologies, heterogeneous communication networks and mission-critical communication networks, with emphasis on transmission techniques, radio resource management and quality of service, mobility management and planning and dimensioning of mobile networks. Jose Luis Valenzuela obtained the Engineer of Telecommunication and Ph.D. degrees from the Universitat Politecnica de Catalunya (UPC), Barcelona, Spain, in 1993 and 1997, respectively. He is currently an Associate Professor in the Signal Theory and Communications Department, UPC. After graduation he was concerned with equalization techniques for digital systems. He has also been working on the field of digital communications with particular emphasis on digital radio and its performance under multipath propagation conditions. His research interest is in the field of wireless sensor networks and wireless communications systems. ´ A. Hern´ andez-Solana et al.