CN116669099A - Message forwarding method executed by nodes in Bluetooth mesh network - Google Patents

Message forwarding method executed by nodes in Bluetooth mesh network Download PDF

Info

Publication number
CN116669099A
CN116669099A CN202310790485.8A CN202310790485A CN116669099A CN 116669099 A CN116669099 A CN 116669099A CN 202310790485 A CN202310790485 A CN 202310790485A CN 116669099 A CN116669099 A CN 116669099A
Authority
CN
China
Prior art keywords
node
message
forwarding
coverage area
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310790485.8A
Other languages
Chinese (zh)
Inventor
罗旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Espressif Systems Shanghai Co Ltd
Original Assignee
Espressif Systems Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Espressif Systems Shanghai Co Ltd filed Critical Espressif Systems Shanghai Co Ltd
Priority to CN202310790485.8A priority Critical patent/CN116669099A/en
Publication of CN116669099A publication Critical patent/CN116669099A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/021Traffic management, e.g. flow control or congestion control in wireless networks with changing topologies, e.g. ad-hoc networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0215Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices
    • H04W28/0221Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices power availability or consumption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0226Traffic management, e.g. flow control or congestion control based on location or mobility
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

The invention discloses a method executed by a node in a Bluetooth mesh network, which comprises the following steps: (1) Receiving a message from a neighboring node in a bluetooth mesh network; (2) In response to determining that the message needs to be forwarded, performing probability-based forwarding, including: (a) Judging whether the transmitting power of the adjacent node is the same as the transmitting power of the node; (b) Determining the forwarding probability of the node forwarding the message based on the distance between the adjacent node and the node in response to the same transmitting power between the adjacent node and the node, wherein the forwarding probability and the distance are in a negative correlation; and determining a forwarding probability of the node forwarding the message based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node in response to the difference of the transmission power of the adjacent node and the node, wherein the forwarding probability and the overlapping degree are in a negative correlation; (c) forwarding the message by forwarding probability.

Description

Message forwarding method executed by nodes in Bluetooth mesh network
Technical Field
The present invention relates to bluetooth mesh networks, and more particularly, to a message forwarding method performed by a node in a bluetooth mesh network, and a node apparatus for operating in a bluetooth mesh network.
Background
A Bluetooth MESH network (hereinafter referred to as BLE MESH network) is a type of many-to-many communication network based on BLE protocol, which was introduced by the Bluetooth technical association (SIG) in 2017, and is capable of communicating with each other between nodes in the MESH network. Specifically, the BLE MESH network realizes message transmission between nodes by broadcasting and relaying in network nodes in the network.
BLE MESH uses a publish/subscribe (publication) messaging system and defines a multicast address that may be shared by one or more nodes. When a Publisher (publicher) sends a message to a multicast address, all subscribers (subscribers) to that address will receive the message from the multicast address and process it in some way to react.
The BLE MESH adopts a managed network flooding (managed flooding) manner to transmit network information, that is, all nodes with relay functions (relay) in the network forward the received message, without routing along a specific path. Accordingly, in a BLE MESH network, all nodes within communication range receive messages, while those acting as relays retransmit messages to all other nodes within range. The flooding technology has the advantages that a specific node is not required to act as a centralized router, and the whole network can be effectively prevented from being inoperable due to the failure of an individual node. However, flooding has the disadvantage that communication delays may be caused by network message flooding.
In order to reduce unnecessary redundant information transmission, the BLE MESH network mainly adopts the following two measures to optimize flooding communication: (1) message cache: the node caches critical information of the received message to determine if the message has been forwarded, and if so ignores the message. (2) Time To Live (TTL): each message will contain a TTL value to limit the number of relays, up to 126 relays. The value of the TTL is reduced by 1 every time the message is forwarded, and the message is not forwarded any more when the TTL value is 1.
However, the existing solutions still result in that in case of a large data exchange in the network, for example with a packet frequency of more than 3 packets per second, the network will be filled with redundant or stale information. Such information may interfere with the reception of the new message by the node, resulting in reduced efficiency in receiving the new message, and may also result in unnecessary waste of resources, e.g., power consumption by the node may increase due to unnecessary forwarding.
Therefore, there is a need in the art for a new technical solution that can at least selectively forward a message in a BLE MESH network according to a specific condition, thereby reducing the number of forwarding packets in the network and improving the efficiency of message propagation. It should be understood that the technical problems listed above are only examples and are not limiting of the present invention. Furthermore, the present invention is not limited to the technical solutions to simultaneously solve all the above technical problems, and the technical solutions of the present invention may be implemented to solve one or more of the above or other technical problems.
Disclosure of Invention
The invention aims to solve the problems in the existing Bluetooth mesh network, namely network congestion caused by redundant forwarding information, thereby causing large network data delay, unreliable communication and the like.
In a first aspect of the invention, there is provided a method performed by a node in a bluetooth mesh network, the method comprising: (1) Receiving a message from a neighboring node in a bluetooth mesh network; (2) In response to determining that the message needs to be forwarded, performing probability-based forwarding, including: (a) Judging whether the transmitting power of the adjacent node is the same as the transmitting power of the node; (b) Determining the forwarding probability of the node forwarding the message based on the distance between the adjacent node and the node in response to the same transmitting power between the adjacent node and the node, wherein the forwarding probability and the distance are in a negative correlation; and determining a forwarding probability of the node forwarding the message based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node in response to the difference of the transmission power of the adjacent node and the node, wherein the forwarding probability and the overlapping degree are in a negative correlation; (c) forwarding the message by forwarding probability.
Preferably, the method further comprises: and determining the distance between the adjacent node and the node in response to the same transmission power between the adjacent node and the node.
Preferably, the method further comprises: and determining the overlapping degree of the coverage area of the adjacent node and the coverage area of the node in response to the difference of the transmission power of the adjacent node and the node.
Further preferably, determining the degree of overlap of the coverage area of the neighboring node with the coverage area of the node comprises: (i) Determining the volume of the overlapped part of the sphere of the coverage area of the adjacent node and the sphere of the coverage area of the node according to the sphere radius of the coverage area of the adjacent node, the sphere radius of the coverage area of the node and the distance between the adjacent node and the node; (ii) Determining a ratio of the volume of the overlapping portion to a sphere volume of a coverage area of the node; wherein the overlap is determined based on the duty cycle.
Preferably, the sphere radius of the coverage area of the neighboring node is determined by acquiring the transmit power of the neighboring node; and the sphere radius of the coverage area of the node is determined by taking the transmit power of the node.
Preferably, the distance of the neighboring node from the node is determined based on a received signal strength indication RSSI of a signal received from the neighboring node and a transmit power of the neighboring node.
Preferably, the distance of the neighboring node from the node is determined based on the GPS coordinates of the neighboring node from the node.
Preferably, the distance between adjacent nodes is determined by infrared ranging.
Preferably, forwarding the message by forwarding probability includes: generating a random number, and comparing the random number with the forwarding probability; and, in response to the random number being less than or equal to the forwarding probability, immediately forwarding the message.
Preferably, in response to determining that the message needs to be forwarded, the method further comprises: determining a network capacity at the node; and performing probability-based forwarding in response to the network load exceeding a threshold.
Preferably, in response to determining that the message needs to be forwarded, the method further comprises: determining whether the message is a retransmitted message; and in response to determining that the message is a retransmitted message, immediately forwarding the message.
Preferably, determining whether the message is a retransmitted message comprises: determining whether an identification code in the message is included in a list of received message identification codes for the nodes; if yes, determining the message to be a retransmission message; wherein the identification code comprises a cyclic redundancy check code.
Preferably, the network load comprises a count of messages forwarded by the node per unit time before receiving the message.
In a second aspect of the present invention, there is also provided a node apparatus for operating in a bluetooth mesh network, comprising: a processor; and a memory, wherein the memory stores computer instructions that, when executed by the processor, cause the processor to perform the method of any of the above.
In a third aspect of the invention there is also provided a computer readable storage medium comprising computer readable instructions which, when loaded onto a computer of a node apparatus, perform the method of any one of the above, the node apparatus being arranged for operation in a bluetooth mesh network.
The invention can effectively reduce the problems of excessive redundant data packet quantity, reduced message propagation efficiency, increased message delay and the like caused by the fact that the node forwards unnecessary messages. The scheme determines the forwarding probability of forwarding the message according to the overlapping degree of the signal coverage areas of the two nodes. Therefore, misjudgment or missed judgment caused by the difference of the signal strengths of the two nodes can be avoided, and the efficiency and the accuracy of message forwarding are improved. The scheme can dynamically adjust whether to start a probability-based forwarding mechanism according to the network state and whether to retransmit the message or not, and further optimize the strategy of message forwarding.
Drawings
Figure 1 shows a schematic diagram of the system hierarchy architecture of a BLE MESH network;
fig. 2 (a) shows a schematic diagram of the format of a PDU defined in the network layer of a BLE MESH network;
FIG. 2 (b) illustrates an exemplary format of a request message to acquire transmit power;
FIG. 2 (c) illustrates an exemplary format of a response message for acquiring transmit power;
figure 3 shows a schematic diagram of the network topology of a BLE MESH network;
fig. 4 shows a flow diagram of a first embodiment of the method of the invention performed by a node in a bluetooth mesh network;
FIG. 5 is a diagram illustrating a first embodiment of determining the degree of overlap of coverage areas of neighboring nodes with the coverage area of a node;
FIG. 6 is a diagram illustrating an example of a second embodiment of determining the degree of overlap of coverage areas of neighboring nodes with the coverage area of a node;
fig. 7 shows a flow diagram of a second embodiment of the method of the invention performed by a node in a bluetooth mesh network;
fig. 8 shows a flow diagram of a third embodiment of the method of the invention performed by a node in a bluetooth mesh network;
fig. 9 shows a flow diagram of a fourth embodiment of the method of the invention performed by a node in a bluetooth mesh network;
fig. 10 shows a flow diagram of an embodiment of another method of the present invention performed by a node in a bluetooth mesh network;
fig. 11 shows a schematic diagram of a node arrangement for operating in a bluetooth mesh network according to an embodiment of the invention;
Fig. 12 is a flow diagram illustrating an example of a particular embodiment of a method performed by a node in a bluetooth mesh network in accordance with the present invention;
fig. 13 is a flow chart illustrating an example of another specific embodiment of a method performed by a node in a bluetooth mesh network according to the present invention;
fig. 14 shows the number of messages forwarded and the time delay of receiving messages by a node in a 200 round messaging test.
Detailed Description
The method of the present invention will be described in detail below with reference to the drawings and detailed description. It is to be understood that the embodiments shown in the drawings and described below are merely illustrative and not restrictive of the invention.
It will be obvious to a person skilled in the art that the node in the present invention is not limited to user equipment, but that other types of nodes in a wireless communication system, such as relay nodes, are also within the scope of the description and the appended claims.
The BLE MESH network adopts a network protocol of a layered architecture. Specifically, fig. 1 shows a system layered architecture of a BLE MESH network, which includes, from bottom to top, a bearer layer, a network layer, an underlying transport layer, an upper transport layer, an access layer, a base model layer, and a model layer, which is a networking protocol stack, respectively. Each layer has its own responsibilities and functions, as specified by the BLE MESH network protocol, as described in detail below.
The bearer layer is responsible for the basic support of data transmission in the BLE MESH network. The bearing layer is directly connected with a BLE protocol stack and is used for receiving and transmitting the message by using BLE.
The network layer is used for decrypting and verifying the message received by the bearing layer and transmitting the message to the bottom transmission layer or forwarding the message to other nodes; similarly, the network layer encrypts and verifies the message output by the bottom transmission layer and transmits the message to the bearing layer. In addition, the network layer also provides the functions of repeated detection, buffering and the like, and decides whether to forward the message according to the survival time of the message and the target address. As shown in fig. 2, the format of PDUs defined in the network layer is exemplarily shown for being responsible for address-based message transmission. The definition of each field in the network layer PDU is shown in table 1 below.
Fields Description of the invention
IVI Network secretKey update index
NID Network identifier
CTL Control flags for discriminating network layer message types
TTL Time-to-live limiting the extent of message propagation in a network
SEQ Sequence number for preventing replay attacks
SRC Source address for identifying sender of message
DST Destination address for identifying a recipient of a message
DATA Transport layer PDU containing data of application layer or control layer
NetMIC Network message integrity check for verifying message integrity
The bottom layer transmission layer is used for transmitting the network layer PDU to another node and providing the functions of packetization, re-packetization and the like so as to ensure the integrity of data.
The upper layer transmission layer obtains the information from the access layer or generates the upper layer transmission layer control information internally, and transmits the information to the upper layer transmission layer of the opposite terminal. For messages acquired from the access layer, the upper transport layer is responsible for encryption and authentication of the information data using the keys. Transport layer control messages generated internally by upper transport layers are encrypted and validated only at the network layer.
The access layer is used for defining how to use the upper transmission layer, defining the application data format, and providing access control, message format, message processing and other functions to realize the application requirements of the user.
The basic model layer defines the state, information, model, etc. of the access layer required for configuring and managing the BLE MESH network to implement the configuration of the BLE MESH network.
BLE MESH networks are capable of establishing a "many-to-many" (m: m) relationship between nodes, forming a MESH network topology such as that shown in fig. 3. Mesh network topology is a form of network without a fixed structure in which each node can communicate with any other node without relying on a central node or router. In a BLE MESH network, a node may establish connections with a plurality of other nodes in the network, and a relay node may be able to forward messages received from the other nodes. They are able to communicate with nodes that are outside the wireless range of the original message publishing node when forwarding the message. The message may be relayed multiple times, each time being a "hop", up to 127 hops may be performed, sufficient for message transmission over a wide physical area.
To illustrate the process of message transmission, assuming node a in fig. 3 sends a message to node B, the source address field in the network layer PDU is filled with the address of node a and the destination address field is filled with the address of node B. At the same time, the TTL field of the message is filled with the number of hops that the message is forwarded at most, for example, the default TTL value is 7, so as to limit the propagation range of the message in the network. Because the message is sent to the BLE MESH network in a broadcast mode, other nodes in the network can also receive the message, forward the message when the other nodes receive the message, and subtract one from the TTL value in the network layer PDU of the message. When the TTL value in the network layer PDU is 0, the node that received the message again will not forward the message any more.
Since the network layer is able to relay data to other nodes that are not within the direct radio coverage area of the original node, the BLE MESH network can be extended in scope so that it can span a very large physical area and contain a large number of nodes. In addition, the network has self-healing capabilities, if one of the nodes drops from the mesh network, the other nodes can still participate and send messages to each other.
The present disclosure aims to design a probability-based message forwarding mechanism in a network layer, dynamically adjust the probability of a message being forwarded according to the overlapping degree of coverage areas between nodes, so as to reduce redundant information and resource waste in the network, and improve the efficiency of message propagation. Specific embodiments of the present disclosure will be described in detail below.
Fig. 4 shows a flow diagram of a first embodiment of the method of the invention performed by a node in a bluetooth mesh network, in particular:
in step 402, a message is received from a neighboring node in a bluetooth mesh network. By way of example and not limitation, a node determines whether a message needs forwarding based on a destination address and a time-to-live in the message. By way of example and not limitation, when the target address of a message is the current node or the lifetime of the message is 0, it is determined that the message does not need to be forwarded. When the target address of the message is not the current node and the lifetime of the message is not 0, it is determined that the message needs to be forwarded.
In step 404, in response to determining that the message needs forwarding, probability-based forwarding is performed, including: (a) Determining the forwarding probability of the node forwarding information based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node, wherein the forwarding probability and the overlapping degree are in a negative correlation; (b) forwarding the message by forwarding probability.
Optionally, the method further comprises determining a degree of overlap of the coverage area of the neighboring node with the coverage area of the node in response to determining that the message needs to be forwarded. By way of example and not limitation, a node may determine the degree of overlap of the coverage area of a neighboring node with the coverage area of the node prior to performing probability-based forwarding, thereby avoiding effects due to changes in the location of the node or neighboring node or changes in transmit power.
Further optionally, determining the overlap of the coverage area of the neighboring node with the coverage area of the node includes: (i) Determining the volume of the overlapped part of the sphere of the coverage area of the adjacent node and the sphere of the coverage area of the node according to the sphere radius of the coverage area of the adjacent node, the sphere radius of the coverage area of the node and the distance between the adjacent node and the node; (ii) Determining a ratio of the volume of the overlapping portion to a sphere volume of a coverage area of the node; wherein the overlap is determined based on the duty cycle.
Optionally, the sphere radius of the coverage area of the neighboring node is determined by obtaining the transmit power of the neighboring node; and the sphere radius of the coverage area of the node is determined by taking the transmit power of the node. In general, the higher the transmit power of a node, the greater the furthest signal coverage distance of the node, i.e., the greater the sphere radius of the coverage area of the node. By way of example and not limitation, the corresponding relationship between the sphere radius of the coverage area of the node and the transmission power of the node may be obtained by measuring the coverage area radius of the node at different transmission powers in advance. In the communication process, the sphere radius of the coverage area of the node can be determined according to the current transmission power of the node based on the corresponding relation measured in advance. For example, in the prior measurement, assuming that the signal intensity received by the edge of the coverage area of the node is-80 dBm, the signal intensity at the measurement point can be obtained by moving the measurement point until the signal intensity of the measurement point reaches-80 dBm, and at this time, the distance from the measurement point to the node is the sphere radius of the coverage area of the node under the current transmitting power. It will be appreciated by those skilled in the art that the correspondence between the sphere radius of the coverage area of a node and the transmit power of the node may be determined in advance and implemented in the form of, for example, a mapping table or function.
Optionally, the distance of the neighboring node from the node is determined based on a received signal strength indication RSSI of a signal received from the neighboring node and a transmit power of the neighboring node. Specifically, since signals attenuate with propagation distance during transmission, the RSSI of signals received by a node is inversely related to distance. The distance from the neighboring node to the node can be calculated from the attenuation model between the signal and the distance given the transmit power of the transmitting node (here, the neighboring node) and the RSSI received by the receiving node (here, the node). An exemplary attenuation model is as follows:
wherein d is the distance between adjacent nodes; RSSI is a received signal strength indication of a signal received by a node, and the unit is dBm; a is the absolute value of RSSI value of adjacent node at current transmitting power and 1 meter distance from adjacent node; n is the ambient attenuation factor.
Optionally, the distance of the neighboring node from the node is determined based on GPS coordinates of the neighboring node from the node.
Optionally, the distance of the neighboring node from the node is determined by infrared ranging.
Optionally, forwarding the message by forwarding the probability includes: generating a random number, and comparing the random number with the forwarding probability; and, in response to the random number being less than or equal to the forwarding probability, immediately forwarding the message.
Example 1: acquiring transmit power
The node obtains the transmitting power of the adjacent node by sending and receiving the application layer message. The user can customize the format of the application layer message and populate the DATA field of the network layer PDU with the requested transmit power and information to respond to the request. Fig. 2 (b) and 2 (c) are formats of an exemplary request message and response message for acquiring transmission power, and fig. 2 (b) is a format example of a DATA field in a network layer PDU of a request message transmitted from a node to a neighboring node, wherein the DATA field includes an Opcode. An Opcode of 0x01 indicates that the message is a message requesting acquisition of neighbor node transmit power. Fig. 2 (c) is an example of a format of a DATA field in a network layer PDU of a response message returned to a node after a neighbor node receives a request message from the node, wherein the DATA field includes an Opcode operation code and a TextPower field. An Opcode of 0x02 indicates that the message is a response message that returns the neighbor node transmit power. The neighboring node may also acquire the transmit power of the node in the same manner. By way of example and not limitation, any node in a bluetooth mesh network may inform other nodes in the network of its new transmit power in the format of the response message to the transmit power described above, prior to changing the transmit power. Still further, in a preferred example, the TTL field of the response message may be set to 0 to send new transmit power only to one-hop neighbor nodes of the node. After sending out the notification, the node updates its own transmission power to a new transmission power.
Example 2: determining overlap of coverage areas of neighboring nodes and coverage areas of nodes
Fig. 5 shows an exemplary diagram of a first embodiment of determining the degree of overlap of the coverage areas of neighboring nodes with the coverage area of a node.
From the transmit power of the node, the message coverage area of the node may be determined. In the example of fig. 5, the coverage area of the node is represented by O 1 Is a sphere with a sphere center and a radius ra=3 meters.
The message coverage area of the neighboring node may be determined based on the transmit power of the neighboring node. In the example of fig. 5, the coverage area of the neighboring node is O 2 Is a sphere with a sphere center and a radius rb=5 meters.
The distance from the neighboring node to the node is determined based on a received signal strength indication, RSSI, of the signal received from the neighboring node and a transmit power of the neighboring node. Further, the distance of the neighboring node from the node may be determined by infrared ranging or GPS positioning. In the example of fig. 5, the distance d from adjacent node to node is 4.5 meters.
The coverage area of the neighboring node intersects the coverage area of the node at two points A, B. According to the cosine theorem, AO can be obtained by calculation 1 With O 1 O 2 Angle of included angle AO 1 O 2 The specific calculation formula is as follows:
Accordingly, in the example of FIG. 5, AO 1 With O 1 O 2 Angle of included angle AO 1 O 2 Equal to about 75.5. The included angle is acute, so that the interface of the sphere where the two points AB are positioned can be determined to be at the two sphere centers O 1 And O 2 Is provided between (a). Thus, the overlapping area of adjacent nodes and the coverage area of the nodes can be divided into two segments via the sphere interface. The volume of the segment is calculated as follows:
wherein R is the radius of the sphere where the sphere is located, and H is the vertical distance from the center of the notch plane of the sphere to the surface of the sphere.
Thus, for a segment in the sphere of the coverage area of a node in the overlap region of an adjacent node and the coverage area of the node, the segment volume can be obtained from the segment volume calculation formula described above. In particular, the method comprises the steps of,
H=d-R a cos∠AO 1 O 2
calculated, h=2.53, and r=r a =3, substituting the above known data into the volumetric calculation formula of the segment, the volume V of the segment can be obtained 1 43.35.
Similarly, a segment in the sphere of the coverage area of the neighboring node in the overlapping region of the neighboring node and the coverage area of the node can be calculated, the segment volume V 2 13.82.
The volume of the overlapping area of adjacent nodes and the coverage area of the node is the sum of the volumes of the two segments. In this example, the volume of the overlap is V 1 +V 2 =57.17。
Further, sphere volume of the coverage area of the nodeThus, it can be determined that, for a node, the overlap of the coverage area of the neighboring node with the coverage area of the node can be determined as the ratio of the volume of the overlapping portion in the sphere volume of the coverage area of the node, +.>
Fig. 6 shows an exemplary diagram of a second embodiment of determining the degree of overlap of the coverage areas of neighboring nodes with the coverage area of a node.
From the transmit power of the node, the message coverage area of the node may be determined. In the example of FIG. 6, the coverage area of a node is represented by O 1 Is a sphere with a sphere center and a radius ra=3 meters.
The message coverage area of the neighboring node may be determined based on the transmit power of the neighboring node. In the example of fig. 6, the coverage area of the neighboring node is O 2 Is a sphere with a sphere center and a radius rb=5 meters.
The distance from the neighboring node to the node is determined based on a received signal strength indication, RSSI, of the signal received from the neighboring node and a transmit power of the neighboring node. Further, the distance of the neighboring node from the node may be determined by infrared ranging or GPS positioning. In the example of fig. 6, the distance d from adjacent node to node is 3.5 meters.
According to the above calculation, in the example of FIG. 6, AO 1 With O 1 O 2 Angle of included angle AO 1 O 2 Equal to about 100.29. The included angle is an obtuse angle, so that the interface of the sphere where the two points AB are positioned can be determined to be at the two sphere centers O 1 And O 2 Is outside the connection line of (c). In this example, the overlapping area of adjacent nodes and the coverage area of the nodes may be split into two segments via a sphere interface.
For a segment in a sphere of a coverage area of a node in an overlapping area of an adjacent node and the coverage area of the node, a perpendicular distance H from a notch plane center of the segment to a sphere surface of the coverage area of the node can be obtained according to the following calculation formula:
H=R a -R a cos∠AO 1 O 2
calculated, h=3.54, and r=r a =3, substituting the above known data into the volumetric calculation formula of the segment, the volume V of the segment can be obtained 1 71.61.
Similarly, a segment in the sphere of the coverage area of the neighboring node in the overlapping region of the neighboring node and the coverage area of the node can be calculated, the segment volume V 2 30.21.
The volume of the overlapping area of adjacent nodes and the coverage area of the node is the sum of the volumes of the two segments. In this example, the volume of the overlap is V 1 +V 2 =101.82。
It may thus be determined that, for a node, the degree of overlap of the coverage areas of neighboring nodes with the coverage area of the node may be determined as the ratio of the volume of the overlapping portion to the volume of the sphere of the coverage area of the node,
Although in the embodiments of fig. 5 and 6 the coverage area of the node is represented by a three-dimensional sphere, it will be appreciated by those skilled in the art that the coverage area in the method described above may also be reduced to a circle in a two-dimensional plane and the degree of overlap of the coverage areas calculated on the basis thereof.
Example 3: forwarding messages by forwarding probabilities
And determining the forwarding probability of the node forwarding the message based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node, wherein the forwarding probability and the overlapping degree are in a negative correlation. In some embodiments, the forwarding probability is a linear function of overlap, e.g., the forwarding probability is equal to 100% minus overlap. In one example, assuming an overlap of 50.58%, the probability of forwarding is 49.42%. In other embodiments, the forwarding probability is an exponential function with the overlap, e.g., the forwarding probability is equal to some constant coefficient multiplied by the negative overlap power of e. In one example, assuming a constant coefficient of 0.5, which is 50.58%, the forwarding probability is about 30.15%.
After obtaining the determined forwarding probability, the node generates a random number between 0 and 1 and compares the random number with the forwarding probability. If the random number is smaller than or equal to the forwarding probability, the node immediately forwards the message, otherwise, the node discards the message, so that the message can be forwarded through the corresponding forwarding probability under the condition of determining the overlapping degree. Because the forwarding probability is determined according to the overlapping degree of the coverage area of the node and the coverage area of the adjacent node, when the overlapping degree is higher, the probability of forwarding the message by the node is lower, and redundant repeated forwarding and network congestion can be avoided; when the overlapping degree is lower, the probability of the node forwarding the message is higher, so that the probability of the message reaching the target address can be improved.
Fig. 7 shows a flow diagram of a second embodiment of the method of the invention performed by a node in a bluetooth mesh network, in particular:
in step 702, a message is received from a neighboring node in a bluetooth mesh network. And the node judges whether the message needs to be forwarded or not according to the target address and the survival time in the message. By way of example and not limitation, a node determines whether a message needs forwarding based on a destination address and a time-to-live in the message. By way of example and not limitation, when the target address of a message is the current node or the lifetime of the message is 0, it is determined that the message does not need to be forwarded. When the target address of the message is not the current node and the lifetime of the message is not 0, it is determined that the message needs to be forwarded.
In step 704, in response to determining that the message needs to be forwarded, a network load at the node is determined. Optionally, the network load comprises a count of messages forwarded by the node per unit time before receiving the message. Optionally, the network load comprises a count of messages forwarded by all nodes in the network per unit time before the message was received.
In step 706, in response to the network load exceeding the threshold, probability-based forwarding is performed, including: (a) Determining the forwarding probability of the node forwarding information based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node, wherein the forwarding probability and the overlapping degree are in a negative correlation; (b) forwarding the message by forwarding probability. By way of example and not limitation, a node may count messages forwarded per second by the node by setting a timer, and if the count is greater than a threshold (which may be configured by the user himself as the case may be, one example default value of the threshold being 2), determine that the network load at the node is greater, and perform probability-based forwarding.
Embodiments according to the present disclosure propose a probability-based forwarding mechanism that can dynamically adjust forwarding policies according to network load at nodes. When the network load is small, in order to improve the success rate of message transmission, a probability-based forwarding mechanism is not started, and all messages needing to be forwarded are forwarded. When the network load is large, a probability-based forwarding mechanism is started, and whether to forward the message is determined according to a certain probability, so that redundant forwarding messages in the network are reduced. The technical scheme can effectively reduce network congestion, improve network throughput and transmission efficiency, and simultaneously ensure message reliability and timeliness.
Fig. 8 shows a flow diagram of a third embodiment of the method of the invention performed by a node in a bluetooth mesh network, in particular:
in step 802, a message is received from a neighboring node in a bluetooth mesh network. And the node judges whether the message needs to be forwarded or not according to the target address and the survival time in the message. By way of example and not limitation, a node determines whether a message needs forwarding based on a destination address and a time-to-live in the message. By way of example and not limitation, when the target address of a message is the current node or the lifetime of the message is 0, it is determined that the message does not need to be forwarded. When the target address of the message is not the current node and the lifetime of the message is not 0, it is determined that the message needs to be forwarded.
In step 804, in response to determining that the message needs to be forwarded, it is determined whether the message is a retransmitted message. Optionally, determining whether the message is a retransmitted message includes: determining whether an identification code in the message is included in a list of received message identification codes for the nodes; if yes, determining the message to be a retransmission message; wherein the identification code comprises a cyclic redundancy check code. Although a cyclic redundancy check (Cyclic Redundancy Check, abbreviated CRC) is typically used to check the integrity of a message, the present invention creatively uses the cyclic redundancy check as a unique identification of the message, i.e., an identification code that determines whether the message is a retransmitted message. This is because in the solution of the present invention, the CRC of each stored message is only present for a short time (in most cases not exceeding 1 second), resulting in a very low probability of CRC collisions for different messages and thus the CRC can be used as an identification code for retransmission messages.
In step 806, in response to determining that the message is a retransmitted message, immediately forwarding the message; in response to determining that the message is a non-retransmission message, performing probability-based forwarding, including: (a) Determining the forwarding probability of the node forwarding information based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node, wherein the forwarding probability and the overlapping degree are in a negative correlation; (b) forwarding the message by forwarding probability.
The embodiment of the disclosure provides a probability-based forwarding mechanism, which can rapidly and accurately identify a retransmission message according to an identification code in the message and immediately forward the retransmission message, thereby avoiding delay and loss of the retransmission message. Meanwhile, for non-retransmission messages, the embodiment of the disclosure adopts a probability-based forwarding mechanism, dynamically adjusts forwarding probability according to the overlapping degree of the coverage area of the adjacent node and the coverage area of the node, reduces redundant forwarding messages in a network, reduces network congestion, and improves network throughput and transmission efficiency. The embodiment of the disclosure can effectively improve the reliability and timeliness of the messages in the Bluetooth mesh network, and is suitable for various scenes needing efficient communication.
Fig. 9 shows a flow diagram of a fourth embodiment of the method of the invention performed by a node in a bluetooth mesh network, in particular:
in step 902, a message is received from a neighboring node in a bluetooth mesh network. And the node judges whether the message needs to be forwarded or not according to the target address and the survival time in the message. By way of example and not limitation, a node determines whether a message needs forwarding based on a destination address and a time-to-live in the message. By way of example and not limitation, when the target address of a message is the current node or the lifetime of the message is 0, it is determined that the message does not need to be forwarded. When the target address of the message is not the current node and the lifetime of the message is not 0, it is determined that the message needs to be forwarded.
In step 904, in response to determining that the message needs to be forwarded, a network load at the node is determined. Optionally, the network load comprises a count of messages forwarded by the node per unit time before receiving the message. Optionally, the network load comprises a count of messages forwarded by all nodes in the network per unit time before the message was received.
In step 906, in response to the network load exceeding a threshold, it is determined whether the message is a retransmitted message. Optionally, determining whether the message is a retransmitted message includes: determining whether an identification code in the message is included in a list of received message identification codes for the nodes; if yes, determining the message to be a retransmission message; wherein the identification code comprises a cyclic redundancy check code.
In step 908, in response to determining that the message is a retransmitted message, immediately forwarding the message; in response to determining that the message is a non-retransmission message, performing probability-based forwarding, including: (a) Determining the forwarding probability of the node forwarding information based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node, wherein the forwarding probability and the overlapping degree are in a negative correlation; (b) forwarding the message by forwarding probability.
The embodiment of the disclosure provides a probability-based forwarding mechanism, which can determine whether to enable the probability-based forwarding mechanism according to network load, and simultaneously, rapidly and accurately identify and immediately forward retransmission messages by utilizing identification codes in the messages, thereby avoiding delay and loss of the retransmission messages. The efficiency of the Bluetooth mesh network is improved, and meanwhile, the safety and reliability of the network are also improved.
Fig. 10 shows a flow diagram of an embodiment of another method of the invention performed by a node in a bluetooth mesh network, in particular:
in step 1002, a message is received from a neighboring node in a bluetooth mesh network. By way of example and not limitation, a node determines whether a message needs forwarding based on a destination address and a time-to-live in the message. By way of example and not limitation, when the target address of a message is the current node or the lifetime of the message is 0, it is determined that the message does not need to be forwarded. When the target address of the message is not the current node and the lifetime of the message is not 0, it is determined that the message needs to be forwarded.
In step 1004, in response to determining that the message needs forwarding, probability-based forwarding is performed, including: (a) Judging whether the transmitting power of the adjacent node is the same as the transmitting power of the node; (b) Determining the forwarding probability of the node forwarding the message based on the distance between the adjacent node and the node in response to the same transmitting power between the adjacent node and the node, wherein the forwarding probability and the distance are in a negative correlation; and determining a forwarding probability of the node forwarding the message based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node in response to the difference of the transmission power of the adjacent node and the node, wherein the forwarding probability and the overlapping degree are in a negative correlation; (c) forwarding the message by forwarding probability. By way of example and not limitation, where the transmit power of a neighboring node is the same as that of the node, the distance between the two nodes may be used to estimate the degree of overlap of the coverage areas of the node and the neighboring node. Thus, the forwarding probability of a node forwarding a message can be determined based on the distance. For example, the larger the distance between the two, the lower the forwarding probability.
Optionally, the method further comprises determining a distance of the neighboring node from the node in response to the neighboring node being at the same transmit power as the node.
Optionally, the method further comprises determining a degree of overlap of a coverage area of the neighboring node with a coverage area of the node in response to the neighboring node differing in transmit power from the node. By way of example and not limitation, a node may determine the degree of overlap of the coverage area of a neighboring node with the coverage area of the node prior to performing probability-based forwarding, thereby avoiding effects due to changes in the location of the node or neighboring node or changes in transmit power.
Further optionally, determining the overlap of the coverage area of the neighboring node with the coverage area of the node includes: (i) Determining the volume of the overlapped part of the sphere of the coverage area of the adjacent node and the sphere of the coverage area of the node according to the sphere radius of the coverage area of the adjacent node, the sphere radius of the coverage area of the node and the distance between the adjacent node and the node; (ii) Determining a ratio of the volume of the overlapping portion to a sphere volume of a coverage area of the node; wherein the overlap is determined based on the duty cycle.
Optionally, the sphere radius of the coverage area of the neighboring node is determined by obtaining the transmit power of the neighboring node; and the sphere radius of the coverage area of the node is determined by taking the transmit power of the node.
Optionally, the distance of the neighboring node from the node is determined based on a received signal strength indication RSSI of a signal received from the neighboring node and a transmit power of the neighboring node.
Optionally, the distance of the neighboring node from the node is determined based on GPS coordinates of the neighboring node from the node.
Optionally, the distance of the neighboring node from the node is determined by infrared ranging.
Optionally, forwarding the message by forwarding the probability includes: generating a random number, and comparing the random number with the forwarding probability; and, in response to the random number being less than or equal to the forwarding probability, immediately forwarding the message.
In another embodiment, before step 1004, the method may further include the following steps: in response to determining that the message needs to be forwarded, determining a network capacity at the node; and performing probability-based forwarding in response to the network load exceeding a threshold.
In yet another embodiment, before step 1004, the following steps may be further included: in response to determining that the message needs to be forwarded, determining whether the message is a retransmitted message; and in response to determining that the message is a retransmitted message, immediately forwarding the message.
In yet another embodiment, before step 1004, the method may further include the following steps: in response to determining that the message needs to be forwarded, determining a network capacity at the node; and determining whether the message is a retransmitted message in response to the network load exceeding a threshold; and in response to determining that the message is a retransmitted message, immediately forwarding the message.
Optionally, determining whether the message is a retransmitted message includes: determining whether an identification code in the message is included in a list of received message identification codes for the nodes; if yes, determining the message to be a retransmission message; wherein the identification code comprises a cyclic redundancy check code.
As shown in fig. 11, there is shown a schematic diagram of a node apparatus for operating in a bluetooth mesh network according to an embodiment of the present invention, the node apparatus including: a processor 1102; and a memory 1104, wherein the memory stores computer instructions that, when executed by the processor 1102, cause the processor 1104 to perform any of the methods as described above.
According to an embodiment of the present invention there is also provided a computer readable storage medium comprising computer readable instructions which, when loaded onto a computer of a node apparatus, performs any of the methods according to the above, and the node apparatus is arranged for operation in a bluetooth mesh network.
Example 1 of the preferred embodiment
Fig. 12 is a flow chart illustrating an example of a specific embodiment of a method performed by a node in a bluetooth mesh network according to the present invention.
In this particular embodiment, a scheme for optimizing message forwarding mechanisms performed by network nodes in a bluetooth mesh network is disclosed.
Specifically, in step 1202, the node receives a message, which may be a network layer PDU, from a neighboring node in a Bluetooth mesh network, and the message includes a destination address field and a TTL field. In step 1204, the node checks whether the destination address field is the same as the address of the node. If so, it indicates that the message is addressed to the node, and the process continues with step 1206, where the message is processed according to the contents of the DATA field of the message. If the destination address is different from the address of the node, it indicates that the message needs to be forwarded to other nodes, and the process continues to step 1208. In step 1208, it is checked whether the TTL field of the message is greater than 0. If equal to 0, indicating that the message has reached a maximum number of forwarding times, go to step 1210 to discard the message; if the TTL field of the message is greater than 0, the message can be forwarded further for further operation.
In one embodiment, in optional step 1212, the node determines whether the network is busy. For example, a node may determine whether the network load is too high by comparing the number of messages forwarded by the node per second to a threshold. If the network load is determined to be too high, adopting a forwarding mode based on probability. If it is determined that the network load is not too high, step 1214 is entered by subtracting 1 from the TTL field in the message and forwarding the updated message. By way of example only and not limitation, the node may perform step 1212 using a network load determiner that is primarily used to determine whether to turn on the probability-based forwarding mode. When the network load is low, the node forwards all received messages in order to guarantee the arrival rate of the messages. When the network load is high, in order to reduce unnecessary repeated forwarding and network congestion, the node decides whether to forward the message according to a certain probability. Specifically, in this solution, a timer may count the messages forwarded every second, and once the count is greater than a threshold, it is determined that the network load is high, and at this time, a probability-based forwarding mode is started.
In one embodiment, in optional step 1216, the node determines whether the message is a retransmitted message. If it is determined that the message is a retransmitted message, step 1214 is entered, the TTL field in the message is decremented by 1, and the updated message is then forwarded. If it is determined that the message is not a retransmission message, the probability-based forwarding operation continues to be performed. By way of example only and not limitation, the node may perform step 1216 using a message retransmission determiner.
After the probability-based forwarding mode is started, an extreme situation may occur, resulting in that the message does not reach the destination node. To avoid this, and to increase the arrival rate of the message, the source node may retransmit the message without receiving an ACK message from the destination node. After receiving the retransmission message, the intermediate node directly forwards the message so as to ensure that the message can reach the destination node to the greatest extent. The message retransmission of the source node is a function specified in the protocol, i.e. if the node does not receive an ACK message within a certain time, the message is retransmitted. The bluetooth mesh network protocol specification specifies that the timeout time of the message retransmission timer is: 200ms+50ms TTL.
According to an embodiment of the present invention, each node maintains a linked list (which uses a queue, tree, or other data structure) that holds the 32-bit cyclic redundancy check code of each received message as the message's identification code. Each data unit in the linked list has a timer, and if the corresponding timer expires, the message is deleted from the linked list indicating that the message has not been retransmitted within a specified time.
In the present invention, since the node needs to determine whether the received data packet is a retransmission message, the timer setting of the data units in the linked list needs to take into account a variety of factors. If the set timeout is too short, it may happen that the source node is still in the period waiting for the ACK message (timeout set by the message retransmission timer), and has not yet sent a retransmission message; if the set timeout time is too long, too much data in the linked list can be caused, and more storage space is occupied. Specifically, in one example, the timer for a data unit in the linked list may set a timeout time to: 800ms+ (50 ms+30 ms) TTL. In this case, since the node needs to perform the underlying data processing, for example, the source node needs to perform the retransmission operation, and the intermediate node needs to determine whether the received message is a retransmission message, in this example, a redundancy time of 30ms is provided for each forwarding node. Furthermore, since the TTL value of the message received by the intermediate node will decrease gradually, for example, the TTL of the message of the intermediate node after the multi-hop may be much smaller than the TTL value of the message of the source node, in order to avoid that the timeout time of the data unit in the linked list is smaller than the time of the message retransmission timer, a larger fixed value (800 ms) is set in the above-mentioned example calculation formula.
After the probability-based forwarding mode is started, step 1218 is performed, in which the node calculates a forwarding probability for each received message that needs to be forwarded. By way of example only and not limitation, the node may perform step 1218 using one forwarding controller. In a specific example, the node determines forwarding efficiency by evaluating and calculating the overlap of the coverage area of the neighboring node and the coverage area of the node, wherein the forwarding probability and the overlap are in a negative correlation. Specifically, determining the volume of the overlapped part of the sphere of the coverage area of the adjacent node and the sphere of the coverage area of the node according to the sphere radius of the coverage area of the adjacent node, the sphere radius of the coverage area of the node and the distance between the adjacent node and the node; determining a ratio of the volume of the overlapping portion to a sphere volume of a coverage area of the node; wherein the overlap is determined based on the duty cycle. In another alternative specific example, the method may be further optimized to conserve computing resources. Specifically, it is first determined whether the transmission power of the neighboring node is the same as the transmission power of the node. If the transmission power of the adjacent node is the same as that of the node, determining the forwarding probability of the node for forwarding the message based on the distance between the adjacent node and the node, wherein the forwarding probability and the distance are in a negative correlation. In this case, since the transmission power of the neighboring node is the same as that of the node, the radii of the signal coverage areas of the neighboring node and the node are approximately equal, and thus the distance between the two nodes can be used to evaluate the signal overlap of the two nodes. For example, when the received strength of the signal received from the neighboring node indicates that the RSSI exceeds a certain threshold, it may be determined that the two are very close together, and thus the overlap of the signal coverage areas of the two is high. In addition, the distance between adjacent nodes can be determined by using methods such as GPS coordinates, infrared ranging or ultrasonic ranging, and the forwarding probability can be determined according to the distance. If the transmission power of the adjacent node is different from that of the node, determining the forwarding probability of the node for forwarding the message based on the overlapping degree of the coverage area of the adjacent node and the coverage area of the node, wherein the forwarding probability and the overlapping degree are in a negative correlation. Specifically, the overlap calculation method may employ any of the example methods described above.
Further, in step 1220, a random number having a value in the range of 0-1 is generated. In step 1222, it is determined whether the generated random number is less than or equal to the forwarding probability, if so, step 1214 is entered, and if not, step 1210 is entered, and the message is discarded.
Example 2 of the preferred embodiment
Fig. 13 is a flow chart illustrating an example of another specific embodiment of a method performed by a node in a bluetooth mesh network according to the present invention.
In this example, the node receives a message to be forwarded from a neighboring node. The message may be a data packet or a broadcast packet sent by other nodes to the destination node. In order to efficiently forward messages and avoid repeated forwarding or network congestion, the present embodiment employs the following steps.
In block 1302, the steps performed by the network load determiner include: and counting the number of the forwarded messages of the current node by using a timer, and judging whether the 1s time is reached. If the 1s time does not arrive, the number of the forwarded messages is counted continuously, and if the 1s time is arrived, whether the number of the forwarded messages per second exceeds a preset threshold value is further judged. If the number of the forwarded messages per second does not exceed the threshold value, directly forwarding the messages, and clearing the number of the forwarded messages of the nodes; if the message forwarded per second exceeds the threshold, the next step is entered.
In block 1304 are steps performed by a retransmission message arbiter, comprising: and calculating the CRC check code of the message, comparing the CRC check code with the CRC check code stored in the linked list, and judging whether the same check code exists in the linked list. If the same check code is already present, the message is determined to be a retransmitted message and discarded. If the same CRC check code does not appear in the linked list, determining that the message is a non-retransmission message, storing the CRC check code of the message into the linked list, and entering the next step.
In block 1306 is a step performed by a forwarding controller, including: the overlap of the coverage area of the neighboring node that sent the message with the coverage area of the node is determined. Based on the degree of overlap, a forwarding probability of the node forwarding the message is determined. Further, a random number having a value in the range of 0-1 is generated. Judging whether the generated random number is smaller than or equal to the forwarding probability, if so, forwarding the message, otherwise, discarding the message.
Example 3 of the preferred embodiment
To further illustrate the effect of the solution of the invention, a total of 200 rounds of messaging tests were performed in a simulation experiment. Wherein, the message forwarding mechanism of the non-optimized Bluetooth mesh network is used in the first 100 rounds, and the technical scheme of the present disclosure is applied in the second 100 rounds. Fig. 14 shows the number of messages forwarded and the time delay of receiving messages by a node in a 200 round messaging test. In fig. 14, the dashed line represents the number of messages (in units of one) forwarded by the node, and the solid line represents the delay (in units of milliseconds) in receiving a message by the node, where the delay in receiving a message refers to the time from when the source node sends a message to when it receives a message reply from the destination node.
As can be seen from fig. 14, after using the present solution (i.e. in the last 100 rounds of testing), the number of messages forwarded by the node and the delay of receiving the message are both greatly reduced. Specifically, the number of node forwarding messages is reduced from 49 to about 21 per round on average by about 57% before and after the 100 th round of testing; the delay in receiving messages by the node is reduced from about 249 milliseconds per round on average to about 128 milliseconds or so, by 48.6 percent. This shows that the scheme can effectively reduce network load and improve message transmission efficiency, and network performance is greatly improved.
It should be appreciated that the network load determiner, forwarding controller, message retransmission determiner described above may all be implemented as computer programs executed by a processor.
By the probability-based message forwarding method, the probability forwarding scheme can avoid the condition that redundant messages in a network are too many to influence communication.
In summary, the method of the invention can reduce the problem of data packet congestion caused by excessive forwarding information in the network, and can optimize the information forwarding flow, thereby improving the timeliness and efficiency of network communication.
While various embodiments of the various aspects of the present invention have been described for the purposes of this disclosure, it should not be construed that the teachings of this disclosure are limited to these embodiments. Features disclosed in one particular embodiment are not limited to that embodiment, but may be combined with features disclosed in a different embodiment. For example, one or more features and/or operations of the method according to the invention described in one embodiment may also be applied in another embodiment, alone, in combination, or in whole. Furthermore, it should be understood that the method steps described above may be performed sequentially, in parallel, combined into fewer steps, split into more steps, combined and/or omitted in a different manner than described. It will be appreciated by a person skilled in the art that there are also many alternative embodiments and variants possible, and that various changes and modifications may be made to the method steps described above without departing from the scope of the invention as defined by the claims.

Claims (15)

1. A method performed by a node in a bluetooth mesh network, the method comprising:
-receiving a message from a neighboring node in the bluetooth mesh network;
-in response to determining that the message needs forwarding, performing probability-based forwarding comprising:
-determining whether the transmit power of the neighboring node is the same as the transmit power of the node;
-determining a forwarding probability for the node to forward the message based on a distance of the neighboring node from the node in response to the neighboring node being at the same transmit power as the node, wherein the forwarding probability is inversely related to the distance; and determining a forwarding probability of the node forwarding the message based on a degree of overlap of a coverage area of the neighboring node and a coverage area of the node in response to the neighboring node and the node being different in transmit power,
wherein the forwarding probability and the degree of overlap are in a negative correlation;
-forwarding the message by the forwarding probability.
2. The method of claim 1, wherein,
the method further comprises the steps of: and determining the distance between the adjacent node and the node in response to the transmission power of the adjacent node and the node being the same.
3. The method of claim 1, wherein,
the method further comprises the steps of: and determining the overlapping degree of the coverage area of the adjacent node and the coverage area of the node in response to the difference of the transmission power of the adjacent node and the node.
4. The method of claim 1, wherein,
the determining the overlapping degree of the coverage area of the adjacent node and the coverage area of the node comprises:
-determining a volume of an overlapping portion of the sphere of the coverage area of the neighboring node and the sphere of the coverage area of the node from a sphere radius of the coverage area of the neighboring node, a sphere radius of the coverage area of the node, and a distance of the neighboring node from the node;
-determining the ratio of the volume of the overlapping portion in the sphere volume of the coverage area of the node;
wherein the overlap is determined based on the duty cycle.
5. The method of claim 4, wherein,
the sphere radius of the coverage area of the adjacent node is determined by acquiring the transmission power of the adjacent node; and
the sphere radius of the coverage area of the node is determined by taking the transmit power of the node.
6. The method of claim 1, wherein,
the distance of the neighboring node from the node is determined based on a received signal strength indication, RSSI, of a signal received from the neighboring node and a transmit power of the neighboring node.
7. The method of claim 1, wherein,
the distance of the neighboring node from the node is determined based on the GPS coordinates of the neighboring node and the node.
8. The method of claim 1, wherein,
the distance of the neighboring node from the node is determined by infrared ranging.
9. The method of claim 1, wherein,
the forwarding the message by forwarding probability includes:
-generating a random number, comparing the random number with the forwarding probability; and
-forwarding the message immediately in response to the random number being less than or equal to the forwarding probability.
10. The method of claim 1, wherein,
in response to determining that the message needs to be forwarded, further comprising:
-determining a network load amount at the node; and
-performing said probability-based forwarding in response to said network load exceeding a threshold.
11. The method as recited in claim 1, further comprising:
in response to determining that the message needs to be forwarded, further comprising:
-determining whether the message is a retransmitted message; the method comprises the steps of,
-forwarding the message immediately in response to determining that the message is a retransmitted message.
12. The method of claim 11, wherein,
the determining whether the message is a retransmitted message includes: determining whether an identification code in the message is included in a received message identification code list of the node; if yes, determining that the message is a retransmission message; wherein the identification code comprises a cyclic redundancy check code.
13. The method of claim 1, wherein,
the network load comprises a count of messages forwarded by the node per unit time before the message was received.
14. A node apparatus for operating in a bluetooth mesh network, comprising:
a processor; and
a memory, wherein the memory stores computer instructions that, when executed by the processor, cause the processor to perform the method of any of claims 1-13.
15. A computer-readable storage medium comprising computer-readable instructions, characterized in that
The computer readable instructions, when loaded onto a computer of a node apparatus, the node apparatus being arranged for operation in a bluetooth mesh network, perform the method according to any of claims 1-13.
CN202310790485.8A 2023-06-29 2023-06-29 Message forwarding method executed by nodes in Bluetooth mesh network Pending CN116669099A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310790485.8A CN116669099A (en) 2023-06-29 2023-06-29 Message forwarding method executed by nodes in Bluetooth mesh network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310790485.8A CN116669099A (en) 2023-06-29 2023-06-29 Message forwarding method executed by nodes in Bluetooth mesh network

Publications (1)

Publication Number Publication Date
CN116669099A true CN116669099A (en) 2023-08-29

Family

ID=87722493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310790485.8A Pending CN116669099A (en) 2023-06-29 2023-06-29 Message forwarding method executed by nodes in Bluetooth mesh network

Country Status (1)

Country Link
CN (1) CN116669099A (en)

Similar Documents

Publication Publication Date Title
Vuran et al. XLP: A cross-layer protocol for efficient communication in wireless sensor networks
US6751196B1 (en) Apparatus and method for peer-to-peer link monitoring of a wireless network with centralized control
Park et al. A scalable approach for reliable downstream data delivery in wireless sensor networks
US7310761B2 (en) Apparatus and method for retransmitting data packets in mobile ad hoc network environment
US9504051B2 (en) Signal strength guided intra-cell upstream data forwarding
AU2018442113B2 (en) Model based path selection in a bluetooth low energy, BLE, mesh network
Feng et al. Stateless multicast protocol for ad hoc networks
US20050201346A1 (en) Systems and methods for broadband data communication in a wireless mesh network
Mu An improved AODV routing for the zigbee heterogeneous networks in 5G environment
Spachos et al. Performance comparison of opportunistic routing schemes in wireless sensor networks
Nadeem et al. IEEE 802.11 fragmentation-aware energy-efficient ad-hoc routing protocols
CN116669099A (en) Message forwarding method executed by nodes in Bluetooth mesh network
CN116582883A (en) Message forwarding method executed by nodes in Bluetooth mesh network
Harikishore et al. “Ant colony optimization based energy efficiency for improving opportunistic routing in multimedia wireless mesh network
Kokuti et al. Location based data dissemination in mobile ad hoc networks
Uhlemann et al. Joint design of relay and packet combining schemes for wireless industrial networks
Bachran et al. A framework for multicast and quality based forwarding in manets.
Ingelrest et al. Routing and Broadcasting in Hybrid Ad Hoc and Sensor Networks.
Hall et al. DV/DRP: A content-based networking protocol for sensor networks
Li et al. Energy efficient reactive store-and-forward protocol for intermittently connected networks
CN113170375B (en) Detecting critical links in bluetooth mesh networks
US20230189117A1 (en) Packet routing in a layer 2 mesh network
Duan et al. A QoS Opportunistic Routing Based on Directional Transmission for Wireless Sensor Networks
Rusli et al. Quality aware opportunistic routing protocol with adaptive coordination scheme for wireless sensor networks
Ould Khaoua et al. On efficient interest forwarding in named data networks over IEEE 802.15. 4: a comprehensive performance evaluation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination