WO2018088952A1 - First node, second node and methods for filtering messages in a bluetooth mesh network - Google Patents

First node, second node and methods for filtering messages in a bluetooth mesh network Download PDF

Info

Publication number
WO2018088952A1
WO2018088952A1 PCT/SE2017/051114 SE2017051114W WO2018088952A1 WO 2018088952 A1 WO2018088952 A1 WO 2018088952A1 SE 2017051114 W SE2017051114 W SE 2017051114W WO 2018088952 A1 WO2018088952 A1 WO 2018088952A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
node
message
key
advertising
Prior art date
Application number
PCT/SE2017/051114
Other languages
French (fr)
Inventor
Per Skillermark
Wei Shen
Christoffer JERKEBY
Piergiuseppe DI MARCO
Roman CHIRIKOV
Pontus ARVIDSON
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of WO2018088952A1 publication Critical patent/WO2018088952A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the present disclosure relates to a first node and methods performed thereby for handling filtering messages in a wireless communication network.
  • the present disclosure relates as well to a second node and methods performed thereby for filtering messages in a wireless communication network.
  • Communication devices within a wireless communications network may be wireless devices such as e.g., User Equipments (UE), mobile terminals, wireless terminals, terminals, and/or Mobile Stations (MS).
  • Wireless devices are enabled to communicate wirelessly in the wireless communications network. The communication may be performed e.g., between two wireless devices, between a wireless device and a regular telephone comprised within the wireless communications network, etc... Wireless devices may further be referred to as mobile telephones, cellular telephones, laptops, or tablets with wireless capability, just to mention some further examples.
  • the wireless devices in the present context may be, for example, portable, pocket-storable, hand-held, computer-comprised, or vehicle-mounted mobile devices, enabled to communicate voice and/or data, with another entity, such as another terminal or a server.
  • Bluetooth Low Energy is a low-power radio technology that utilizes the unlicensed 2.4 GHz band for communication.
  • a BLE device may be logically, and most often physically, separated into a controller and a host.
  • the controller may typically be a hardware module or chip, and may include the physical layer and the link layer, while the host may be typically implemented in software and may be part of the operating system of the device.
  • the BLE controller may be a chip or a part of a chip, which may also support Bluetooth classic and WiFi, while the BLE host may be implemented in, e.g., the iOS or the Android operating system.
  • Communication between the host and the controller may happen through the Host Controller Interface (HCI), which is defined by the Bluetooth specification, see for example
  • HCI Host Controller Interface
  • the host may control and configure the operation of the controller via so called HCI commands.
  • BLE devices may be identified using device addresses.
  • a BLE device address may comprise 48 bits and may be public or random.
  • a random device address may further be static or private, and a private device address may be resolvable or non- resolvable.
  • Figure 1 schematically depicts the available BLE address types.
  • a public address may need to be generated per the rules defined by the I EEE 802-2001 standard. Random device addresses may all be randomly generated, but following slightly different conventions. A random static device address may only change when a device is power cycled. Random, private addresses may change dynamically over time and may be used to provide privacy. A random, private, resolvable address may be made up of a random part and a hash generated by a key; more precisely, the Identity Resolving Key (IRK). The length of the IRK may be 128 bits.
  • IRK Identity Resolving Key
  • a random, private, non-resolvable address is a randomly generated address that may change over time.
  • Devices that may have exchanged keys with each other may communicate with maintained privacy using random, private, resolvable addresses.
  • the transmitting device may generate the address, comprising a random part and a hash calculated from the random part and the shared key.
  • the receiving device may identify the transmitting device by generating the hash from the random part of the address and the shared key. If the hash as received from the peer device matches the hash as generated by the device itself, the device may determine the identity of the peer device.
  • Advertising in a wireless communications network, as used herein, may be understood as broadcasting data to notify receiving nodes about different information, typically the presence of the transmitting device. Advertising in BLE may typically happen over the advertising channels, and the link layer channels 37, 38, and 39 may be designated for advertising.
  • devices may broadcast data that may be received by other devices located in the proximity of the broadcasting device. Typically, each broadcasted message may be repeated over all three advertising channels. A device that would like to receive broadcasted messages may scan on one of the advertising channels. Once the broadcasting device transmits on the channel on which some other device is scanning, the data may be picked up by the scanning device. Broadcasting over the advertising channels may be often referred to as connection-less data transfer. Such connection-less data transfer may be considered unreliable, in the sense that there is no, link layer, feedback from the receiver to the transmitter that indicates whether the data was delivered successfully or not.
  • the advertising Protocol Data Unit may contain at maximum 37 Bytes (B) of payload; out of which 6 B may be used for the advertising address and up to 31 B may be used for advertising data. Parts of the advertising data may be reserved for transmitting information such as the Advertising Data type (AD-type).
  • An AD-type may be understood as a set of bits that defines what type of message is being advertised. For example, a mesh bearer that the mesh protocol may have built on top may be assigned a specific AD-type.
  • Release v5.0 of the Bluetooth specification contains a feature referred to as advertising extension.
  • advertising extension the payload that may be carried by an advertising PDU is increased to in the order of 254 B.
  • advertising extension also changes the basic mechanism of performing advertising. Instead of transmitting all the advertising data directly on the advertising channels, with advertising extension, the packet transmitted on the advertising channels may contain only a pointer to one of the data channels, in which the actual payload may be transferred.
  • BLE there may be 37 data channels.
  • the data channels may be indexed at the link layer from 0 to 36.
  • a broadcasting device may transmit a short packet on each of the advertising channels pointing to a data channel in which the data is transmitted.
  • a scanning device may still scan on one of the advertising channels. Once the scanner may detect an
  • the advertisement it may read the pointer and from there, it may know where to find the content of the advertising message. The scanning device may then tune the receiver to that specific channel and receive the payload.
  • the advertising channels over which the short pointer is transmitted may be referred to as the primary advertising channels
  • the data channels over which the payload is transmitted may be referred to as the secondary advertising channels.
  • the formal name of the advertising channel PDU that may be transmitted over the primary advertising channel is ADV_EXT_IND
  • the advertising channel PDU that may carry the payload and may be transmitted over the secondary channel may be referred to as AUX_ADV_IND.
  • Figure 2 is a schematic diagram illustrating the operating principle of the advertising extension feature.
  • the ADV_EXT_IND is transmitted over all three primary advertising channels, 37, 38, and 39, and points to the AUX_ADV_IND PDU, which here is transmitted over data channel 0.
  • Advertising messages may be connectable, non-connectable, scannable, and non- scannable. Advertising messages may further be undirected or directed.
  • a connectable advertising message may be responded to by a peer device such that a connection between the two devices may be established.
  • a non-connectable message may not result in a connection.
  • a scannable advertising message enables active scanning; a device that picks up a scannable advertising message may send a scan request message in response to the scannable advertising message, which the advertising device in turn may respond to in the form of a scan response message. Such active scanning is a way to obtain more information about devices.
  • a non-scannable advertising message may not be used for active scanning.
  • an undirected advertising message is not targeting any specific device but may be picked up by any device within range of the advertising device.
  • a directed advertising message is targeting a specific device.
  • the address of the destination device may be indicated in the target address field.
  • the address of the advertising device may be indicated in the advertising address field.
  • the advertising address and the target address may be transmitted over the primary advertising channel.
  • the target address may be included only for directed advertising messages.
  • the host may configure the controller to only process messages from certain transmitters and, for directed advertising, only messages that are directed to the device itself. That is, the filtering may be performed based on individual devices or addresses. This may be realized by means of filtering on the advertising address, for filtering based on the sender, and the target address, for filtering based on the receiver. This allows the link layer to act without awakening the host. The host may be sleeping to save energy. Hence, to avoid awakening the host may serve energy.
  • the link layer may be understood as a protocol layer in the protocol stack, between the physical layer and the Mesh network layer.
  • the link layer may sometimes also be referred to as the Medium Access Control (MAC) layer.
  • the set of devices that the link layer may use for advertising address device filtering may be called the white list.
  • a white list may contain a set of white list records that may be used for link layer device filtering.
  • a white list record may contain both the device address and the device address type, public or random.
  • the scanner filter policy may determine how the link of the scanner layer may process advertising packets.
  • the host may configure the link layer to process advertising packets only from devices in the white list.
  • the controller may use a resolving list, that may be configured by the host, to resolve the private addresses.
  • the controller may use an IRK to resolve private addresses.
  • messages may be transmitted over the advertising bearer and over the Generic Attribute Profile (GATT) bearer. Only the advertising bearer is discussed here.
  • GATT Generic Attribute Profile
  • Mesh messages transmitted over the advertising bearer may be required to be non-connectable, non-scannable, and undirected.
  • the BLE Mesh may be understood as a flooding-based Mesh. Briefly explained, messages may be transmitted using broadcasting over the advertising channels. Relay nodes in the network may scan the advertising channels, and when a new message is detected, the relay node may forward the message such that it may be picked up by other nodes in the network; nodes that may not all be within range of the previous transmission. Nodes may forward messages by simply retransmitting them, using broadcasting, over the advertising channels. In such a way, a message may propagate from node to node(s) in the network and eventually reach the destination(s) of the message.
  • GATT Generic Attribute Profile
  • a node in a BLE Mesh network may comprise one or multiple addressable elements, which may be understood as one or multiple addressable parts of a node. Each element may be identified by a 16 bit Mesh address.
  • Nodes may become part of a Mesh network through provisioning. The provisioning may be performed by a node in the network known as a provisioner. During the provisioning procedure, nodes may be assigned Mesh addresses and get access to the keys needed to communicate in the Mesh network. Mesh nodes may further subscribe to, or listen to, one or several addresses. At least nodes may listen to the addresses associated with the different elements that are part of the Mesh node and the broadcast address.
  • the broadcast address may be understood as a destination, not source, address which may indicate that a message is to all nodes/elements on the Mesh network layer. Nodes may further subscribe to one or several multicast addresses to which information of interest to the node may be being published.
  • a multicast address may be understood as an address destined to multiple "users", or elements, in the Mesh network.
  • Nodes in the Mesh network may take different roles: a "regular" node may simply act as source or destination for messages. When such a node has something to send, it is the source, that is origin, of a message, and for messages sent to the node it is the destination of a message. Regular nodes do not have interest in any message for which it is not source or destination. Relay nodes, on the other hand, may also help forwarding messages in the network and, relay nodes may in general be considered to have interest in all messages that flow through the network.
  • Network Key a key referred to as the Network Key (NetKey) may be used to secure the communication at the network layer.
  • the network layer may be understood as one protocol layer in the BLE Mesh specification which may define, e.g., network security, e.g., encryption and authentication of the network PDU, and message relaying/forwarding, e.g., under what conditions a message should be relayed, and how to process such a message.
  • network security e.g., encryption and authentication of the network PDU
  • message relaying/forwarding e.g., under what conditions a message should be relayed, and how to process such a message.
  • the node In order to process a message at the network layer, the node must receive the network PDU, e.g., if using advertising extension, the node must receive the payload on the secondary channel.
  • the encryption key of the network may be derived, and also the Network I Dentifier (Network ID).
  • the encryption key of the network may be used in the network layer to encrypt and authenticate the destination address field and the transport PDU, that is, the payload of the network PDU.
  • the Network ID may typically be a 7-bit field, which is part of the Mesh network layer PDU and used to identify the Mesh network.
  • Figure 3 is a schematic diagram depicting the BLE Mesh network PDU format.
  • Mesh network PDUs transmitted over the advertising bearer may be broadcasted over the advertising channels using a pre-defined AD-type.
  • all BLE Mesh messages may use the same AD-type and it may be possible to distinguish Mesh messages from other type of broadcasted messages, e.g., proximity beacons.
  • the network PDU must be inspected, that is, decoded, and some specific fields of the network PDU may need to be checked. According to existing methods, first, the network ID field in the network PDU is inspected. If the network ID matches the network ID of the network to which the node belongs, the node will continue to process the network PDU.
  • a matching network ID does not guarantee that the message belongs to a specific network.
  • the node To unambiguously determine if the message belongs to the network, the node must authenticate the message using the network encryption key.
  • BLE Mesh networks may coexist in proximity of each other, it may happen that a node that is part of one Mesh network receives messages from another Mesh network. In most cases, a node may discard messages from other networks by inspecting the network ID field of the network PDU, however, in some rare cases it may only be possible to discard messages from other networks after the network PDU has been authenticated.
  • the mesh network PDU may be transmitted over the secondary advertising channel, that is, the data channel, and to receive such a message, a node may first need to scan any of the primary advertising channels to find the pointer, and then receive the payload on the secondary advertising channel.
  • Future BLE Mesh networks may further develop to work not only using flooding but also using routing.
  • messages may be forwarded from a source to a destination using optimized paths through the network.
  • routing messages may not always be forwarded to all neighbor nodes but it may typically be sufficient for nodes to forward a message to the neighbor node that is the next node on the path from source to destination.
  • existing methods of processing received messages by a node use a high amount of processing resources by requiring to involve processing at the network layer, which, decreases the capacity of the system, increases its latency, and overall negatively impacts the performance of the system.
  • filtering of advertising messages involves inspecting a network PDU to determine if an advertising message is of interest.
  • existing methods of processing received messages increase the risk that nodes may not detect messages, which in turn increases the risk that a message may not be delivered from a source to a destination.
  • the object is achieved by a method performed by a first node operating in a wireless communications network.
  • the wireless communications network is a Bluetooth Mesh network.
  • the first node generates at least one of: a first address and a first key.
  • the at least one of the first address and the first key enable any node operating in the wireless communications network to determine whether or not a message belongs to the wireless communications network by inspecting an advertising address comprised in the message.
  • the advertising address is based on the at least one of: the first address and the first key.
  • the at least one of the first address and the first key also enable any node operating in the wireless communications network to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • the first node then provides the generated at least one of the first address and the first key to a second node in the wireless communications network.
  • the object is achieved by a method performed by a second node operating in a wireless communications network.
  • the wireless communications network is a Bluetooth Mesh network.
  • the second node obtains, from the first node operating in the wireless communications network, at least one of: the first address and the first key.
  • the at least one of the first address and the first key enable any node operating in the wireless communications network to determine whether or not a message belongs to the wireless communications network by inspecting the advertising address comprised in the message.
  • the advertising address is based on the at least one of: the first address and the first key.
  • the at least one of the first address and the first key also enable any node operating in the wireless communications network to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • the second node also initiates processing, by a controller of the second node, a first message to be received or sent, based on the obtained at least one of: the first address and the first key.
  • the object is achieved by the first node, configured to operate in the wireless communications network.
  • the wireless communications network is configured to be a Bluetooth Mesh network.
  • the first node is further configured to generate at least one of: the first address and the first key.
  • the at least one of the first address and the first key are configured to enable any node operating in the wireless communications network to determine whether or not a message belongs to the wireless communications network by inspecting the advertising address comprised in the message.
  • the advertising address is configured to be based on the at least one of: the first address and the first key.
  • the at least one of the first address and the first key are also configured to enable any node operating in the wireless communications network to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • the first node is also configured to provide the at least one of the first address and the first key configured to be generated to, the second node in the wireless communications network.
  • the object is achieved by the second node, configured to operate in the wireless communications network.
  • the wireless communications network is configured to be a Bluetooth Mesh network.
  • the second node is further configured to obtain, from the first node configured to operate in the wireless communications network, at least one of: the first address and the first key.
  • the at least one of the first address and the first key are configured to enable any node configured to operate in the wireless communications network to determine whether or not a message belongs to the wireless communications network by inspecting the advertising address comprised in the message.
  • the advertising address is based on the at least one of: the first address and the first key.
  • the at least one of the first address and the first key are also configured to enable any node configured to operate in the wireless
  • the second node is also configured to initiate processing, by the controller of the second node, the first message configured to be to be received or sent, based on the at least one of: the first address and the first key configured to be obtained.
  • any node operating in the wireless communications network 100 is enabled to determine whether or not a message belongs to the wireless communications network 100 by inspecting the advertising address comprised in the message.
  • the at least one of the first address and the first key also enabling any node operating in the wireless communications network to only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key, any node in the wireless communications network 100, such as the second node 112, may filter a detected message at a lower layer than a network layer, and hence filter the message earlier, faster and using fewer resources than existing methods.
  • Such a lower layer may be the link layer.
  • Messages not belonging to the wireless communications network 100 may be simply discarded as early on as possible, and only those belonging to the wireless communications network 100 may be processed further. This further facilitates scanning for other messages of interest on the primary channels instead of receiving and decoding irrelevant messages on the secondary channel, and hence less messages are missed. Hence, the performance of the wireless communications network 100 is improved, by reducing its latency and increasing its capacity.
  • Figure 1 is a schematic diagram illustrating BLE address types, according to existing methods.
  • Figure 2 is a schematic diagram illustrating an example of the advertising extension
  • Figure 3 is a schematic diagram illustrating an example of a network layer PDU format, according to existing methods.
  • Figure 4 shows a schematic diagram illustrating an example of a wireless communications network, according to embodiments herein.
  • Figure 5 shows a flowchart illustrating an embodiment of a method in a first node
  • Figure 6 shows a flowchart illustrating an example of embodiments of a method in a
  • Figure 7 shows a flowchart illustrating an example of embodiments of an IRK and target address generation for directed messages in the Mesh network, according to embodiments herein.
  • Figure 8 is a schematic block diagram illustrating embodiments of a first node, according to embodiments herein.
  • Figure 9 is a schematic block diagram illustrating embodiments of a second node, according to embodiments herein.
  • a node in a BLE Mesh network may want to discard irrelevant messages broadcasted over the advertising channels at the lowest possible level.
  • any filtering in the controller of a node based on the Mesh network identity and it is not possible for the host of the node to configure the controller to forward only messages of a certain AD-type.
  • Performing a filtering in the controller may be understood to have the advantage that it may not be necessary to pass irrelevant messages to the host. Therefore, in cases when the host may be sleeping to save energy, awakening the host may be avoided.
  • the purpose of doing this kind of filtering may be understood to be to discard messages that are not Mesh messages. Then, it may no longer be necessary for a node to process messages on the network layer that are not Mesh messages.
  • processing at the BLE link layer may be associated with a shorter delay and may consume less energy.
  • processing at the link layer may be performed by the controller, so such processing may be performed without awaking the host.
  • the Mesh network may coexist with other devices that may send data over an advertising extension, be it simple broadcasting of data, or as part of communication within another BLE Mesh network
  • the lack of filtering based on information transmitted over the primary advertising channel reduces the performance of the Mesh network.
  • a node that receives a message on any of the primary advertising channels does not know if it is a Mesh message or some other message being broadcasted using the advertising extension; nor may it determine the network identity from the transmission on the primary channel.
  • the node must hence listen to the secondary channel to find out, and not before the message has been received in full and forwarded to the host for processing, may the AD-type and network identity be determined.
  • the Mesh network nodes are not able to scan the primary channels because the receiving circuit may be tuned to only one channel at a time if the node is equipped with a single transceiver, which is the predominant case for BLE devices, and risk losing relevant messages while having the receiver tuned to one of the secondary channels. Accordingly, this behavior increases the risk that nodes may not detect messages, which in turn increases the risk that a message cannot be delivered from source to destination.
  • a situation may be considered in which two Mesh networks with similar traffic intensities coexist in the same area.
  • nodes in each of the Mesh networks receive messages from both Mesh networks but not until the message reaches the network layer may it be determined to which Mesh network the message belongs. Accordingly, in 50 % of the cases the nodes tune their controllers to the secondary advertising channel to receive a message that belongs to another Mesh network. This is not only purposeless but also destructive, since during this time the nodes are not able to detect and receive any potential message in its own network.
  • a node that is part of the Mesh network may have multiple addresses.
  • the Mesh address may be assigned by a provisioner node in the network, but the Mesh protocol, which may be understood to be built in the host, is not aware of the device address of nodes in the Mesh network. Without this knowledge, it is not possible to set up filtering in the link layer to achieve certain objectives at the Mesh layer. In short, it is not possible to use link layer filtering with existing methods because the Mesh layer is not aware of the link layer addresses of the nodes in the network, and hence, has no chance of configuring the link layer filtering in any sensible way.
  • Link layer filtering may be understood as filtering by information available from fields that may be accessible at the link layer, in other words, fields defined in a link layer packet. Here, it may be understood as filtering based on advertising address and/or target address.
  • filtering of advertising messages in existing methods involves a high amount of processing resources, which decreases the capacity of the system, increases its latency, and overall negatively impacts the performance of the system.
  • nodes may miss detecting messages of interest by wasting time processing messages of no interest, which may in addition prevent them from being tuned to the primary advertising channel, where pointers to messages of interest may be transmitted.
  • FIG. 4 depicts an example of a wireless communications network 100, sometimes also referred to as a cellular radio system, cellular network or wireless communications system, in which embodiments herein may be implemented.
  • the wireless communications network 100 may comprise a core network and a Radio Access Network (RAN), for example be a Bluetooth network, BLE network such as a Bluetooth Smart network, Mesh network, or any cellular network or system with similar
  • RAN Radio Access Network
  • WMAX Microwave Access
  • WLAN Wireless Local Area Network
  • LR-WPAN Low Rate Wireless Personal Access Network
  • Zigbee a Wireless Local Area Network
  • Thread mesh a Thread mesh network
  • NB-loT Narrow Band loT
  • loT network a network comprising one or more wireless devices configured for Machine Type Communication (MTC) sometimes herein referred to as an eMTC network, may also benefit from exploiting the ideas covered within this disclosure.
  • MTC Machine Type Communication
  • the wireless communications network 100 comprises a plurality of nodes 101 , whereof a first node 111 and a second node 112 are depicted in Figure 4.
  • the first node 11 1 may be a node controlling or managing the operation of the second node 1 12.
  • the first node 1 11 may typically be wireless device, such as a mobile telephone or a tablet.
  • the first node 11 1 may be a radio network node, such as a BS.
  • the first node 1 11 may be a so-called provisioning node.
  • the second node 1 12 may be a node with radio capability within the wireless communications network 100, such as a wireless device.
  • the second node 1 12 may be a relay node, or a non-relay node or destination node.
  • the second node 112 may be a wireless device with limited capability, such as a thing in an loT network, as in the example depicted in Figure 4.
  • the second node 112 may be a Mesh node, also referred to herein as a BLE device.
  • a wireless device may also be referred to as a user equipment or UE.
  • the wireless device may be, e.g., a wireless communication device, which may also be known as e.g., mobile terminal, wireless terminal and/or mobile station, mobile telephone, cellular telephone, or laptop with wireless capability, or any of the "Things" in an loT system earlier, just to mention some further examples.
  • the wireless device may be, for example, portable, pocket-storable, hand-held, computer-comprised, or a vehicle-mounted mobile device, enabled to communicate voice and/or data, via the RAN, with another entity, such as a server, a laptop, a PDA, or a tablet computer, sometimes referred to as a tablet with wireless capability, Machine-to-Machine (M2M) device, device equipped with a wireless interface, such as a printer or a file storage device, modem, or any other radio network unit capable of communicating over a wired or radio link in a communications system.
  • M2M Machine-to-Machine
  • the wireless device may be enabled to communicate wirelessly in the wireless
  • a radio network node may be an access node such as a radio base station, for example an eNB, an eNodeB, or an Home Node B, an Home eNode B, transmission point, or any other network node capable to serve a wireless device, such as a user equipment or a machine type communication device in the wireless communications network 100.
  • the network node may support one or several communication technologies, and its name may depend on the technology and terminology used.
  • the network node may be directly connected to the one or more core networks.
  • the wireless communications network 100 covers a geographical area which is represented in Figure 4 with a circle.
  • the first node 11 1 may communicate within the wireless communications network 100 with the second node 1 12 over a first link 120, e.g., a radio link.
  • a first link 120 e.g., a radio link.
  • Any of the nodes in the plurality of nodes 101 may communicate with each other over respective links, similar to the first link 120, either directly, or through multi-hop links.
  • Some non-limiting examples of such links are depicted in Figure 4 with dashed lines. The representation is not exhaustive.
  • the first node 11 1 may be a wireless device
  • the first node 1 11 may be further enabled to communicate wirelessly via other RANs and possibly one or more core networks, which are not depicted in Figure 4 to simplify the Figure.
  • first”, “second”, and/or “third”, may be understood herein to be an arbitrary way to denote different elements, and may be understood to not confer a cumulative or chronological character to the nouns they modify.
  • Embodiments of method performed by the first node 11 1 operating in the wireless communications network 100 will now be described with reference to the flowchart depicted depicted in Figure 5. That the first node 1 11 operates in the wireless communications network 100 may be understood to mean that the first node 11 1 is connected, via a link such as the first link 120, to the wireless communications network 100.
  • the wireless communications network 100 is a
  • the first node 1 11 may be wireless device, such as a mobile telephone or a tablet.
  • the first node 11 1 may be a so-called “Provisioning Node", e.g., in a BLE Mesh network.
  • the method may comprise one or more of the following actions. In some embodiments all the actions may be performed. In some embodiments all the actions may be performed. In some embodiments, one or more actions may be performed. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. In Figure 5, optional actions are indicated with dashed lines.
  • the transmission e.g., of messages
  • the advertising address may be included in the transmission over the primary advertising channel, for undirected and directed messages.
  • the advertising extension feature may be used in the wireless
  • the first node 1 11 generates at least one of: a first address and a first key.
  • the at least one of the first address and the first key enable any node operating in the wireless communications network 100 to determine whether or not a message belongs to the wireless communications network 100 by inspecting an advertising address comprised in the message.
  • the advertising address is based on the at least one of: the first address and the first key.
  • the at least one of the first address and the first key also enable any node operating in the wireless communications network 100 to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • the at least one of the first address and the first key may be understood to facilitate, that is, allow, any node operating in the wireless communications network 100 to perform a first filtering action already based on the information received on primary advertising channel, without requiring to do any further processing in the secondary channel.
  • the first filtering may be also referred to herein as Mesh network filtering.
  • the advertising address may be understood to be part of the advertising PDU, or link layer PDU. This may be understood to be enable any node operating in the wireless communications network 100 to, by checking the advertising address which may be included in the transmission over the primary advertising channel, decide to tune to the secondary advertising channel if the advertising address matches the at least one of: the first address and the first key, or to refrain from tuning to the secondary advertising channel if the advertising address does not match the at least one of: the first address and the first key.
  • the method may be performed in a layer lower than a network layer of a Protocol Data Unit, PDU, comprised in the message, e.g., in the link layer.
  • PDU Protocol Data Unit
  • processing at the BLE link layer may be associated with a shorter delay and may consume less energy.
  • processing at the link layer may be performed by the controller, so such processing may be performed without awaking the host. .
  • Generating may be understood as deriving, calculating or determining.
  • the first address may be one of: a) a random, private, resolvable address, b) a random, static address, c) a random, private, non-resolvable address, and d) a public address.
  • the first key may be an Identity Resolving Key (IRK).
  • IRSK Identity Resolving Key
  • the message may be any one of a received message or a sent message, that may be detected and/or transmitted, respectively, by any node in the wireless communications network 100.
  • the message may be for example, an advertising message in e.g., a BLE Mesh Network.
  • the advertising address may be understood to refer to a first type of address, a first field, first data or a first sequence of bits comprised in the message.
  • the advertising address may be generated by a node transmitting the message.
  • To determine whether or not the message belongs to the wireless communications network 100 may comprise to identify the network node origin of the message.
  • the primary advertising extension indication may be understood to be a pointer to one of the data channels, in which the actual payload may be transferred and from there, 5 a node may know where to find the content of the advertising message. Any of the first address and the first key may be comprised in the pointer.
  • the first node 1 11 may also generate in this Action 501 a set of addresses and keys
  • the generating in this Action 501 may further comprise generating at least one of a second address and a second key.
  • One of the second key and the second address may be mapped with injective mapping to a Mesh address.
  • first address is different than the second address and the first key is different than the second key.
  • the target address may be understood to refer to a second type of address, a second field, second data or a second sequence of bits comprised in a message.
  • target address may typically indicate a node the message is directed to.
  • the mapping may be understood as a mapping function.
  • the mapping function may be defined in advance, or defined by the first node 1 11 and distributed to the other nodes in the wireless communications network 100.
  • Injective mapping may be understood as a 1 : 1 mapping.
  • a Mesh address may be understood as an address that may identify an entity such as a node, a device, or an element, on the Mesh network layer. Therefore, the generated at least one of the second address and the second key, wherein one is mapped to a Mesh address may be understood to enable the filtering based on a target node in the wireless communications network 100, and to do so already by processing the message in the
  • the first node 11 1 provides the generated at least one of the first address and the first key to the second node 112 in the wireless communications network 100.
  • the providing may be performed by sending an indication of the at least one of the first address and the first key to a second node 1 12 to the second node 1 12, e.g., via the first link 120.
  • the providing in this Action 502 of any of the generated at least one of the first address and the first key to the second node may be performed 10 during the provisioning of the second node 1 12 in the wireless communications network 100.
  • the provisioning may be understood as the procedure to set up a new node in the wireless communications network 100.
  • the method may further comprise one or more of the following actions.
  • first node 11 1 may also provide, the at least one of the second address and the second key.
  • the first node 1 11 may, in this Action 503, indicate, to the 20 second node 1 12, that it is to use the provided at least one of the first address and the first key to process a first message to be sent or to be received in the wireless communications network 100. Indicating may be understood as sending an instruction to the second node 112, or configuring the second node 112, e.g., via the first link 120.
  • first node 11 1 may also indicate, to the second node 25 1 12, that it is to use the provided the at least one of the second address and the second key.
  • the first node 1 11 may, in this Action 504, update the 30 provided at least one of the first address and the first key.
  • the updating 504 may be triggered by one or more criteria. This is an optional action.
  • first node 11 1 may also update at least one of the second address and the second key. Action 505
  • the first node 1 11 may, in this Action 505, indicate, to the second node 1 12, to update the provided at least one of the first address and the first key, according to the updating performed by the first node 11 1.
  • the indicating of this action 5 505 may be performed by sending as second indication.
  • the indicating of this action 505 may be performed by sending an indication of the updated at least one of the first address and the first key, to the second node 112.
  • first node 11 1 may also indicate, to the second node 1 12, to update the provided at least one of the second address and the second key.
  • the method may comprise one or more of the following actions. In some embodiments all the actions may be performed. In some embodiments, one or more actions may be performed. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. In0 Figure 6, optional actions are indicated with dashed lines.
  • the wireless communications network 100 is a Bluetooth Mesh network.
  • the wireless communications network 100 is a Bluetooth Mesh network.
  • the wireless communications network 100 may be a Bluetooth Mesh network, such as a BLE network.
  • the second node 1 12 obtains, from the first node 1 11 operating in the wireless communications network 100, at least one of: the first address and the first key.
  • the at least one of the first address5 and the first key enable any node operating in the wireless communications network 100 to determine whether or not a message belongs to the wireless communications network 100 by inspecting the advertising address comprised in the message.
  • the advertising address is based on the at least one of: the first address and the first key.
  • the at least one of the first address and the first key also enable any node operating in the wireless communications network 100 to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • Obtaining may be understood as directly receiving, or indirectly receiving via another node in communication with the second node 112 in the wireless communications network 100.
  • the obtaining may be performed e.g., via the first link 120 or via any of the links interconnecting the nodes in the path between the first node 1 11 and the second node 1 12.
  • Obtaining may also comprise deriving or determining, based on a received indication.
  • the obtaining 601 the at least one of the first address and the first key from the first node 11 1 may be performed during the provisioning of the second node 112 in the wireless communications network 100
  • To determine whether or not the message belongs to the wireless communications network 100 may comprise to identify the network node origin of the message.
  • the first address may be one of: a) a random, private, resolvable address, b) a random, static address, c) a random, private, non-resolvable address, and d) a public address.
  • the first key may be an IRK.
  • That the advertising address is based on the at least one of: the first address and the first key may be understood to mean that the advertising address may be calculated or derived using e.g., the first address or the first key.
  • the second node 1 12 receives the first indication from the first node 11 1 to use the provided at least one of the first address and the first key to process the first message to be sent or to be received in the wireless communications network 100.
  • the receiving may be performed via, e.g., the first link 120.
  • the first message may be to be sent or to be received because, in some examples, the second node 1 12 may be a non-relay node, that is, a destination node. Therefore, the second node 112 may receive the first message as a destination node. In other examples, the second node 112 be an intermediate relay node, and it may therefore receive the first message and forward the first message such that it may be picked up by other nodes in the network. Yet in other examples, e.g., when the second node 1 12 has something to send, the second node 1 12 may be a source, that is origin, of the first message. Therefore, the first message may be to be sent in these examples.
  • the second node 1 12 may, in this Action 603, detect the primary advertising extension indication on the primary advertising channel.
  • the second node 1 12 initiates processing, by a controller of the second node 112, the first message to be received or sent, based on the obtained at least one of: the first address and the first key.
  • the initiating processing 604 may performed in the link layer.
  • Initiating may be understood as e.g., facilitating, starting, triggering.
  • Processing may be understood to be different depending on whether the first message is to be sent by the second node 1 12, e.g., as a source node or relay node, or to be received by the second node 112, e.g., as a destination node or relay node.
  • the first message may be a received message, e.g., in examples wherein the second node 1 12 is not the source of the first message.
  • the initiating processing in this Action 604 the first message may comprise determining whether or not the received message belongs to the wireless
  • the initiating processing 604 the first message may comprise determining whether or not the received message belongs to the wireless communications network 100 based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • the first message may be a message to be sent by the second node 112, e.g., in examples wherein the second node 112 is the source of the first message.
  • the initiating processing in this Action 604 the first message may comprise sending the message comprising the advertising address.
  • the advertising address may be based on the obtained at least one of: the first address and the first key.
  • the advertising address in such embodiments, may be derived by the second node 1 12.
  • the transmission may be configured such that the advertising address may be included in the transmission over the primary advertising channel, for undirected and directed messages.
  • the transmission may be configured such that, to enable filtering on the Mesh destination address or the next-hop address, also the target address may be included in the transmission over the primary advertising channel.
  • the target address may be understood to refer to a second type of address, a second field, second data or a second sequence of bits comprised in a message.
  • the target address may typically indicate a node the message is directed to.
  • the second node 1 12 may e.g., need to send the first message, either as the source of the first message or to forward the message to the next- hop destination.
  • the second node 112 may, in this Action 605, generate the target address based on at least one of: the second key and the second address, the at least one of: the second key and the second address being mapped with injective mapping to a Mesh address.
  • the generated target address may enable any node operating in the wireless communications network 100 to uniquely associate the first message to a particular node operating in the wireless communications network 100 the first message is addressed to.
  • the generated target address may enable any node operating in the wireless communications network 100 to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the received message matches the at least one of: second address and second first key.
  • Generating may be understood as deriving, calculating or determining.
  • the Mesh address may be provided by the provisioner, e.g., the first node 1 11.
  • the target address may be derived autonomously by the nodes, such as by the second node 112, based on the Mesh address.
  • Such mesh layer addresses may be already known by the Mesh layer.
  • the second address and the second key may be understood to be similar to the first address and the first key, but with different from the first address and the second key.
  • the second key may be an IRK.
  • the second address may be one of: a) a random, private, resolvable address, b) a random, static address, c) a random, private, non-resolvable address, and d) a public address.
  • the first message may be a Mesh message
  • the target address may indicate at least one of: a) a next-hop receiver of the Mesh message, and b) a final destination of the Mesh message.
  • the mapping may be understood to be a mapping function.
  • the mapping function may be defined in advance, or it may be defined by the first node 11 1 and distributed to the other nodes in the wireless communications network 100. The same mapping may be understood to be used by all nodes in the plurality of nodes 101.
  • Injective mapping may be understood as a 1 :1 mapping. That is, the target address may uniquely map to a Mesh address.
  • a Mesh address may be understood as an address that may identify an entity such as a node, a device, or an element, on the Mesh network layer.
  • the mapping function may be defined in advance, or it may be defined by the first node 1 11 and distributed to the nodes.
  • the Mesh layer address may be mapped to a link layer address.
  • the second node 112 may, in this Action 606, initiate processing, by a controller of the second node 112, the first message to be received or sent by the second node 1 12, based on the generated target address by sending the first message comprising the generated target address.
  • the initiating processing 606 may performed in the link layer.
  • Initiating may be understood as e.g., facilitating, starting, triggering.
  • Processing may be understood to be different depending on whether the first message is to be sent by the second node 1 12, e.g., as a source node or relay node, or to be received by the second node 112, e.g., as a destination node or relay node.
  • this Action 606 may comprise initiating processing 606, by the controller of the second node 1 12, the first message to be sent by the second node 112 based on the generated target address by sending the first message comprising the generated target address.
  • the target address may be included in the transmission over the primary advertising channel.
  • the sending may be performed e.g., via the any of the links between the plurality of nodes 101 in the wireless communications network 100.
  • this Action 606 may comprise initiating processing, by the controller of the second node 112, the received first message based on the target address comprised in the first message.
  • the target address may be based on at least one of: the second key and the second address.
  • the at least one of: the second key and the second address may be mapped with injective mapping to a Mesh address.
  • the target address may enable any node operating in the wireless communications network 100 to uniquely associate the first message to a particular node operating in the wireless communications network 100 the first message is addressed to.
  • the target address may enable any node operating in the wireless communications network 100 to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the received message matches the at least one of: second address and second first key.
  • the initiating processing the received first based on the target address message may further comprise determining whether or not the received first message is targeted to the second node 112, based on the at least one of: the second address and the second key, and filtering the first message based on the determination of whether or not the received message is targeted to the second node 112
  • Filtering the first message based on the determination of whether or not the received message is targeted to the second node 1 12 may be understood as comprising one of: a) discarding the first message if its determined that it is not targeted to the second node 112, b) continue processing the first message if its determined that it is targeted to the second node 1 12, and c) processing other messages that are pointed from the first message.
  • the initiating processing 606 the first message may comprise determining whether or not the received first message is targeted to the second node 112, based on the at least one of: the second address and the second key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the received message matches the at least one of: second address and second first key.
  • the at least one of the second address and the second key may be understood to facilitate, that is, allow, any node operating in the wireless communications network 100 to perform a second filtering action already based on the information received on primary advertising channel, without requiring to do any further processing in the secondary channel.
  • the receiving node may refrain from tuning to the secondary advertising channel, and continue to be tuned to the first advertising channel, which may in turn enable it to detect other messages that may be of interest.
  • the method being performed a layer lower than a network layer of a PDU comprised in the first message e.g., in the link layer.
  • the second node 112 may, in this Action 607, receive the second indication from the first node 1 11 to update the provided at least one of the first address and the first key, e.g., as sent by the first node 1 11 in Action 505.
  • the receiving may be performed via, e.g., the first link 120.
  • the second node 1 12 may also receive an indication to update the at least one of the second address and the second key. Action 608
  • the second node 112 may, in this Action 608, update the provided at least one of the first address and the first key based on the received second indication.
  • the second node 1 12 may also update at least one of the second address and the second key.
  • any reference to a/the provisioner is understood to equally refer to the first node 11 1.
  • Any reference herein to a/the node, a/the Mesh node, and/or a/the BLE device is understood to equally refer to the second node 112.
  • Any reference herein to a/the controller is understood to refer to a controller in the second node 112.
  • Any reference herein to a/the non-relay node or a/the relay node is understood to equally refer to the second node 1 12.
  • Any reference to a/the Mesh network is understood to refer to the wireless communications network 100.
  • the filtering of the first message based on the network may be based on at least one of the first address and the first key.
  • filtering is described based on the first key
  • filtering is described based on the first address.
  • Mesh network filtering may be performed based on the advertising address.
  • the advertising address may be understood to be part of the advertising PDU, or link layer PDU.
  • Nodes in the Mesh network may use random, private, resolvable addresses to transmit messages.
  • the provisioner may distribute one or several Identity Resolving Keys (IRKs) that the nodes in the Mesh network may make use of when deriving the advertising address. That is, the first node 1 1 1 may distribute at least the first key.
  • the IRK may be used at the link layer.
  • the advertising address in turn, may be used when transmitting data over the advertising bearer.
  • Nodes such as the second node 1 12, that may receive messages over the advertising bearer may use the same at least one first key, e.g., the IRK(s), to resolve the private address and check whether the message belongs to the network or not.
  • the IRK may be used at the link layer. The different steps are described in more detail below.
  • this step may be performed by the provisioner.
  • the provisioner may generate at least one first key, e.g., one or several IRKs following the rules for IRK generation according to Bluetooth specification.
  • the provisioner may inform the node about the IRK(s) that the node is to use when transmitting and receiving messages over the advertising bearer in the Mesh network, according to Action 503.
  • provisioning in the BLE Mesh network may be performed via advertising or via GATT. Both provisioning bearers may be limited to single-hop communication and may be referred to as
  • Provisioning Bearer based on advertising PB-ADV
  • Provisioning Bearer based on GATT PB-GATT
  • This step may be performed by any transmitting node in the Mesh network. Any node in the Mesh network, such as the second node 1 12, that may need to send a message over the advertising bearer, either since it may be the original source of the message or because it may act as a relay node forwarding the message, may do so using a random, private, resolvable address as advertising address.
  • the random, private, resolvable address may be generated based on one of the IRKs as assigned by the provisioner.
  • a random, private, resolvable address may be made up of two main parts; namely a random part that may comprise 22 bits, and a hash that may comprise 24 bits. In addition, two bits may be used to indicate the address type.
  • the random part may be generated independently by each node and the hash may be calculated from the random part and the I RK.
  • the address may need to be regularly updated, according to e.g., Action 608. This may be done by regenerating the random part of the address, and calculating a new hash based on the new random bit sequence and the same IRK. Nodes may update the private address at any time, however, the recommendation is to do this at least every 15 minutes.
  • the address may be generated by the host, and every time the address is updated the host may inform the controller about the new address.
  • the node When sending a message over the advertising bearer the node may set the advertising address to the random, private, resolvable address. c) Mesh network identity confirmation upon reception of a message, according to Action 604.
  • Nodes that scan for messages may configure the resolving list of the scanner to only accept messages with an advertising address that matches one of the IRK(s) received from the provisioner.
  • the controller may check that the address is a random, private, resolvable address.
  • it may generate the hash based on the random part of the address and the IRK.
  • the hash as generated by the receiving node may be compared to the hash as set by the transmitting node, and if the two hashes are identical, the receiving node may conclude that the message belongs to its Mesh network.
  • the controller could now simply receive the message and forward it to higher layers. If advertising extension is employed, the node may read the pointer in the message, tune the receiver to the data channel as indicated in the message, and receive the payload over that data channel.
  • device filtering may be based on the first address, e.g., random, static addresses or public addresses.
  • the provisioner may derive one or several random, static addresses, as in Action 501 , and distribute these addresses to each node upon provisioning, as in Action 502.
  • Mesh nodes may configure their controllers to use the random, static, addresses when sending messages over the Mesh advertising bearer. This may be triggered, e.g., by Action 602.
  • the Mesh node may also configure the filter policy of the scanner to only accept messages from advertising addresses that match any of the addresses as received from the provisioner, as in Action 604.
  • Filtering based on public addresses may also be possible.
  • Mesh nodes may set the advertising address to their public address.
  • the filter policy of the scanner for receiving messages over the advertising channels, may then need to include the public address of all nodes that are part of the Mesh network.
  • the provisioner may need to inform the other nodes in the network about the public address of the new node, e.g., according to Action 502, such that Mesh nodes may add this address into the filter policy of the scanner.
  • the provisioner may need to provide the public address of all devices in the Mesh network to the new node, according to Action 502, such that the new node may accept messages from all nodes in the Mesh network.
  • the keys used in a BLE Mesh network may need to be updated. This may be referred to as a key refresh procedure, and may be performed by the
  • the provisioner When performing a key refresh procedure, the provisioner may also update the address(es) or key(s) used for the advertising address.
  • some embodiments herein may comprise to make use of random, private, resolvable addresses, a particular example of the second address, and derive the IRK associated with each element using a one-to-one mapping between the Mesh element address and the IRK, a particular example of the second key.
  • the principle is illustrated in Figure 7.
  • the Mesh element address may be understood to be similar to the Mesh address or element address.
  • the mapping between the element address, which may be 16 bits, and the second key, the IRK, which may be 128 bits, may be performed in many ways; however, the mapping may need to be injective and the mapping may need to be known by each node in the network.
  • One way to do this for each node in the Mesh network that may need to send to this address or may want to receive message destined to this address, may be to create the second key, the IRK, by concatenating the element address with a known bit sequence of length 1 12. That is, a bit sequence of length 128 bits may be created by combining the 16 bit element address with a bit sequence of length 112.
  • the second sequence, 112 bits, may be almost arbitrary, but the same sequence may need to be used by all nodes.
  • the second key may be created by any node based on the mapping function described above, which may be defined in advance, or defined by the first node 1 11 and distributed to the other nodes in the wireless communications network 100.
  • a target address may be understood as a link layer address, which may indicate a receiver/destination of a message.
  • Non-relay nodes may configure the filter policy of the scanner, such that only messages for which the node is the final destination may be received and processed, according to some examples of Action 606.
  • Nodes that may send a message to a specific next-hop node may use directed advertising and derive the target address based on the IRK associated with the element address of the next-hop receiver, that is, based on the second key.
  • Scanning devices may configure the filter policy of the scanner to accept messages with a target address that matches the second key, namely, one of the IRKs associated with the elements address of this node.
  • target address filtering may be used as a possible complement to Mesh address filtering, that is, advertising address filtering, based on the advertising address.
  • the target address may be set to a random, static address.
  • the target address may be derived using an injective mapping from the Mesh element address to the target address.
  • embodiments described herein introduce Mesh network filtering in the controller based on the advertising address of the received message.
  • embodiments herein may use filtering based on the message target address.
  • the advertising address may be typically used to recognize the identity of the device, in embodiments herein it may be used to identify the Mesh network.
  • the target address may be used to recognize a specific element of a Mesh node.
  • it may be possible to identify the Mesh network at the link layer, that is, at the layer below the network layer, and discard messages that do not belong to the Mesh network already in the link layer. Messages that are discarded at link layer may never reach network layer. This may be understood to mean that messages may be filtered early, so that Mesh nodes may refrain from processing messages not belonging to their network.
  • embodiments herein may make use of random, private, resolvable addresses, as the first address, and one or several IRKs, as the first key, for Mesh network identification.
  • the IRKs may be derived by the provisioner and distributed to each node upon provisioning.
  • Each Mesh network node may then derive an address based on one of the keys and use this address as advertising address when sending messages over the advertising bearer.
  • Each node may further configure its scanner filter policy such that only messages with an advertising address matching any of the keys, and hence belonging to the Mesh network, may be processed and forwarded to the host. Other messages may be discarded already in the controller.
  • embodiments herein may use filtering based on the target address.
  • the target address may be set by the source node and intermediate relay nodes such that it may be associated with the destination, e.g., address, of the Mesh message.
  • an IRK that is, the second key, may be derived using some one-to-one, injective,) mapping between the Mesh address and the IRK.
  • One way to map the Mesh address to the IRK may be to append a fixed bit pattern of length 1 12 to the 16-bit element address.
  • a node such as the second node 1 12, that may send a message to a Mesh address may then derive the target address based on the second key, that is, the IRK associated with that destination address.
  • An intermediate relay node another example of the second node 1 12, may act in the same way.
  • Non-relay nodes that is, destinations, which may be yet another example of the second node 1 12, may configure their controller's scanner policy such that only directed messages matching any of the IRKs associated with the addresses that the node may subscribe to are processed and forwarded to the host.
  • the target address may be used for filtering.
  • Transmitting nodes may derive an IRK, as described above, based on the next-hop address, e.g., Mesh element address, and derive the target address based on that IRK.
  • Nodes may configure their controller's scanner policy such that only directed messages matching any of the IRKs associated with the any of the element addresses of the node may be processed and forwarded to the host.
  • One advantage of embodiments herein is that they enable filtering of Mesh messages early in the packet processing chain, which is generally helpful since it is a way to avoid unnecessary processing.
  • the receiver tunes to the secondary channel only when required facilitates that the primary channel may be scanned during a larger fraction of the time; hence, reducing the risk of losing any messages of interest.
  • This improves the coexistence capabilities of the Mesh network, e.g., increasing the probability that a message is correctly delivered from source to destination, reducing the message delay, and increasing the Mesh network capacity.
  • the first node 11 1 may comprise the following arrangement depicted in Figure 8.
  • the first node 1 11 is configured to operate in a wireless communications network 100.
  • the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example and it will be obvious to a person skilled in the art how those components may be used in the other examples.
  • optional modules are indicated with dashed boxes.
  • the wireless communications network 100 is configured to be a Bluetooth Mesh network.
  • the first node 1 11 is configured to, e.g. by means of a generating module 801 within the first node 1 11 configured to, generate at least one of: the first address and the 5 first key.
  • the at least one of the first address and the first key are configured to enable any node operating in the wireless communications network 100: a) to determine whether or not a message belongs to the wireless communications network 100 by inspecting the advertising address comprised in the message, the advertising address being configured to be based on the at least one of: the first address and the first key, and b) to, after the
  • the generating module 801 may be a processor 806 of the first node 11 1 , or an application running on such processor.
  • to generate may further comprise to generate at least one of the second address and the second key, wherein one of the second key and the second address are configured to be mapped with injective mapping to a Mesh address.
  • the mapping may be the mapping function, the mapping function being configured to be defined in advance, or configured to be defined by the first node 1 11 and distributed
  • the first node 1 11 is further configured to, e.g. by means of the providing module 802 within the first node 1 11 configured to, provide the at least one of the first address and the first key configured to be generated to, the second node 112 in the wireless communications network 100.
  • the providing module 802 may be the processor 806 of the
  • to provide any of the at least one of the first address and the first key configured to be generated to the second node 1 12 may be configured to be performed during the provisioning of the second node 1 12 in the wireless communications network 100.
  • the first node 11 1 may be further configured to, e.g. by
  • the indicating module 803 may be the processor
  • the first node 1 11 may be configured to perform the indicating described in action 505, e.g. by means of the indicating module 803 within the first node 1 1 1 , further configured to perform this action.
  • the indicating module 803 may be the processor 806 of the first node 11 1 , or an application running on such processor.
  • the first node 11 1 may be further configured to perform the updating described in action 504, e.g. by means of an updating module 804 within the first node 1 11.
  • the updating module 804 may be the processor 806 of the first node 11 1 , or an application running on such processor.
  • Other modules 805 may be comprised in the first node 11 1.
  • the embodiments herein may be implemented through one or more processors, such as a processor 806 in the first node 11 1 depicted in Figure 8, together with computer program code for performing the functions and actions of the embodiments herein.
  • the program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the first node 1 11.
  • a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the first node 1 11.
  • One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick.
  • the computer program code may furthermore be provided as pure program code on a server and downloaded to the first node 1 11.
  • the first node 1 11 may further comprise a memory 807 comprising one or more memory units.
  • the memory 807 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the first node 11 1.
  • the first node 1 11 may receive information from the second node 112 and/or any of the nodes in the plurality of nodes 101 , through a receiving port 808.
  • the receiving port 808 may be, for example, connected to one or more antennas in first node 1 11.
  • the first node 1 11 may receive information from another structure in the wireless communications network 100 through the receiving port 808. Since the receiving port 808 may be in communication with the processor 806, the receiving port 808 may then send the received information to the processor 806.
  • the receiving port 808 may also be configured to receive other information.
  • the processor 806 in the first node 1 11 may be further configured to transmit or send information to e.g., the second node 112 and/or any of the nodes in the plurality of nodes 101 , through a sending port 809, which may be in communication with the processor 806, and the memory 807.
  • the first node 1 11 may comprise an interface unit to facilitate communications between the first node 11 1 and other nodes or devices, e.g., the second node 1 12 or any 5 of the other nodes in the plurality of nodes 101.
  • the second node 1 12 may comprise an interface unit to facilitate communications between the first node 11 1 and other nodes or devices, e.g., the second node 1 12 or any 5 of the other nodes in the plurality of nodes 101.
  • the second node 1 12 may comprise an interface unit to facilitate communications between the first node 11 1 and other nodes or devices, e.g., the second node 1 12 or any 5 of the other nodes in the plurality of nodes 101.
  • the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
  • modules 805 described above may refer to a combination of analog and digital modules, and/or one or more processors configured with software and/or firmware, e.g., stored in memory, that, when executed by the one or more processors such as the processor 806, perform as described above.
  • processors such as the processor 806, perform as described above.
  • processors as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuit (ASIC), or
  • SoC System-on-a- Chip
  • the different modules 801-805 described above may be implemented as one or more applications running on one or more processors such as
  • the methods according to the embodiments described herein for the first node 11 1 may be respectively implemented by means of a computer program 810 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 806, cause the at least one processor 806 to carry out the actions
  • the computer program 810 product may be stored on a computer-readable storage medium 811.
  • the computer-readable storage medium 81 1 having stored thereon the computer program 810, may comprise instructions which, when executed on at least one processor 806, cause the at least one processor 806 to carry out the actions described herein, as performed by the first node
  • the computer-readable storage medium 81 1 may be a non- transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space.
  • the computer program 810 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium
  • the second node 112 may comprise the following arrangement depicted in Figure 9.
  • the second node 112 is configured to operate in a wireless communications network 100.
  • the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example and it will be obvious to a person skilled in the art how those components may be used in the other examples.
  • optional actions are indicated with dashed boxes.
  • the wireless communications network 100 is configured to be a Bluetooth Mesh network.
  • the second node 1 12 is further configured to, e.g. by means of an obtaining module 901 within the second node 1 12 configured to, obtain, from the first node 1 1 1 configured to operate in the wireless communications network 100, at least one of: the first address and the first key.
  • the at least one of the first address and the first key are configured to enable any node configured to operate in the wireless communications network 100: a) to determine whether or not a message belongs to the wireless communications network 100 by inspecting the advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and b) to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the message configured to be received matches the at least one of: the first address and the first key.
  • the obtaining module 901 may be a processor 908 of the second node 1 12, or an application running on such processor.
  • to obtain the at least one of the first address and the first key from the first node 1 11 may be configured to be performed during the provisioning of the second node 112 in the wireless communications network 100.
  • the second node 1 12 is configured to, e.g. by means of an initiating processing module 902 within the second node 1 12 configured to, initiate processing, by the controller of the second node 112, the first message configured to be to be received or sent, based on the at least one of: the first address and the first key configured to be obtained.
  • the initiating processing module 902 may be the processor 908 of the second node 112, or an application running on such processor.
  • the first message is configured to be sent by the second node 112, and to initiate processing the first message comprises to send the message comprising the advertising address, and the advertising address is configured to be based on the at least one of: the first address and the first key configured to be obtained.
  • the first message is configured to be sent by the second node 112, and to initiate processing the first message comprises to send the message comprising the advertising address, and the advertising address is configured to be based on the at least one of: the first address and the first key configured to be obtained.
  • the second node 112 may be further configured to, e.g. by means of a detecting module 903 within the second node 1 12 configured to, detect the primary advertising extension indication on the primary advertising channel, wherein to initiate processing the first message comprises determining whether or not the received message belongs to the wireless communications network 100 based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • the detecting module 903 may be the processor 908 of the second node 112, or an application running on such processor.
  • the second node 1 12 may be configured to, e.g. by means of a generating module 904 within the second node 1 12, generate the target address based on at least one of: the second key and the second address.
  • the at least one of: the second key and the second address may be configured to be mapped with injective mapping to the Mesh address.
  • the target address configured to be generated may be configured to enable any node operating in the wireless communications network 100 to: a) uniquely associate the first message to a particular node configured to be operating in the wireless
  • the generating module 904 may be the processor 908 of the second node 112, or an application running on such processor.
  • the second node 1 12 may be further configured to, e.g. by means of the initiating processing module 902 within the second node 1 12 further configured to, initiate processing, by the controller of the second node 112, the first message configured to be received or sent by the second node 1 12 based on the target address configured to be generated, by sending the first message comprising the generated target address.
  • the second node 1 12 may be further configured to, e.g. by means of the initiating processing module 902 within the second node 112 further configured to, initiate processing, by the controller of the second node 112, the first message configured to be received based on the target address comprised in the first message.
  • the target address may be configured to be based on at least one of: the second key and the second address.
  • the at least one of: the second key and the second address may be configured to be mapped with injective mapping to the Mesh address.
  • the target address may be configured to enable any node configured to be operating in the wireless communications network 100 to: a) uniquely associate the first message to a particular node configured to be operating in the wireless communications network 100 the first message is configured to be addressed to, and b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message configured to be received matches the at least one of: second address and second first key.
  • To initiate processing the first message configured to be received based on the target address may comprise to determine whether or not the first message configured to be received is targeted to the second node 1 12, based on the at least one of: the second address and the second key, and to filter the first message based on the determination of whether or not the message configured to be received is targeted to the second node 1 12.
  • the mapping may be a mapping function.
  • the mapping function may be configured to be defined in advance, or may be configured to be defined by the first node 1 11 and distributed to the other nodes in the wireless communications network 100.
  • the first message may be a Mesh message
  • the target address may be configured to indicate at least one of: a) the next-hop receiver of the Mesh message, and b) the final destination of the Mesh message.
  • the second node 112 may be further configured to e.g. by means of a receiving module 905 within the second node 112 configured to, receive the first indication from the first node 1 11 to use the at least one of the first address and the first key configured to be provided, to process the first message configured to be sent or to be received in the wireless communications network 100.
  • the receiving module 905 may be the processor 908 of the second node 1 12, or an application running on such processor.
  • the second node 112 may be further configured to e.g. by means of the receiving module 905 within the second node 112 configured to, receive the second indication from the first node 1 11 to update the at least one of the first address and the first key configured to be provided.
  • the second node 1 12 may be configured to, e.g. by means of an updating module 906 within the second node 112 configure to, update the at least one of the first address and the first key configured to be provided based on the second indication configured to be received.
  • the updating module 906 may be the processor 908 of the second node 1 12, or an application running on such processor.
  • modules 907 may be comprised in the second node 1 12.
  • the embodiments herein may be implemented through one or more processors, such as a processor 908 in the second node 1 12 depicted in Figure 8, together with computer program code for performing the functions and actions of the embodiments herein.
  • the program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the second node 1 12.
  • a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the second node 1 12.
  • One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick.
  • the computer program code may furthermore be provided as pure program code on a server and downloaded to the second node 1 12.
  • the second node 1 12 may further comprise a memory 909 comprising one or more memory units.
  • the memory 909 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the second node 1 12.
  • the second node 1 12 may receive information from the first node 11 1 and/or any of the nodes in the plurality of nodes 101 , through a receiving port 910.
  • the receiving port 910 may be, for example, connected to one or more antennas in second node 1 12.
  • the second node 1 12 may receive information from another structure in the wireless communications network 100 through the receiving port 910. Since the receiving port 910 may be in
  • the receiving port 910 may then send the received information to the processor 908.
  • the receiving port 910 may also be configured to receive other information.
  • the processor 908 in the second node 1 12 may be further configured to transmit or send information to e.g., the first node 1 11 and/or any of the nodes in the plurality of nodes 101 , through a sending port 911 , which may be in communication with the processor 908, and the memory 909.
  • the second node 1 12 may comprise an interface unit to facilitate communications between the second node 1 12 and other nodes or devices, e.g., the first node 11 1 or any of the nodes in the plurality of nodes 101.
  • the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
  • initiating processing module 902 the detecting module 903, the generating module 904, the receiving module 905, the updating module 906, and the other modules 907 described above may refer to a combination of analog and digital modules, and/or one or more processors configured with software and/or firmware, e.g., stored in memory, that, when
  • processors such as the processor 908, perform as described above.
  • processors such as the processor 908, perform as described above.
  • processors may be included in a single Application-Specific Integrated Circuit (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
  • ASIC Application-Specific Integrated Circuit
  • SoC System-on-a-Chip
  • the different modules 901-907 described above may be implemented as one or more applications running on one or more processors such as the processor 908.
  • the computer program 912 product may be stored on a computer-readable storage medium 913.
  • the computer- readable storage medium 913, having stored thereon the computer program 912, may
  • the computer-readable storage medium 913 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space.
  • the computer program
  • 35 912 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 913, as described above.
  • Embodiments herein may relate to Bluetooth Low Energy (BLE), Mesh network, filtering, advertising, advertising extension, device address, key, and identity resolving key.
  • BLE Bluetooth Low Energy
  • Mesh network filtering, advertising, advertising extension, device address, key, and identity resolving key.
  • a method in a provisioning node in a BLE Mesh network that:
  • a) generates a set of addresses and/or keys to use for Mesh address filtering, and b) upon provisioning of a new node, distributes the set of addresses and/or keys to the new node, and requests the new node to use these addresses and/or keys to set, generate, or verify the advertising address when transmitting and receiving messages over the Mesh advertising bearer, and
  • a method in a node in a BLE Mesh network that:
  • c) configures the controller's scanner policy to only process messages for which the advertising address matches one of the addresses and/or keys as received form the provisioner, and d) if detecting a primary advertising extension packet on any of the primary advertising channels, only tunes the receiver to the secondary advertising channel when the advertising address on the message on the primary advertising channel matches any of the addresses and/or keys received from the provisioner
  • a method in a BLE Mesh network that provides a one-to-one mapping between a Mesh element address and a key.
  • a) upon forwarding a message to a specific next-hop receiver makes use of directed advertising and determines the target address based on the key associated with the element address of the next-hop node.
  • a method in a node in a BLE Mesh network that upon sending a message, as original source or acting as relay node, in the Mesh network, makes use of directed advertising and determines the target address based on the key associated with the address of the final destination of the message
  • a non-relay node in a BLE Mesh network that configures the controller scanner's policy such that directed advertising messages are accepted only when the target address matches any of the keys associated with the addresses to which the node subscribes.
  • a first node (1 11) configured to operate in a wireless communications network (100), wherein the wireless communications network (100) is configured to be a Bluetooth Mesh network, the first node (1 11) being further configured to:
  • an generating module (801) configured to generate at least one of: a first address and a first key, the at least one of the first address and the first key being configured to enable any node operating in the wireless communications network (100): a) to determine whether or not a message belongs to the wireless
  • the communications network by inspecting an advertising address comprised in the message, the advertising address being configured to be based on the at least one of: the first address and the first key, and
  • a providing module (802) configured to provide the at least one of the first address and the first key configured to be generated to, a second node (112) in the wireless communications network (100).
  • the first node (1 11) according to example embodiment 1 , further comprising: an indicating module (803) configured to indicate, to the second node (1 12), that it is to use the at least one of the first address and the first key configured to be provided, to process a first message to be sent or to be received in the wireless communications network (100).
  • the first node (1 11) according to any of example embodiments 1-2, wherein to provide any of the at least one of the first address and the first key configured to be generated to the second node (1 12) is configured to be performed during the provisioning of the second node (112) in the wireless communications network (100).
  • the first node (1 11) according to any of example embodiments 1-3, wherein to generate further comprises to generate at least one of a second address and a second key, wherein one of the second key and the second address are configured to be mapped with injective mapping to a Mesh address.
  • the first node (1 11) wherein the mapping is a mapping function, the mapping function being configured to be defined in advance, or being configured to be defined by the first node (11 1) and distributed to the other nodes in the wireless communications network (100).
  • a second node (1 12) configured to operate in a wireless communications network (100), wherein the wireless communications network (100) is configured to be a Bluetooth Mesh network, the second node (1 12) comprising:
  • an obtaining module configured to obtain, from a first node (1 11) configured to operate in the wireless communications network (100), at least one of: a first address and a first key, the at least one of the first address and the first key being configured to enable any node configured to operate in the wireless communications network (100):
  • the communications network by inspecting an advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and
  • an initiating processing module (902) configured to initiate processing, by a controller of the second node (112), a first message configured to be to be received or sent, based on the at least one of: the first address and the first key configured to be obtained.
  • a detecting module configured to detect the primary advertising extension indication on the primary advertising channel, wherein to initiate processing the first message comprises determining whether or not the received message belongs to the wireless communications network (100) based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • the second node (1 12) according to any of example embodiments 6-7, further comprising:
  • a generating module configured to generate a target address based on at least one of: a second key and a second address, the at least one of: the second key and the second address being configured to be mapped with injective mapping to a Mesh address, the target address configured to be generated being configured to enable any node operating in the wireless communications network (100) to:
  • the initiating processing module (902) is further configured to initiate processing, by a controller of the second node (112), the first message configured to be received or sent by the second node (1 12) based on the target address configured to be generated, by sending the first message comprising the generated target address.
  • the second node (112) according to example embodiment 9, wherein the first message is configured to be a received message and wherein:
  • the initiating processing module (902) is further configured to initiate processing, by a controller of the second node (112), the first message configured to be received based on a target address comprised in the first message, the target address being configured to be based on at least one of: a second key and a second address, the at least one of: the second key and the second address being configured to be mapped with injective mapping to a Mesh address, the target address being configured to enable any node configured to be operating in the wireless communications network (100) to:
  • to initiate processing the first message configured to be received based on the target address comprises to determine whether or not the first message configured to be received is targeted to the second node (112), based on the at least one of: the second address and the second key, and to filter the first message based on the determination of whether or not the message configured to be received is targeted to the second node (1 12).
  • mapping is a mapping function, the mapping function being configured to be defined in advance, or being configured to be defined by the first node (1 11) and distributed to the other nodes in the wireless
  • the first message is a Mesh message
  • the target address i configured to indicate at least one of:
  • the second node (1 12) according to any of example embodiments 6-12, further comprising:
  • a receiving module configured to receive a first indication from the first node (1 11) to use the at least one of the first address and the first key configured to be provided, to process the first message configured to be sent or to be received in the wireless communications network (100).
  • the second node (112) according to any of example embodiments 6-13, wherein the second node (1 12) further comprises:
  • a receiving module (905) configured to receive a second indication from the first node (1 11) to update the at least one of the first address and the first key configured to be provided, and
  • an updating module (906) configured to update the at least one of the first address and the first key configured to be provided based on the second indication configured to be received.
  • the second node (1 12) according to any of example embodiments 6-14, wherein to obtain the at least one of the first address and the first key from the first node (1 11) is configured to be performed during the provisioning of the second node (1 12) in the wireless communications network (100). .
  • the communications network by inspecting an advertising address comprised in the message, the advertising address being operative to be based on the at least one of: the first address and the first key, and
  • the first node (1 11) according to example embodiment 16, being further operative to:
  • the first node (1 11) according to any of example embodiments 16-17, wherein to provide any of the at least one of the first address and the first key operative to be generated to the second node (1 12) is operative to be performed during the provisioning of the second node (1 12) in the wireless communications network (100).
  • the first node (1 11) according to any of example embodiments 16-18, wherein to generate further comprises to generate at least one of a second address and a second key, wherein one of the second key and the second address are operative to be mapped with injective mapping to a Mesh address.
  • the first node (1 11) according to example embodiment 19, wherein the mapping is a mapping function, the mapping function being operative to be defined in advance, or being operative to be defined by the first node (11 1) and distributed to the other nodes in the wireless communications network (100). .
  • the communications network (100) at least one of: a first address and a first key, the at least one of the first address and the first key being operative to enable any node operative to operate in the wireless communications network (100):
  • the communications network by inspecting an advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the message operative to be received matches the at least one of: the first address and the first key, and
  • the second node (112) according to example embodiment 21 , wherein the first message is operative to be sent by the second node (1 12), and wherein to initiate processing the first message comprises to send the message comprising the advertising address, the advertising address being operative to be based on the at least one of: the first address and the first key operative to be obtained.
  • to initiate processing the first message comprises determining whether or not the received message belongs to the wireless communications network (100) based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
  • the second node (112) according to any of example embodiments 21-23, being further operative to:
  • a target address based on at least one of: a second key and a second address, the at least one of: the second key and the second address being operative to be mapped with injective mapping to a Mesh address, the target address operative to be generated being operative to enable any node operating in the wireless communications network (100) to:
  • the second node (112) according to example embodiment 24, wherein the first message is operative to be a received message and wherein the second node (1 12) is further operative to:
  • the first message operative to be received based on a target address comprised in the first message
  • the target address being operative to be based on at least one of: a second key and a second address, the at least one of: the second key and the second address being operative to be mapped with injective mapping to a Mesh address, the target address being operative to enable any node operative to be operating in the wireless communications network (100) to:
  • to initiate processing the first message operative to be received based on the target address comprises to determine whether or not the first message operative to be received is targeted to the second node (1 12), based on the at least one of: the second address and the second key, and to filter the first message based on the determination of whether or not the message operative to be received is targeted to the second node (1 12).
  • the second node (112) according to any of example embodiments 24-25, wherein the mapping is a mapping function, the mapping function being operative to be defined in advance, or being operative to be defined by the first node (1 11) and distributed to the other nodes in the wireless communications network (100).
  • the second node (112) according to any of example embodiments 21-26, wherein the first message is a Mesh message, and wherein the target address is operative to indicate at least one of:
  • the second node (1 12) according to any of example embodiments 21-27, being further operative to:
  • the second node (112) according to any of example embodiments 21-28, being further operative to:
  • the second node (112) according to any of example embodiments 21-29, wherein to obtain the at least one of the first address and the first key from the first node (1 11) is operative to be performed during the provisioning of the second node (1 12) in the wireless communications network (100).

Abstract

Method performed by a first node (111) in a Bluetooth Mesh network. The first node (111) generates (501) a first address and/or a first key, which enable any node in the 5 network to determine whether or not a message belongs to the network by inspecting an advertising address in the message. The advertising address is based on the first address and/or the first key. The first address and/or the first key also enable any node in the network to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the 10 primary advertising channel, when the advertising address comprised in the received message matches the first address and/or the first key. The first node (111) then provides (502) the generated first address and/or the first key to a second node (112) in the network.

Description

FIRST NODE, SECOND NODE AND METHODS FOR FILTERING MESSAGES
IN A BLUETOOTH MESH NETWORK
TECHNICAL FIELD
The present disclosure relates to a first node and methods performed thereby for handling filtering messages in a wireless communication network. The present disclosure relates as well to a second node and methods performed thereby for filtering messages in a wireless communication network. BACKGROUND
Communication devices within a wireless communications network may be wireless devices such as e.g., User Equipments (UE), mobile terminals, wireless terminals, terminals, and/or Mobile Stations (MS). Wireless devices are enabled to communicate wirelessly in the wireless communications network. The communication may be performed e.g., between two wireless devices, between a wireless device and a regular telephone comprised within the wireless communications network, etc... Wireless devices may further be referred to as mobile telephones, cellular telephones, laptops, or tablets with wireless capability, just to mention some further examples. The wireless devices in the present context may be, for example, portable, pocket-storable, hand-held, computer-comprised, or vehicle-mounted mobile devices, enabled to communicate voice and/or data, with another entity, such as another terminal or a server.
Bluetooth Low Energy
Bluetooth Low Energy (BLE) is a low-power radio technology that utilizes the unlicensed 2.4 GHz band for communication. The Host and Controller Architecture
A BLE device may be logically, and most often physically, separated into a controller and a host. The controller may typically be a hardware module or chip, and may include the physical layer and the link layer, while the host may be typically implemented in software and may be part of the operating system of the device. For example, in a smartphone, the BLE controller may be a chip or a part of a chip, which may also support Bluetooth classic and WiFi, while the BLE host may be implemented in, e.g., the iOS or the Android operating system. Communication between the host and the controller may happen through the Host Controller Interface (HCI), which is defined by the Bluetooth specification, see for example
https:/Awww.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc id=286439. The host may control and configure the operation of the controller via so called HCI commands.
Address types
BLE devices may be identified using device addresses. A BLE device address may comprise 48 bits and may be public or random. A random device address may further be static or private, and a private device address may be resolvable or non- resolvable. Figure 1 schematically depicts the available BLE address types.
A public address may need to be generated per the rules defined by the I EEE 802-2001 standard. Random device addresses may all be randomly generated, but following slightly different conventions. A random static device address may only change when a device is power cycled. Random, private addresses may change dynamically over time and may be used to provide privacy. A random, private, resolvable address may be made up of a random part and a hash generated by a key; more precisely, the Identity Resolving Key (IRK). The length of the IRK may be 128 bits. A random, private, non-resolvable address is a randomly generated address that may change over time.
Devices that may have exchanged keys with each other may communicate with maintained privacy using random, private, resolvable addresses. The transmitting device may generate the address, comprising a random part and a hash calculated from the random part and the shared key. The receiving device may identify the transmitting device by generating the hash from the random part of the address and the shared key. If the hash as received from the peer device matches the hash as generated by the device itself, the device may determine the identity of the peer device.
Advertising and connection-less data transfer
Advertising, in a wireless communications network, as used herein, may be understood as broadcasting data to notify receiving nodes about different information, typically the presence of the transmitting device. Advertising in BLE may typically happen over the advertising channels, and the link layer channels 37, 38, and 39 may be designated for advertising. In advertising mode, devices may broadcast data that may be received by other devices located in the proximity of the broadcasting device. Typically, each broadcasted message may be repeated over all three advertising channels. A device that would like to receive broadcasted messages may scan on one of the advertising channels. Once the broadcasting device transmits on the channel on which some other device is scanning, the data may be picked up by the scanning device. Broadcasting over the advertising channels may be often referred to as connection-less data transfer. Such connection-less data transfer may be considered unreliable, in the sense that there is no, link layer, feedback from the receiver to the transmitter that indicates whether the data was delivered successfully or not.
In BLE v4.0, v4.1 , and v4.2, advertising may use the advertising channels only. The advertising Protocol Data Unit (PDU) may contain at maximum 37 Bytes (B) of payload; out of which 6 B may be used for the advertising address and up to 31 B may be used for advertising data. Parts of the advertising data may be reserved for transmitting information such as the Advertising Data type (AD-type). An AD-type may be understood as a set of bits that defines what type of message is being advertised. For example, a mesh bearer that the mesh protocol may have built on top may be assigned a specific AD-type.
Release v5.0 of the Bluetooth specification contains a feature referred to as advertising extension. With advertising extension, the payload that may be carried by an advertising PDU is increased to in the order of 254 B. However, advertising extension also changes the basic mechanism of performing advertising. Instead of transmitting all the advertising data directly on the advertising channels, with advertising extension, the packet transmitted on the advertising channels may contain only a pointer to one of the data channels, in which the actual payload may be transferred. In BLE, there may be 37 data channels. The data channels may be indexed at the link layer from 0 to 36. Hence, a broadcasting device may transmit a short packet on each of the advertising channels pointing to a data channel in which the data is transmitted. A scanning device may still scan on one of the advertising channels. Once the scanner may detect an
advertisement, it may read the pointer and from there, it may know where to find the content of the advertising message. The scanning device may then tune the receiver to that specific channel and receive the payload. In the context of advertising extension, the advertising channels over which the short pointer is transmitted may be referred to as the primary advertising channels, and the data channels over which the payload is transmitted may be referred to as the secondary advertising channels. Moreover, the formal name of the advertising channel PDU that may be transmitted over the primary advertising channel is ADV_EXT_IND, while the advertising channel PDU that may carry the payload and may be transmitted over the secondary channel may be referred to as AUX_ADV_IND. Figure 2 is a schematic diagram illustrating the operating principle of the advertising extension feature. In this example, the ADV_EXT_IND is transmitted over all three primary advertising channels, 37, 38, and 39, and points to the AUX_ADV_IND PDU, which here is transmitted over data channel 0.
Advertising messages may be connectable, non-connectable, scannable, and non- scannable. Advertising messages may further be undirected or directed. A connectable advertising message may be responded to by a peer device such that a connection between the two devices may be established. A non-connectable message may not result in a connection. A scannable advertising message enables active scanning; a device that picks up a scannable advertising message may send a scan request message in response to the scannable advertising message, which the advertising device in turn may respond to in the form of a scan response message. Such active scanning is a way to obtain more information about devices. A non-scannable advertising message may not be used for active scanning. Furthermore, an undirected advertising message is not targeting any specific device but may be picked up by any device within range of the advertising device. A directed advertising message is targeting a specific device. For directed advertising messages, the address of the destination device may be indicated in the target address field. The address of the advertising device may be indicated in the advertising address field.
For non-connectable and non-scannable advertising extension messages, the advertising address and the target address may be transmitted over the primary advertising channel. The target address may be included only for directed advertising messages.
Device filtering in the controller
The host may configure the controller to only process messages from certain transmitters and, for directed advertising, only messages that are directed to the device itself. That is, the filtering may be performed based on individual devices or addresses. This may be realized by means of filtering on the advertising address, for filtering based on the sender, and the target address, for filtering based on the receiver. This allows the link layer to act without awakening the host. The host may be sleeping to save energy. Hence, to avoid awakening the host may serve energy. The link layer may be understood as a protocol layer in the protocol stack, between the physical layer and the Mesh network layer. The link layer may sometimes also be referred to as the Medium Access Control (MAC) layer. The set of devices that the link layer may use for advertising address device filtering may be called the white list. A white list may contain a set of white list records that may be used for link layer device filtering. A white list record may contain both the device address and the device address type, public or random. For scanners, the scanner filter policy may determine how the link of the scanner layer may process advertising packets. The host may configure the link layer to process advertising packets only from devices in the white list.
For private advertising or target addresses, the controller may use a resolving list, that may be configured by the host, to resolve the private addresses. The controller may use an IRK to resolve private addresses.
BLE Mesh
In the first version, v1.0, of the BLE Mesh specification, messages may be transmitted over the advertising bearer and over the Generic Attribute Profile (GATT) bearer. Only the advertising bearer is discussed here. Mesh messages transmitted over the advertising bearer may be required to be non-connectable, non-scannable, and undirected. The BLE Mesh may be understood as a flooding-based Mesh. Briefly explained, messages may be transmitted using broadcasting over the advertising channels. Relay nodes in the network may scan the advertising channels, and when a new message is detected, the relay node may forward the message such that it may be picked up by other nodes in the network; nodes that may not all be within range of the previous transmission. Nodes may forward messages by simply retransmitting them, using broadcasting, over the advertising channels. In such a way, a message may propagate from node to node(s) in the network and eventually reach the destination(s) of the message.
A node in a BLE Mesh network may comprise one or multiple addressable elements, which may be understood as one or multiple addressable parts of a node. Each element may be identified by a 16 bit Mesh address. Nodes may become part of a Mesh network through provisioning. The provisioning may be performed by a node in the network known as a provisioner. During the provisioning procedure, nodes may be assigned Mesh addresses and get access to the keys needed to communicate in the Mesh network. Mesh nodes may further subscribe to, or listen to, one or several addresses. At least nodes may listen to the addresses associated with the different elements that are part of the Mesh node and the broadcast address. The broadcast address may be understood as a destination, not source, address which may indicate that a message is to all nodes/elements on the Mesh network layer. Nodes may further subscribe to one or several multicast addresses to which information of interest to the node may be being published. A multicast address may be understood as an address destined to multiple "users", or elements, in the Mesh network.
Nodes in the Mesh network may take different roles: a "regular" node may simply act as source or destination for messages. When such a node has something to send, it is the source, that is origin, of a message, and for messages sent to the node it is the destination of a message. Regular nodes do not have interest in any message for which it is not source or destination. Relay nodes, on the other hand, may also help forwarding messages in the network and, relay nodes may in general be considered to have interest in all messages that flow through the network.
In BLE Mesh networks, a key referred to as the Network Key (NetKey) may be used to secure the communication at the network layer. The network layer may be understood as one protocol layer in the BLE Mesh specification which may define, e.g., network security, e.g., encryption and authentication of the network PDU, and message relaying/forwarding, e.g., under what conditions a message should be relayed, and how to process such a message. In order to process a message at the network layer, the node must receive the network PDU, e.g., if using advertising extension, the node must receive the payload on the secondary channel. From the network key, the encryption key of the network may be derived, and also the Network I Dentifier (Network ID). The encryption key of the network, which may also be referred to as the network encryption key, may be used in the network layer to encrypt and authenticate the destination address field and the transport PDU, that is, the payload of the network PDU. The Network ID may typically be a 7-bit field, which is part of the Mesh network layer PDU and used to identify the Mesh network. Figure 3 is a schematic diagram depicting the BLE Mesh network PDU format.
Mesh network PDUs transmitted over the advertising bearer may be broadcasted over the advertising channels using a pre-defined AD-type. Hence, all BLE Mesh messages may use the same AD-type and it may be possible to distinguish Mesh messages from other type of broadcasted messages, e.g., proximity beacons. To identify the Mesh network in existing methods, however, the network PDU must be inspected, that is, decoded, and some specific fields of the network PDU may need to be checked. According to existing methods, first, the network ID field in the network PDU is inspected. If the network ID matches the network ID of the network to which the node belongs, the node will continue to process the network PDU. However, as different Mesh networks using dissimilar network keys may still have the same network I D, a matching network ID does not guarantee that the message belongs to a specific network. To unambiguously determine if the message belongs to the network, the node must authenticate the message using the network encryption key.
As several BLE Mesh networks may coexist in proximity of each other, it may happen that a node that is part of one Mesh network receives messages from another Mesh network. In most cases, a node may discard messages from other networks by inspecting the network ID field of the network PDU, however, in some rare cases it may only be possible to discard messages from other networks after the network PDU has been authenticated.
In future versions of BLE Mesh, it may be beneficial to take advantage of the enhanced capabilities offered by the advertising extension feature. In such cases, the mesh network PDU may be transmitted over the secondary advertising channel, that is, the data channel, and to receive such a message, a node may first need to scan any of the primary advertising channels to find the pointer, and then receive the payload on the secondary advertising channel.
Future BLE Mesh networks may further develop to work not only using flooding but also using routing. In a Mesh network using routing, messages may be forwarded from a source to a destination using optimized paths through the network. With routing, messages may not always be forwarded to all neighbor nodes but it may typically be sufficient for nodes to forward a message to the neighbor node that is the next node on the path from source to destination.
According to the foregoing, existing methods of processing received messages by a node, particularly of received advertising messages, use a high amount of processing resources by requiring to involve processing at the network layer, which, decreases the capacity of the system, increases its latency, and overall negatively impacts the performance of the system. Particularly, in existing methods, filtering of advertising messages involves inspecting a network PDU to determine if an advertising message is of interest. Moreover, in some cases, existing methods of processing received messages increase the risk that nodes may not detect messages, which in turn increases the risk that a message may not be delivered from a source to a destination.
SUMMARY
It is an object of embodiments herein to improve filtering of messages in a wireless communications network. It is a particular object of embodiments herein to improve the filtering of advertising messages in wireless communications network. According to a first aspect of embodiments herein, the object is achieved by a method performed by a first node operating in a wireless communications network. The wireless communications network is a Bluetooth Mesh network. The first node generates at least one of: a first address and a first key. The at least one of the first address and the first key enable any node operating in the wireless communications network to determine whether or not a message belongs to the wireless communications network by inspecting an advertising address comprised in the message. The advertising address is based on the at least one of: the first address and the first key. The at least one of the first address and the first key also enable any node operating in the wireless communications network to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key. The first node then provides the generated at least one of the first address and the first key to a second node in the wireless communications network.
According to a second aspect of embodiments herein, the object is achieved by a method performed by a second node operating in a wireless communications network. The wireless communications network is a Bluetooth Mesh network. The second node obtains, from the first node operating in the wireless communications network, at least one of: the first address and the first key. The at least one of the first address and the first key enable any node operating in the wireless communications network to determine whether or not a message belongs to the wireless communications network by inspecting the advertising address comprised in the message. The advertising address is based on the at least one of: the first address and the first key. The at least one of the first address and the first key also enable any node operating in the wireless communications network to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key. The second node also initiates processing, by a controller of the second node, a first message to be received or sent, based on the obtained at least one of: the first address and the first key.
According to a third aspect of embodiments herein, the object is achieved by the first node, configured to operate in the wireless communications network. The wireless communications network is configured to be a Bluetooth Mesh network. The first node is further configured to generate at least one of: the first address and the first key. The at least one of the first address and the first key are configured to enable any node operating in the wireless communications network to determine whether or not a message belongs to the wireless communications network by inspecting the advertising address comprised in the message. The advertising address is configured to be based on the at least one of: the first address and the first key. The at least one of the first address and the first key are also configured to enable any node operating in the wireless communications network to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key. The first node is also configured to provide the at least one of the first address and the first key configured to be generated to, the second node in the wireless communications network.
According to a fourth aspect of embodiments herein, the object is achieved by the second node, configured to operate in the wireless communications network. The wireless communications network is configured to be a Bluetooth Mesh network. The second node is further configured to obtain, from the first node configured to operate in the wireless communications network, at least one of: the first address and the first key. The at least one of the first address and the first key are configured to enable any node configured to operate in the wireless communications network to determine whether or not a message belongs to the wireless communications network by inspecting the advertising address comprised in the message. The advertising address is based on the at least one of: the first address and the first key. The at least one of the first address and the first key are also configured to enable any node configured to operate in the wireless
communications network to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the message configured to be received matches the at least one of: the first address and the first key. The second node is also configured to initiate processing, by the controller of the second node, the first message configured to be to be received or sent, based on the at least one of: the first address and the first key configured to be obtained.
By the first node 11 1 generating the first address and/or the first key, any node operating in the wireless communications network 100, such as the second node 112, is enabled to determine whether or not a message belongs to the wireless communications network 100 by inspecting the advertising address comprised in the message. By the at least one of the first address and the first key also enabling any node operating in the wireless communications network to only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key, any node in the wireless communications network 100, such as the second node 112, may filter a detected message at a lower layer than a network layer, and hence filter the message earlier, faster and using fewer resources than existing methods. Such a lower layer may be the link layer. Messages not belonging to the wireless communications network 100 may be simply discarded as early on as possible, and only those belonging to the wireless communications network 100 may be processed further. This further facilitates scanning for other messages of interest on the primary channels instead of receiving and decoding irrelevant messages on the secondary channel, and hence less messages are missed. Hence, the performance of the wireless communications network 100 is improved, by reducing its latency and increasing its capacity. BRIEF DESCRIPTION OF THE DRAWINGS
Examples of embodiments herein are described in more detail with reference to the accompanying drawings, according to the following description.
Figure 1 is a schematic diagram illustrating BLE address types, according to existing methods.
Figure 2 is a schematic diagram illustrating an example of the advertising extension
operation principle, according to existing methods.
Figure 3 is a schematic diagram illustrating an example of a network layer PDU format, according to existing methods.
Figure 4 shows a schematic diagram illustrating an example of a wireless communications network, according to embodiments herein.
Figure 5 shows a flowchart illustrating an embodiment of a method in a first node,
according to embodiments herein.
Figure 6 shows a flowchart illustrating an example of embodiments of a method in a
second node, according to embodiments herein.
Figure 7 shows a flowchart illustrating an example of embodiments of an IRK and target address generation for directed messages in the Mesh network, according to embodiments herein.
Figure 8 is a schematic block diagram illustrating embodiments of a first node, according to embodiments herein. Figure 9 is a schematic block diagram illustrating embodiments of a second node, according to embodiments herein.
DETAILED DESCRIPTION
As part of the development of embodiments herein, the problems with existing methods will be first further described, identified and discussed.
To minimize the amount of processing performed by a node, it may be typically advantageous to filter received messages to discard irrelevant messages, and it may be further advantageous to perform this filtering at the lowest possible level, that is, as far down as possible in the protocol stack, in other words, at the lowest possible protocol layer, to discard the irrelevant messages as early on as possible, in order to minimize the processing resources used in the process and to prevent a device from switching to another channel with irrelevant messages, and potentially miss relevant messages in the original channel, e.g., advertising channels. A node in a BLE Mesh network may want to discard irrelevant messages broadcasted over the advertising channels at the lowest possible level. It is today not possible to do any filtering in the controller of a node based on the Mesh network identity and it is not possible for the host of the node to configure the controller to forward only messages of a certain AD-type. Performing a filtering in the controller may be understood to have the advantage that it may not be necessary to pass irrelevant messages to the host. Therefore, in cases when the host may be sleeping to save energy, awakening the host may be avoided. The purpose of doing this kind of filtering may be understood to be to discard messages that are not Mesh messages. Then, it may no longer be necessary for a node to process messages on the network layer that are not Mesh messages. It may be understood that compared to processing at the Mesh network layer, processing at the BLE link layer may be associated with a shorter delay and may consume less energy. In addition, processing at the link layer may be performed by the controller, so such processing may be performed without awaking the host. Furthermore, in possible future BLE Mesh networks using routing, there is no means for nodes to configure the filtering such that messages that are not directed to this node are discarded at an early stage; instead, also here the message may need to be forwarded to the network layer to determine if the message was targeting this node or not. The same is true for non-relay Mesh nodes that only have interest in receiving messages that are published to addresses to which the node subscribes. In a scenario where the Mesh network may coexist with other devices that may send data over an advertising extension, be it simple broadcasting of data, or as part of communication within another BLE Mesh network, the lack of filtering based on information transmitted over the primary advertising channel reduces the performance of the Mesh network. A node that receives a message on any of the primary advertising channels does not know if it is a Mesh message or some other message being broadcasted using the advertising extension; nor may it determine the network identity from the transmission on the primary channel. The node must hence listen to the secondary channel to find out, and not before the message has been received in full and forwarded to the host for processing, may the AD-type and network identity be determined.
In cases where the message is not a Mesh message, or when it is a Mesh message but from another Mesh network, this behavior is not preferred. First, Mesh network nodes will unnecessary spend resources to process irrelevant messages.
Second, and probably more importantly, when receiving the data on the secondary channel, the Mesh network nodes are not able to scan the primary channels because the receiving circuit may be tuned to only one channel at a time if the node is equipped with a single transceiver, which is the predominant case for BLE devices, and risk losing relevant messages while having the receiver tuned to one of the secondary channels. Accordingly, this behavior increases the risk that nodes may not detect messages, which in turn increases the risk that a message cannot be delivered from source to destination.
To exemplify the coexistence problem, a situation may be considered in which two Mesh networks with similar traffic intensities coexist in the same area. In such a case, nodes in each of the Mesh networks receive messages from both Mesh networks but not until the message reaches the network layer may it be determined to which Mesh network the message belongs. Accordingly, in 50 % of the cases the nodes tune their controllers to the secondary advertising channel to receive a message that belongs to another Mesh network. This is not only purposeless but also destructive, since during this time the nodes are not able to detect and receive any potential message in its own network.
A node that is part of the Mesh network may have multiple addresses. One link layer address, a MAC layer address, and one Mesh layer address. The Mesh address may be assigned by a provisioner node in the network, but the Mesh protocol, which may be understood to be built in the host, is not aware of the device address of nodes in the Mesh network. Without this knowledge, it is not possible to set up filtering in the link layer to achieve certain objectives at the Mesh layer. In short, it is not possible to use link layer filtering with existing methods because the Mesh layer is not aware of the link layer addresses of the nodes in the network, and hence, has no chance of configuring the link layer filtering in any sensible way. Link layer filtering may be understood as filtering by information available from fields that may be accessible at the link layer, in other words, fields defined in a link layer packet. Here, it may be understood as filtering based on advertising address and/or target address. To summarize the foregoing, filtering of advertising messages in existing methods involves a high amount of processing resources, which decreases the capacity of the system, increases its latency, and overall negatively impacts the performance of the system. Moreover, in some cases, nodes may miss detecting messages of interest by wasting time processing messages of no interest, which may in addition prevent them from being tuned to the primary advertising channel, where pointers to messages of interest may be transmitted.
Several embodiments are comprised herein, which address these problems. As an overview, according to embodiments herein, it may be possible to 1) filter messages based on the Mesh network identity at the link layer, and 2) facilitate filtering based on the destination, next-hop or final, address of the Mesh message at the link layer. In embodiments herein, 1) may be possible by creating an association between the Mesh network identity and the advertising address, to perform Mesh network filtering, and 2) may be made possible by an association between the Mesh element address and the target address. Particular embodiments herein may be understood to relate to BLE Mesh message filtering.
Embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which examples are shown. In this section, the embodiments herein will be illustrated in more detail by a number of exemplary embodiments. It should be noted that the exemplary embodiments herein are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments. Figure 4 depicts an example of a wireless communications network 100, sometimes also referred to as a cellular radio system, cellular network or wireless communications system, in which embodiments herein may be implemented. The wireless communications network 100 may comprise a core network and a Radio Access Network (RAN), for example be a Bluetooth network, BLE network such as a Bluetooth Smart network, Mesh network, or any cellular network or system with similar
requirements. Thus, although terminology from Bluetooth, and in particular, from a BLE Mesh network, has been used in this disclosure to exemplify the embodiments herein, this should not be seen as limiting the scope of the embodiments herein to only the aforementioned system. Other current or future radio access technologies may support similar or equivalent functionality. Hence, the terms used herein may need to be reinterpreted in view of possible terminology changes in future radio access technologies. Other already existing wireless systems, including, an LTE in Unlicensed Spectrum (LTE- U), also known as standalone-LTE network, a MuLTEfire system, a Worldwide
Interoperability for Microwave Access (WMAX) network, a Wireless Local Area Network (WLAN), a Low Rate Wireless Personal Access Network (LR-WPAN) as defined in e.g. IEEE 802.15.4, a Zigbee network, a Thread mesh network, a Narrow Band loT (NB-loT) network, loT network, a network comprising one or more wireless devices configured for Machine Type Communication (MTC) sometimes herein referred to as an eMTC network, may also benefit from exploiting the ideas covered within this disclosure.
The wireless communications network 100 comprises a plurality of nodes 101 , whereof a first node 111 and a second node 112 are depicted in Figure 4.
The first node 11 1 may be a node controlling or managing the operation of the second node 1 12. The first node 1 11 may typically be wireless device, such as a mobile telephone or a tablet. In other examples, the first node 11 1 may be a radio network node, such as a BS. In particular examples, the first node 1 11 may be a so-called provisioning node.
The second node 1 12 may be a node with radio capability within the wireless communications network 100, such as a wireless device. The second node 1 12 may be a relay node, or a non-relay node or destination node. Typically, the second node 112 may be a wireless device with limited capability, such as a thing in an loT network, as in the example depicted in Figure 4. In some particular examples, the second node 112 may be a Mesh node, also referred to herein as a BLE device.
A wireless device may also be referred to as a user equipment or UE. The wireless device may be, e.g., a wireless communication device, which may also be known as e.g., mobile terminal, wireless terminal and/or mobile station, mobile telephone, cellular telephone, or laptop with wireless capability, or any of the "Things" in an loT system earlier, just to mention some further examples. The wireless device may be, for example, portable, pocket-storable, hand-held, computer-comprised, or a vehicle-mounted mobile device, enabled to communicate voice and/or data, via the RAN, with another entity, such as a server, a laptop, a PDA, or a tablet computer, sometimes referred to as a tablet with wireless capability, Machine-to-Machine (M2M) device, device equipped with a wireless interface, such as a printer or a file storage device, modem, or any other radio network unit capable of communicating over a wired or radio link in a communications system. The wireless device may be enabled to communicate wirelessly in the wireless
communications network 100.
A radio network node may be an access node such as a radio base station, for example an eNB, an eNodeB, or an Home Node B, an Home eNode B, transmission point, or any other network node capable to serve a wireless device, such as a user equipment or a machine type communication device in the wireless communications network 100. The network node may support one or several communication technologies, and its name may depend on the technology and terminology used. The network node may be directly connected to the one or more core networks.
The wireless communications network 100 covers a geographical area which is represented in Figure 4 with a circle. The first node 11 1 may communicate within the wireless communications network 100 with the second node 1 12 over a first link 120, e.g., a radio link. Any of the nodes in the plurality of nodes 101 may communicate with each other over respective links, similar to the first link 120, either directly, or through multi-hop links. Some non-limiting examples of such links are depicted in Figure 4 with dashed lines. The representation is not exhaustive.
In the examples wherein the first node 11 1 may be a wireless device, the first node 1 11 may be further enabled to communicate wirelessly via other RANs and possibly one or more core networks, which are not depicted in Figure 4 to simplify the Figure.
In general, the usage herein of "first", "second", and/or "third", may be understood herein to be an arbitrary way to denote different elements, and may be understood to not confer a cumulative or chronological character to the nouns they modify.
Embodiments of method performed by the first node 11 1 operating in the wireless communications network 100, will now be described with reference to the flowchart depicted depicted in Figure 5. That the first node 1 11 operates in the wireless communications network 100 may be understood to mean that the first node 11 1 is connected, via a link such as the first link 120, to the wireless communications network 100.
In some particular embodiments, the wireless communications network 100 is a
Bluetooth Mesh network.
The first node 1 11 may be wireless device, such as a mobile telephone or a tablet. In some examples, the first node 11 1 may be a so-called "Provisioning Node", e.g., in a BLE Mesh network.
The method may comprise one or more of the following actions. In some embodiments all the actions may be performed. In some embodiments all the actions may be performed. In some embodiments, one or more actions may be performed. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. In Figure 5, optional actions are indicated with dashed lines.
Action 501
When advertising extension is used, the transmission, e.g., of messages, may be configured such that the advertising address may be included in the transmission over the primary advertising channel, for undirected and directed messages. In such a context wherein the advertising extension feature may be used in the wireless
communications network 100, and in order to facilitate filtering of messages in the wireless communications network 100 without unnecessary usage or misuse of processing resources, in this Action 501 , the first node 1 11 generates at least one of: a first address and a first key. The at least one of the first address and the first key enable any node operating in the wireless communications network 100 to determine whether or not a message belongs to the wireless communications network 100 by inspecting an advertising address comprised in the message. The advertising address is based on the at least one of: the first address and the first key. The at least one of the first address and the first key also enable any node operating in the wireless communications network 100 to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key. In other words, the at least one of the first address and the first key may be understood to facilitate, that is, allow, any node operating in the wireless communications network 100 to perform a first filtering action already based on the information received on primary advertising channel, without requiring to do any further processing in the secondary channel. This may be understood to imply that if the message received is of no interest to the receiving node based on this filtering, the receiving node may refrain from tuning to the secondary advertising channel, and continue to be tuned to the first advertising channel, which may in turn enable it to detect other messages that may be of interest. The first filtering may be also referred to herein as Mesh network filtering.
The advertising address may be understood to be part of the advertising PDU, or link layer PDU. This may be understood to be enable any node operating in the wireless communications network 100 to, by checking the advertising address which may be included in the transmission over the primary advertising channel, decide to tune to the secondary advertising channel if the advertising address matches the at least one of: the first address and the first key, or to refrain from tuning to the secondary advertising channel if the advertising address does not match the at least one of: the first address and the first key.
In some embodiments, the method may be performed in a layer lower than a network layer of a Protocol Data Unit, PDU, comprised in the message, e.g., in the link layer. As stated earlier, it may be understood that compared to processing at the Mesh network layer, processing at the BLE link layer may be associated with a shorter delay and may consume less energy. In addition, processing at the link layer may be performed by the controller, so such processing may be performed without awaking the host. .
Generating may be understood as deriving, calculating or determining.
The first address may be one of: a) a random, private, resolvable address, b) a random, static address, c) a random, private, non-resolvable address, and d) a public address.
In some embodiments, the first key may be an Identity Resolving Key (IRK).
The message may be any one of a received message or a sent message, that may be detected and/or transmitted, respectively, by any node in the wireless communications network 100. The message may be for example, an advertising message in e.g., a BLE Mesh Network.
The advertising address may be understood to refer to a first type of address, a first field, first data or a first sequence of bits comprised in the message. The advertising address may be generated by a node transmitting the message. To determine whether or not the message belongs to the wireless communications network 100 may comprise to identify the network node origin of the message.
The primary advertising extension indication may be understood to be a pointer to one of the data channels, in which the actual payload may be transferred and from there, 5 a node may know where to find the content of the advertising message. Any of the first address and the first key may be comprised in the pointer.
By inspecting the advertising address may be understood as being based on the advertising address.
The first node 1 11 may also generate in this Action 501 a set of addresses and keys
10 comprising the first address and the first key. In some embodiments, in order to enable a second action of filtering, which may also be referred to herein as target address filtering, the generating in this Action 501 may further comprise generating at least one of a second address and a second key. One of the second key and the second address may be mapped with injective mapping to a Mesh address. In particular examples, the first node
15 1 11 may also generate in this Action 501 the second address and the second key,
wherein the first address is different than the second address and the first key is different than the second key.
The target address may be understood to refer to a second type of address, a second field, second data or a second sequence of bits comprised in a message. The
20 target address may typically indicate a node the message is directed to.
The mapping may be understood as a mapping function. The mapping function may be defined in advance, or defined by the first node 1 11 and distributed to the other nodes in the wireless communications network 100.
Injective mapping may be understood as a 1 : 1 mapping.
25 A Mesh address may be understood as an address that may identify an entity such as a node, a device, or an element, on the Mesh network layer. Therefore, the generated at least one of the second address and the second key, wherein one is mapped to a Mesh address may be understood to enable the filtering based on a target node in the wireless communications network 100, and to do so already by processing the message in the
30 primary advertising channel, as also a target address may be included in the
transmission over the primary advertising channel. Action 502
In this Action 502, the first node 11 1 provides the generated at least one of the first address and the first key to the second node 112 in the wireless communications network 100.
5 The providing may be performed by sending an indication of the at least one of the first address and the first key to a second node 1 12 to the second node 1 12, e.g., via the first link 120.
In some embodiments, the providing in this Action 502 of any of the generated at least one of the first address and the first key to the second node may be performed 10 during the provisioning of the second node 1 12 in the wireless communications network 100. The provisioning may be understood as the procedure to set up a new node in the wireless communications network 100.
In some embodiments, the method may further comprise one or more of the following actions.
15 It may be understood that the first node 11 1 may also provide, the at least one of the second address and the second key.
Action 503
In some embodiments, the first node 1 11 may, in this Action 503, indicate, to the 20 second node 1 12, that it is to use the provided at least one of the first address and the first key to process a first message to be sent or to be received in the wireless communications network 100. Indicating may be understood as sending an instruction to the second node 112, or configuring the second node 112, e.g., via the first link 120.
It may be understood that the first node 11 1 may also indicate, to the second node 25 1 12, that it is to use the provided the at least one of the second address and the second key.
Action 504
In some embodiments, the first node 1 11 may, in this Action 504, update the 30 provided at least one of the first address and the first key. The updating 504 may be triggered by one or more criteria. This is an optional action.
It may be understood that the first node 11 1 may also update at least one of the second address and the second key. Action 505
In some embodiments, the first node 1 11 may, in this Action 505, indicate, to the second node 1 12, to update the provided at least one of the first address and the first key, according to the updating performed by the first node 11 1. The indicating of this action 5 505 may be performed by sending as second indication.
The indicating of this action 505 may be performed by sending an indication of the updated at least one of the first address and the first key, to the second node 112.
It may be understood that the first node 11 1 may also indicate, to the second node 1 12, to update the provided at least one of the second address and the second key.
Embodiments of a method performed by the second node 1 12 operating in the wireless communications network 100, will now be described with reference to the5 flowchart depicted depicted in Figure 6.
The method may comprise one or more of the following actions. In some embodiments all the actions may be performed. In some embodiments, one or more actions may be performed. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. In0 Figure 6, optional actions are indicated with dashed lines.
The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the first node 11 1 , and will thus not be repeated here to simplify the description. For example the wireless communications network 100 is a Bluetooth Mesh network. In some particular
5 embodiments, the wireless communications network 100 may be a Bluetooth Mesh network, such as a BLE network.
Action 601
In the context wherein the advertising extension feature may be used in the wireless0 communications network 100, such as in Bluetooth v5.0, and in order to facilitate filtering of messages in the wireless communications network 100 without unnecessary usage or misuse of processing resources, in this Action 601 , the second node 1 12 obtains, from the first node 1 11 operating in the wireless communications network 100, at least one of: the first address and the first key. As described earlier, the at least one of the first address5 and the first key enable any node operating in the wireless communications network 100 to determine whether or not a message belongs to the wireless communications network 100 by inspecting the advertising address comprised in the message. The advertising address is based on the at least one of: the first address and the first key. The at least one of the first address and the first key also enable any node operating in the wireless communications network 100 to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
Obtaining, may be understood as directly receiving, or indirectly receiving via another node in communication with the second node 112 in the wireless communications network 100. The obtaining may be performed e.g., via the first link 120 or via any of the links interconnecting the nodes in the path between the first node 1 11 and the second node 1 12. Obtaining may also comprise deriving or determining, based on a received indication.
In some embodiments, the obtaining 601 the at least one of the first address and the first key from the first node 11 1 may be performed during the provisioning of the second node 112 in the wireless communications network 100
To determine whether or not the message belongs to the wireless communications network 100 may comprise to identify the network node origin of the message.
The first address may be one of: a) a random, private, resolvable address, b) a random, static address, c) a random, private, non-resolvable address, and d) a public address.
The first key may be an IRK.
That the advertising address is based on the at least one of: the first address and the first key may be understood to mean that the advertising address may be calculated or derived using e.g., the first address or the first key.
Action 602
In this Action 602, the second node 1 12 receives the first indication from the first node 11 1 to use the provided at least one of the first address and the first key to process the first message to be sent or to be received in the wireless communications network 100. The receiving may be performed via, e.g., the first link 120.
It may be understood that the first message may be to be sent or to be received because, in some examples, the second node 1 12 may be a non-relay node, that is, a destination node. Therefore, the second node 112 may receive the first message as a destination node. In other examples, the second node 112 be an intermediate relay node, and it may therefore receive the first message and forward the first message such that it may be picked up by other nodes in the network. Yet in other examples, e.g., when the second node 1 12 has something to send, the second node 1 12 may be a source, that is origin, of the first message. Therefore, the first message may be to be sent in these examples.
Action 603
In some particular embodiments wherein the advertising extension feature may be used, such as in Bluetooth v5.0, and wherein the first message may be a received message, the second node 1 12 may, in this Action 603, detect the primary advertising extension indication on the primary advertising channel.
Action 604
In this Action 604, the second node 1 12 initiates processing, by a controller of the second node 112, the first message to be received or sent, based on the obtained at least one of: the first address and the first key.
The initiating processing 604 may performed in the link layer.
Initiating may be understood as e.g., facilitating, starting, triggering. Processing may be understood to be different depending on whether the first message is to be sent by the second node 1 12, e.g., as a source node or relay node, or to be received by the second node 112, e.g., as a destination node or relay node.
In some embodiments, the first message may be a received message, e.g., in examples wherein the second node 1 12 is not the source of the first message. In such embodiments, the initiating processing in this Action 604 the first message may comprise determining whether or not the received message belongs to the wireless
communications network 100, based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key. That is, the initiating processing in this Action 604 may comprise filtering the first message based on the determination of whether or not the received message belongs to the wireless communications network 100. Filtering the first message based on the determination of whether or not the received message belongs to the wireless communications network 100 may be understood as comprising one of: a) discarding the first message if its determined that it does not belong to the wireless communications network 100, and b) continue processing the first message if its determined that it does belong to the wireless communications network 100.
In embodiments wherein Action 603 may have been performed, the initiating processing 604 the first message may comprise determining whether or not the received message belongs to the wireless communications network 100 based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
In other embodiments, the first message may be a message to be sent by the second node 112, e.g., in examples wherein the second node 112 is the source of the first message. In such embodiments, the initiating processing in this Action 604 the first message may comprise sending the message comprising the advertising address. The advertising address may be based on the obtained at least one of: the first address and the first key. The advertising address, in such embodiments, may be derived by the second node 1 12. The transmission may be configured such that the advertising address may be included in the transmission over the primary advertising channel, for undirected and directed messages.
Action 605
When advertising extension is used, the transmission may be configured such that, to enable filtering on the Mesh destination address or the next-hop address, also the target address may be included in the transmission over the primary advertising channel. As explained earlier, the target address may be understood to refer to a second type of address, a second field, second data or a second sequence of bits comprised in a message. The target address may typically indicate a node the message is directed to.
In some embodiments, the second node 1 12 may e.g., need to send the first message, either as the source of the first message or to forward the message to the next- hop destination. Hence, in some embodiments, the second node 112 may, in this Action 605, generate the target address based on at least one of: the second key and the second address, the at least one of: the second key and the second address being mapped with injective mapping to a Mesh address. The generated target address may enable any node operating in the wireless communications network 100 to uniquely associate the first message to a particular node operating in the wireless communications network 100 the first message is addressed to. The generated target address may enable any node operating in the wireless communications network 100 to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the received message matches the at least one of: second address and second first key.
Generating may be understood as deriving, calculating or determining.
The Mesh address may be provided by the provisioner, e.g., the first node 1 11. The target address may be derived autonomously by the nodes, such as by the second node 112, based on the Mesh address. Such mesh layer addresses may be already known by the Mesh layer.
The second address and the second key may be understood to be similar to the first address and the first key, but with different from the first address and the second key. For example, in some embodiments, the second key may be an IRK.
The second address may be one of: a) a random, private, resolvable address, b) a random, static address, c) a random, private, non-resolvable address, and d) a public address.
In some embodiments, the first message may be a Mesh message, and the target address may indicate at least one of: a) a next-hop receiver of the Mesh message, and b) a final destination of the Mesh message.
The mapping may be understood to be a mapping function. The mapping function may be defined in advance, or it may be defined by the first node 11 1 and distributed to the other nodes in the wireless communications network 100. The same mapping may be understood to be used by all nodes in the plurality of nodes 101. Injective mapping may be understood as a 1 :1 mapping. That is, the target address may uniquely map to a Mesh address. A Mesh address may be understood as an address that may identify an entity such as a node, a device, or an element, on the Mesh network layer. The mapping function may be defined in advance, or it may be defined by the first node 1 11 and distributed to the nodes.
By performing Action 605, the Mesh layer address may be mapped to a link layer address. Action 606
In some embodiments, the second node 112 may, in this Action 606, initiate processing, by a controller of the second node 112, the first message to be received or sent by the second node 1 12, based on the generated target address by sending the first message comprising the generated target address.
The initiating processing 606 may performed in the link layer.
Initiating may be understood as e.g., facilitating, starting, triggering. Processing may be understood to be different depending on whether the first message is to be sent by the second node 1 12, e.g., as a source node or relay node, or to be received by the second node 112, e.g., as a destination node or relay node.
In some embodiments wherein the first message may be a message to be sent, this Action 606 may comprise initiating processing 606, by the controller of the second node 1 12, the first message to be sent by the second node 112 based on the generated target address by sending the first message comprising the generated target address. To enable filtering on the Mesh destination address or the next-hop address, the target address may be included in the transmission over the primary advertising channel.
The sending may be performed e.g., via the any of the links between the plurality of nodes 101 in the wireless communications network 100.
In some embodiments wherein the first message may be a received message, this Action 606 may comprise initiating processing, by the controller of the second node 112, the received first message based on the target address comprised in the first message. The target address may be based on at least one of: the second key and the second address. The at least one of: the second key and the second address may be mapped with injective mapping to a Mesh address. The target address may enable any node operating in the wireless communications network 100 to uniquely associate the first message to a particular node operating in the wireless communications network 100 the first message is addressed to. The target address may enable any node operating in the wireless communications network 100 to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the received message matches the at least one of: second address and second first key. In this Action 606, the initiating processing the received first based on the target address message may further comprise determining whether or not the received first message is targeted to the second node 112, based on the at least one of: the second address and the second key, and filtering the first message based on the determination of whether or not the received message is targeted to the second node 112
Filtering the first message based on the determination of whether or not the received message is targeted to the second node 1 12 may be understood as comprising one of: a) discarding the first message if its determined that it is not targeted to the second node 112, b) continue processing the first message if its determined that it is targeted to the second node 1 12, and c) processing other messages that are pointed from the first message.
In embodiments wherein the second node 1 12 may have detected, according to Action 603, the primary advertising extension indication on the primary advertising channel, the initiating processing 606 the first message may comprise determining whether or not the received first message is targeted to the second node 112, based on the at least one of: the second address and the second key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the received message matches the at least one of: second address and second first key. In other words, the at least one of the second address and the second key may be understood to facilitate, that is, allow, any node operating in the wireless communications network 100 to perform a second filtering action already based on the information received on primary advertising channel, without requiring to do any further processing in the secondary channel. This may be understood to imply that if the message received is of no interest to the receiving node based on this filtering, the receiving node may refrain from tuning to the secondary advertising channel, and continue to be tuned to the first advertising channel, which may in turn enable it to detect other messages that may be of interest.
In some embodiments, the method being performed a layer lower than a network layer of a PDU comprised in the first message e.g., in the link layer.
Action 607
In some embodiments, the second node 112 may, in this Action 607, receive the second indication from the first node 1 11 to update the provided at least one of the first address and the first key, e.g., as sent by the first node 1 11 in Action 505. The receiving may be performed via, e.g., the first link 120.
It may be understood that the second node 1 12 may also receive an indication to update the at least one of the second address and the second key. Action 608
In some embodiments, the second node 112 may, in this Action 608, update the provided at least one of the first address and the first key based on the received second indication.
It may be understood that the second node 1 12 may also update at least one of the second address and the second key.
Example of the interaction that may take place between the first node 1 11 and the second node 1 12:
The manner in which the first node 11 1 and the second node 112 may interact when performing the actions of the methods described in relation to Figure 5 and Figure 6 will now be described with a particular non-limiting example with other words than those used, for illustrative purposes. In the following description, any reference to a/the provisioner is understood to equally refer to the first node 11 1. Any reference herein to a/the node, a/the Mesh node, and/or a/the BLE device is understood to equally refer to the second node 112. Any reference herein to a/the controller is understood to refer to a controller in the second node 112. Any reference herein to a/the non-relay node or a/the relay node is understood to equally refer to the second node 1 12. Any reference to a/the Mesh network is understood to refer to the wireless communications network 100.
Mesh network filtering
According to the description just provided, e.g., in Action 604, the filtering of the first message based on the network may be based on at least one of the first address and the first key. These alternatives are described below. In a first embodiment, filtering is described based on the first key, and in a second embodiment, filtering is described based on the first address.
First embodiment: Mesh network filtering using IRK(s)
In a first embodiment, Mesh network filtering may be performed based on the advertising address. The advertising address may be understood to be part of the advertising PDU, or link layer PDU. Nodes in the Mesh network may use random, private, resolvable addresses to transmit messages. Upon provisioning, the provisioner may distribute one or several Identity Resolving Keys (IRKs) that the nodes in the Mesh network may make use of when deriving the advertising address. That is, the first node 1 1 1 may distribute at least the first key. The IRK may be used at the link layer. The advertising address, in turn, may be used when transmitting data over the advertising bearer. Nodes, such as the second node 1 12, that may receive messages over the advertising bearer may use the same at least one first key, e.g., the IRK(s), to resolve the private address and check whether the message belongs to the network or not. The IRK may be used at the link layer. The different steps are described in more detail below.
a) Generation and distribution of IRK(s), according to Action 501 and Action 502, respectively.
In the first embodiment, this step may be performed by the provisioner. The provisioner may generate at least one first key, e.g., one or several IRKs following the rules for IRK generation according to Bluetooth specification. When a new node may be being provisioned to the Mesh network, the provisioner may inform the node about the IRK(s) that the node is to use when transmitting and receiving messages over the advertising bearer in the Mesh network, according to Action 503. Today, provisioning in the BLE Mesh network may be performed via advertising or via GATT. Both provisioning bearers may be limited to single-hop communication and may be referred to as
Provisioning Bearer based on advertising (PB-ADV) and Provisioning Bearer based on GATT (PB-GATT), respectively.
b) Generation of random, private, resolvable addresses, according to Action 501 This step may be performed by any transmitting node in the Mesh network. Any node in the Mesh network, such as the second node 1 12, that may need to send a message over the advertising bearer, either since it may be the original source of the message or because it may act as a relay node forwarding the message, may do so using a random, private, resolvable address as advertising address. The random, private, resolvable address may be generated based on one of the IRKs as assigned by the provisioner.
A random, private, resolvable address may be made up of two main parts; namely a random part that may comprise 22 bits, and a hash that may comprise 24 bits. In addition, two bits may be used to indicate the address type. The random part may be generated independently by each node and the hash may be calculated from the random part and the I RK. To maintain privacy, the address may need to be regularly updated, according to e.g., Action 608. This may be done by regenerating the random part of the address, and calculating a new hash based on the new random bit sequence and the same IRK. Nodes may update the private address at any time, however, the recommendation is to do this at least every 15 minutes. The address may be generated by the host, and every time the address is updated the host may inform the controller about the new address.
When sending a message over the advertising bearer the node may set the advertising address to the random, private, resolvable address. c) Mesh network identity confirmation upon reception of a message, according to Action 604.
Nodes that scan for messages may configure the resolving list of the scanner to only accept messages with an advertising address that matches one of the IRK(s) received from the provisioner. When receiving a message, the controller may check that the address is a random, private, resolvable address. In the second step, it may generate the hash based on the random part of the address and the IRK. In the third step, the hash as generated by the receiving node may be compared to the hash as set by the transmitting node, and if the two hashes are identical, the receiving node may conclude that the message belongs to its Mesh network.
If legacy advertising were to be used, the controller could now simply receive the message and forward it to higher layers. If advertising extension is employed, the node may read the pointer in the message, tune the receiver to the data channel as indicated in the message, and receive the payload over that data channel.
Alternative, second embodiment: Mesh network filtering using random, static addresses or public addresses
In alternative second embodiment, device filtering may be based on the first address, e.g., random, static addresses or public addresses. When using random, static addresses, the provisioner may derive one or several random, static addresses, as in Action 501 , and distribute these addresses to each node upon provisioning, as in Action 502. Mesh nodes, in turn, may configure their controllers to use the random, static, addresses when sending messages over the Mesh advertising bearer. This may be triggered, e.g., by Action 602. The Mesh node may also configure the filter policy of the scanner to only accept messages from advertising addresses that match any of the addresses as received from the provisioner, as in Action 604.
Filtering based on public addresses may also be possible. In such a case, Mesh nodes may set the advertising address to their public address. The filter policy of the scanner, for receiving messages over the advertising channels, may then need to include the public address of all nodes that are part of the Mesh network. Accordingly, every time a new node is provisioned, the provisioner may need to inform the other nodes in the network about the public address of the new node, e.g., according to Action 502, such that Mesh nodes may add this address into the filter policy of the scanner. Furthermore, when provisioning a new node, the provisioner may need to provide the public address of all devices in the Mesh network to the new node, according to Action 502, such that the new node may accept messages from all nodes in the Mesh network.
Update of address or key, according to Action 504, Action 505, Action 607 or Action 608 Sometimes, the keys used in a BLE Mesh network may need to be updated. This may be referred to as a key refresh procedure, and may be performed by the
provisioner. When performing a key refresh procedure, the provisioner may also update the address(es) or key(s) used for the advertising address.
Target address filtering, according to Action 606
Third embodiment: Target address filtering using random, private, resolvable addresses
In a third embodiment, to enable e.g., non-relay, nodes, that is, a particular example of the second node 112, to process only incoming messages for which the node is the final destination of the message, or for messages for which the next-hop transmission is directed to a specific node, some embodiments herein may comprise to make use of random, private, resolvable addresses, a particular example of the second address, and derive the IRK associated with each element using a one-to-one mapping between the Mesh element address and the IRK, a particular example of the second key. The principle is illustrated in Figure 7. The Mesh element address may be understood to be similar to the Mesh address or element address. It may be understood as an address at the network layer, which may be a destination or source address. The mapping between the element address, which may be 16 bits, and the second key, the IRK, which may be 128 bits, may be performed in many ways; however, the mapping may need to be injective and the mapping may need to be known by each node in the network. One way to do this for each node in the Mesh network that may need to send to this address or may want to receive message destined to this address, may be to create the second key, the IRK, by concatenating the element address with a known bit sequence of length 1 12. That is, a bit sequence of length 128 bits may be created by combining the 16 bit element address with a bit sequence of length 112. The second sequence, 112 bits, may be almost arbitrary, but the same sequence may need to be used by all nodes. The second key may be created by any node based on the mapping function described above, which may be defined in advance, or defined by the first node 1 11 and distributed to the other nodes in the wireless communications network 100.
Flooded messages may then be transmitted, according to some examples of Action
606, using the target address, according to Action 605, that may be uniquely associated with the final destination of the message. A target address may be understood as a link layer address, which may indicate a receiver/destination of a message. Non-relay nodes may configure the filter policy of the scanner, such that only messages for which the node is the final destination may be received and processed, according to some examples of Action 606.
Nodes that may send a message to a specific next-hop node, e.g., in routing Mesh networks, may use directed advertising and derive the target address based on the IRK associated with the element address of the next-hop receiver, that is, based on the second key. Scanning devices may configure the filter policy of the scanner to accept messages with a target address that matches the second key, namely, one of the IRKs associated with the elements address of this node.
Using target address filtering may be used as a possible complement to Mesh address filtering, that is, advertising address filtering, based on the advertising address.
Alternative, fourth embodiment: Target address filtering using random, static addresses
In a fourth embodiment, as an alternative to the third embodiment, the target address may be set to a random, static address. In such a case, the target address may be derived using an injective mapping from the Mesh element address to the target address.
Summarized overview of embodiments herein:
According to the foregoing, embodiments described herein introduce Mesh network filtering in the controller based on the advertising address of the received message. For messages directed to a specific Mesh node element and for non-relay nodes, embodiments herein may use filtering based on the message target address. While in existing methods, the advertising address may be typically used to recognize the identity of the device, in embodiments herein it may be used to identify the Mesh network. The target address may be used to recognize a specific element of a Mesh node. According to embodiments herein, it may be possible to identify the Mesh network at the link layer, that is, at the layer below the network layer, and discard messages that do not belong to the Mesh network already in the link layer. Messages that are discarded at link layer may never reach network layer. This may be understood to mean that messages may be filtered early, so that Mesh nodes may refrain from processing messages not belonging to their network.
For Mesh network filtering based on the advertising address, embodiments herein may make use of random, private, resolvable addresses, as the first address, and one or several IRKs, as the first key, for Mesh network identification. The IRKs may be derived by the provisioner and distributed to each node upon provisioning. Each Mesh network node may then derive an address based on one of the keys and use this address as advertising address when sending messages over the advertising bearer. Each node may further configure its scanner filter policy such that only messages with an advertising address matching any of the keys, and hence belonging to the Mesh network, may be processed and forwarded to the host. Other messages may be discarded already in the controller.
For non-relay nodes, embodiments herein may use filtering based on the target address. The target address may be set by the source node and intermediate relay nodes such that it may be associated with the destination, e.g., address, of the Mesh message. When a message may be published to a Mesh address, an IRK, that is, the second key, may be derived using some one-to-one, injective,) mapping between the Mesh address and the IRK. One way to map the Mesh address to the IRK may be to append a fixed bit pattern of length 1 12 to the 16-bit element address. A node, such as the second node 1 12, that may send a message to a Mesh address may then derive the target address based on the second key, that is, the IRK associated with that destination address. An intermediate relay node, another example of the second node 1 12, may act in the same way. Non-relay nodes, that is, destinations, which may be yet another example of the second node 1 12, may configure their controller's scanner policy such that only directed messages matching any of the IRKs associated with the addresses that the node may subscribe to are processed and forwarded to the host.
Similarly, for Mesh messages directed to a specific next-hop destination, the target address may be used for filtering. Transmitting nodes may derive an IRK, as described above, based on the next-hop address, e.g., Mesh element address, and derive the target address based on that IRK. Nodes may configure their controller's scanner policy such that only directed messages matching any of the IRKs associated with the any of the element addresses of the node may be processed and forwarded to the host.
One advantage of embodiments herein is that they enable filtering of Mesh messages early in the packet processing chain, which is generally helpful since it is a way to avoid unnecessary processing.
For Mesh networks using advertising extension, this is especially advantageous. Using the advertising address to identify the Mesh network enables Mesh network filtering in the controller already on the transmission over the primary advertising channel. Hence, the controller may then only tune the receiver to the secondary channel for messages that are part of the Mesh network. Furthermore, as Mesh network filtering is performed already in the controller, only messages that belong to the Mesh network are forwarded to the host for further processing.
In addition, using the target address to identify the final destination or the next hop destination of the message provides some further advantages. When advertising extension is used, this facilitates the controller to filter messages already based on the transmission over the primary advertising channel, and hence only tune to the secondary channel for messages where the node is the intended receiver.
The fact that the receiver tunes to the secondary channel only when required facilitates that the primary channel may be scanned during a larger fraction of the time; hence, reducing the risk of losing any messages of interest. This, in turn, improves the coexistence capabilities of the Mesh network, e.g., increasing the probability that a message is correctly delivered from source to destination, reducing the message delay, and increasing the Mesh network capacity.
To perform the method actions described above in relation to Figure 5, the first node 11 1 may comprise the following arrangement depicted in Figure 8. The first node 1 11 is configured to operate in a wireless communications network 100. It should be noted that the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example and it will be obvious to a person skilled in the art how those components may be used in the other examples. In Figure 8, optional modules are indicated with dashed boxes.
The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the first node 11 1 , and will thus not be repeated here. For example, the wireless communications network 100 is configured to be a Bluetooth Mesh network.
The first node 1 11 is configured to, e.g. by means of a generating module 801 within the first node 1 11 configured to, generate at least one of: the first address and the 5 first key. The at least one of the first address and the first key are configured to enable any node operating in the wireless communications network 100: a) to determine whether or not a message belongs to the wireless communications network 100 by inspecting the advertising address comprised in the message, the advertising address being configured to be based on the at least one of: the first address and the first key, and b) to, after the
10 primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key. The generating module 801 may be a processor 806 of the first node 11 1 , or an application running on such processor.
15 In some embodiments, to generate may further comprise to generate at least one of the second address and the second key, wherein one of the second key and the second address are configured to be mapped with injective mapping to a Mesh address.
The mapping may be the mapping function, the mapping function being configured to be defined in advance, or configured to be defined by the first node 1 11 and distributed
20 to the other nodes in the wireless communications network 100.
The first node 1 11 is further configured to, e.g. by means of the providing module 802 within the first node 1 11 configured to, provide the at least one of the first address and the first key configured to be generated to, the second node 112 in the wireless communications network 100. The providing module 802 may be the processor 806 of the
25 first node 1 11 , or an application running on such processor.
In some embodiments, to provide any of the at least one of the first address and the first key configured to be generated to the second node 1 12 may be configured to be performed during the provisioning of the second node 1 12 in the wireless communications network 100.
30 In some embodiments, the first node 11 1 may be further configured to, e.g. by
means of an indicating module 803 within the first node 1 11 configured to, indicate, to the second node 112, that it is to use the at least one of the first address and the first key configured to be provided, to process the first message to be sent or to be received in the wireless communications network 100. The indicating module 803 may be the processor The first node 1 11 may be configured to perform the indicating described in action 505, e.g. by means of the indicating module 803 within the first node 1 1 1 , further configured to perform this action. The indicating module 803 may be the processor 806 of the first node 11 1 , or an application running on such processor.
The first node 11 1 may be further configured to perform the updating described in action 504, e.g. by means of an updating module 804 within the first node 1 11. The updating module 804 may be the processor 806 of the first node 11 1 , or an application running on such processor.
Other modules 805 may be comprised in the first node 11 1.
The embodiments herein may be implemented through one or more processors, such as a processor 806 in the first node 11 1 depicted in Figure 8, together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the first node 1 11. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the first node 1 11.
The first node 1 11 may further comprise a memory 807 comprising one or more memory units. The memory 807 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the first node 11 1.
In some embodiments, the first node 1 11 may receive information from the second node 112 and/or any of the nodes in the plurality of nodes 101 , through a receiving port 808. In some embodiments, the receiving port 808 may be, for example, connected to one or more antennas in first node 1 11. In other embodiments, the first node 1 11 may receive information from another structure in the wireless communications network 100 through the receiving port 808. Since the receiving port 808 may be in communication with the processor 806, the receiving port 808 may then send the received information to the processor 806. The receiving port 808 may also be configured to receive other information.
The processor 806 in the first node 1 11 may be further configured to transmit or send information to e.g., the second node 112 and/or any of the nodes in the plurality of nodes 101 , through a sending port 809, which may be in communication with the processor 806, and the memory 807.
The first node 1 11 may comprise an interface unit to facilitate communications between the first node 11 1 and other nodes or devices, e.g., the second node 1 12 or any 5 of the other nodes in the plurality of nodes 101. In some particular examples, the
interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
Those skilled in the art will also appreciate that the generating module 801 , the providing module 802, the indicating module 803, the updating module 804, and the other
10 modules 805 described above may refer to a combination of analog and digital modules, and/or one or more processors configured with software and/or firmware, e.g., stored in memory, that, when executed by the one or more processors such as the processor 806, perform as described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuit (ASIC), or
15 several processors and various digital hardware may be distributed among several
separate components, whether individually packaged or assembled into a System-on-a- Chip (SoC).
Also, in some embodiments, the different modules 801-805 described above may be implemented as one or more applications running on one or more processors such as
20 the processor 806.
Thus, the methods according to the embodiments described herein for the first node 11 1 may be respectively implemented by means of a computer program 810 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 806, cause the at least one processor 806 to carry out the actions
25 described herein, as performed by the first node 1 11. The computer program 810 product may be stored on a computer-readable storage medium 811. The computer-readable storage medium 81 1 , having stored thereon the computer program 810, may comprise instructions which, when executed on at least one processor 806, cause the at least one processor 806 to carry out the actions described herein, as performed by the first node
30 11 1. In some embodiments, the computer-readable storage medium 81 1 may be a non- transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space. In other embodiments, the computer program 810 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium
35 81 1 , as described above. To perform the method actions described above in relation to Figure 6, the second node 112 may comprise the following arrangement depicted in Figure 9. The second node 112 is configured to operate in a wireless communications network 100. It should be noted that the examples herein are not mutually exclusive. Components from one example may be tacitly assumed to be present in another example and it will be obvious to a person skilled in the art how those components may be used in the other examples. In Figure 9, optional actions are indicated with dashed boxes.
The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the second node 1 12, and will thus not be repeated here. For example, the wireless communications network 100 is configured to be a Bluetooth Mesh network.
The second node 1 12 is further configured to, e.g. by means of an obtaining module 901 within the second node 1 12 configured to, obtain, from the first node 1 1 1 configured to operate in the wireless communications network 100, at least one of: the first address and the first key. The at least one of the first address and the first key are configured to enable any node configured to operate in the wireless communications network 100: a) to determine whether or not a message belongs to the wireless communications network 100 by inspecting the advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and b) to, after the primary advertising extension indication on the primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the message configured to be received matches the at least one of: the first address and the first key. The obtaining module 901 may be a processor 908 of the second node 1 12, or an application running on such processor.
In some embodiments, to obtain the at least one of the first address and the first key from the first node 1 11 may be configured to be performed during the provisioning of the second node 112 in the wireless communications network 100.
The second node 1 12 is configured to, e.g. by means of an initiating processing module 902 within the second node 1 12 configured to, initiate processing, by the controller of the second node 112, the first message configured to be to be received or sent, based on the at least one of: the first address and the first key configured to be obtained. The initiating processing module 902 may be the processor 908 of the second node 112, or an application running on such processor. In some embodiments, the first message is configured to be sent by the second node 112, and to initiate processing the first message comprises to send the message comprising the advertising address, and the advertising address is configured to be based on the at least one of: the first address and the first key configured to be obtained.
In some embodiments, the first message is configured to be sent by the second node 112, and to initiate processing the first message comprises to send the message comprising the advertising address, and the advertising address is configured to be based on the at least one of: the first address and the first key configured to be obtained.
In some embodiments, wherein the first message may be configured to be a received message, the second node 112 may be further configured to, e.g. by means of a detecting module 903 within the second node 1 12 configured to, detect the primary advertising extension indication on the primary advertising channel, wherein to initiate processing the first message comprises determining whether or not the received message belongs to the wireless communications network 100 based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key. The detecting module 903 may be the processor 908 of the second node 112, or an application running on such processor.
The second node 1 12 may be configured to, e.g. by means of a generating module 904 within the second node 1 12, generate the target address based on at least one of: the second key and the second address. The at least one of: the second key and the second address may be configured to be mapped with injective mapping to the Mesh address. The target address configured to be generated may be configured to enable any node operating in the wireless communications network 100 to: a) uniquely associate the first message to a particular node configured to be operating in the wireless
communications network 100 the first message is configured to be addressed to, and b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message configured to be received matches the at least one of: second address and second first key. The generating module 904 may be the processor 908 of the second node 112, or an application running on such processor.
In some embodiments, the second node 1 12 may be further configured to, e.g. by means of the initiating processing module 902 within the second node 1 12 further configured to, initiate processing, by the controller of the second node 112, the first message configured to be received or sent by the second node 1 12 based on the target address configured to be generated, by sending the first message comprising the generated target address.
In some embodiments wherein the first message is configured to be a received message, the second node 1 12 may be further configured to, e.g. by means of the initiating processing module 902 within the second node 112 further configured to, initiate processing, by the controller of the second node 112, the first message configured to be received based on the target address comprised in the first message. The target address may be configured to be based on at least one of: the second key and the second address. The at least one of: the second key and the second address may be configured to be mapped with injective mapping to the Mesh address. The target address may be configured to enable any node configured to be operating in the wireless communications network 100 to: a) uniquely associate the first message to a particular node configured to be operating in the wireless communications network 100 the first message is configured to be addressed to, and b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message configured to be received matches the at least one of: second address and second first key. To initiate processing the first message configured to be received based on the target address may comprise to determine whether or not the first message configured to be received is targeted to the second node 1 12, based on the at least one of: the second address and the second key, and to filter the first message based on the determination of whether or not the message configured to be received is targeted to the second node 1 12.
The mapping may be a mapping function. The mapping function may be configured to be defined in advance, or may be configured to be defined by the first node 1 11 and distributed to the other nodes in the wireless communications network 100.
In some embodiments, the first message may be a Mesh message, and the target address may be configured to indicate at least one of: a) the next-hop receiver of the Mesh message, and b) the final destination of the Mesh message.
The second node 112 may be further configured to e.g. by means of a receiving module 905 within the second node 112 configured to, receive the first indication from the first node 1 11 to use the at least one of the first address and the first key configured to be provided, to process the first message configured to be sent or to be received in the wireless communications network 100. The receiving module 905 may be the processor 908 of the second node 1 12, or an application running on such processor.
In some embodiments, the second node 112 may be further configured to e.g. by means of the receiving module 905 within the second node 112 configured to, receive the second indication from the first node 1 11 to update the at least one of the first address and the first key configured to be provided.
The second node 1 12 may be configured to, e.g. by means of an updating module 906 within the second node 112 configure to, update the at least one of the first address and the first key configured to be provided based on the second indication configured to be received. The updating module 906 may be the processor 908 of the second node 1 12, or an application running on such processor.
Other modules 907 may be comprised in the second node 1 12.
The embodiments herein may be implemented through one or more processors, such as a processor 908 in the second node 1 12 depicted in Figure 8, together with computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the in the second node 1 12. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the second node 1 12.
The second node 1 12 may further comprise a memory 909 comprising one or more memory units. The memory 909 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the second node 1 12.
In some embodiments, the second node 1 12 may receive information from the first node 11 1 and/or any of the nodes in the plurality of nodes 101 , through a receiving port 910. In some embodiments, the receiving port 910 may be, for example, connected to one or more antennas in second node 1 12. In other embodiments, the second node 1 12 may receive information from another structure in the wireless communications network 100 through the receiving port 910. Since the receiving port 910 may be in
communication with the processor 908, the receiving port 910 may then send the received information to the processor 908. The receiving port 910 may also be configured to receive other information. The processor 908 in the second node 1 12 may be further configured to transmit or send information to e.g., the first node 1 11 and/or any of the nodes in the plurality of nodes 101 , through a sending port 911 , which may be in communication with the processor 908, and the memory 909.
5 The second node 1 12 may comprise an interface unit to facilitate communications between the second node 1 12 and other nodes or devices, e.g., the first node 11 1 or any of the nodes in the plurality of nodes 101. In some particular examples, the interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
10 Those skilled in the art will also appreciate that the obtaining module 901 , the
initiating processing module 902, the detecting module 903, the generating module 904, the receiving module 905, the updating module 906, and the other modules 907 described above may refer to a combination of analog and digital modules, and/or one or more processors configured with software and/or firmware, e.g., stored in memory, that, when
15 executed by the one or more processors such as the processor 908, perform as described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuit (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
20 Also, in some embodiments, the different modules 901-907 described above may be implemented as one or more applications running on one or more processors such as the processor 908.
Thus, the methods according to the embodiments described herein for the second node 1 12 may be respectively implemented by means of a computer program 912
25 product, comprising instructions, i.e., software code portions, which, when executed on at least one processor 908, cause the at least one processor 908 to carry out the actions described herein, as performed by the second node 112. The computer program 912 product may be stored on a computer-readable storage medium 913. The computer- readable storage medium 913, having stored thereon the computer program 912, may
30 comprise instructions which, when executed on at least one processor 908, cause the at least one processor 908 to carry out the actions described herein, as performed by the second node 112. In some embodiments, the computer-readable storage medium 913 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, a memory stick, or stored in the cloud space. In other embodiments, the computer program
35 912 product may be stored on a carrier containing the computer program, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 913, as described above.
When using the word "comprise" or "comprising", it shall be interpreted as non- limiting, i.e. meaning "consist at least of".
Embodiments herein may relate to Bluetooth Low Energy (BLE), Mesh network, filtering, advertising, advertising extension, device address, key, and identity resolving key.
The embodiments herein are not limited to the above described preferred embodiments. Various alternatives, modifications and equivalents may be used.
Therefore, the above embodiments should not be taken as limiting the scope of the invention.
Further examples related to embodiments herein: Non-limiting particular examples related to embodiments herein are provided as follows: I) Mesh network filtering
A method in a provisioning node in a BLE Mesh network that:
a) generates a set of addresses and/or keys to use for Mesh address filtering, and b) upon provisioning of a new node, distributes the set of addresses and/or keys to the new node, and requests the new node to use these addresses and/or keys to set, generate, or verify the advertising address when transmitting and receiving messages over the Mesh advertising bearer, and
c) upon key refresh, updates the addresses and/or keys to new randomly generated addresses and or keys.
A method in a node in a BLE Mesh network that:
a) upon being provisioned, receives, and stores a set of addresses and/or keys from the provisioning node, and
b) configures the controller to use an advertising address that is based on one of these addresses or keys when sending messages over the advertising bearer, and
c) configures the controller's scanner policy to only process messages for which the advertising address matches one of the addresses and/or keys as received form the provisioner, and d) if detecting a primary advertising extension packet on any of the primary advertising channels, only tunes the receiver to the secondary advertising channel when the advertising address on the message on the primary advertising channel matches any of the addresses and/or keys received from the provisioner
II) Target address filtering
A method in a BLE Mesh network that provides a one-to-one mapping between a Mesh element address and a key.
A method in a node in a BLE Mesh network that
a) upon forwarding a message to a specific next-hop receiver, makes use of directed advertising and determines the target address based on the key associated with the element address of the next-hop node.
b) configures the controller scanner's policy, such that directed advertising messages are accepted only when the target address matches any of the keys associated with the elements of the node.
A method in a node in a BLE Mesh network that upon sending a message, as original source or acting as relay node, in the Mesh network, makes use of directed advertising and determines the target address based on the key associated with the address of the final destination of the message
A non-relay node in a BLE Mesh network that configures the controller scanner's policy such that directed advertising messages are accepted only when the target address matches any of the keys associated with the addresses to which the node subscribes.
Some numbered example embodiments
1. A first node (1 11) configured to operate in a wireless communications network (100), wherein the wireless communications network (100) is configured to be a Bluetooth Mesh network, the first node (1 11) being further configured to:
an generating module (801) configured to generate at least one of: a first address and a first key, the at least one of the first address and the first key being configured to enable any node operating in the wireless communications network (100): a) to determine whether or not a message belongs to the wireless
communications network (100) by inspecting an advertising address comprised in the message, the advertising address being configured to be based on the at least one of: the first address and the first key, and
b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key, and
a providing module (802) configured to provide the at least one of the first address and the first key configured to be generated to, a second node (112) in the wireless communications network (100). The first node (1 11) according to example embodiment 1 , further comprising: an indicating module (803) configured to indicate, to the second node (1 12), that it is to use the at least one of the first address and the first key configured to be provided, to process a first message to be sent or to be received in the wireless communications network (100).
The first node (1 11) according to any of example embodiments 1-2, wherein to provide any of the at least one of the first address and the first key configured to be generated to the second node (1 12) is configured to be performed during the provisioning of the second node (112) in the wireless communications network (100).
The first node (1 11) according to any of example embodiments 1-3, wherein to generate further comprises to generate at least one of a second address and a second key, wherein one of the second key and the second address are configured to be mapped with injective mapping to a Mesh address.
The first node (1 11) according to example embodiment 4, wherein the mapping is a mapping function, the mapping function being configured to be defined in advance, or being configured to be defined by the first node (11 1) and distributed to the other nodes in the wireless communications network (100). A second node (1 12) configured to operate in a wireless communications network (100), wherein the wireless communications network (100) is configured to be a Bluetooth Mesh network, the second node (1 12) comprising:
an obtaining module (901) configured to obtain, from a first node (1 11) configured to operate in the wireless communications network (100), at least one of: a first address and a first key, the at least one of the first address and the first key being configured to enable any node configured to operate in the wireless communications network (100):
a) to determine whether or not a message belongs to the wireless
communications network (100) by inspecting an advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and
b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the message configured to be received matches the at least one of: the first address and the first key, and
an initiating processing module (902) configured to initiate processing, by a controller of the second node (112), a first message configured to be to be received or sent, based on the at least one of: the first address and the first key configured to be obtained. The second node (1 12) according to example embodiment 6, wherein the first message is configured to be sent by the second node (1 12), and wherein to initiate processing the first message comprises to send the message comprising the advertising address, the advertising address being configured to be based on the at least one of: the first address and the first key configured to be obtained. The second node (1 12) according to example embodiment 6, wherein the first message is configured to be a received message and wherein the second node (1 12) further comprising:
a detecting module (903) configured to detect the primary advertising extension indication on the primary advertising channel, wherein to initiate processing the first message comprises determining whether or not the received message belongs to the wireless communications network (100) based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key. The second node (1 12) according to any of example embodiments 6-7, further comprising:
a generating module (904) configured to generate a target address based on at least one of: a second key and a second address, the at least one of: the second key and the second address being configured to be mapped with injective mapping to a Mesh address, the target address configured to be generated being configured to enable any node operating in the wireless communications network (100) to:
a) uniquely associate the first message to a particular node configured to be operating in the wireless communications network (100) the first message is configured to be addressed to, and
b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message configured to be received matches the at least one of: second address and second first key, and
wherein the initiating processing module (902) is further configured to initiate processing, by a controller of the second node (112), the first message configured to be received or sent by the second node (1 12) based on the target address configured to be generated, by sending the first message comprising the generated target address. . The second node (112) according to example embodiment 9, wherein the first message is configured to be a received message and wherein:
the initiating processing module (902) is further configured to initiate processing, by a controller of the second node (112), the first message configured to be received based on a target address comprised in the first message, the target address being configured to be based on at least one of: a second key and a second address, the at least one of: the second key and the second address being configured to be mapped with injective mapping to a Mesh address, the target address being configured to enable any node configured to be operating in the wireless communications network (100) to:
a) uniquely associate the first message to a particular node configured to be operating in the wireless communications network (100) the first message is configured to be addressed to, and
b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message configured to be received matches the at least one of: second address and second first key, and
wherein to initiate processing the first message configured to be received based on the target address comprises to determine whether or not the first message configured to be received is targeted to the second node (112), based on the at least one of: the second address and the second key, and to filter the first message based on the determination of whether or not the message configured to be received is targeted to the second node (1 12).
1 1. The second node (1 12) according to any of example embodiments 9-10,
wherein the mapping is a mapping function, the mapping function being configured to be defined in advance, or being configured to be defined by the first node (1 11) and distributed to the other nodes in the wireless
communications network (100).
12. The second node (1 12) according to any of example embodiments 6-1 1 ,
wherein the first message is a Mesh message, and wherein the target address i configured to indicate at least one of:
a. a next-hop receiver of the Mesh message, and
b. a final destination of the Mesh message. 13. The second node (1 12) according to any of example embodiments 6-12, further comprising:
a receiving module (905) configured to receive a first indication from the first node (1 11) to use the at least one of the first address and the first key configured to be provided, to process the first message configured to be sent or to be received in the wireless communications network (100). . The second node (112) according to any of example embodiments 6-13, wherein the second node (1 12) further comprises:
a receiving module (905) configured to receive a second indication from the first node (1 11) to update the at least one of the first address and the first key configured to be provided, and
an updating module (906) configured to update the at least one of the first address and the first key configured to be provided based on the second indication configured to be received. . The second node (1 12) according to any of example embodiments 6-14, wherein to obtain the at least one of the first address and the first key from the first node (1 11) is configured to be performed during the provisioning of the second node (1 12) in the wireless communications network (100). . A first node (1 11) operative to operate in a wireless communications network (100), wherein the wireless communications network (100) is operative to be a Bluetooth Mesh network, the first node (1 11) comprising a processor (806) and a memory (807), said memory (807) containing instructions executable by said processor (806), whereby said first node (1 11) is operative to:
generate at least one of: a first address and a first key, the at least one of the first address and the first key being operative to enable any node operating in the wireless communications network (100):
a) to determine whether or not a message belongs to the wireless
communications network (100) by inspecting an advertising address comprised in the message, the advertising address being operative to be based on the at least one of: the first address and the first key, and
b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key, and
provide the at least one of the first address and the first key operative to be generated to, a second node (1 12) in the wireless communications network (100). . The first node (1 11) according to example embodiment 16, being further operative to:
indicate, to the second node (112), that it is to use the at least one of the first address and the first key operative to be provided, to process a first message to be sent or to be received in the wireless communications network (100). . The first node (1 11) according to any of example embodiments 16-17, wherein to provide any of the at least one of the first address and the first key operative to be generated to the second node (1 12) is operative to be performed during the provisioning of the second node (1 12) in the wireless communications network (100). . The first node (1 11) according to any of example embodiments 16-18, wherein to generate further comprises to generate at least one of a second address and a second key, wherein one of the second key and the second address are operative to be mapped with injective mapping to a Mesh address. . The first node (1 11) according to example embodiment 19, wherein the mapping is a mapping function, the mapping function being operative to be defined in advance, or being operative to be defined by the first node (11 1) and distributed to the other nodes in the wireless communications network (100). . A second node (1 12) operative to operate in a wireless communications network (100), wherein the wireless communications network (100) is operative to be a Bluetooth Mesh network, the second node (1 12) comprising a processor (906) and a memory (907), said memory (907) containing instructions executable by said processor (906), whereby said second node (112) is operative to:
obtain, from a first node (1 11) operative to operate in the wireless
communications network (100), at least one of: a first address and a first key, the at least one of the first address and the first key being operative to enable any node operative to operate in the wireless communications network (100):
a) to determine whether or not a message belongs to the wireless
communications network (100) by inspecting an advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the message operative to be received matches the at least one of: the first address and the first key, and
initiate processing, by a controller of the second node (112), a first message operative to be to be received or sent, based on the at least one of: the first address and the first key operative to be obtained.
22. The second node (112) according to example embodiment 21 , wherein the first message is operative to be sent by the second node (1 12), and wherein to initiate processing the first message comprises to send the message comprising the advertising address, the advertising address being operative to be based on the at least one of: the first address and the first key operative to be obtained.
23. The second node (112) according to example embodiment 21 , wherein the first message is operative to be a received message and wherein the second node (1 12) is further operative to:
detect the primary advertising extension indication on the primary advertising channel, wherein to initiate processing the first message comprises determining whether or not the received message belongs to the wireless communications network (100) based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
24. The second node (112) according to any of example embodiments 21-23, being further operative to:
generate a target address based on at least one of: a second key and a second address, the at least one of: the second key and the second address being operative to be mapped with injective mapping to a Mesh address, the target address operative to be generated being operative to enable any node operating in the wireless communications network (100) to:
a) uniquely associate the first message to a particular node operative to be operating in the wireless communications network (100) the first message is operative to be addressed to, and b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message operative to be received matches the at least one of: second address and second first key, and
initiate processing, by a controller of the second node (1 12), the first message operative to be received or sent by the second node (1 12) based on the target address operative to be generated, by sending the first message comprising the generated target address. . The second node (112) according to example embodiment 24, wherein the first message is operative to be a received message and wherein the second node (1 12) is further operative to:
initiate processing, by a controller of the second node (112), the first message operative to be received based on a target address comprised in the first message, the target address being operative to be based on at least one of: a second key and a second address, the at least one of: the second key and the second address being operative to be mapped with injective mapping to a Mesh address, the target address being operative to enable any node operative to be operating in the wireless communications network (100) to:
a) uniquely associate the first message to a particular node operative to be operating in the wireless communications network (100) the first message is operative to be addressed to, and
b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message operative to be received matches the at least one of: second address and second first key, and
wherein to initiate processing the first message operative to be received based on the target address comprises to determine whether or not the first message operative to be received is targeted to the second node (1 12), based on the at least one of: the second address and the second key, and to filter the first message based on the determination of whether or not the message operative to be received is targeted to the second node (1 12). . The second node (112) according to any of example embodiments 24-25, wherein the mapping is a mapping function, the mapping function being operative to be defined in advance, or being operative to be defined by the first node (1 11) and distributed to the other nodes in the wireless communications network (100). . The second node (112) according to any of example embodiments 21-26, wherein the first message is a Mesh message, and wherein the target address is operative to indicate at least one of:
a. a next-hop receiver of the Mesh message, and
b. a final destination of the Mesh message. . The second node (1 12) according to any of example embodiments 21-27, being further operative to:
receive a first indication from the first node (11 1) to use the at least one of the first address and the first key operative to be provided, to process the first message operative to be sent or to be received in the wireless communications network (100). . The second node (112) according to any of example embodiments 21-28, being further operative to:
receive a second indication from the first node (1 11) to update the at least one of the first address and the first key operative to be provided, and
update the at least one of the first address and the first key operative to be provided based on the second indication operative to be received. . The second node (112) according to any of example embodiments 21-29, wherein to obtain the at least one of the first address and the first key from the first node (1 11) is operative to be performed during the provisioning of the second node (1 12) in the wireless communications network (100).

Claims

A method performed by a first node (1 11) operating in a wireless communications network (100), wherein the wireless communications network (100) is a Bluetooth Mesh network, the method comprising:
generating (501) at least one of: a first address and a first key, the at least one of the first address and the first key enabling any node operating in the wireless communications network (100):
a) to determine whether or not a message belongs to the wireless
communications network (100) by inspecting an advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and
b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key, and
providing (502) the generated at least one of the first address and the first key to a second node (1 12) in the wireless communications network (100).
2. The method according to claim 1 , further comprising:
indicating (503), to the second node (1 12), that it is to use the provided at least one of the first address and the first key to process a first message to be sent or to be received in the wireless communications network (100).
3. The method according to any of claims 1-2, wherein the providing (502) any of the generated at least one of the first address and the first key to the second node (1 12) is performed during the provisioning of the second node (1 12) in the wireless communications network (100).
4. The method according to any of claims 1-3, wherein the generating (501) further comprises generating at least one of a second address and a second key, wherein one of the second key and the second address being mapped with injective mapping to a Mesh address.
5. The method according to claim 4, wherein the mapping is a mapping function, the mapping function being defined in advance, or defined by the first node (1 11) and distributed to the other nodes in the wireless communications network (100).
6. A method performed by a second node (1 12) operating in a wireless
communications network (100), wherein the wireless communications network (100) is a Bluetooth Mesh network, the method comprising:
obtaining (601), from a first node (11 1) operating in the wireless
communications network (100), at least one of: a first address and a first key, the at least one of the first address and the first key enabling any node operating in the wireless communications network (100):
a) to determine whether or not a message belongs to the wireless
communications network (100) by inspecting an advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and
b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key, and
initiating processing (604), by a controller of the second node (112), a first message to be received or sent, based on the obtained at least one of: the first address and the first key.
7. The method according to claim 6, wherein the first message is to be sent by the second node (112), and wherein the initiating processing (604) the first message comprises sending the message comprising the advertising address, the advertising address being based on the obtained at least one of: the first address and the first key.
8. The method according to claim 6, wherein the first message is a received
message and wherein the method further comprises:
detecting (603) the primary advertising extension indication on the primary advertising channel, wherein the initiating processing (604) the first message comprises determining whether or not the received message belongs to the wireless communications network (100) based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
9. The method according to any of claims 6-8, further comprising:
generating (605) a target address based on at least one of: a second key and a second address, the at least one of: the second key and the second address being mapped with injective mapping to a Mesh address, the generated target address enabling any node operating in the wireless communications network (100) to:
a) uniquely associate the first message to a particular node operating in the wireless communications network (100) the first message is addressed to, and b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the received message matches the at least one of: second address and second first key, and
initiating processing (606), by a controller of the second node (112), the first message to be received or sent by the second node (1 12) based on the generated target address by sending the first message comprising the generated target address.
10. The method according to claim 9, wherein the first message is a received
message and wherein the method further comprises:
initiating processing (606), by a controller of the second node (1 12), the received first message based on a target address comprised in the first message, the target address being based on at least one of: a second key and a second address, the at least one of: the second key and the second address being mapped with injective mapping to a Mesh address, the target address enabling any node operating in the wireless communications network (100) to: a) uniquely associate the first message to a particular node operating in the wireless communications network (100) the first message is addressed to, and b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the received message matches the at least one of: second address and second first key, and
wherein the initiating processing (606) the received first message based on the target address comprises determining whether or not the received first message is targeted to the second node (112), based on the at least one of: the second address and the second key, and filtering the first message based on the determination of whether or not the received message is targeted to the second node (1 12).
1 1. The method according to any of claims 9-10, wherein the mapping is a mapping function, the mapping function being defined in advance, or defined by the first node (1 11) and distributed to the other nodes in the wireless communications network (100).
12. The method according to any of claims 6-1 1 , wherein the first message is
Mesh message, and wherein the target address indicates at least one of:
a. a next-hop receiver of the Mesh message, and
b. a final destination of the Mesh message.
13. The method according to any of claims 6-12, further comprising:
receiving (602) a first indication from the first node (11 1) to use the provided at least one of the first address and the first key to process the first message to be sent or to be received in the wireless communications network (100).
14. The method according to any of claims 6-13, further comprising:
receiving (607) a second indication from the first node (11 1) to update the provided at least one of the first address and the first key, and
updating (608) the provided at least one of the first address and the first key based on the received second indication.
15. The method according to any of claims 6-14, wherein the obtaining (601) the at least one of the first address and the first key from the first node (1 11) is performed during the provisioning of the second node (1 12) in the wireless communications network (100).
16. A first node (1 11) configured to operate in a wireless communications network (100), wherein the wireless communications network (100) is configured to be a Bluetooth Mesh network, the first node (1 11) being further configured to:
generate at least one of: a first address and a first key, the at least one of the first address and the first key being configured to enable any node operating in the wireless communications network (100):
a) to determine whether or not a message belongs to the wireless
communications network (100) by inspecting an advertising address comprised in the message, the advertising address being configured to be based on the at least one of: the first address and the first key, and
b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key, and
provide the at least one of the first address and the first key configured to be generated to, a second node (1 12) in the wireless communications network (100).
17. The first node (1 11) according to claim 16, being further configured to:
indicate, to the second node (112), that it is to use the at least one of the first address and the first key configured to be provided, to process a first message to be sent or to be received in the wireless communications network (100).
18. The first node (1 11) according to any of claims 16-17, wherein to provide any of the at least one of the first address and the first key configured to be generated to the second node (1 12) is configured to be performed during the provisioning of the second node (1 12) in the wireless communications network (100).
19. The first node (11 1) according to any of claims 16-18, wherein to generate
further comprises to generate at least one of a second address and a second key, wherein one of the second key and the second address are configured to be mapped with injective mapping to a Mesh address.
20. The first node (1 11) according to claim 19, wherein the mapping is a mapping function, the mapping function being configured to be defined in advance, or being configured to be defined by the first node (1 11) and distributed to the other nodes in the wireless communications network (100).
21. A second node (1 12) configured to operate in a wireless communications
network (100), wherein the wireless communications network (100) is configured to be a Bluetooth Mesh network, the second node (1 12) being further configured to:
obtain, from a first node (1 11) configured to operate in the wireless
communications network (100), at least one of: a first address and a first key, the at least one of the first address and the first key being configured to enable any node configured to operate in the wireless communications network (100):
a) to determine whether or not a message belongs to the wireless
communications network (100) by inspecting an advertising address comprised in the message, the advertising address being based on the at least one of: the first address and the first key, and
b) to, after a primary advertising extension indication on a primary advertising channel is detected, only tune to a secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the message configured to be received matches the at least one of: the first address and the first key, and
initiate processing, by a controller of the second node (112), a first message configured to be to be received or sent, based on the at least one of: the first address and the first key configured to be obtained.
22. The second node (112) according to claim 21 , wherein the first message is
configured to be sent by the second node (112), and wherein to initiate processing the first message comprises to send the message comprising the advertising address, the advertising address being configured to be based on the at least one of: the first address and the first key configured to be obtained
23. The second node (112) according to claim 21 , wherein the first message is
configured to be a received message and wherein the second node (1 12) is further configured to: detect the primary advertising extension indication on the primary advertising channel, wherein to initiate processing the first message comprises determining whether or not the received message belongs to the wireless communications network (100) based on the obtained at least one of: the first address and the first key, and only tuning to the secondary advertising channel associated with the primary advertising channel, when the advertising address comprised in the received message matches the at least one of: the first address and the first key.
24. The second node (1 12) according to any of claims 21-23, being further
configured to:
generate a target address based on at least one of: a second key and a second address, the at least one of: the second key and the second address being configured to be mapped with injective mapping to a Mesh address, the target address configured to be generated being configured to enable any node operating in the wireless communications network (100) to:
a) uniquely associate the first message to a particular node configured to be operating in the wireless communications network (100) the first message is configured to be addressed to, and
b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message configured to be received matches the at least one of: second address and second first key, and
initiate processing, by a controller of the second node (112), the first message configured to be received or sent by the second node (1 12) based on the target address configured to be generated, by sending the first message comprising the generated target address.
25. The second node (112) according to claim 24, wherein the first message is configured to be a received message and wherein the second node (1 12) is further configured to:
initiate processing, by a controller of the second node (112), the first message configured to be received based on a target address comprised in the first message, the target address being configured to be based on at least one of: a second key and a second address, the at least one of: the second key and the second address being configured to be mapped with injective mapping to a Mesh address, the target address being configured to enable any node configured to be operating in the wireless communications network (100) to:
a) uniquely associate the first message to a particular node configured to be operating in the wireless communications network (100) the first message is configured to be addressed to, and
b) after the primary advertising extension indication on the primary advertising channel is detected, only tune to the secondary advertising channel associated with the primary advertising channel, when the targeting address comprised in the message configured to be received matches the at least one of: second address and second first key, and
wherein to initiate processing the first message configured to be received based on the target address comprises to determine whether or not the first message configured to be received is targeted to the second node (112), based on the at least one of: the second address and the second key, and to filter the first message based on the determination of whether or not the message configured to be received is targeted to the second node (1 12).
26. The second node (1 12) according to any of claims 24-25, wherein the mapping is a mapping function, the mapping function being configured to be defined in advance, or being configured to be defined by the first node (11 1) and distributed to the other nodes in the wireless communications network (100).
27. The second node (1 12) according to any of claims 21-26, wherein the first
message is a Mesh message, and wherein the target address is configured to indicate at least one of:
a. a next-hop receiver of the Mesh message, and
b. a final destination of the Mesh message.
28. The second node (1 12) according to any of claims 21-27, being further
configured to:
receive a first indication from the first node (1 1 1) to use the at least one of the first address and the first key configured to be provided, to process the first message configured to be sent or to be received in the wireless communications network (100).
29. The second node (112) according to any of claims 21-28, being further configured to:
receive a second indication from the first node (1 11) to update the at least one of the first address and the first key configured to be provided, and
update the at least one of the first address and the first key configured to be provided based on the second indication configured to be received.
30. The second node (1 12) according to any of claims 21-29, wherein to obtain the at least one of the first address and the first key from the first node (1 11) is configured to be performed during the provisioning of the second node (112) in the wireless communications network (100).
PCT/SE2017/051114 2016-11-14 2017-11-08 First node, second node and methods for filtering messages in a bluetooth mesh network WO2018088952A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662421432P 2016-11-14 2016-11-14
US62/421,432 2016-11-14

Publications (1)

Publication Number Publication Date
WO2018088952A1 true WO2018088952A1 (en) 2018-05-17

Family

ID=62109998

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2017/051114 WO2018088952A1 (en) 2016-11-14 2017-11-08 First node, second node and methods for filtering messages in a bluetooth mesh network

Country Status (1)

Country Link
WO (1) WO2018088952A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019225941A1 (en) * 2018-05-21 2019-11-28 엘지전자 주식회사 Method for establishing wireless connection in wireless lan system and wireless apparatus using same
EP3621267A1 (en) * 2018-09-10 2020-03-11 Tissot S.A. Communication method
CN112423277A (en) * 2019-08-05 2021-02-26 意法半导体国际有限公司 Security certificate recovery in bluetooth mesh networks
WO2021054961A1 (en) * 2019-09-19 2021-03-25 Google Llc Network filtering with private resolvable addresses
WO2021180889A1 (en) * 2020-03-12 2021-09-16 Nordic Semiconductor Asa Digital radio communications
EP4009676A4 (en) * 2019-08-09 2022-09-21 Huawei Technologies Co., Ltd. Bluetooth device mutual identification or mutual trust method
US11546096B2 (en) 2019-06-21 2023-01-03 Carrier Corporation Method and system for data transfer in a Bluetooth low energy network
CN117062039A (en) * 2023-10-13 2023-11-14 荣耀终端有限公司 Bluetooth connection method, electronic equipment and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160088424A1 (en) * 2014-09-19 2016-03-24 Broadcom Corporation Bluetooth low energy automation mesh network
US9473941B1 (en) * 2015-06-16 2016-10-18 Nokia Technologies Oy Method, apparatus, and computer program product for creating an authenticated relationship between wireless devices
WO2016175454A1 (en) * 2015-04-30 2016-11-03 엘지전자(주) Method and device for transmitting/receiving data using bluetooth mesh network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160088424A1 (en) * 2014-09-19 2016-03-24 Broadcom Corporation Bluetooth low energy automation mesh network
WO2016175454A1 (en) * 2015-04-30 2016-11-03 엘지전자(주) Method and device for transmitting/receiving data using bluetooth mesh network
US9473941B1 (en) * 2015-06-16 2016-10-18 Nokia Technologies Oy Method, apparatus, and computer program product for creating an authenticated relationship between wireless devices

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019225941A1 (en) * 2018-05-21 2019-11-28 엘지전자 주식회사 Method for establishing wireless connection in wireless lan system and wireless apparatus using same
EP3621267A1 (en) * 2018-09-10 2020-03-11 Tissot S.A. Communication method
WO2020052980A1 (en) * 2018-09-10 2020-03-19 Tissot Sa Method for monitoring or tracking between mobile terminals
US11930353B2 (en) 2018-09-10 2024-03-12 Tissot Sa Method for monitoring or tracking between mobile devices
US11546096B2 (en) 2019-06-21 2023-01-03 Carrier Corporation Method and system for data transfer in a Bluetooth low energy network
US11716176B2 (en) 2019-06-21 2023-08-01 Carrier Corporation Method and system for broadcasting data in wireless network
CN112423277A (en) * 2019-08-05 2021-02-26 意法半导体国际有限公司 Security certificate recovery in bluetooth mesh networks
CN112423277B (en) * 2019-08-05 2024-03-26 意法半导体国际有限公司 Security certificate recovery in bluetooth mesh networks
EP4009676A4 (en) * 2019-08-09 2022-09-21 Huawei Technologies Co., Ltd. Bluetooth device mutual identification or mutual trust method
JP2022549574A (en) * 2019-09-19 2022-11-28 グーグル エルエルシー Network filtering using resolvable private addresses
CN114365453A (en) * 2019-09-19 2022-04-15 谷歌有限责任公司 Network filtering using private resolvable addresses
JP7395716B2 (en) 2019-09-19 2023-12-11 グーグル エルエルシー Network filtering using resolvable private addresses
WO2021054961A1 (en) * 2019-09-19 2021-03-25 Google Llc Network filtering with private resolvable addresses
WO2021180889A1 (en) * 2020-03-12 2021-09-16 Nordic Semiconductor Asa Digital radio communications
CN117062039A (en) * 2023-10-13 2023-11-14 荣耀终端有限公司 Bluetooth connection method, electronic equipment and computer readable storage medium
CN117062039B (en) * 2023-10-13 2024-03-08 荣耀终端有限公司 Bluetooth connection method, electronic equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
US20220369215A1 (en) Relay selection in cellular sliced networks
WO2018088952A1 (en) First node, second node and methods for filtering messages in a bluetooth mesh network
US10873896B2 (en) Minimizing link layer discovery based on advertising access technology parameters in a multimode mesh network
US9060344B2 (en) Systems, apparatus, and methods for association in multi-hop networks
US9426837B2 (en) Systems, apparatus and methods for association in multi-hop networks
EP3044981B1 (en) System and method for multihop service discovery with member station proxy service advertisements
EP2915407B1 (en) Systems, apparatus, and methods for range extension of wireless communication
JP6430252B2 (en) System and method for fast initial network link setup
JP2014534741A (en) System and method for fast initial network link setup
JP2014534739A (en) System and method for fast initial network link setup
EP3761751A1 (en) Relay selection in cellular sliced networks
US9144096B2 (en) Systems, apparatus, and methods for association in multi-hop networks
CN113597780A (en) Procedure for implementing V2x unicast communication through PC5 interface
EP3849103A1 (en) Relay selection in cellular sliced networks
US20220346162A1 (en) Sidelink-based ue relaying for efficient support of tracking applications
EP3962131A1 (en) Relay selection in cellular sliced networks
EP4030800A1 (en) Privacy of relay selection in cellular sliced networks
JP2007195125A (en) Communication apparatus and communication method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17869103

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17869103

Country of ref document: EP

Kind code of ref document: A1