Bluetooth network, its communication method, device and storage medium

By dividing nodes into controllable relay and non-relay nodes in the Bluetooth Mesh network, and adjusting the status of the relay nodes according to the connectivity and status of neighbor nodes, the problem of invalid broadcast data transmission in the Bluetooth Mesh network is solved, and network throughput and connectivity are improved.

CN115086923BActive Publication Date: 2025-07-11ALIBABA INNOVATION PRIVATE LIMITED
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110272327.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-12
Publication Date
2025-07-11
Estimated Expiration
2041-03-12

AI Technical Summary

Technical Problem

There are invalid and unnecessary Bluetooth broadcast data transmission in the Bluetooth Mesh network, affecting network throughput.

Method used

The Bluetooth node is divided into a controllable relay node and a non-relay node. The controllable relay node dynamically adjusts its own state according to the connectivity and relay status of neighbor nodes, and controls the on or off of the relay function to reduce invalid broadcast data transmission.

Benefits of technology

It improves the throughput of Bluetooth network and ensures network connectivity, adapts to different network topology scenarios, and avoids too many or too few relay nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115086923B_ABST
    Figure CN115086923B_ABST
Patent Text Reader

Abstract

An embodiment of the present application provides a Bluetooth network, as well as a communication method, device, and storage medium thereof. In the embodiment of the present application, some Bluetooth nodes with forwarding functions are set as controllable relay nodes whose relay states can be autonomously controlled, and Bluetooth nodes without forwarding functions are regarded as non-relay nodes; these controllable relay nodes can forward Bluetooth broadcast data in the network when in a relayable state, which is beneficial to expanding the Bluetooth communication range; in addition, these controllable relay nodes can also flexibly adjust their own relay states according to the connectivity and relay states between their neighboring controllable relay nodes, determining whether to turn off or turn on the relay function, so that the number of relay nodes in the network in a relayable state can change dynamically and be controllable, and can adapt to the actual network topology scenario, neither too many nor too few, which can not only improve the throughput of the network, but also ensure network connectivity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technologies, and in particular, to a Bluetooth network, a communication method, a device, and a storage medium thereof. Background Art

[0002] In order to break through the limitation of the communication range of Bluetooth devices, the Bluetooth Special Interest Group (SIG) has released the Bluetooth Mesh protocol, which is a Bluetooth protocol (Profile) based on the Bluetooth Low Energy (BLE) standard. The Bluetooth Mesh protocol can implement a mesh network topology, support multi-hop connections, and expand the coverage of the Bluetooth network, which is especially suitable for communication scenarios of Internet of Things (IoT) devices such as smart homes and smart buildings.

[0003] The Bluetooth Mesh protocol is based on a broadcast flooding communication mechanism, that is, each Bluetooth node sends Bluetooth data in a broadcast manner, which is simply referred to as Bluetooth broadcast data. Other nodes will forward it once after receiving the Bluetooth broadcast data until the Bluetooth node at the destination address receives the Bluetooth broadcast data. In practical applications, there will be some invalid and unnecessary Bluetooth broadcast data sent in the Bluetooth network, which will affect the throughput of the Bluetooth Mesh network. Summary of the Invention

[0004] Multiple aspects of this application provide a Bluetooth network, a communication method, a device, and a storage medium thereof, which are used to reduce the number of invalid and unnecessary Bluetooth broadcast data in the network and improve the throughput of the network.

[0005] An embodiment of this application provides a Bluetooth network, including: a plurality of wirelessly connected Bluetooth nodes, where the plurality of Bluetooth nodes include at least two controllable relay nodes and at least one non-relay node; wherein, the at least two controllable relay nodes are configured to adjust their own relay states according to the connectivity and relay states between their neighbor controllable relay nodes, and forward Bluetooth broadcast data from the at least one non-relay node or other controllable relay nodes when in a relayable state.

[0006] An embodiment of this application also provides a communication method, which is applicable to any controllable relay node in a Bluetooth network. The method includes: the controllable relay node obtains the connectivity and relay states between its neighbor controllable relay nodes; adjusts its own relay state according to the connectivity and relay states between its neighbor controllable relay nodes; and forwards Bluetooth broadcast data from a non-relay node or other controllable relay nodes in the Bluetooth network when in a relayable state.

[0007] An embodiment of the present application further provides a node device, which can be implemented as a controllable relay node in a Bluetooth network. The node device includes: a memory, a processor, and a communication component; the memory is used to store a computer program; the processor is coupled to the memory and is used to execute the computer program to: obtain the connectivity and relay status between its neighbor controllable relay nodes; adjust its own relay status according to the connectivity and relay status between its neighbor controllable relay nodes; and forward Bluetooth broadcast data from non-relay nodes or other controllable relay nodes in the Bluetooth network when in a relayable state.

[0008] An embodiment of the present application further provides a computer-readable storage medium storing computer programs / instructions. When the computer program is executed by a processor, the processor is caused to perform the steps in the communication method provided by the embodiment of the present application.

[0009] An embodiment of the present application further provides a computer program product, including computer programs / instructions. When the computer programs / instructions are executed by a processor, the processor is caused to perform the steps in the communication method provided by the embodiment of the present application.

[0010] In the embodiment of the present application, some Bluetooth nodes with forwarding functions are set as controllable relay nodes whose relay status can be autonomously controlled, and Bluetooth nodes without forwarding functions are regarded as non-relay nodes; these controllable relay nodes can forward Bluetooth broadcast data in the network when in a relayable state, which is beneficial to expanding the Bluetooth communication range; in addition, these controllable relay nodes can also flexibly adjust their own relay status according to the connectivity and relay status between their neighbor controllable relay nodes, and decide whether to turn off or turn on the relay function, so that the number of relay nodes in the network in a relayable state can change dynamically and be controllable, and can adapt to the actual network topology scenario, neither too many nor too few, which can not only improve the network throughput but also ensure network connectivity. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:

[0012] Figure 1a is a schematic structural diagram of a Bluetooth network provided by an exemplary embodiment of the present application;

[0013] Figure 1b is a schematic structural diagram of another Bluetooth network provided by an exemplary embodiment of the present application;

[0014] Figure 1c is a schematic diagram of a Bluetooth network in a smart home scenario provided by an exemplary embodiment of the present application;

[0015] Figure 1d A schematic structural diagram of a wireless network provided for an exemplary embodiment of the present application;

[0016] Figure 2 A schematic flow diagram of a process for sending relay status messages provided for an exemplary embodiment of the present application;

[0017] Figure 3 A schematic flow diagram of a process for updating a local neighbor list according to a relay status message provided for an exemplary embodiment of the present application;

[0018] Figure 4 A schematic flow diagram of a process for detecting the effectiveness of neighbor controllable relay nodes according to a local neighbor list provided for an exemplary embodiment of the present application;

[0019] Figure 5a A schematic flow diagram of a process for a controllable relay node to adjust its own relay status provided for an exemplary embodiment of the present application;

[0020] Figure 5b A schematic process diagram of a process for periodically controlling a controllable relay node to adjust its own relay status provided for an exemplary embodiment of the present application;

[0021] Figure 6 A schematic process diagram of a process for determining whether a network has a flooding phenomenon provided for an exemplary embodiment of the present application;

[0022] Figure 7 A schematic flow diagram of a communication method provided for an exemplary embodiment of the present application;

[0023] Figure 8 A schematic structural diagram of a communication device provided for an exemplary embodiment of the present application;

[0024] Figure 9 A schematic structural diagram of a node device provided for an exemplary embodiment of the present application. Detailed implementation manners

[0025] To make the objectives, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below in conjunction with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part rather than all of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts based on the embodiments in the present application belong to the scope of protection of the present application.

[0026] In a traditional Bluetooth network, there are some adverse effects on network throughput caused by the transmission of some invalid and unnecessary Bluetooth broadcast data. To address this issue, in some embodiments of the present application, some Bluetooth nodes with forwarding functions are set as controllable relay nodes whose relay states can be autonomously controlled, and Bluetooth nodes without forwarding functions are regarded as non-relay nodes. These controllable relay nodes can forward Bluetooth broadcast data in the network when in a relayable state, which helps to expand the Bluetooth communication range. Additionally, these controllable relay nodes can also flexibly adjust their own relay states based on the connectivity and relay states among their neighboring controllable relay nodes, deciding whether to turn off or turn on the relay function, so that the number of relay nodes in a relayable state in the network can change dynamically and be controllable, adapting to the actual network topology scenario, neither too many nor too few, which can not only reduce the large-scale forwarding of invalid and unnecessary Bluetooth broadcast data in the network and improve network throughput, but also ensure network connectivity.

[0027] The following will detail the technical solutions provided by the embodiments of the present application with reference to the accompanying drawings.

[0028] Figure 1a FIG. is a schematic structural diagram of a Bluetooth network provided by an exemplary embodiment of the present application. As Figure 1a shown, the Bluetooth network 10 includes: a plurality of Bluetooth nodes 11. The Bluetooth node 11 refers to a Bluetooth device that supports the Bluetooth communication protocol, such as but not limited to: Bluetooth mobile phones, Bluetooth headsets, Bluetooth speakers, Bluetooth switches, Bluetooth TVs, Bluetooth lights, or Bluetooth bracelets, etc. There are multiple versions of the Bluetooth communication protocol, such as Bluetooth version 1.0, Bluetooth version 2.0, Bluetooth version 3.0, and Bluetooth version 4.0, etc. In this embodiment, the version of the Bluetooth communication protocol supported by the Bluetooth node 11 is not limited. The plurality of Bluetooth nodes 11 can support the same version of the Bluetooth communication protocol or different versions of the Bluetooth communication protocol.

[0029] In the Bluetooth network 10, the plurality of Bluetooth nodes 11 are wirelessly connected. In the embodiments of the present application, the network topology structure formed among the plurality of Bluetooth nodes 11 is not limited, as long as the plurality of Bluetooth nodes 11 can communicate with each other. For example, the plurality of Bluetooth nodes 11 can form various types of network topology structures such as star, tree, ring, and mesh. In an optional embodiment, as Figure 1a shown, the plurality of Bluetooth nodes 11 communicate with each other and form a Mesh network topology.

[0030] In the Bluetooth network 10, multiple Bluetooth nodes 11 include at least two controllable relay nodes 11a and at least one non-relay node 11b. There is a communication connection between at least two controllable relay nodes 11a, and the communication connection between the controllable relay nodes 11a can be a direct communication connection or an indirect communication connection. Additionally, the non-relay node 11b can be wirelessly connected to one or more controllable relay nodes 11a and communicate with the controllable relay nodes 11a to which it is connected. Here, the communication connection mainly refers to a Bluetooth connection. In Figure 1a , taking the example where each non-relay node 11b is connected to one controllable relay node 11a for illustration.

[0031] Among them, the non-relay node 11b is a Bluetooth node in the Bluetooth network 10 that does not have a forwarding function and operates in the Bluetooth broadcast mode. In the Bluetooth broadcast mode, the main function of the non-relay node 11b is to receive or send Bluetooth broadcast data within its signal coverage range. Currently, basically all versions of the Bluetooth communication protocol support the Bluetooth broadcast mode, which means that Bluetooth devices supporting any version of the Bluetooth communication protocol can be used as the non-relay node 11b in this embodiment. Thus, for those Bluetooth devices that are unable or not well-suited to support higher versions of the Bluetooth communication protocol due to limited hardware capabilities, the networking method of this embodiment can be adopted, and they can act as non-relay nodes in this embodiment and extend their communication range by means of the forwarding function of the controllable relay nodes. Of course, some Bluetooth devices with stronger hardware capabilities can also be implemented as the non-relay node 11b in this embodiment.

[0032] Among them, the controllable relay node 11a is a Bluetooth node in the Bluetooth network 10 that has a forwarding function and can forward Bluetooth broadcast data from the non-relay node 11b or other controllable relay nodes 11a, that is, it has a relay function, so it is called the controllable relay node 11a. The Bluetooth communication protocol supported by the controllable relay node 11a needs to support network interconnection and forwarding functions, such as higher versions of the Bluetooth communication protocol such as Bluetooth 4.0 and above. Optionally, the controllable relay node 11a can be some Bluetooth devices with relatively strong computing capabilities, such as Bluetooth mobile phones, Bluetooth TVs, or Bluetooth speakers.

[0033] In this embodiment, in addition to having a forwarding function, the controllable relay node 11a can also communicate with other controllable relay nodes 11a or non-relay nodes 11b. For any controllable relay node 11a, if the controllable relay node 11a or non-relay node 11b that needs to communicate is within the signal coverage of this controllable relay node 11a, it can directly communicate with the controllable relay node 11a or non-relay node 11b that needs to communicate; if the controllable relay node 11a or non-relay node 11b that needs to communicate is not within the signal coverage of this controllable relay node 11a, it can indirectly communicate with the controllable relay node 11a or non-relay node 11b that needs to communicate by means of the forwarding function of other surrounding controllable relay nodes 11a.

[0034] Similarly, the non-relay node 11b can directly communicate with other non-relay nodes 11b within its signal coverage, and can also communicate with other non-relay nodes 11b not within its signal coverage by means of the forwarding ability of the controllable relay node 11a. Of course, the non-relay node 11b can also directly communicate with the controllable relay node 11a within its signal coverage, and can also communicate with the controllable relay node 11a not within its signal coverage by means of the forwarding ability of the controllable relay node 11a.

[0035] Taking the communication between the non-relay node A and the non-relay node B or the controllable relay node C not within its signal coverage as an example, the non-relay node A and the non-relay node B or the controllable relay node C can communicate by means of the controllable relay nodes within their respective signal coverages. That is, the Bluetooth broadcast data sent by the non-relay node A will be received by the controllable relay node within its signal coverage; if the controllable relay node determines that the Bluetooth broadcast data is not for itself, it will broadcast and forward the Bluetooth broadcast data; after being forwarded by one or more controllable relay nodes, the Bluetooth broadcast data will reach the controllable relay node within the signal coverage of the non-relay node B or the controllable relay node C. If the controllable relay node determines that the Bluetooth broadcast data is not for itself, it will broadcast and forward the Bluetooth broadcast data. At this time, the non-relay node B or the controllable relay node C will receive the Bluetooth broadcast data; the non-relay node B or the controllable relay node C determines that the Bluetooth broadcast signal is for itself, receives and processes the Bluetooth broadcast data subsequently.

[0036] In the Bluetooth network of this embodiment, a Bluetooth node with a forwarding function is used as a controllable relay node, and a Bluetooth node operating in the Bluetooth broadcast mode is used as a non-relay node. With the forwarding function of the controllable relay node, the non-relay node can communicate with other non-relay nodes or controllable relay nodes that are not within its signal coverage range, which can expand the Bluetooth communication range. Moreover, as long as the non-relay node supports the Bluetooth broadcast mode, the hardware capability requirements for the non-relay node are relatively low, and it is no longer restricted by the hardware capabilities of the Bluetooth node. Additionally, when there are multiple controllable relay nodes, the non-relay nodes can be scattered and connected to different controllable relay nodes, and the burden on each controllable relay node is relatively light, which is beneficial to reducing the power consumption of each controllable relay node.

[0037] Furthermore, in this embodiment, the controllable relay node 11a can autonomously control its relay state, that is, it can autonomously decide whether it is in a relayable state or a non-relayable state. Among them, the controllable relay node 11a being in a relayable state can be understood as the controllable relay node 11a enabling the relay function. Correspondingly, the controllable relay node 11a being in a non-relayable state can be understood as the controllable relay node 11a disabling the relay function. Specifically, the controllable relay node 11a can adjust its own relay state according to the connectivity and relay state among its neighboring controllable relay nodes, that is, decide whether it is in a relayable state or a non-relayable state. Among them, the process of the controllable relay node 11a adjusting its own relay state is a dynamic adjustment process; moreover, for the controllable relay node 11a, only when it is in a relayable state can it forward the Bluetooth broadcast data from the non-relay node 11b or other controllable relay nodes 11a. If the controllable relay node 11a is in a non-relayable state, it cannot forward the Bluetooth broadcast data from the non-relay node 11b or other controllable relay nodes 11a.

[0038] In this embodiment, the controllable relay node flexibly adjusts its own relay state according to the connectivity and relay state among its neighboring controllable relay nodes, and autonomously decides whether to disable or enable the relay function, so that the number of relay nodes in a relayable state in the network can change dynamically. Moreover, the number of controllable relay nodes can also adapt to the change of the network topology and match the actual network topology scenario, neither too many nor too few, which can reduce the large amount of forwarding of invalid and unnecessary Bluetooth broadcast data in the network to a certain extent, improve the throughput of the network, and ensure network connectivity.

[0039] In various embodiments of the present application, there is no limitation on the neighbor controllable relay nodes of the controllable relay node 11a. For any controllable relay node 11a, its neighbor controllable relay nodes may refer to the controllable relay nodes among its one-hop neighbors, or may also refer to the controllable relay nodes among two-hop, three-hop, or even more-hop neighbors. In an alternative embodiment, for any controllable relay node 11a, its neighbor controllable relay nodes refer to the controllable relay nodes among its one-hop neighbors.

[0040] In the embodiments of the present application, each controllable relay node 11a can obtain the connectivity and relay status between its neighbor controllable relay nodes, and adjust its own relay status according to the connectivity and relay status between its neighbor controllable relay nodes. Specifically, when the connectivity and relay status between the neighbor controllable relay nodes meet the corresponding conditions, the controllable relay node 11a can adjust its own relay status from the relayable state to the non-relayable state, such as Figure 1a "on -> off" in Figure 1a ; correspondingly, when the connectivity and relay status between the neighbor controllable relay nodes do not meet the corresponding conditions, the controllable relay node 11a can also adjust its own relay status from the non-relayable state to the relayable state, such as

[0041] "off -> on" in

[0042] Specifically, the controllable relay node 11a can send a relay status message to its neighboring controllable relay nodes and can receive the relay status messages sent by its neighboring controllable relay nodes. Among them, the relay status message includes the relay status of the controllable relay node that sends the message itself and the information of the nodes in its neighboring controllable relay nodes that are in the relayable state. In this embodiment, the process of the controllable relay node 11a sending a relay status message to its neighboring controllable relay nodes is simply referred to as the "relay status message sending process", and the process of the controllable relay node 11a receiving the relay status messages sent by its neighboring controllable relay nodes is simply referred to as the "relay status message receiving process". For the controllable relay node 11a, the "relay status message sending process" and the "relay status message receiving process" are two independent processes, and there is no limitation on the order between them. In addition, there can be multiple ways to implement the "relay status message sending process" and the "relay status message receiving process", which are not limited in the embodiments of the present application. The following embodiments will respectively elaborate on the content related to these two processes in detail.

[0043] Relay status message sending process:

[0044] In the alternative embodiment A1, one or more trigger events for triggering the controllable relay node 11a to send a relay status message can be preset, such as an event of a change in the node's own configuration, an event of a change in the network state, an event of the node being newly powered on, an event of the node newly accessing the network, etc. The controllable relay node 11a can monitor whether these trigger events occur. When any one of these trigger events occurs, under the trigger of this trigger event, the controllable relay node 11a will send a relay status message to its neighboring controllable relay nodes to notify its neighboring controllable relay nodes of its own relay status and the information of the nodes in its neighboring controllable relay nodes that are in the relayable state.

[0045] In the alternative embodiment A2, a sending period can be preset. For the sake of distinction and description, the sending period here is denoted as the first sending period. Based on the first sending period, the controllable relay node 11a can periodically send a relay status message to its neighboring controllable relay nodes. In this embodiment, the time length of the first sending period is not limited. For example, it can be 1 second, 5 seconds, 1 minute, etc.

[0046] Further optionally, in order for the controllable relay node 11a to send a relay status message to its neighboring controllable relay nodes in a more reasonable manner, the embodiments of the present application have made at least one of the following improvements on the basis of periodically sending a relay status message. The following is combined with Figure 2 The at least one improvement will be described in detail.

[0047] Improvement A1: As Figure 2As shown, when the controllable relay node 11a is newly powered on or newly joins the network, it first delays for a first period of time, and then periodically sends relay status messages to its neighboring controllable relay nodes according to the set first transmission period. In this embodiment, the value of the first period of time is not limited. For example, it can be a fixed time value such as 1 second or 5 seconds, or it can be a random time value. Optionally, the random time value can be any time within 0 - 60 seconds. For a newly powered on or newly joined controllable relay node, by delaying for a certain time before starting to periodically send relay status messages to its neighboring controllable relay nodes, it can preferentially receive the relay status messages sent by its neighboring controllable relay nodes in the network during this delay time. If it is found that the number of neighboring controllable relay nodes in the relayable state is already large enough, for example, it is greater than the set second quantity threshold N and these neighboring controllable relay nodes in the relayable state are all reachable to each other, then it can first turn off its own relay function, and then start to periodically send relay status messages to its neighboring controllable relay nodes according to the first transmission period, which can reduce the impact on the controllable relay nodes that are already in the relayable state in the network, so that the controllable relay nodes in the network can remain in a stable state for a relatively long time.

[0048] Improvement A2: As Figure 2 shown, when starting to periodically send relay status messages to neighboring controllable relay nodes, when the first transmission period arrives for the first time, it first delays for a random time, and then sends relay status messages to neighboring controllable relay nodes. In other words, when sending the relay status message for the first time, a random time can be added on the basis of the first transmission period. In this way, when multiple controllable relay nodes are powered on or join the network simultaneously, it can avoid network congestion caused by multiple controllable relay nodes sending relay status messages outward simultaneously, and can ensure the stability of the network. In this embodiment, the value range of this random time is not limited. Optionally, the random time can be any time value within 0 - 60 seconds.

[0049] Improvement A3: As Figure 2As shown, the controllable relay node records the number of times it sends relay status messages to its neighboring controllable relay nodes; determines whether the number is less than or equal to the first number threshold; if so, periodically sends relay status messages to its neighboring controllable relay nodes according to the second sending period; if not, periodically sends relay status messages to its neighboring controllable relay nodes according to the first sending period. Among them, the second sending period is determined according to the first sending period and is less than the first sending period. In this embodiment, the relationship between the second sending period and the first sending period is not limited. For example, the second sending period can be 1 / 2, 1 / 3, 3 / 4, etc. of the first sending period. Another example is that the second sending period can also be the difference between the first sending period and the preset time step. In addition, the value of the first number threshold is not limited in this embodiment. For example, it can be 5, 10, 15 times, etc., and can be flexibly set according to the application scenario.

[0050] In this alternative embodiment, in the initial stage when the controllable relay node sends relay status messages to its neighboring controllable relay nodes, using a smaller sending period is beneficial for newly powered-on or networked controllable relay nodes to announce their own relay status to their neighboring controllable relay nodes at a faster speed, facilitating the election of controllable relay nodes in the network that are in a relayable state as soon as possible and keeping the network in a stable state; while in the later stage when the controllable relay node sends relay status messages to its neighboring controllable relay nodes, using a larger sending period can not only reduce the frequency of the controllable relay node changing its own relay status, but also reduce the resource consumption of the controllable relay node for sending relay status messages.

[0051] Improvement A4: Considering that the resource capabilities of controllable relay nodes are relatively limited and their cache resources are usually also relatively limited, the number of pieces of information of neighboring controllable relay nodes in a relayable state that each controllable relay node can cache at most can be set, which is called the maximum cacheable number threshold, such as 10. Correspondingly, the size of the relay status message can also be reasonably set according to the maximum cacheable number threshold and is reflected by the maximum number of node information that the relay status message can carry. Denote the maximum number of node information that the relay status message can carry as the first number threshold. Among them, the first number threshold corresponds to the above-mentioned maximum cacheable number threshold. Optionally, the first number threshold can be 1 / 2 of the maximum cacheable number threshold in the above text, but is not limited thereto.

[0052] Based on this, as Figure 2As shown, when a controllable relay node sends a relay status message to its neighboring controllable relay nodes, it can also determine whether the number of nodes in the neighboring controllable relay nodes that are in the relayable state is greater than a first quantity threshold. If the judgment result is greater, at least two relay status messages are used to carry the information of the nodes in the neighboring controllable relay nodes that are in the relayable state, and at least two relay status messages are sent to the neighboring controllable relay nodes. Each relay status message includes the information of a part of the nodes in the neighboring controllable relay nodes that are in the relayable state. Further optionally, if the judgment result is less than or equal to, one relay status message is used to carry the information of the nodes in the neighboring controllable relay nodes that are in the relayable state, and this relay status message is sent to the neighboring controllable relay nodes. This relay status message includes the information of all the nodes in the neighboring controllable relay nodes that are in the relayable state.

[0053] It should be noted here that the above improvements A1 - A4 can be combined and used in any way, or can be used alone. In Figure 2 it is illustrated by taking the case where improvements A1 - A4 are all combined and used as an example. Other combined usage methods of improvements A1 - A4 can be obtained by making simple improvements on Figure 2 and will not be elaborated here.

[0054] In this embodiment, the controllable relay node can use the broadcast method to send the relay status message to its neighboring controllable relay nodes, and set the Time To Live (TTL) value in the relay status message to the number of hops between it and the neighboring controllable relay nodes. According to different definitions of the neighboring controllable relay nodes of the controllable relay node, the value of the TTL will also be different. If the neighboring controllable relay node of the controllable relay node is the controllable relay node among the one - hop neighbors of this controllable relay node, the TTL value in the relay status message is 1; if the neighboring controllable relay node of the controllable relay node is the controllable relay node among the two - hop neighbors of this controllable relay node, the TTL value in the relay status message is 2.

[0055] In this embodiment, the format of the relay status message is not limited, and it can be any message format that can carry the relay status of the controllable relay node and the information of the nodes in the neighboring controllable relay nodes that are in the relayable state. In an optional embodiment of this application, a format of the relay status message is given. This relay status message includes at least the fields shown in Table 1 below. See the next page.

[0056] Relay status message receiving process:

[0057] In an alternative embodiment, the controllable relay node may locally maintain a neighbor list for storing information of neighbor controllable relay nodes in the relayable state and the reception time of relay status messages from such nodes. Further, information of target controllable relay nodes may also be stored in the local neighbor list of each controllable relay node. A target controllable relay node refers to a controllable relay node in the relayable state among the neighbor controllable relay nodes of the neighbor controllable relay nodes. Here, node information refers to information such as the IP address, MAC address, and name of the node that can uniquely identify the node. Optionally, corresponding to the "setting the maximum number of neighbor controllable relay nodes in the relayable state that each controllable relay node can cache" mentioned above, the maximum number of node information that the local neighbor list can cache is the maximum cache quantity threshold mentioned above. One implementation structure of the local neighbor list is shown in Table 2 below:

[0058] Table 1

[0059]

[0060] Table 2

[0061]

[0062] Based on the local neighbor list, during the process of receiving relay status messages sent by its neighbor controllable relay nodes, the controllable relay node may also update the local neighbor list according to the relay status of its neighbor controllable relay nodes identified from the relay status messages. Among them, the process of updating the local neighbor list mainly includes:

[0063] For the identified neighbor controllable relay node in the non-relayable state, if the local neighbor list contains information of this neighbor controllable relay node, then delete the information of this neighbor controllable relay node from the local neighbor list;

[0064] For the identified neighbor controllable relay node in the relayable state, if the local neighbor list contains information of this neighbor controllable relay node, then update the reception time corresponding to this neighbor controllable relay node in the local neighbor list;

[0065] For the identified neighbor controllable relay node in the relayable state, if the local neighbor list does not contain information of this neighbor controllable relay node, then record the information of this neighbor controllable relay node and the reception time of the relay status message from this neighbor controllable relay node into the local neighbor list.

[0066] In this embodiment, the detailed implementation manner of the above update process is not limited. An alternative embodiment manner is as Figure 3 shown, including the following operations:

[0067] For each received relay status message, determine whether the relay status of its neighbor controllable relay nodes identified from the relay status message is a relayable status. If the determination result is no, further determine whether the local neighbor list contains the information of the neighbor controllable relay node; if it contains, delete the relevant information of the neighbor controllable relay node from the local neighbor list, and decrement the number of nodes in the neighbor controllable relay node that are in a relayable status by 1. Among them, the number of nodes in the neighbor controllable relay node that are in a relayable status and needed during the process of sending the relay status message can be statistically obtained from the local neighbor list in the way described here.

[0068] If the determination result is yes, further determine whether the local neighbor list contains the information of the neighbor controllable relay node; if it contains, update the relevant information of the neighbor controllable relay node in the local neighbor list, including the reception time corresponding to the neighbor controllable relay node and the address or name of its corresponding target controllable relay node; if it does not contain, record the relevant information of the neighbor controllable relay node, including the information of the neighbor controllable relay node, the reception time of the relay status message from the neighbor controllable relay node, and the information of the corresponding target controllable relay node, into the local neighbor list, and increment the number of nodes in the neighbor controllable relay node that are in a relayable status by 1.

[0069] Further optionally, as Figure 3 shown, when the above determination result is yes, it is also possible to determine whether the received signal strength indication (RSSI) of the relay status message is greater than a set signal strength threshold; if it is greater, further determine whether the local neighbor list contains the information of the neighbor controllable relay node; if it is not greater, discard the relay status message without further processing. Through this determination operation, nodes with weak signal strength can be filtered out, ensuring the connectivity between nodes in the network.

[0070] Further optionally, as Figure 3 shown, when recording the relevant information of the neighbor controllable relay node into the local neighbor list, it is also possible to determine whether the local neighbor list is full; if it is, delete the entries in the local neighbor list that meet the deletion conditions to obtain free entries, and record the relevant information of the neighbor controllable relay node into the free entries; if not, record the relevant information of the neighbor controllable relay node into a free entry in the local neighbor list. Optionally, the deletion condition can be to preferentially delete the relevant information of the neighbor controllable relay node with the oldest reception time to obtain free entries.

[0071] Based on the local neighbor list, the controllable relay node can also perform validity detection on its neighbor controllable relay nodes. Specifically, the controllable relay node can detect the validity of its neighbor controllable relay nodes according to the reception time recorded in the local neighbor list, and delete the information of the invalid neighbor controllable relay nodes from the local neighbor list. As Figure 4 shown, an implementation manner for the controllable relay node to perform validity detection on its neighbor controllable relay nodes according to the local neighbor list is as follows: For each reception time in the local neighbor list, monitor the time interval between the reception time and the current time; determine whether the time interval is greater than or equal to the expiration time value; if so, that is, the time interval is greater than or equal to the expiration time value, determine that the neighbor controllable relay node corresponding to the reception time is an invalid neighbor controllable relay node, and delete the information of the invalid neighbor controllable relay node from the local neighbor list; if not, that is, the time interval is less than the expiration time value, then determine whether the time interval is greater than the first transmission period; if the time interval is greater than the first transmission period, it means that the neighbor controllable relay node is in an overdue state but has not failed, and a status request message is sent to the neighbor controllable relay node corresponding to the reception time for the neighbor controllable relay node to return a relay status message. For the neighbor controllable relay node, it can return a relay status message after receiving the status request message; for the controllable relay node that receives the relay status message, its processing process is the same as the processing manner in the above "relay status message reception process" and will not be elaborated here.

[0072] It should be noted here that the controllable relay node can determine the information (such as the address) of the neighbor controllable relay node that is in an overdue state but has not failed according to the information of the neighbor controllable relay node recorded in the local neighbor list. Therefore, a unicast method can be used to directly send a status request message to the neighbor controllable relay node that is overdue but has not failed, but it is not limited to this. Of course, the controllable relay node can also use a broadcast method to send a status request message to the neighbor controllable relay node that is overdue but has not failed.

[0073] Adopting the above Figures 2 - 4 shown embodiment, the controllable relay node can send a relay status message to its neighbor controllable relay nodes and can also receive the relay status messages sent by its neighbor controllable relay nodes. The following is an exemplary description of the sending and receiving processes of the relay status messages in combination with a specific controllable relay node A0 and its neighbor controllable relay nodes including A1 - A3:

[0074] For the controllable relay node A0, its neighboring controllable relay nodes include A1 - A3. Among them, the nodes in the relayable state are A1 and A2, and node A3 is in the non - relayable state. Then the controllable relay node A0 can send relay status messages to its neighboring controllable relay nodes A1 - A3 respectively. The relay status message includes information on whether A0 is in the relayable state and information on nodes A1 and A2 which are in the relayable state among the neighboring controllable relay nodes of A0. The information here can be information such as the address or name of the node that can uniquely identify the controllable relay node. Correspondingly, the neighboring controllable relay nodes A1 - A3 of the controllable relay node A0 will also send relay status messages to their respective neighboring controllable relay nodes (including the controllable relay node A0). For the controllable relay node A0, it can also receive the relay status messages sent by its neighboring controllable relay nodes A1 - A3. For ease of description, the relay status messages sent by the controllable relay nodes A0 and A1 - A3 are simply represented as A0: 1, (A1, A2); A1: 1, (A0, A2, A4); A2: 1, (A0, A3, A4); A3: 0, (A0, A5, A6); where 0 indicates that the corresponding node is in the non - relayable state, 1 indicates that the corresponding node is in the relayable state, and the content in () represents the information on the nodes in the relayable state among the neighboring controllable relay nodes of the controllable relay node that sends this message.

[0075] As can be seen from the above, for a controllable relay node, it can learn about the relay status of its neighboring controllable relay nodes and the information of the corresponding target controllable relay nodes based on the relay status messages sent by its neighboring controllable relay nodes. The target controllable relay node is the node in the neighboring controllable relay nodes of the neighboring controllable relay node that is in the relayable state. Taking the above-mentioned controllable relay node A0 as an example, the relay status messages it receives include A1: 1, (A0, A2, A4); A2: 1, (A0, A1, A3); A3: 0, (A0, A2, A5). Taking the relay status message A1: 1, (A0, A2, A4) as an example, for the controllable relay node A0, the controllable relay node A1 is its neighboring controllable relay node and is in the relayable state, while the controllable relay nodes A2 and A4 belong to the target controllable relay nodes. Similarly, taking the relay status message A3: 0, (A0, A5, A6) as an example, for the controllable relay node A0, the controllable relay node A3 is its neighboring controllable relay node and is in the non-relayable state, while the controllable relay nodes A5 and A6 belong to the target controllable relay nodes. Further, for a controllable relay node, it can also obtain the connectivity between its neighboring controllable relay nodes based on the information of the target controllable relay nodes corresponding to its neighboring controllable relay nodes. Still taking the above example as an example, it can be known that the controllable relay node A0 can compare the relay status messages sent by its neighboring controllable relay nodes A1 - A3, and thus obtain that nodes A1 and A2 are neighbors of each other, nodes A2 and A3 are neighbors of each other, and they can reach each other without the relay of node A0. However, nodes A1 and A3 are not neighbors of each other. If node A0 turns off the relay function, nodes A1 and A3 will not be able to communicate.

[0076] For a controllable relay node, after obtaining the connectivity and relay status between its neighboring controllable relay nodes, it can adjust its own relay status according to the connectivity and relay status between its neighboring controllable relay nodes. In this embodiment, the process of a controllable relay node adjusting its own relay status according to the connectivity and relay status between its neighboring controllable relay nodes is simply referred to as the "state decision process". The detailed implementation of the "state decision process" is as follows:

[0077] Status decision process:

[0078] Specifically, the controllable relay node can determine the connectivity between the neighbor controllable relay nodes in the relayable state according to the connectivity and relay state among its neighbor controllable relay nodes. Further, it determines whether the connectivity between the neighbor controllable relay nodes in the relayable state meets the set connectivity condition. If it meets the condition, when the node itself is in the relayable state, it adjusts its own relay state from the relayable state to the non-relayable state. Still taking the above example as an illustration, the controllable relay node A0 can obtain that among its neighbor controllable relay nodes A1 - A3, nodes A1 and A2 are in the relayable state, and nodes A1 and A2 are neighbors of each other and can reach each other without the relay of node A0, that is, it meets the set connectivity condition, which means that the controllable relay node A0 does not need to be in the relayable state. Therefore, the controllable relay node A0 adjusts its own relay state from the relayable state to the non-relayable state.

[0079] Further optionally, when the controllable relay node determines that the connectivity between the neighbor controllable relay nodes in the relayable state meets the set connectivity condition, if the controllable relay node is in the non-relayable state, it can remain unchanged and continue to maintain the non-relayable state.

[0080] Further optionally, when the controllable relay node determines that the connectivity between the neighbor controllable relay nodes in the relayable state does not meet the set connectivity condition, if the controllable relay node is in the relayable state at this time, it remains unchanged and continues to maintain the relayable state; if the controllable relay node is in the non-relayable state at this time, it adjusts its own relay state from the non-relayable state to the relayable state.

[0081] In specific implementation, the controllable relay node has the switch control right of the relay function. It can make itself in the non-relayable state by turning off the relay function and make itself in the relayable state by turning on the relay function.

[0082] In the embodiments of the present application, the above connectivity condition is not limited. In an optional embodiment, the connectivity condition is defined as that two controllable relay nodes in the relayable state are reachable within one hop from each other. Based on this, the controllable relay node can determine whether the neighbor controllable relay nodes in the relayable state are reachable within one hop from each other; if so, it determines that the connectivity between the neighbor controllable relay nodes in the relayable state meets the set connectivity condition; otherwise, it determines that the connectivity between the neighbor controllable relay nodes in the relayable state does not meet the set connectivity condition. Of course, in other optional embodiments, the connectivity condition can also be defined as that two controllable relay nodes in the relayable state are reachable within two hops or three hops from each other.

[0083] In an alternative embodiment, during the process of determining whether to adjust its relay state, in addition to relying on the connectivity among the neighbor controllable relay nodes in the relayable state, the controllable relay node may also consider the number of neighbor controllable relay nodes in the relayable state. Only when both conditions are met can the controllable relay node adjust its relay state. Specifically, as Figure 5a shown, an implementation method for adjusting its own relay state includes: The controllable relay node can determine the connectivity among the neighbor controllable relay nodes in the relayable state and the number of neighbor controllable relay nodes in the relayable state according to the connectivity and relay state of its neighbor controllable relay nodes; then, determine whether the connectivity among the neighbor controllable relay nodes in the relayable state meets the set connectivity condition, and determine whether the number of neighbor controllable relay nodes in the relayable state is greater than the second quantity threshold; if the results of both determination operations are yes, then determine whether it is in the relayable state itself; if so, that is, it is in the relayable state itself, then adjust its own relay state from the relayable state to the non-relayable state; if not, that is, it is in the non-relayable state, keep the non-relayable state unchanged. In this embodiment, the value of the second quantity threshold is not limited, for example, it can be 5, 8, 10, or 15, etc., which can be determined according to the specific application.

[0084] In addition, in this embodiment, the execution order of the two determination operations is not limited. The determination operation for connectivity can be executed first, the determination operation for the number of nodes can be executed first, or the two determination operations can be executed in parallel. In Figure 5a it, taking the example of executing the determination operation for connectivity first and then the determination operation for the number of nodes for illustration. Further, as Figure 5a shown, in the case where the determination result of any determination operation is no, determine whether it is in the relayable state itself; if so, that is, it is in the relayable state itself, then keep the relayable state unchanged; if not, that is, it is in the non-relayable state, adjust its own relay state from the non-relayable state to the relayable state.

[0085] In the above embodiments of the present application, the execution time of the above "state decision process" is not limited, and the execution time of the above "state decision process" is referred to as the decision switch process. The following is an exemplary description of the implementation method of the "decision switch process":

[0086] Decision switch process:

[0087] In alternative embodiment B1, one or more trigger events for triggering the controllable relay node to execute the "status decision process" can be preset. For example, but not limited to: an event that a new node joins the network or powers on, or an event that the node itself powers on again. The controllable relay node 11a can monitor whether these trigger events occur. When any one of these trigger events occurs, under the trigger of this trigger event, the controllable relay node 11a will execute the above-mentioned "status decision process", that is, it will adjust its own relay status according to the connectivity and relay status among its neighboring controllable relay nodes.

[0088] In alternative embodiment B2, a first adjustment period can be set. The value of the first adjustment period can be determined according to specific applications. For example, it can be 30 seconds, 60 seconds, 70 seconds, 100 seconds, etc. Based on this, the controllable relay node 11a can periodically execute the status decision process. In other words, the controllable relay node 11a can periodically execute the operation of adjusting its own relay status according to the connectivity and relay status among its neighboring controllable relay nodes. During the execution of this operation, if the connectivity among the nodes in the relayable state among its neighboring controllable relay nodes meets the connectivity condition, and / or, the number of nodes in the relayable state among its neighboring controllable relay nodes is greater than the second quantity threshold, then when the controllable relay node 11a is in the relayable state, its own relay status can be adjusted from the relayable state to the non-relayable state; and when the controllable relay node 11a is in the non-relayable state, it remains in the non-relayable state without adjustment; on the contrary, if the connectivity among the nodes in the relayable state among its neighboring controllable relay nodes does not meet the connectivity condition, and / or, the number of nodes in the relayable state among its neighboring controllable relay nodes is less than or equal to the second quantity threshold, then when the controllable relay node 11a is in the non-relayable state, its own relay status can be adjusted from the non-relayable state to the relayable state; and when the controllable relay node 11a is in the relayable state, it remains in the relayable state without adjustment.

[0089] Further optionally, in order to facilitate the controllable relay node 11a to execute the status decision process in a more reasonable manner, the embodiments of the present application have made at least one of the following improvements on the basis of periodically executing the status decision process. The following combines Figure 5b to elaborate on the at least one improvement in detail.

[0090] Improvement B1: As Figure 5bAs shown in the figure, an implementation of the controllable relay node 11a periodically performing the state decision process includes: when the first adjustment period arrives for the first time, after delaying for a random time, perform the operation of adjusting its own relay state according to the connectivity and relay state among its neighboring controllable relay nodes. The present embodiment does not limit the value range of the random time. Optionally, it can be any time value within 0 - 60 seconds. In the present embodiment, by increasing the random time, the situation where multiple controllable relay nodes simultaneously perform state decision can be avoided, and the unstable state where the controllable relay node continuously adjusts between the relayable state and the non-relayable state can also be avoided.

[0091] Improvement B2: As Figure 5b As shown in the figure, the controllable relay node 11a periodically performing the state decision process further includes: counting the number of executions of adjusting its own relay state according to the connectivity and relay state among its neighboring controllable relay nodes; determining whether the number of executions is less than or equal to a second number threshold; if so, that is, the number of executions is less than or equal to the second number threshold, then according to the second adjustment period, periodically perform the operation of adjusting its own relay state according to the connectivity and relay state among its neighboring controllable relay nodes; if not, that is, the number of executions is greater than the second number threshold, then according to the first adjustment period, periodically perform the operation of adjusting its own relay state according to the connectivity and relay state among its neighboring controllable relay nodes; where the second adjustment period is less than the first adjustment period. In the present embodiment, the specific value of the second number threshold is not limited. For example, it can be but not limited to: 3, 5, 10, etc. Similarly, the specific value of the second adjustment period in the present embodiment is not limited either, as long as it is less than the first adjustment period. For example, the second adjustment period can be 1 / 2, 1 / 3, or 3 / 4 of the first adjustment period, etc. In the present embodiment, at the initial stage when the controllable relay node starts to perform state decision, using a smaller adjustment period is beneficial for enabling the newly powered-on or networked controllable relay node to adjust its relay state to a state adapted to the actual network topology scenario at a faster speed, facilitating the election of controllable relay nodes in the relayable state in the network as soon as possible, and keeping the network in a stable state; while at the later stage when performing state decision, using a larger adjustment period can not only avoid the controllable relay node continuously adjusting its relay state, but also reduce the consumption of resources for the controllable relay node to perform state decision.

[0092] Improvement B3: During the process of periodically adjusting its own relay state, the relay state of the controllable relay node may change or remain unchanged; in order to avoid the frequent change of the relay state of the controllable relay node, in an optional embodiment, a adjustment protection period is set for each change of the relay state, that is, when the relay state changes, start timing for this adjustment protection period, and the relay state needs to remain unchanged within this adjustment protection period. Based on this, as Figure 5bAs shown, the process in which the controllable relay node 11a periodically performs the status decision further includes: when the first or second adjustment period arrives, determining whether the time interval from the current time to the time when its own relay status last changed is greater than the set adjustment protection period; if so, performing the operation of adjusting its own relay status according to the connectivity and relay status among its neighbor controllable relay nodes; if not, skipping the operation of adjusting its own relay status this time. Among them, the time length of the adjustment protection period is greater than the first adjustment period. In this embodiment, the time length of the adjustment protection period is not limited and can be flexibly determined according to the application. For example, it can be 100 seconds, 110 seconds, 120 seconds, etc.

[0093] In the embodiments of the present application, in addition to adjusting its own relay status according to the connectivity and relay status among neighbor controllable relay nodes, the controllable relay node can also adjust its own relay status and parameters related to its own relay status, such as the second data threshold, according to the network status of the Bluetooth network. Among them, the occurrence of network flooding mainly refers to the phenomenon that there is too much Bluetooth broadcast data in the network, which is forwarded in large quantities, resulting in a serious decline in network throughput and other performances, and even paralysis. The flooding phenomenon is a relatively common network abnormal state that the Bluetooth network needs to avoid as much as possible. Therefore, in the following embodiments of the present application, corresponding solutions are provided for the flooding phenomenon based on the controllable relay node. For detailed content, please refer to the following embodiments.

[0094] Flood protection process:

[0095] In the embodiments of the present application, the controllable relay node can also monitor whether a flooding phenomenon occurs in the Bluetooth network; in the case of detecting a flooding phenomenon in the Bluetooth network, when it is in the relayable state, it adjusts its own relay status from the relayable state to the non-relayable state. In this way, most controllable relay nodes in the network will turn off the relay function and be in the non-relayable state, so that the flooding phenomenon can be eliminated as soon as possible and the network can enter a stable state as soon as possible; subsequently, each controllable relay node can re-determine whether to re-enter the relayable state according to the relay status of its neighbor controllable relay nodes and the connectivity between them.

[0096] Among them, it is possible to determine whether a flooding phenomenon occurs in the network according to the quantity range of the Bluetooth broadcast data forwarded in the Bluetooth network. In an alternative embodiment, the controllable relay node can locally set a buffer space for caching the forwarded Bluetooth broadcast data; after receiving a Bluetooth broadcast data, when the controllable relay node determines that it is not the destination receiver of the Bluetooth broadcast data, it needs to forward the Bluetooth broadcast data. Before forwarding the Bluetooth broadcast data, it can be determined whether the Bluetooth broadcast data already exists in the local buffer space; if so, it means that the Bluetooth broadcast data has been forwarded and can be discarded without further forwarding; if not, it means that the Bluetooth broadcast data has not been forwarded yet, so the Bluetooth broadcast data is saved to the local buffer space and then forwarded. Among them, the storage capacity of the local buffer space is adapted to the normal network state. If a flooding phenomenon occurs in the network, the controllable relay node will receive a large amount of Bluetooth broadcast data, which will cause the local buffer space to overflow; for the buffer overflow situation, the controllable relay node can take some measures, such as clearing the buffer space, or clearing the relatively older data in the buffer space to solve the buffer overflow situation. However, in the case of a flooding phenomenon in the network, the buffer overflow phenomenon may occur frequently. Based on this, the controllable relay node can monitor the frequency of buffer overflow of the local buffer space for caching the forwarded Bluetooth broadcast data; when the frequency meets the set frequency condition, it is determined that a flooding phenomenon occurs in the Bluetooth network. A specific implementation manner for determining whether a flooding phenomenon occurs in the network is as Figure 6 shown, including:

[0097] The controllable relay node monitors whether buffer overflow (out of relay buffer) occurs in the local buffer space; if so, records the number of consecutive buffer overflows in the local buffer space; determines whether the number of consecutive buffer overflows reaches a set third number threshold, such as 3 times; if it reaches, determines whether the time interval between two adjacent buffer overflow phenomena is less than a set interval threshold, such as 3 seconds; if so, determines that a flooding phenomenon occurs in the Bluetooth network, sets a flooding flag, and increments the flooding count by 1. Otherwise, determines that no flooding phenomenon occurs in the Bluetooth network and does not perform any processing.

[0098] Further optionally, the controllable relay node 11a of this embodiment can adjust the second quantity threshold according to the network state. For example, when the network state is relatively stable and the quantity of Bluetooth broadcast data in the network is relatively reasonable, it indicates that the second quantity threshold is relatively reasonable, and the quantity of controllable relay nodes in the network in the relayable state is appropriate, so the second quantity threshold can remain unchanged. On the contrary, when the network state is relatively poor and the quantity of Bluetooth broadcast data in the network is large, such as when a flooding phenomenon occurs, it indicates that the quantity of controllable relay nodes in the network in the relayable state is large, then the second quantity threshold can be reduced. By reducing the second quantity threshold, some controllable relay nodes in the relayable state will be prompted to enter the non-relayable state, reducing the quantity of controllable relay nodes in the network in the relayable state and prompting the network to gradually enter a stable state. Based on this, the controllable relay node can also reduce the second quantity threshold when detecting a flooding phenomenon in the Bluetooth network. Further, to ensure the connectivity between controllable relay nodes in the Bluetooth network, a certain quantity of controllable relay nodes in the relayable state is required in the network, so a minimum quantity threshold can be set, and the second quantity threshold can be reduced but cannot be less than the minimum quantity threshold.

[0099] Further, in an optional embodiment of the present application, as Figure 1b shown, the Bluetooth network 10 further includes: a management and control node 12, which can be any device with a certain processing capacity, such as a smart phone, a personal computer, a wearable device, or a terminal device such as a gateway device in the Bluetooth network, or a server device such as a conventional server, a cloud server, a server array, etc. In this embodiment, the management and control node 12 is at least used to perform configuration and management operations on the controllable relay node 11a in the Bluetooth network 10.

[0100] Specifically, the management and control node 12 can send a relay parameter configuration message to the controllable relay node, and issue parameters related to the relay function to the controllable relay node through the relay parameter configuration message; among them, the parameters related to the relay function include but are not limited to: the above-mentioned first transmission period, second transmission period, relay function switch control parameter, second quantity threshold, signal strength (RSSI) threshold, first adjustment period, second adjustment period, adjustment protection period, expiration time value, etc. For the controllable relay node 11a, it can also receive the relay parameter configuration message issued by the management and control node 12, parse the parameters related to the relay function from the relay parameter configuration message, and locally configure the parameters related to the relay function issued by the management and control node 12.

[0101] Further optionally, in practical applications, the controllable relay node 11a may adjust some parameters according to the actual situation, which means that the parameters related to the relay function may change. Based on this, the management and control node 12 may also send a relay parameter request message to the controllable relay node 11a according to the requirement. This request message is used to request the controllable relay node 11a to report the parameters related to the relay function currently used by it. Correspondingly, the controllable relay node 11a may also receive the relay parameter request message sent by the management and control node 12, and return a relay parameter response message to the management and control node 12 according to the relay parameter request message. The relay parameter response message includes the parameters related to the relay function currently used.

[0102] In an alternative embodiment, the relay parameter request message may default to require the controllable relay node 11a to return all the parameters related to the relay function currently used. In another alternative embodiment, the management and control node 12 may carry a parameter identifier in the relay parameter request message. The parameter identifier may be the name, ID, number, etc. of the parameter, and is used to represent a certain parameter related to the relay function. Based on this, the management and control node 12 may require the controllable relay node 11a to return some parameters related to the relay function according to the requirement. For the controllable relay node 11a, it may receive the relay parameter request message sent by the management and control node 12, parse the parameter identifier from the message, and carry the corresponding partial parameters related to the relay function in the relay parameter response message and return them to the management and control node 12.

[0103] In this embodiment, the format of the relay parameter configuration message is not limited, and it may be any message format that can carry the parameters related to the relay function. In an alternative embodiment of the present application, a format of the relay parameter configuration message is given. The relay parameter configuration message at least includes the fields shown in Table 3 below:

[0104] Table 3

[0105]

[0106] In some embodiments of the present application, such as Figure 1bAs shown, in the Bluetooth network 10, in addition to the controllable relay nodes 11a and non-relay nodes 11b, the multiple Bluetooth nodes 11 also include at least one traditional relay node 11c. Herein, the traditional relay node 11c is relative to the controllable relay node 11a, and the relay state of the traditional relay node 11c cannot be adjusted autonomously, that is, it can only be in the relayable state and can forward Bluetooth broadcast data from the non-relay node 11b and / or the controllable relay node 11a. In this embodiment, the interconnection relationship between the controllable relay node 11a, the non-relay node 11b, and the traditional relay node 11c is not limited, and various types of network topologies such as star, tree, ring, and mesh can be formed between the controllable relay node 11a, the non-relay node 11b, and the traditional relay node 11c. In an alternative embodiment, as Figure 1b shown, the controllable relay node 11a, the non-relay node 11b, and the traditional relay node 11c are communicatively connected to each other to form a Bluetooth Mesh network topology.

[0107] It should be noted here that the Bluetooth network provided by the embodiments of the present application can be applied to Internet of Things communication scenarios such as smart home, smart building, and shopping mall, and can also be applied to vehicle-mounted scenarios, or can also be applied to scenarios combining vehicle-mounted scenarios and smart home, etc. As Figure 1c shown, taking the smart home scenario as an example, smart speakers, televisions, smartphones, and laptops that support the Bluetooth Mesh protocol in the home environment serve as the controllable relay nodes 11a, and other devices with Bluetooth broadcast functions such as Bluetooth switches, Bluetooth wall lights, Bluetooth lights, Bluetooth alarms, Bluetooth sockets, Bluetooth alarms, and Bluetooth refrigerators in the home environment serve as the non-relay nodes 11b. The router in the home environment serves as a boundary routing node to establish a communication connection with the cloud server, and the cloud server can be implemented as the management and control node 12. Among them, Bluetooth switches, Bluetooth electric lights, Bluetooth air conditioners, or Bluetooth refrigerators in the smart home scenario can become Bluetooth nodes in the Bluetooth network after sending an access request and successfully completing the network configuration operation. Among them, the user can send a control instruction to the Bluetooth speaker by voice, and the control instruction contains information about the control object and the control command at the same time. For example, the user can send a voice signal of "please turn on the Bluetooth light" to the Bluetooth speaker. After receiving the voice signal, the Bluetooth speaker can parse out that the control object is the Bluetooth light and the control command is to turn on, and then can send a Bluetooth signal for controlling the Bluetooth light to turn on in a broadcast manner. The television is a one-hop neighbor of the Bluetooth speaker and is in the relayable state. After receiving the Bluetooth signal sent by the Bluetooth speaker, it broadcasts the Bluetooth signal. The Bluetooth light is a one-hop neighbor of the television and can receive the Bluetooth signal forwarded by the television and execute the operation of turning on the light according to the Bluetooth signal.

[0108] It should be noted that the solution of the controllable relay node provided in the embodiments of the present application is not only applicable to Bluetooth networks, but can also be applied to wireless networks using other communication protocols. In view of this, the embodiments of the present application also provide a wireless network, which can adopt any one of communication protocols such as infrared, UWB, NFC, and WiFi. As Figure 1d shown, the wireless network includes: a plurality of network nodes 15 that are wirelessly connected, and these network nodes 15 can be wirelessly connected through infrared, UWB, NFC, or WiFi. In this embodiment, the plurality of network nodes 15 includes at least two controllable relay nodes 15a and at least one non-relay node 15b.

[0109] Among them, the non-relay node 15b is a network node in the wireless network that does not have a forwarding function, and it operates in a broadcast mode. In the broadcast mode, the main function of the non-relay node 15b is to receive or send broadcast data within its signal coverage area.

[0110] Among them, the controllable relay node 15a is a network node in the wireless network that has a forwarding function and can forward broadcast data from the non-relay node 15b or other controllable relay nodes 15a, that is, it has a relay function.

[0111] Furthermore, in this embodiment, the controllable relay node 15a can autonomously control its relay state, that is, it can autonomously decide whether it is in a relayable state or a non-relayable state. Among them, the controllable relay node 15a being in a relayable state can be understood as the controllable relay node 15a turning on the relay function. Correspondingly, the controllable relay node 15a being in a non-relayable state can be understood as the controllable relay node 15a turning off the relay function. Specifically, the controllable relay node 15a can adjust its own relay state according to the connectivity and relay state between its neighboring controllable relay nodes, that is, decide whether it is in a relayable state or a non-relayable state; moreover, for the controllable relay node 15a, only when it is in a relayable state can it forward broadcast data from the non-relay node 15b or other controllable relay nodes 15a. If the controllable relay node 15a is in a non-relayable state, it cannot forward broadcast data from the non-relay node 15b or other controllable relay nodes 15a.

[0112] The detailed working principle of the controllable relay node 15a is the same as or similar to that of the controllable relay node 11a in the foregoing embodiment, which can be referred to the foregoing embodiment and will not be elaborated here.

[0113] Figure 7 It is a schematic flowchart of a communication method provided for an exemplary embodiment of the present application. This method is applicable to the controllable relay node in the above Bluetooth network, as Figure 7 shown, this method includes:

[0114] 701. The controllable relay node obtains the connectivity and relay status among its neighboring controllable relay nodes;

[0115] 702. Adjust its own relay status according to the connectivity and relay status among its neighboring controllable relay nodes;

[0116] 703. In the case of being in a relayable state, forward the Bluetooth broadcast data from non-relay nodes or other controllable relay nodes in the Bluetooth network. In an optional embodiment, the controllable relay node obtains the connectivity and relay status among its neighboring controllable relay nodes, including: receiving the relay status messages sent by its neighboring controllable relay nodes, where the relay status messages include the relay status of the neighboring controllable relay nodes and the information of the corresponding target controllable relay nodes; obtaining the connectivity among the neighboring controllable relay nodes according to the information of the target controllable relay nodes corresponding to the neighboring controllable relay nodes; where the target controllable relay node is a node in the neighboring controllable relay nodes of the neighboring controllable relay nodes that is in a relayable state.

[0117] In an optional embodiment, the method further includes: the controllable relay node updates the local neighbor list according to the relay status of its neighboring controllable relay nodes; the local neighbor list is used to store the information of the neighboring controllable relay nodes that are in a relayable state and the reception time of the relay status messages from these nodes.

[0118] Further optionally, the controllable relay node updates the local neighbor list according to the relay status of its neighboring controllable relay nodes, including:

[0119] For the identified neighboring controllable relay nodes that are in a non-relayable state, if the local neighbor list contains the information of these neighboring controllable relay nodes, then delete the information of these neighboring controllable relay nodes from the local neighbor list;

[0120] For the identified neighboring controllable relay nodes that are in a relayable state, if the local neighbor list contains the information of these neighboring controllable relay nodes, then update the reception time corresponding to these neighboring controllable relay nodes in the local neighbor list;

[0121] For the identified neighboring controllable relay nodes that are in a relayable state, if the local neighbor list does not contain the information of these neighboring controllable relay nodes, then record the information of these neighboring controllable relay nodes and the reception time of the relay status messages from these neighboring controllable relay nodes into the local neighbor list.

[0122] In an optional embodiment, the method further includes: the controllable relay node detects the validity of its neighboring controllable relay nodes according to the reception time recorded in the local neighbor list, and deletes the information of the invalid neighboring controllable relay nodes from the local neighbor list.

[0123] Further optionally, according to the reception time recorded in the local neighbor list, the validity of its neighbor controllable relay nodes is detected, including: monitoring the time interval between the reception time in the local neighbor list and the current time; if the time interval is less than the expiration time value but greater than the first transmission period, a status request message is sent to the neighbor controllable relay node corresponding to the reception time for the neighbor controllable relay node to return a relay status message; if the time interval is greater than the expiration time value, the neighbor controllable relay node corresponding to the reception time is regarded as a failed neighbor controllable relay node; the first transmission period is the period for each controllable relay node to send a relay status message.

[0124] In an optional embodiment, the method further includes: a controllable relay node sends a relay status message to its neighbor controllable relay nodes, and the relay status message includes the relay status of the controllable relay node itself and information about the nodes in its neighbor controllable relay nodes that are in the relayable state.

[0125] Further optionally, a controllable relay node sends a relay status message to its neighbor controllable relay nodes, including: in the case of newly powered on or newly networked, after a first delay time, according to the set first transmission period, periodically send a relay status message to its neighbor controllable relay nodes.

[0126] Further optionally, the above-mentioned periodically sending a relay status message to its neighbor controllable relay nodes according to the set first transmission period includes: when the first transmission period arrives for the first time, after a random delay time, send a relay status message to its neighbor controllable relay nodes.

[0127] Further optionally, the above-mentioned periodically sending a relay status message to its neighbor controllable relay nodes according to the set first transmission period further includes: recording the number of times of sending a relay status message to its neighbor controllable relay nodes; when the number is less than or equal to the first number threshold, according to the second transmission period, periodically send a relay status message to its neighbor controllable relay nodes; when the number is greater than the first number threshold, according to the first transmission period, periodically send a relay status message to its neighbor controllable relay nodes; wherein, the second transmission period is determined according to the first transmission period and is less than the first transmission period.

[0128] Further optionally, a controllable relay node sends a relay status message to its neighbor controllable relay nodes, including: when the number of nodes in its neighbor controllable relay nodes that are in the relayable state is greater than the first quantity threshold, send at least two relay status messages to its neighbor controllable relay nodes, and each relay status message includes information about a part of the nodes in its neighbor controllable relay nodes that are in the relayable state.

[0129] In an alternative embodiment, the controllable relay node adjusts its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes, including:

[0130] The controllable relay node determines the connectivity among the nodes in its neighboring controllable relay nodes that are in the relayable state according to the connectivity and relay states among its neighboring controllable relay nodes;

[0131] If the connectivity among the nodes in its neighboring controllable relay nodes that are in the relayable state meets the set connectivity condition, when it is in the relayable state itself, it adjusts its own relay state from the relayable state to the non-relayable state.

[0132] In an alternative embodiment, the method further includes: if the connectivity among the nodes in its neighboring controllable relay nodes that are in the relayable state does not meet the set connectivity condition, the controllable relay node adjusts its own relay state from the non-relayable state to the relayable state when it is in the non-relayable state itself.

[0133] In an alternative embodiment, the method further includes: the controllable relay node determines that the set connectivity condition is met when the nodes in its neighboring controllable relay nodes that are in the relayable state are one-hop reachable from each other.

[0134] In an alternative embodiment, before the controllable relay node adjusts its own relay state from the relayable state to the non-relayable state, it further includes: determining whether the number of nodes in its neighboring controllable relay nodes that are in the relayable state is greater than a second quantity threshold; and performing the operation of adjusting its own relay state from the relayable state to the non-relayable state when the determination result is greater.

[0135] In an alternative embodiment, adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes includes: periodically performing the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes according to a first adjustment period.

[0136] Further optionally, periodically performing the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes according to a first adjustment period includes: when the first adjustment period arrives for the first time, after delaying for a random time, performing the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes.

[0137] Further optionally, periodically performing the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes according to a first adjustment period further includes:

[0138] Count the number of executions of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes;

[0139] When the number of executions is less than or equal to the second number threshold, perform the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes periodically according to the second adjustment period;

[0140] When the number of executions is greater than the second number threshold, perform the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes periodically according to the first adjustment period; wherein, the second adjustment period is less than the first adjustment period.

[0141] In an optional embodiment, the method further includes: when the first or second adjustment period arrives, determine whether the time interval from the current time to the time when its own relay state last changed is greater than the set adjustment protection period; if so, perform the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes.

[0142] In an optional embodiment, the method further includes: monitoring whether a flooding phenomenon occurs in the Bluetooth network; when it is monitored that a flooding phenomenon occurs in the Bluetooth network, decrease the second quantity threshold, and the decreased second quantity threshold is greater than or equal to the set minimum quantity threshold.

[0143] In an optional embodiment, the method further includes: monitoring whether a flooding phenomenon occurs in the Bluetooth network; when it is monitored that a flooding phenomenon occurs in the Bluetooth network, then when it is in a relayable state, adjust its own relay state from the relayable state to a non-relayable state.

[0144] Further optionally, monitoring whether a flooding phenomenon occurs in the Bluetooth network includes: monitoring the frequency of buffer overflow in the local buffer space for caching the forwarded Bluetooth broadcast data; if the frequency meets the set frequency condition, determine that a flooding phenomenon occurs in the Bluetooth network.

[0145] In an optional embodiment, the method further includes: receiving a relay parameter configuration message sent by a control node, the relay parameter configuration message including parameters related to the relay function issued by the control node; and locally configuring the parameters related to the relay function issued by the control node.

[0146] In an optional embodiment, the method further includes: receiving a relay parameter request message sent by a control node; returning a relay parameter response message to the control node according to the relay parameter request message, the relay parameter response message including: the currently used parameters related to the relay function.

[0147] For the detailed implementation and description of each of the above method steps in this embodiment, reference may be made to the corresponding content in the foregoing embodiments, which will not be elaborated herein.

[0148] In this embodiment, some Bluetooth nodes with forwarding functions are set as controllable relay nodes whose relay states can be autonomously controlled, and Bluetooth nodes without forwarding functions are regarded as non-relay nodes; these controllable relay nodes can forward Bluetooth broadcast data in the network when in the relayable state, which is beneficial to expanding the Bluetooth communication range; in addition, these controllable relay nodes can also flexibly adjust their own relay states according to the connectivity and relay states among their neighboring controllable relay nodes, deciding whether to turn off or turn on the relay function, so that the number of relay nodes in the relayable state in the network can be dynamically changed and controlled, and can adapt to the actual network topology scenario, neither too many nor too few, which can not only improve the network throughput but also ensure network connectivity.

[0149] It should be noted that the execution subject of each step of the method provided in the above embodiment can be the same device, or the method can also be executed by different devices as the execution subject. For example, the execution subject of steps 701 to 703 can be device A; for another example, the execution subject of steps 701 and 702 can be device A, and the execution subject of step 703 can be device B; and so on.

[0150] In addition, in some processes described in the above embodiments and the accompanying drawings, a plurality of operations appear in a specific order, but it should be clearly understood that these operations can be executed not in the order in which they appear in this article or in parallel. The operation numbers such as 701, 702, etc. are only used to distinguish different operations, and the numbers themselves do not represent any execution order. In addition, these processes can include more or fewer operations, and these operations can be executed in sequence or in parallel. It should be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., do not represent the order of precedence, and do not limit that "first" and "second" are of different types.

[0151] Figure 8 It is a schematic structural diagram of a communication device provided for an exemplary embodiment of the present application. This communication device can be implemented in a controllable relay node in a Bluetooth network, but is not limited thereto. As Figure 8 shown, the device includes: an acquisition module 81, an adjustment module 82, and a sending module 83.

[0152] The acquisition module 81 is configured to acquire the connectivity and relay states among neighboring controllable relay nodes of the controllable relay node where the communication device is located;

[0153] An adjustment module 82, configured to adjust the relay state of the communication device according to the connectivity and relay state between neighbor controllable relay nodes obtained by the obtaining module 81;

[0154] A sending module 83, configured to forward Bluetooth broadcast data from non-relay nodes or other controllable relay nodes in the Bluetooth network when the communication device is in a relayable state.

[0155] In an optional embodiment, the obtaining module 81 is specifically configured to: receive a relay state message sent by a neighbor controllable relay node of the controllable relay node where the communication device is located, where the relay state message includes the relay state of the neighbor controllable relay node and information of the corresponding target controllable relay node; obtain the connectivity between the neighbor controllable relay nodes according to the information of the target controllable relay node corresponding to the neighbor controllable relay node; where the target controllable relay node is a node in the neighbor controllable relay nodes of the neighbor controllable relay node that is in a relayable state.

[0156] In an optional embodiment, as Figure 8 shown, the device further includes: an updating module 84, configured to update the local neighbor list according to the relay state of the neighbor controllable relay nodes obtained by the obtaining module 81; the local neighbor list is used to store the node information of the neighbor controllable relay nodes that are in a relayable state and the receiving time of the relay state message from this node.

[0157] Optionally, the updating module 84 is specifically configured to: for the identified neighbor controllable relay node that is not in a relayable state, if the information of the neighbor controllable relay node is included in the local neighbor list, delete the information of the neighbor controllable relay node from the local neighbor list;

[0158] For the identified neighbor controllable relay node that is in a relayable state, if the information of the neighbor controllable relay node is included in the local neighbor list, update the receiving time corresponding to the neighbor controllable relay node in the local neighbor list;

[0159] For the identified neighbor controllable relay node that is in a relayable state, if the information of the neighbor controllable relay node is not included in the local neighbor list, record the information of the neighbor controllable relay node and the receiving time of the relay state message from this neighbor controllable relay node into the local neighbor list.

[0160] Further optionally, the updating module 84 is further configured to: detect the validity of the neighbor controllable relay nodes according to the receiving time recorded in the local neighbor list, and delete the information of the invalid neighbor controllable relay nodes from the local neighbor list.

[0161] Further, the update module 84 is specifically configured to: monitor the time interval between the reception time in the local neighbor list and the current time; if the time interval is less than the expiration time value but greater than the first transmission period, send a status request message to the neighbor controllable relay node corresponding to the reception time, so that the neighbor controllable relay node returns a relay status message; if the time interval is greater than the expiration time value, regard the neighbor controllable relay node corresponding to the reception time as a failed neighbor controllable relay node; the first transmission period is the period for each controllable relay node to send a relay status message.

[0162] In an optional embodiment, the sending module 83 is further configured to: send a relay status message to the neighbor controllable relay nodes of the controllable relay node where the communication device is located, and the relay status message includes the relay status of the communication device and information of the nodes in the neighbor controllable relay nodes that are in the relayable state.

[0163] Further optionally, the sending module 83 is specifically configured to: after a first time delay in the case of the communication device being newly powered on or newly networked, send a relay status message to the neighbor controllable relay nodes periodically according to the set first transmission period.

[0164] Further optionally, the sending module 83 is specifically configured to: after a random time delay when the first transmission period arrives for the first time, send a relay status message to the neighbor controllable relay nodes.

[0165] Further optionally, the sending module 83 is specifically configured to: record the number of times of sending the relay status message to the neighbor controllable relay nodes; in the case where the number of times is less than or equal to the first number threshold, send a relay status message to the neighbor controllable relay nodes periodically according to the second transmission period; in the case where the number of times is greater than the first number threshold, send a relay status message to the neighbor controllable relay nodes periodically according to the first transmission period; where the second transmission period is determined according to the first transmission period and is less than the first transmission period.

[0166] Further optionally, the sending module 83 is specifically configured to: in the case where the number of nodes in the neighbor controllable relay nodes that are in the relayable state is greater than the first number threshold, send at least two relay status messages to the neighbor controllable relay nodes, and each relay status message includes information of a part of the nodes in the neighbor controllable relay nodes that are in the relayable state.

[0167] In an optional embodiment, the adjustment module 82 is specifically configured to: determine the connectivity between the neighbor controllable relay nodes in the relayable state according to the connectivity and relay state between the neighbor controllable relay nodes; if the connectivity between the neighbor controllable relay nodes in the relayable state meets the set connectivity condition, when the communication device is in the relayable state, adjust the relay state of the communication device from the relayable state to the non-relayable state.

[0168] Further optionally, the adjustment module 82 is further configured to: if the connectivity between the neighbor controllable relay nodes in the relayable state does not meet the set connectivity condition, when the communication device is in the non-relayable state, adjust the relay state of the communication device from the non-relayable state to the relayable state.

[0169] Further optionally, the adjustment module 82 is further configured to: determine that the set connectivity condition is met when the neighbor controllable relay nodes in the relayable state are one-hop reachable from each other.

[0170] Further optionally, the adjustment module 82 is further configured to: before adjusting the relay state of the communication device from the relayable state to the non-relayable state, determine whether the number of neighbor controllable relay nodes in the relayable state is greater than a second quantity threshold; and when the determination result is greater, perform the operation of adjusting the relay state of the communication device from the relayable state to the non-relayable state.

[0171] Further optionally, the adjustment module 82 is specifically configured to: periodically perform the operation of adjusting the relay state of the communication device according to the connectivity and relay state between the neighbor controllable relay nodes according to a first adjustment period.

[0172] Further optionally, the adjustment module 82 is specifically configured to: when the first adjustment period arrives for the first time, after delaying for a random time, perform the operation of adjusting the relay state of the communication device according to the connectivity and relay state between the neighbor controllable relay nodes.

[0173] Further optionally, the adjustment module 82 is specifically configured to: count the number of executions of adjusting the relay state of the communication device according to the connectivity and relay state between the neighbor controllable relay nodes;

[0174] When the number of executions is less than or equal to a second number threshold, periodically perform the operation of adjusting the relay state of the communication device according to the connectivity and relay state between the neighbor controllable relay nodes according to a second adjustment period;

[0175] When the number of executions is greater than the second threshold, the operation of adjusting the relay state of the communication device according to the connectivity and relay state between neighbor controllable relay nodes is periodically performed according to the first adjustment period; in this case, the second adjustment period is less than the first adjustment period.

[0176] Further optionally, the adjustment module 82 is further configured to: when the first or second adjustment period arrives, determine whether the time interval from the current time to the time when the relay state of the communication device last changed is greater than a set adjustment protection period; if so, perform the operation of adjusting the relay state of the communication device according to the connectivity and relay state between neighbor controllable relay nodes.

[0177] In an alternative embodiment, as Figure 8 shown, the device further includes: a monitoring module 85, configured to: monitor whether a flooding phenomenon occurs in the Bluetooth network, and when it is monitored that the Bluetooth network has a flooding phenomenon, reduce the second quantity threshold, and the reduced second quantity threshold is greater than or equal to a set minimum quantity threshold.

[0178] In an alternative embodiment, the adjustment module 82 is further configured to, when the monitoring module 85 monitors that a flooding phenomenon occurs in the Bluetooth network, and when the communication device is in a relayable state, adjust the relay state of the communication device from the relayable state to a non-relayable state.

[0179] Optionally, the monitoring module 85 is specifically configured to: monitor the frequency of cache overflow in the local cache space for caching forwarded Bluetooth broadcast data; if the frequency meets a set frequency condition, determine that the Bluetooth network has a flooding phenomenon.

[0180] In an alternative embodiment, the acquisition module 81 is further configured to: receive a relay parameter configuration message sent by a management and control node, where the relay parameter configuration message includes parameters related to the relay function issued by the management and control node; and locally configure the parameters related to the relay function issued by the management and control node.

[0181] In an alternative embodiment, the acquisition module 81 is further configured to: receive a relay parameter request message sent by a management and control node. Correspondingly, the sending module 83 is further configured to: return a relay parameter response message to the management and control node according to the relay parameter request message, where the relay parameter response message includes: parameters related to the relay function currently in use.

[0182] The internal functions and structures of the communication device are described above, as Figure 9 shown. In practice, the communication device can be implemented as a node device, and the node device can be implemented as a controllable relay node in a Bluetooth network, including: a memory 91, a processor 92, and a communication component 93.

[0183] A memory 91 for storing computer programs and configurable to store various other data to support operations on the node device. Examples of such data include instructions for any application or method operating on the node device, messages, pictures, videos, etc.

[0184] The memory 91 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disks or optical discs.

[0185] A processor 92, coupled to the memory 91, for executing the computer program in the memory 91 to: obtain the connectivity and relay status between neighbor controllable relay nodes of the node device; adjust the relay status of the node device according to the connectivity and relay status between neighbor controllable relay nodes; and forward Bluetooth broadcast data from non-relay nodes or its controllable relay nodes in the Bluetooth network through the communication component 93 when in a relayable state.

[0186] In an alternative embodiment, when obtaining the connectivity and relay status between neighbor controllable relay nodes, the processor 92 is specifically configured to: receive a relay status message sent by a neighbor controllable relay node, where the relay status message includes the relay status of the neighbor controllable relay node and information of the corresponding target controllable relay node; obtain the connectivity between the neighbor controllable relay nodes according to the information of the target controllable relay node corresponding to the neighbor controllable relay node; where the target controllable relay node is a node in a relayable state among the neighbor controllable relay nodes of the neighbor controllable relay node.

[0187] In an alternative embodiment, the processor 92 is further configured to: update the local neighbor list according to the relay status of the neighbor controllable relay nodes; the local neighbor list is used to store information of nodes in a relayable state among the neighbor controllable relay nodes and the reception time of the relay status message from the node.

[0188] In an alternative embodiment, when updating the local neighbor list according to the relay status of the neighbor controllable relay nodes, the processor 92 is specifically configured to:

[0189] For the identified neighbor controllable relay node in a non-relayable state, if the information of the neighbor controllable relay node is included in the local neighbor list, delete the information of the neighbor controllable relay node from the local neighbor list;

[0190] For the identified neighbor controllable relay nodes in the relayable state, if the local neighbor list contains the information of the neighbor controllable relay node, update the reception time corresponding to the neighbor controllable relay node in the local neighbor list;

[0191] For the identified neighbor controllable relay nodes in the relayable state, if the local neighbor list does not contain the information of the neighbor controllable relay node, record the information of the neighbor controllable relay node and the reception time of the relay status message from the neighbor controllable relay node into the local neighbor list.

[0192] In an optional embodiment, the processor 92 is further configured to: detect the validity of the neighbor controllable relay node according to the reception time recorded in the local neighbor list, and delete the information of the invalid neighbor controllable relay node from the local neighbor list.

[0193] In an optional embodiment, when the processor 92 detects the validity of the neighbor controllable relay node according to the reception time recorded in the local neighbor list, it is specifically configured to: monitor the time interval between the reception time in the local neighbor list and the current time; if the time interval is less than the expiration time value but greater than the first sending period, send a status request message to the neighbor controllable relay node corresponding to the reception time for the neighbor controllable relay node to return a relay status message; if the time interval is greater than the expiration time value, regard the neighbor controllable relay node corresponding to the reception time as an invalid neighbor controllable relay node; the first sending period is the period for each controllable relay node to send a relay status message.

[0194] In an optional embodiment, the processor 92 is further configured to: send a relay status message to the neighbor controllable relay node, where the relay status message includes the relay status of the node device and the information of the nodes in the neighbor controllable relay nodes that are in the relayable state.

[0195] Optionally, when the processor 92 sends a relay status message to the neighbor controllable relay node, it is specifically configured to: in the case of newly powered on or newly networked, after delaying for a first time, periodically send a relay status message to the neighbor controllable relay node according to the set first sending period.

[0196] Optionally, when the processor 92 periodically sends a relay status message to the neighbor controllable relay node according to the set first sending period, it is specifically configured to: when the first sending period arrives for the first time, after delaying for a random time, send a relay status message to the neighbor controllable relay node.

[0197] Optionally, when the processor 92 periodically sends a relay status message to a neighbor controllable relay node according to a set first sending period, it is further configured to: record the number of times of sending the relay status message to the neighbor controllable relay node; when the number is less than or equal to a first number threshold, periodically send the relay status message to the neighbor controllable relay node according to a second sending period; when the number is greater than the first number threshold, periodically send the relay status message to the neighbor controllable relay node according to the first sending period; where the second sending period is determined according to the first sending period and is less than the first sending period.

[0198] Optionally, when the processor 92 sends a relay status message to a neighbor controllable relay node, it is specifically configured to: when the number of nodes in the neighbor controllable relay node that are in a relayable state is greater than a first quantity threshold, send at least two relay status messages to the neighbor controllable relay node, and each relay status message includes information of a part of the nodes in the neighbor controllable relay node that are in a relayable state.

[0199] In an alternative embodiment, when the processor 92 adjusts the relay status of a node device, it is specifically configured to: determine the connectivity between the nodes in the neighbor controllable relay node that are in a relayable state according to the connectivity and relay status between the neighbor controllable relay nodes; if the connectivity between the nodes in the neighbor controllable relay node that are in a relayable state meets a set connectivity condition, when the node device is in a relayable state, adjust the relay status of the node device from the relayable state to a non-relayable state.

[0200] In an alternative embodiment, the processor 92 is further configured to: if the connectivity between the nodes in the neighbor controllable relay node that are in a relayable state does not meet the set connectivity condition, when the node device is in a non-relayable state, adjust the relay status of the node device from the non-relayable state to a relayable state.

[0201] In an alternative embodiment, the processor 92 is further configured to: determine that the set connectivity condition is met when the nodes in the neighbor controllable relay node that are in a relayable state are reachable within one hop of each other.

[0202] In an alternative embodiment, before the processor 92 adjusts the relay status of the node device from the relayable state to the non-relayable state, it is further configured to: determine whether the number of nodes in the neighbor controllable relay node that are in a relayable state is greater than a second quantity threshold; and when the determination result is greater, perform the operation of adjusting the relay status of the node device from the relayable state to the non-relayable state.

[0203] In an alternative embodiment, when adjusting the relay state of the node device, the processor 92 is specifically configured to: periodically perform an operation of adjusting the relay state of the node device according to the connectivity and relay state between neighbor controllable relay nodes according to a first adjustment period.

[0204] In an alternative embodiment, when performing an operation of adjusting the relay state of the node device, the processor 92 is specifically configured to: after a random time delay when the first adjustment period arrives for the first time, perform an operation of adjusting the relay state of the node device according to the connectivity and relay state between neighbor controllable relay nodes.

[0205] In an alternative embodiment, when adjusting the relay state of the node device, the processor 92 is specifically configured to: count the number of executions of adjusting the relay state of the node device; when the number of executions is less than or equal to a second number threshold, periodically perform an operation of adjusting the relay state of the node device according to the connectivity and relay state between neighbor controllable relay nodes according to a second adjustment period; when the number of executions is greater than the second number threshold, periodically perform an operation of adjusting the relay state of the node device according to the connectivity and relay state between neighbor controllable relay nodes according to a first adjustment period; where the second adjustment period is less than the first adjustment period.

[0206] In an alternative embodiment, the processor 92 is further configured to: when the first or second adjustment period arrives, determine whether the time interval from the current time to the time when the relay state of the node device last changed is greater than a set adjustment protection period; if so, perform an operation of adjusting the relay state of the node device according to the connectivity and relay state between neighbor controllable relay nodes.

[0207] In an alternative embodiment, the processor 92 is further configured to: monitor whether a flooding phenomenon occurs in the Bluetooth network; when it is detected that a flooding phenomenon occurs in the Bluetooth network, reduce the second quantity threshold, and the reduced second quantity threshold is greater than or equal to a set minimum quantity threshold.

[0208] In an alternative embodiment, the processor 92 is further configured to: monitor whether a flooding phenomenon occurs in the Bluetooth network; when it is detected that a flooding phenomenon occurs in the Bluetooth network, then when the node device is in a relayable state, adjust the relay state of the node device from the relayable state to a non-relayable state.

[0209] In an alternative embodiment, when monitoring whether a flooding phenomenon occurs in the Bluetooth network, the processor 92 is specifically configured to: monitor the frequency of cache overflow of the local cache space for caching forwarded Bluetooth broadcast data; if the frequency meets a set frequency condition, determine that a flooding phenomenon occurs in the Bluetooth network.

[0210] In an alternative embodiment, the processor 92 is further configured to: receive a relay parameter configuration message sent by the management and control node, where the relay parameter configuration message includes parameters related to the relay function issued by the management and control node; and locally configure the parameters related to the relay function issued by the management and control node.

[0211] In an alternative embodiment, the processor 92 is further configured to: receive a relay parameter request message sent by the management and control node; and return a relay parameter response message to the management and control node according to the relay parameter request message, where the relay parameter response message includes: parameters related to the relay function currently in use.

[0212] Furthermore, as Figure 9 shown, the node device further includes: a display 94, a power supply component 95, an audio component 96, and other components. Figure 9 Only some components are schematically shown, and it does not mean that the node device only includes Figure 9 the components shown. Additionally, Figure 9 the components within the dashed box in Figure 9 are optional components, rather than mandatory components, and can be determined according to the product form of the node device. The node device in this embodiment can be implemented as a terminal device such as a desktop computer, a laptop computer, a smart phone, or an IOT device, or can also be a server device such as a conventional server, a cloud server, or a server array. If the node device in this embodiment is implemented as a terminal device such as a desktop computer, a laptop computer, or a smart phone, it may include Figure 9 the components within the dashed box in

[0213] Correspondingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, which when executed by a processor, enables the processor to implement the steps in the above Figure 7 shown method embodiment.

[0214] Correspondingly, an embodiment of the present application further provides a computer program product, including a computer program / instructions, which when executed by a processor, enables the processor to implement the steps in the above Figure 7 shown method embodiment.

[0215] The communication component in the above embodiments is configured to facilitate communication, in a wired or wireless manner, between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component further includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0216] The display in the above embodiments includes a screen, and the screen can include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of touch or swipe actions, but also detect the duration and pressure associated with the touch or swipe operation.

[0217] The power component in the above embodiments provides power to various components of the device where the power component is located. The power component can include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for the device where the power component is located.

[0218] The audio component in the above embodiments can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC), and when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive external audio signals. The received audio signals can be further stored in a memory or transmitted via the communication component. In some embodiments, the audio component further includes a speaker for outputting audio signals.

[0219] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.

[0220] This application is described with reference to the flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams, can be realized by computer program instructions. These computer program instructions can be provided to the processors of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processors of the computer or other programmable data processing devices produce a means for realizing the functions specified in one or more flows of the flowchart and / or one or more blocks of the block diagram.

[0221] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction means that realizes the functions specified in one or more flows of the flowchart and / or one or more blocks of the block diagram.

[0222] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for realizing the functions specified in one or more flows of the flowchart and / or one or more blocks of the block diagram.

[0223] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and a memory.

[0224] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). The memory is an example of computer-readable media.

[0225] A computer-readable medium includes permanent and non-permanent, removable and non-removable media that can implement information storage by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information accessible by a computing device. As defined herein, a computer-readable medium does not include transitory computer-readable media, such as modulated data signals and carrier waves.

[0226] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or apparatus comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or apparatus. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or apparatus comprising the element.

[0227] The above are only examples of the present application and are not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.

Claims

1. A Bluetooth network, characterized in that, Comprising: A plurality of Bluetooth nodes connected wirelessly, the plurality of Bluetooth nodes including at least two controllable relay nodes and at least one non-relay node; Wherein, the at least two controllable relay nodes are configured to receive relay status messages sent by their neighboring controllable relay nodes, the relay status messages including the relay status of the neighboring controllable relay nodes and information about the corresponding target controllable relay nodes; obtain the connectivity between the neighboring controllable relay nodes according to the information about the target controllable relay nodes corresponding to the neighboring controllable relay nodes; adjust their own relay status according to the connectivity and relay status between their neighboring controllable relay nodes, and forward Bluetooth broadcast data from the at least one non-relay node or other controllable relay nodes when in a relayable state; Wherein, the target controllable relay node is a node in a relayable state among the neighboring controllable relay nodes of the neighboring controllable relay nodes.

2. The Bluetooth network according to claim 1, wherein The at least two controllable relay nodes are further configured to: Send relay status messages to their neighboring controllable relay nodes, the relay status messages including the relay status of the node itself and information about the nodes in a relayable state among its neighboring controllable relay nodes.

3. The Bluetooth network according to claim 1, characterized in that, When each controllable relay node adjusts its own relay status, specifically: Determine the connectivity between the nodes in a relayable state among its neighboring controllable relay nodes according to the connectivity and relay status between its neighboring controllable relay nodes; If the connectivity between the nodes in a relayable state among its neighboring controllable relay nodes meets the set connectivity condition, when it is in a relayable state, adjust its own relay status from the relayable state to a non-relayable state.

4. The Bluetooth network according to claim 3, wherein The at least two controllable relay nodes are further configured to: If the connectivity between the nodes in a relayable state among its neighboring controllable relay nodes does not meet the set connectivity condition, when it is in a non-relayable state, adjust its own relay status from the non-relayable state to a relayable state.

5. The Bluetooth network according to claim 3, wherein The at least two controllable relay nodes are further configured to: Before adjusting its own relay status from the relayable state to the non-relayable state, determine whether the number of nodes in a relayable state among its neighboring controllable relay nodes is greater than a second quantity threshold; And When the judgment result is greater, perform the operation of adjusting its own relay status from the relayable state to the non-relayable state.

6. A communication method, characterized in that, Applicable to any controllable relay node in a Bluetooth network, the method includes: The controllable relay node obtains the connectivity and relay status between its neighboring controllable relay nodes, including: receiving relay status messages sent by its neighboring controllable relay nodes, the relay status messages including the relay status of the neighboring controllable relay nodes and information about the corresponding target controllable relay nodes; obtaining the connectivity between the neighboring controllable relay nodes according to the information about the target controllable relay nodes corresponding to the neighboring controllable relay nodes; wherein, the target controllable relay node is a node in a relayable state among the neighboring controllable relay nodes of the neighboring controllable relay nodes; Adjust its own relay status according to the connectivity and relay status between its neighboring controllable relay nodes; When in the relayable state, forward the Bluetooth broadcast data from non-relay nodes or other controllable relay nodes in the Bluetooth network.

7. The method according to claim 6, wherein It further includes: The controllable relay node updates its local neighbor list according to the relay states of its neighboring controllable relay nodes; the local neighbor list is used to store the node information of the neighboring controllable relay nodes in the relayable state and the reception time of the relay state messages from these nodes.

8. The method according to claim 7, wherein It further includes: Detect the validity of its neighboring controllable relay nodes according to the reception times recorded in the local neighbor list, and delete the information of the invalid neighboring controllable relay nodes from the local neighbor list.

9. The method according to claim 6, characterized in that, It further includes: The controllable relay node sends a relay state message to its neighboring controllable relay nodes, and the relay state message includes its own relay state and the information of the neighboring controllable relay nodes in the relayable state.

10. The method according to claim 6, characterized in that, Adjust its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes, including: Determine the connectivity among the neighboring controllable relay nodes in the relayable state according to the connectivity and relay states among its neighboring controllable relay nodes; If the connectivity among the neighboring controllable relay nodes in the relayable state meets the set connectivity condition, when it is in the relayable state, adjust its own relay state from the relayable state to the non-relayable state.

11. The method according to claim 10, wherein It further includes: If the connectivity among the neighboring controllable relay nodes in the relayable state does not meet the set connectivity condition, when it is in the non-relayable state, adjust its own relay state from the non-relayable state to the relayable state.

12. The method according to claim 10, wherein Before adjusting its own relay state from the relayable state to the non-relayable state, it further includes: Judge whether the number of neighboring controllable relay nodes in the relayable state is greater than a second quantity threshold; and When the judgment result is greater, perform the operation of adjusting its own relay state from the relayable state to the non-relayable state.

13. The method according to any one of claims 6-12, characterized in that, Adjust its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes, including: Periodically perform the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes according to a first adjustment period; and / or When the first adjustment period arrives for the first time, after delaying a random time, perform the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes; and / or Count the number of executions of adjusting its own relay state; when the number of executions is less than or equal to a second number threshold, periodically perform the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes according to a second adjustment period; when the number of executions is greater than the second number threshold, periodically perform the operation of adjusting its own relay state according to the connectivity and relay states among its neighboring controllable relay nodes according to the first adjustment period; where the second adjustment period is less than the first adjustment period; and / or When the first or second adjustment period arrives, determine whether the time interval from the current time to the time when the relay state of itself last changed is greater than the set adjustment protection period; if so, perform the operation of adjusting its own relay state according to the connectivity and relay state among its neighbor controllable relay nodes.

14. The method according to claim 12, wherein It further includes: Monitor whether there is a flooding phenomenon in the Bluetooth network; In the case of detecting a flooding phenomenon in the Bluetooth network, reduce the second quantity threshold, and the reduced second quantity threshold is greater than or equal to the set minimum quantity threshold.

15. The method according to any one of claims 6-12, characterized in that, It further includes: Monitor whether there is a flooding phenomenon in the Bluetooth network; In the case of detecting a flooding phenomenon in the Bluetooth network, if itself is in the relaying state, adjust its own relay state from the relaying state to the non-relaying state.

16. A node device, characterized in that, It can be implemented as a controllable relay node in the Bluetooth network, and the node device includes: a memory, a processor, and a communication component; The memory is used to store computer programs; The processor is coupled to the memory and is used to execute the computer program for: Obtain the connectivity and relay state among its neighbor controllable relay nodes, including: receive the relay state messages sent by its neighbor controllable relay nodes, where the relay state messages include the relay states of the neighbor controllable relay nodes and the information of the corresponding target controllable relay nodes; according to the information of the target controllable relay nodes corresponding to the neighbor controllable relay nodes, obtain the connectivity among the neighbor controllable relay nodes; where the target controllable relay node is a node in the neighbor controllable relay nodes of the neighbor controllable relay node that is in the relaying state; Adjust its own relay state according to the connectivity and relay state among its neighbor controllable relay nodes; In the case of being in the relaying state, forward the Bluetooth broadcast data from non-relay nodes or other controllable relay nodes in the Bluetooth network.

17. A computer-readable storage medium storing a computer program / instructions, characterized in that, When the computer program is executed by the processor, it causes the processor to implement the steps in the method according to any one of claims 6-15.

18. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, it causes the processor to implement the steps in the method according to any one of claims 6-15.

Citation Information

Patent Citations

  • Bluetooth Mesh network flooding method and device and storage medium

    CN112055343A

  • Methods of and Device for Autonomous Configuration of a Relay Node Device in Mesh Network

    US20200092792A1