Broadcast delivery technology in wireless networks
By checking broadcast data packets in a Bluetooth low-energy network and entering the broadcast delivery mode, using the timer management process, the problem of low broadcast data efficiency in the prior art is solved, and flexible and efficient data propagation is achieved.
Patent Information
- Application Number
- CN202011132860.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-21
- Filing Date
- 2020-10-21
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2040-10-21
AI Technical Summary
The techniques for broadcasting data in existing Bluetooth low-energy networks can be time- and energy-intensive and often rely on possible unimpressive routing tables, resulting in inefficient network updates.
When a node receives a broadcast data packet, it checks whether it has been received before. If it has not been received, it enters the broadcast delivery mode, switches to the scanning mode to listen to advertisements from neighboring nodes, and sends broadcast data packets when receiving advertisements, using the timer management process.
It realizes that the network can flexibly and efficiently disseminate broadcast data without the need for the latest routing table, improving the elasticity and energy efficiency of the network.
Smart Images

Figure CN112770302B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a Bluetooth network, and more particularly to a method for broadcasting data in a Bluetooth low energy network. Background Art
[0002] The Bluetooth® Low Energy (BLE) specification is a set of standards for wireless networking technology operating in the 2.4–2.4835 GHz Industrial, Scientific, and Medical (ISM) band. Compared to legacy or "Classic" Bluetooth® devices, BLE is designed to significantly reduce power consumption.
[0003] Applications for the BLE specification include healthcare, security, fitness, and home entertainment. Within these applications, devices can utilize the Bluetooth mesh profile to communicate with other BLE devices in a network. Each device in the network can transfer data between other devices in the network, forming a so-called "mesh."
[0004] According to the specification, BLE devices operate across 40 channels in the 2.4 GHz frequency band, with each channel mapped to a set of RF (Radio Frequency) channel index values 0, 1, ..., 39. Channels 0 to 36 are used to transmit data, while channels 37, 38, and 39 are used to transmit advertising (ADV) events.
[0005] As used herein, the term "node" may refer to any device that may have BLE capabilities. Such devices may include smartphones, smart plugs, light bulbs, desktop computers, home entertainment devices, or any other device that can connect to a BLE network. Nodes may also be able to communicate on other wireless networks, such as Wi-Fi (RTM) networks or cellular networks. Nodes may also be able to communicate via such networks via the Internet.
[0006] Currently, techniques for broadcasting data to nodes in a network can be time and energy intensive and may use routing tables that are not up to date, resulting in network updates being sent inefficiently. Summary of the Invention
[0007] From a first aspect, the present invention provides a method for handling broadcast data packets using a network comprising multiple nodes, the method comprising: receiving a broadcast data packet at a sending node; checking at the sending node whether a broadcast data packet has been received at the sending node at a previous time, wherein if the sending node has not previously received a broadcast data packet, the sending node enters a broadcast delivery mode, which includes: switching to a scanning mode to listen for advertisements from other nodes in the network; starting a timer; wherein upon receiving an advertisement from a neighboring node, the sending node sends an instance of the broadcast data packet to the neighboring node and resets the timer.
[0008] An advantage of the method of the first aspect is that nodes in the network can forward the broadcasted information without requiring a routing table or any other a priori information. This means that even if the routing table is not up to date or unavailable for any reason, the broadcasted data can still be sent across the network. Therefore, a network capable of broadcasting using this method can be more resilient than a network that can only broadcast using a routing table.
[0009] In some examples, the network is not limited to using only the method of the first aspect. In fact, the network may use this method as a fallback for situations where the routing table cannot be used, i.e., due to the lack of an up-to-date table. Thus, a network according to the present invention may be provided with the ability to implement the above method as one of several broadcast delivery techniques. The network may be arranged to select the best technique for a given situation, such as using the routing table for sequential unicast delivery if an up-to-date routing table is available.
[0010] From a second aspect, the present invention provides a Bluetooth Low Energy (BLE) network comprising multiple nodes and for handling broadcast data packets, the network comprising: a sending node; and one or more neighboring nodes, wherein the neighboring nodes are one-hop distance away from the sending node; wherein the sending node is configured to receive the broadcast data packet and check whether the broadcast data packet has been received at the sending node at a previous time, and wherein if the sending node has not previously received the broadcast data packet, the sending node enters a broadcast delivery mode, which broadcast delivery mode includes: switching to a scanning mode to listen for advertisements from other nodes in the network; starting a timer; wherein upon receiving an advertisement from a neighboring node, the sending node sends an instance of the broadcast data packet to the neighboring node and resets the timer.
[0011] Viewed from a third aspect, the present invention provides a computer program product comprising instructions which, when executed within a Bluetooth Low Energy network comprising a plurality of nodes, configure the network to operate according to the method of the first aspect.
[0012] The following describes optional features that may be combined with the method of the first aspect, the network of the second aspect or the computer program product of the third aspect.
[0013] BLE devices may include any device that has the ability to communicate with other devices using Bluetooth low energy transmission. Such devices may include smartphones, smart plugs, light bulbs, laptops, access control systems, and home entertainment devices. BLE devices may be members of a BLE network. A BLE network may include a head node or gateway, where the head node is capable of performing protocol conversion and passing data from the BLE network to another network to which the head node is connected. Other networks may include cellular networks, the Internet, local intranets, and cloud networks.
[0014] In a BLE network, BLE devices that are members of the network can be referred to as nodes. The network can include any number of nodes and can be distributed, with a head node connected to at least one node. Each node in the network can be connected to the head node directly or via at least one other node. In this way, the head node can communicate with all nodes in the BLE network, and vice versa.
[0015] All nodes in a network can be considered to be downstream or downlink relative to a head node, and conversely, the head node can be considered to be upstream or uplink relative to other nodes in the network. The network can be structured so that data can travel from the head node and through other intermediate nodes before reaching the destination node. Thus, an intermediate node can be upstream of some nodes and downstream of others. Nodes at the edge of the network can be referred to as end nodes. Data transmitted from a head node to an intermediate node or end node can be considered to be traveling downstream or downlink. Data transmitted from an end node or intermediate node toward the head node can be considered to be traveling upstream or uplink.
[0016] A BLE network can be configured to allow BLE devices to join and leave the network on the fly. A skilled person will readily appreciate that a BLE network can be configured to reconfigure itself to account for new devices joining the network or existing devices leaving the network. A skilled person will also readily appreciate that a BLE network can be configured to reconfigure itself to account for changes in the physical location of BLE devices in the network and / or to optimize the network for efficient data transfer between devices.
[0017] The distance of any particular node from the head node can be defined by the number of nodes that data must pass through to reach that particular node. For example, a node that communicates directly with the head node can be considered to be one "hop" away from the head node. Similarly, a first node that communicates with the head node via a second node can be considered to be two "hops" away from the head node. In this latter case, the second node can be considered to be downstream of the head node and also upstream of the first node. In this way, it is possible to define how many hops any particular node is away from the head node. The number of hops has nothing to do with the physical distance between nodes. Nodes that are one hop away from a particular node can be referred to as neighbors of that particular node.
[0018] Due to reconfiguration of the network, the hop distance of a particular node may change. Such reconfiguration may occur for many reasons, including but not limited to: optimization of the network; in response to changes in the number of nodes in the network; and physical movement of nodes in the network.
[0019] The hop distance for a particular node may be stored as identification data for that node in the node's memory. Other identification data may include a node ID (node identification) number or a node's MAC (Media Access Control) address. The node may also store identification data for other nodes in the network, such as neighboring nodes. A node ID may be a unique identifier for the node.
[0020] A path between two connected nodes can be part of a longer path from an initial sending node to a destination node, where the sending node can be considered the node from which a data packet originates. Alternatively, a sending node can be considered any node from which data is sent. A destination node can be considered the node to which a data packet is intended to arrive. Alternatively, a destination node can be any node that receives a data packet. A data packet's path can include multiple hops through multiple nodes to reach the destination node. The node(s) on the path between the sending node and the destination node can be referred to as intermediate nodes. The terms "path" and "route" are used interchangeably.
[0021] Typically, the path between a sending node and a destination node may require as few intermediate nodes as possible, and may not even require any intermediate nodes at all. From any node in the network, there may be multiple paths for sending data to reach the destination node. A node will typically select a path based on the lowest hop count, but other parameters may also be considered to determine which path to use.
[0022] Data can be broadcast from the head node to all other nodes in the network. Alternatively, the broadcast data can be broadcast only to a subset of nodes in the entire network. Furthermore, nodes within the network can be configured to broadcast data to all nodes within the network or to a subset of nodes. Such broadcasting can occur in the context of network updates or other such notifications.
[0023] To illustrate this approach, consider a scenario where the head node has a data packet pending broadcast to all nodes in the network. These pending data packets can be referred to as "broadcast packets." Broadcasts can be handled as sequential unicast delivery. This means that the sending node (in this case, the head node) establishes a separate connection with each destination node in the network, sends the same instance of the broadcast data packet to each destination node one at a time, and then disconnects from the destination node before connecting to the new node. The advantage of sequential unicast broadcast data is that multiple connections do not need to be opened and maintained to send the data, and therefore each node saves energy.
[0024] Alternatively, the data may be broadcast in a multicast manner, which means that a sending node may be connected to more than one destination node at any one time to send data to more than one destination node at a time.
[0025] A method for handling broadcast data packets using a network comprising multiple nodes, the method involving receiving a broadcast data packet at a sending node. The sending node then checks whether a broadcast data packet has been received at the sending node at a previous opportunity, wherein if the sending node has not previously received a broadcast data packet, the sending node enters a broadcast delivery mode. Broadcast delivery mode involves the sending node switching to a scanning mode to listen for advertisements from other nodes in the network and starting a timer at the sending node. In scanning mode, the sending node may scan for advertisement packets from neighbors, and upon receiving an advertisement packet from a neighboring node, the sending node may then send a connection request to the neighboring node, thereby establishing communication between the sending node and the neighboring node, which may then be referred to as a "receiving node." At this point, the receiving node may switch to a listening mode on a data channel awaiting broadcast messages, while the sending node may remain in scanning mode to receive advertisement packets from other neighboring nodes so that it can also establish connections with them. Scanning mode is a mode in which a node is able to receive advertisement packets from other nodes. After the sending node has established connections with a subset or all of its neighbors, it may then switch to and send a broadcast packet on the data channel. The timer is then reset. This method may be referred to as a "timer method".
[0026] In addition, the sending node can track the IDs of neighboring nodes to which the sending node has delivered messages. This has the added advantage of ensuring that broadcast packets are not sent multiple times to the same neighboring node. Furthermore, if the sending node receives an advertisement from a neighbor to which it has previously delivered the same broadcast packet, it can be configured to ignore the advertisement without resetting the timer.
[0027] A node receiving broadcast data can send an acknowledgment packet to the broadcasting node. The acknowledgment function provides end-to-end communication assurance between the broadcasting and receiving nodes. In active scan mode or data mode, the acknowledgment packet format complies with the BLE specification.
[0028] The length of time the timer runs may depend on a number of non-limiting parameters, such as: network density; background activity; and the transmission frequency of advertisements performed by the node (this frequency is related to the advertising interval value in BLE terminology, which is the time between two consecutive advertising events). For example, in a network consisting of 120 nodes, with an advertising interval of 1 second or 100 milliseconds, and a range of 1-hop neighbors between 9 and 22, an appropriate timer would be 2 seconds, which is a good compromise between accuracy (i.e., total nodes reached) and latency. Networks with different values of these parameters may have different timer durations.
[0029] Furthermore, a sending node may utilize a routing table to determine which nodes it is adjacent to and which paths are available to the broadcasting node, in order to most efficiently send instances of the broadcast data packet to each node in the network. The routing table contains information about the network topology. The head node may extract the unique identifiers of one or more nodes connected to the head node. In other words, the head node may extract the unique identifiers of nodes within the network that have paths to the head node. The head node may then establish a connection with one of these nodes, send an instance of the broadcast data packet to that node, and then terminate the connection with that node before establishing a connection with another adjacent node. Alternatively, the head node may connect to another adjacent node before terminating the connection with the first adjacent node. Similarly, a node that receives a broadcast data packet from the head node may check the routing table to obtain the unique node identifiers of nodes further downstream to which it is connected and to which it is sending the broadcast data packet. This process may continue until the broadcast data packet reaches a leaf node in the network, i.e., a node that has no other nodes downstream from it. This method may be referred to as the "routing table method."
[0030] The routing table method is applicable to any node in the network. That is, broadcast data does not necessarily need to be broadcast from the head node; it can be broadcast from any node in the network that has data to broadcast.
[0031] An advantage of the routing table method of broadcasting data is that the number of messages sent is minimized and redundant messages are avoided, but it requires that the paths are active and up-to-date.
[0032] If the latest routing table is available to the network, this method can be used instead of the timer method above. One advantage of the routing table method over the timer method is that fewer messages need to be sent and therefore more energy is saved at each node. Another advantage of the timer method over the routing table method is that the timer method can be implemented in the event that the latest routing table is not available to the network.
[0033] The network can be configured to use either a sequential unicast method or a multicast method for broadcasting data, and the network can be configured to switch between these two methods based on the amount of energy available at a particular node in the network. In addition, the network can be configured to switch between a timer method and a routing table method for how to propagate broadcast data through the network. The network can then select the best technique for a given situation, such as, if the latest routing table is available, but the battery level at a particular node is low, then the routing table method can be used for sequential unicast delivery. In fact, the network can use elements of any of these techniques to effectively and efficiently distribute broadcast data packets. For example, a broadcast can start from a head node using a sequential unicast method, and as the broadcast data packet is delivered throughout the network, the state in the routing table can change, causing the network to switch to a timer method to continue broadcasting the broadcast data packet. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Certain embodiments of the present disclosure will now be described, by way of example only, and with reference to the accompanying drawings, in which:
[0035] Figure 1 An exemplary BLE network is shown.
[0036] Figure 2 A pair of BLE devices is shown.
[0037] Figure 3 An example of broadcast delivery by using a timer method in an exemplary network is illustrated.
[0038] Figure 4 An example of broadcast delivery using a routing table approach in an exemplary network is illustrated.
[0039] Figure 5 A schematic diagram showing a pair of BLE devices. DETAILED DESCRIPTION
[0040] Figure 1An example BLE network 100 is shown, depicting the network 100 as a tree. A head node 102 forms the "root" of the network 100, and the devices in the BLE network form the "branches" of the network. Some BLE devices are not directly connected to the head node 102; instead, they are connected via branch nodes. This means that any transmission sent from the head node 102 may have to pass through another BLE node before the transmission reaches its destination node.
[0041] Figure 2 A first node 200 and a second node 202 are shown. The first node 200 and the second node 202 may be any two adjacent nodes in the BLE network 100. Here, the term "adjacent" means that the first node 200 and the second node 202 are configured to communicate directly with each other, rather than through an intermediate node. Each node may be able to determine its location relative to other nodes in the BLE network 100 by storing identification information about its neighbors. Neighboring nodes may be defined as those nodes that are immediately connected to a node in the network 100. The identification information may include a hop distance and a unique node ID.
[0042] The timer method for broadcasting data will now be described as acting like Figure 3 . This example network 300 includes a head node NH and multiple nodes N1-N6, where nodes N1 and N4 are one hop away from the head node NH. Nodes N2 and N5 are two hops away from the head node NH via N1 and N4, respectively, while nodes N3 and N6 are three hops away from the head node NH via N2 and N5, respectively. Furthermore, nodes N1 and N4 are one hop away from each other, as are nodes N2 and N5, and nodes N3 and N6.
[0043] The head node NH has pending data broadcast data packets to send. In the event that a downstream node receives a broadcast data packet, the node is configured to check whether it has already received an instance of the same broadcast packet at a previous opportunity. If so, the node does not take further action related to the broadcast packet. In other words, the node does not continue to send packets, or does not record data, or does not take any other action related to the previously received data.
[0044] On the other hand, if the node has not previously received broadcast data, the node is configured to enter broadcast delivery mode. At this point, it may be useful to refer to a node that has entered broadcast delivery mode as a "sending node." Broadcast delivery mode involves starting a timer at the sending node and switching to a scanning mode to listen for advertisements from other nodes in the network 300. Upon receiving an advertisement, for example, from a neighboring node of the sending node, the sending node establishes a connection with the neighboring node and sends an instance of a broadcast data packet to the neighboring node. An instance of a broadcast data packet is a copy of the original broadcast data packet generated at the sending node.
[0045] After sending the broadcast data packet, the timer is reset. While the sending node is in a broadcast delivery node and the timer is running, the sending node may receive any number of advertisements from any number of neighboring nodes, each time the sending node sends an instance of the broadcast data packet to a neighboring node to which it is connected, and then reset the timer. As previously described, the sending node may be configured to store the node IDs of the neighboring nodes to which the broadcast data packet has been sent from the sending node. If the sending node receives an advertisement packet from a neighboring node to which it has previously delivered the same broadcast packet, the sending node may ignore the advertisement packet and not reset the timer.
[0046] When the timer expires, the sending node exits broadcast delivery mode and no longer listens for advertisements from neighboring nodes.
[0047] Figure 3 The arrows in illustrate how a broadcast message may propagate through the network, with each node attempting to send a broadcast packet to each of their neighboring nodes according to the method described above.
[0048] The network 300 is configured to switch between the above-described timer method and the routing table method depending on the state of the network 300. The routing table method utilizes a routing table, and therefore, if the routing table is available and up-to-date, this method may be preferred by the network 300 for broadcasting data packets. When the routing table is not available or not up-to-date, the network 300 may use the timer method instead.
[0049] Figure 4 Shown with Figure 3FIG3 illustrates the same network 300 as in FIG3 , and illustrates how the routing table method is implemented as a broadcast from the head node NH. The head node NH extracts the unique identifiers of nodes N1 and N4 connected to the head node NH from the routing table. The head node NH then establishes a connection with one of these nodes, sends an instance of the broadcast data packet to that node, and then terminates the connection with that node before establishing a connection with another neighboring node. Alternatively, the head node may connect to another neighboring node before terminating the connection from the first of neighboring nodes N1 and N4.
[0050] Nodes N1 and N4, having received the broadcast data packet from head node NH, then check their routing tables to obtain the unique node identifiers of nodes N2 and N5, which are connected immediately downstream from nodes N1 and N4, respectively. N1 and N4 connect to their corresponding downstream nodes, N2 and N5, and send the broadcast data packet to them. This process continues until the broadcast data packet reaches a leaf node in network 300, in this case, nodes N3 and N6, nodes with no other nodes downstream from them. Consequently, nodes N3 and N6 do not broadcast the data packet because there are no nodes downstream from them.
[0051] The routing table method may be performed in addition to or as an alternative to the timer method. Network 300 is configured to switch between these two methods.
Claims
1. A method for handling broadcast data packets using a network (300) comprising a plurality of nodes (NH, N1, N2, N3, N4, N5, N6), the method comprising: receiving the broadcast data packet at a sending node; checking, at the sending node, whether the broadcast data packet has been received at the sending node at a previous opportunity, wherein if the sending node has not previously received the broadcast data packet, the sending node enters a broadcast delivery mode, the broadcast delivery mode comprising: Switching to scanning mode to listen for advertisements from other nodes in the network; Start the timer; Upon receiving an advertisement from a neighboring node, the sending node sends an instance of the broadcast data packet to the neighboring node and resets the timer. When the timer expires, the sending node exits the broadcast delivery mode.
2. The method of claim 1, further comprising transmitting the broadcast data packet from a head node.
3. The method according to claim 2, wherein: The broadcast data packets are transmitted from the head node in sequential unicast delivery.
4. The method according to claim 2, wherein: The broadcast data packets are transmitted from the head node according to a multicast delivery method.
5. The method according to any one of claims 1 to 4, wherein If a broadcast has been previously received at the sending node, the sending node ignores the broadcast data packet.
6. The method according to any one of claims 1 to 4, wherein An instance of sending the broadcast data includes generating a copy of the broadcast data packet at the sending node.
7. The method according to any one of claims 1 to 4, wherein If the sending node has not previously received the broadcast data packet, the sending node stores data from the broadcast data packet.
8. The method according to any one of claims 1 to 4, wherein The sending node may establish connections with one or more additional neighboring nodes before sending the instance of the broadcast data packet.
9. The method of claim 8, wherein: An instance of the broadcast data packet is sent approximately simultaneously to each of the neighboring nodes connected to the sending node.
10. The method according to any one of claims 1 to 4, wherein The sending node stores information about neighboring nodes, the information including instances of whether the sending node has previously sent broadcast data packets to a particular neighboring node at a previous occasion during activation of the broadcast delivery mode.
11. The method according to any one of claims 1 to 4, wherein The network is configured to switch to a routing table method comprising: extracting, at the sending node, unique identifiers of one or more nodes connected to the sending node; establishing a connection between the sending node and one of its neighboring nodes from which it has extracted a unique identifier; An instance of the broadcast data packet is sent to the neighboring node.
12. A Bluetooth Low Energy (BLE) network comprising a plurality of nodes and configured to handle broadcast data packets, the network comprising: Sending node; as well as One or more neighboring nodes, wherein the neighboring nodes are one hop away from the sending node; wherein the sending node is configured to receive the broadcast data packet and check whether the broadcast data packet has been received at the sending node at a previous opportunity, and wherein if the sending node has not previously received the broadcast data packet, the sending node enters a broadcast delivery mode, the broadcast delivery mode comprising: Switching to scanning mode to listen for advertisements from other nodes in the network; Start the timer; Upon receiving an advertisement from a neighboring node, the sending node sends an instance of the broadcast data packet to the neighboring node and resets the timer. When the timer expires, the sending node exits the broadcast delivery mode.
13. The Bluetooth Low Energy (BLE) network of claim 12, wherein: The network is configured to operate according to the method of any one of claims 1 to 11.
14. A computer program product comprising instructions which, when executed within a Bluetooth Low Energy network comprising a plurality of nodes, configure the network to operate in accordance with the method of any one of claims 1 to 11.
Citation Information
Patent Citations
Method and device for transmitting and receiving data in mesh network using bluetooth
US20170099567A1
Method and apparatus for transmitting and receiving data in mesh network using bluetooth
US20170134227A1
Device and method for establishing a bluetooth low energy mesh network
US20190288942A1
Multi-channel wireless broadcast protocol for a self-organizing network
WO2004053940A2