Broadcast residence time overload in asynchronous channel-hopping mesh networks
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-04-13
- Publication Date
- 2026-04-03
AI Technical Summary
In large or densely populated asynchronous channel hopping mesh networks, constrained nodes face challenges in communicating unicast messages due to limited memory for monitoring neighboring nodes, leading to potential collisions and inefficient network traffic.
Nodes utilize broadcast dwell periods to send unicast messages by determining a broadcast dwell period based on a broadcast channel hopping sequence, allowing communication with unmonitored neighboring nodes during these periods, optimizing network traffic.
This approach reduces collisions and enhances communication efficiency by leveraging broadcast dwell periods for unicast message transmission, even in constrained nodes with limited memory resources.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates generally to communication in an asynchronous channel hopping network, and more particularly to communicating unicast messages using one or more broadcast dwell intervals in an asynchronous channel hopping mesh network. [Background technology]
[0002] Some resource providers utilize channel hopping mesh networks to provide a communication platform for various networked nodes. For example, resource providers such as utility companies, home automation providers, industrial monitoring providers, scientific application providers, etc. may monitor their networked nodes via channel hopping mesh networks. In some cases, asynchronous channel hopping mesh networks may be used to optimize network traffic.
[0003] One example of an asynchronous channel hopping mesh network is a Wi-SUN field area network (FAN) that utilizes the IEEE 802.15.4 2015 standard. A Wi-SUN FAN network may include one or more personal area mesh networks (PANs) that utilize a Wi-SUN FAN profile or protocol. Additionally, a Wi-SUN FAN network may include multiple Wi-SUN FAN nodes, and in some cases, multiple tiers of Wi-SUN FAN nodes. Summary of the Invention
[0004] The systems and methods of the present invention provide techniques for communication in an asynchronous channel hopping network. Devices located at a facility may include nodes. The nodes may be connected to a network along with a number of other nodes and may communicate with a central system over the network. The devices may be configured to communicate messages using one or more broadcast dwell periods in the asynchronous channel hopping mesh network.
[0005] In one example, a node comprises a processor, a wireless transceiver communicatively coupled to the processor and configured to receive communications based on a channel hopping timing period and a channel hopping sequence, and a memory communicatively coupled to the processor, the memory including instructions executable by the processor that, when executed by the processor, cause the processor to: store a broadcast channel hopping timing period and a broadcast channel hopping sequence; store channel hopping timing and a channel hopping sequence for each of a plurality of monitored neighboring nodes; determine whether a destination node of a message corresponds to any of the plurality of monitored neighboring nodes; based on a determination that the destination node does not correspond to any of the plurality of monitored neighboring nodes, (i) determine a broadcast dwell period based on the broadcast channel hopping timing period and (ii) determine a next broadcast channel based on the broadcast channel hopping sequence; and transmit a signal that causes the wireless transceiver to transmit a message to the destination node during the broadcast dwell period.
[0006] An example method for transmitting a message in an asynchronous channel hopping wireless network includes a node storing a first channel hopping timing period and a first channel hopping sequence for the node, where the node includes a wireless transceiver and a processor, and the wireless transceiver of the node is configured to receive communications based on the first channel hopping timing period and the first channel hopping sequence. The example method also includes the node storing a broadcast channel hopping timing period and a broadcast channel hopping sequence; the node storing a channel hopping timing period and a channel hopping sequence for each of a plurality of monitored neighboring nodes; the node determining whether a destination node of a unicast message pending at the node corresponds to any of the plurality of monitored neighboring nodes; based on a determination that the destination node of the unicast message does not correspond to any of the monitored neighboring nodes, the node (i) determining a next broadcast dwell period based on the broadcast channel hopping timing period and (ii) determining a next broadcast channel based on the broadcast channel hopping sequence; and the node transmitting the unicast message to the destination node during the next broadcast dwell period.
[0007] In another example, a system includes a first node and a second node, the first node comprising a first processor, a first wireless transceiver communicatively coupled to the first processor and configured to receive communications based on a channel hopping timing period and a channel hopping sequence, and a first memory communicatively coupled to the first processor, the first memory including instructions executable by the first processor that, when executed by the first processor, cause the first processor to: store a first broadcast channel hopping timing period and a first broadcast channel hopping sequence; store channel hopping timing and a channel hopping sequence for each of a plurality of neighboring nodes; determine whether a second node of a unicast message corresponds to any of a plurality of monitoring neighboring nodes; and, based on a determination that the second node does not correspond to any of the plurality of monitoring neighboring nodes, (i) determine a broadcast dwell period based on the first broadcast channel hopping timing period and (ii) determine a next broadcast channel based on the first broadcast channel hopping sequence; and transmit a signal causing the wireless transceiver to transmit a unicast message to the second node during the broadcast dwell period. The second node comprises a second processor, a second wireless transceiver communicatively coupled to the second processor and configured to receive communications based on a second broadcast channel hopping timing period and a second broadcast channel hopping sequence, and a second memory communicatively coupled to the second processor.The second memory includes instructions executable by the second processor, which, when executed by the second processor, causes the second processor to store a second broadcast channel hopping timing period and a second broadcast channel hopping sequence; (i) determine a broadcast dwell period based on the second broadcast channel hopping timing period and (ii) determine a next broadcast channel based on the second broadcast channel hopping sequence; detect a unicast message during the broadcast dwell period; and in response to detecting the unicast message during the broadcast dwell period, cease transmitting the broadcast message during the broadcast dwell period.
[0008] The above and other features, aspects, and advantages of the present disclosure will become better understood from the following detailed description when taken in conjunction with the accompanying drawings. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 illustrates an example network environment for overloading a broadcast dwell period in an asynchronous channel hopping mesh network in accordance with certain aspects of the present disclosure. [Diagram 2] FIG. 2 illustrates example network communications in a network environment for overloading broadcast dwell periods in an asynchronous channel hopping mesh network in accordance with certain aspects of the present disclosure. [Diagram 3] FIG. 3 illustrates an exemplary node in accordance with certain aspects of the present disclosure. [Figure 4] FIG. 4 illustrates an example method for overloading a broadcast dwell period in an asynchronous channel hopping mesh network in accordance with certain aspects of the present disclosure. [Diagram 5] FIG. 5 illustrates another exemplary method for overloading a broadcast dwell period in an asynchronous channel hopping mesh network. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Aspects of the present invention use a broadcast dwell period in an asynchronous channel hopping mesh network to communicate a specific unicast message. A further aspect of the present invention can optimize network traffic by overloading the asynchronous channel hopping mesh network during the broadcast dwell period. Particular aspects of the present invention include overloading the asynchronous channel hopping mesh network by using the broadcast dwell period to communicate both broadcast messages and specific unicast messages. In the present disclosure, overloading includes, for example, being able to communicate messages other than broadcast messages using the broadcast channel during the broadcast dwell period. The following non-limiting examples are provided to introduce particular aspects of the present disclosure.
[0011] In one example, an asynchronous Wi-SUN FAN network can facilitate communication between Wi-SUN FAN nodes, for example, via a channel hopping sequence of Wi-SUN FAN slotframes. These slotframes may include a series of time slots (e.g., unicast periods, unicast dwell periods, broadcast periods, or broadcast dwell periods, etc.). Furthermore, because these slotframes include asynchronous unicast dwell periods, each node in the Wi-SUN FAN PAN may include different channel timing, channel sequences, or both.
[0012] In such asynchronous channel hopping mesh networks (e.g., Wi-SUN FAN), each node in the PAN maintains its own channel hopping timing and channel hopping sequence. If a node needs to transmit a unicast frame to a neighboring node, the node must first monitor the neighboring node (e.g., the channel hopping timing and channel hopping sequence of the neighboring node). However, for nodes in a large or dense PAN, or for constrained nodes, this can be problematic. For example, a constrained node may have a limited amount of memory available to monitor neighboring nodes. In such a case, the constrained node may determine that it needs to send a message (e.g., a unicast message or a unicast frame) to a particular neighboring node that is not being monitored.
[0013] In channel hopping networks that contain large, densely populated, or constrained nodes, significant communication problems can occur. For example, a large or densely populated PAN can contain a large number of nodes. As a result, there can be a large number of nodes with which a node may communicate. This number can be larger than the amount of memory allocated to monitor neighboring nodes. This is especially true if the node is a constrained node with a more limited amount of memory.
[0014] In each of these cases, it may be preferable for a node to use the broadcast residence period to send a message to another node, e.g., send a unicast message during the broadcast residence period. In one example, a node may overload a broadcast residence period by sending a unicast message to a destination node in the mesh network.
[0015] (Example operating environment) The present invention can operate within a node of a network, which node includes a channel hopping timing and a channel hopping sequence. Figure 1 shows an exemplary communication network 100 including an asynchronous channel hopping mesh network. The exemplary communication network 100 includes PAN coordinators 102, 142 and nodes 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, and 138, each of which can communicate with a headend 140 via communication networks 144, 146.
[0016] In this example, the headend 140 communicates with the PAN coordinators 102, 142 and the nodes 104-138 via communication networks 144, 146. The communication networks 144, 146 may include a telephone network, a wireless telephone network, a wireless personal area network (WPAN), a local area network (LAN), a wide area network (WAN), a metro area network (MAN), another data network, or other suitable communication network. In some examples, the headend 140 may provide centralized control over an asynchronous channel hopping mesh network via the communication networks 144, 146.
[0017] For example, the headend 140 can provide network information that directs centralized control of the PAN. For example, the headend 140 can transmit network information for the PAN to a PAN coordinator (e.g., either PAN coordinator 102, 142). The network information may include network parameters for operation within the PAN, such as broadcast timing information, network traffic information, bandwidth constraints, etc. However, in other examples, the PAN coordinator (e.g., either PAN coordinator 102, 142) can provide these centralized controls for the nodes included within that PAN (e.g., each of nodes 104-136, or 138).
[0018] The headend 140 can distribute network information using various types of communication signals. For example, the headend 140 can communicate network information using radio frequency (RF) signals, Global System for Mobile Communications (GSM) signals, low power radio (LPR) signals, media independent signals, consumer signals, other electrical signals, etc. In some examples, the headend 140 can provide monitoring services (e.g., outages, uptime, health), geographic information, data collection (e.g., meter data, connectivity, quality of service). Additionally, the headend 140 may be capable of sending messages or notifications to various network elements, such as the PAN coordinators 102, 142, the nodes 104-138, etc.
[0019] For example, the headend 140 can provide network information, including broadcast scheduling parameters, to the PAN coordinator 102. In response, the PAN coordinator 102 can generate and distribute a synchronized broadcast schedule based on these broadcast scheduling parameters. In some examples, the broadcast scheduling parameters can dictate the frequency or periodicity of a broadcast period or a broadcast dwell period. Additionally, the broadcast scheduling parameters can dictate or specify a particular channel to be utilized to transmit messages during a broadcast period or a broadcast dwell period.
[0020] Continuing with the exemplary communication network 100 shown in FIG. 1, the exemplary communication network 100 includes PAN coordinators 102, 142. In this example, the PAN coordinators 102, 142 facilitate communication across the respective PANs. In some examples, each of the PAN coordinators 102, 142 may be a border router, a critical node, a root node, a gateway router, an external router, or other suitable gateway device. Additionally, the PAN coordinators 102, 142 maintain network information for the respective PANs. For example, the PAN coordinators 102, 142 may include storage, memory, other data repositories, etc. that include the network information. In some examples, the PAN coordinators 102, 142 may store network information including a synchronous broadcast schedule, a PAN identifier (ID), a network ID, a network topology, network information for any number of connected devices (e.g., asynchronous unicast schedules for nodes 104-136), other network characteristics, or a combination thereof.
[0021] In this example, the PAN coordinator 102 is a node that coordinates communications across a PAN that includes various neighboring nodes 104-136. Further, in this example, the PAN coordinator 102 is a border router that facilitates communications between the PAN and a headend 140 via a communications network 144. For illustrative purposes, the exemplary communications network 100 also includes another PAN coordinator 142 that coordinates communications across a different PAN and communicates with at least node 138. The PAN coordinator 102 is a parent node that communicates with each of its child nodes 104, 106. And, the PAN coordinator 102 is a grandparent node that communicates with each of its grandchild nodes 108-114, great-grandchild nodes 116-126, and great-great-grandchild nodes 128-136.
[0022] In some examples, the PAN coordinator 102 may establish, form, manage, or modify its PAN. To perform these tasks, the PAN coordinator 102 may require significantly more resources (e.g., processing power, persistent storage, memory, etc.) than other nodes in the PAN. In addition, storing various network information may also require the allocation of more resources to the PAN coordinator 102. Thus, the PAN coordinator 102 is not typically a constrained device. However, in other examples, the PAN coordinator 102 may be a constrained device. For example, the PAN coordinator 102 may be a constrained device, such as a legacy device, or the PAN coordinator 102 may be located in a large or densely populated PAN.
[0023] In this example, the PAN coordinator 102 includes sufficient resources (e.g., memory) to monitor all 17 nodes 104-136 in its PAN. For example, the PAN coordinator 102 may know asynchronous unicast schedule information for each of the total 17 nodes in the PAN. The PAN coordinator 102 can monitor the unicast channel hopping timing and unicast channel hopping sequence of each of the nodes 104-136. In some examples, the PAN coordinator 102 may have network information indicating that a particular node in its PAN may be a constrained device. For example, the PAN coordinator 102 can receive network information from the headend 140 indicating that one or more nodes, e.g., the nodes 104-136, are constrained devices that do not have sufficient memory to monitor each of the neighboring nodes in the PAN. In response to receiving this network information, the PAN coordinator 102 can determine that the duration of the periodic broadcast period or the broadcast dwell period is insufficient.
[0024] As described above, the PAN coordinator 102 can generate and distribute a synchronous broadcast schedule based on the broadcast scheduling parameters. In some examples, the PAN coordinator generates a synchronous broadcast schedule for a PAN based on the broadcast scheduling parameters received from the headend 140. For example, the PAN coordinator 102 can create a synchronous broadcast schedule that includes a broadcast period corresponding to a broadcast channel frequency and a specified duration of a broadcast dwell period. Further, the PAN coordinator 102 can transmit the synchronous broadcast schedule to each of the nodes in its PAN (e.g., nodes 104-136). The PAN coordinator 102 can adjust or modify the synchronous broadcast schedule as needed.
[0025] In some cases, it may be preferable to reconfigure communications within the PAN to optimize communications between nodes. For example, the PAN coordinator 102 can adjust certain network parameters to optimize the transmission of unicast and broadcast messages within the PAN. Additionally or alternatively, the headend 140 may also be able to adjust or change the PAN's synchronization broadcast schedule, certain network parameters, or protocols. Although this is not done frequently, the PAN coordinator 102 can adjust certain network parameters to optimize communications within the PAN or in response to network problems that may occur.
[0026] For example, the PAN coordinator 102 can determine the need to increase or decrease the periodicity of the broadcast period in the synchronous broadcast schedule. In such a case, the PAN coordinator 102 can increase or decrease the periodicity based on the number of constrained nodes in the asynchronous channel hopping mesh network. In another example, the PAN coordinator 102 can determine the need to increase or decrease the broadcast dwell period based on the number of constrained nodes in the asynchronous channel hopping mesh network.
[0027] For example, the PAN coordinator 102 may determine that a short duration of the broadcast residence period increases the number of collisions within the PAN. In response, the PAN coordinator 102 may maintain or increase the duration of the broadcast residence period. In some examples, the PAN coordinator 102 may determine the sufficiency of the broadcast residence period based on one or more neighboring nodes (e.g., nodes 104-136) that have similar constraints. In other examples, the PAN coordinator 102 may determine the sufficiency of the broadcast residence period by monitoring one or more network resources within the PAN. For example, the PAN coordinator 102 may monitor the amount of network traffic, available bandwidth, collisions, retransmissions, failure messages, etc. occurring within the PAN over time.
[0028] In response to determining that the periodic broadcast periods or broadcast dwell periods are insufficient, the PAN coordinator 102 can adjust the periodicity of the broadcast periods or the duration of the broadcast dwell periods. For example, if the PAN coordinator 102 determines that an undesirable number of collisions have occurred within the PAN over a given period of time, the PAN coordinator 102 can increase the periodicity of the broadcast periods or the duration of the broadcast dwell periods. Similarly, if the PAN coordinator 102 determines that a low threshold number of collisions have not occurred within the PAN over a period of time, the node can decrease the periodicity of the broadcast periods or the duration of one or more broadcast dwell periods.
[0029] Advantageously, the PAN coordinator 102 can adjust the synchronous broadcast schedule to optimize network resources. For example, the PAN coordinator 102 can regulate the amount of network traffic present during a broadcast dwell period. The PAN coordinator 102 can receive network information from the headend 140 indicating bandwidth usage over time or the number of collisions in a previous period. For example, if the PAN coordinator 102 determines that the available bandwidth of a previous broadcast dwell period was less than optimal or there were too many collisions, the PAN coordinator 102 can regulate the network traffic by increasing the duration of the broadcast dwell period. In some examples, the PAN coordinator 102 can extend the life cycle of a battery-powered node by decreasing the periodicity of the broadcast periods or the length of one or more broadcast dwell periods, thereby reducing battery drain by minimizing the amount of time that nodes in the PAN need to listen during a broadcast dwell period.
[0030] Returning to the exemplary communication network 100, the PAN coordinator 102 maintains channel hopping timing and channel hopping sequences for itself and each of the nodes 104-136. In this example, each of the nodes 104-136 maintains channel hopping timing and channel hopping sequences for itself. Additionally, each of the nodes 104-136 maintains channel hopping timing and channel hopping sequences for each of its parent nodes and child nodes (if any).
[0031] For example, nodes 104 and 106 maintain channel hopping timing and channel hopping sequences for their parent node, e.g., PAN coordinator 102, and each of their child nodes, e.g., nodes 108, 110 and nodes 112, 114, respectively. In this example, both nodes 104 and 106 are constrained devices with sufficient memory to monitor five neighboring nodes.
[0032] In this example, both nodes 104, 106 maintain channel hopping timing and channel hopping sequences for themselves and their five neighboring nodes. As described above, nodes 104, 106 monitor their parent node (e.g., PAN coordinator 102), their sibling nodes (e.g., each other), and their children nodes (e.g., nodes 108, 110 and nodes 112, 114, respectively). However, in this example, each of nodes 104, 106 only has enough resources to monitor one additional neighboring node.
[0033] Thus, node 104 maintains its own channel hopping timing and channel hopping sequence and monitors the channel hopping timing and channel hopping sequence of PAN coordinator 102, node 106, node 108, node 110, and grandchild nodes (e.g., node 116). Due to the constraints of node 104, node 104 cannot maintain the channel hopping timing and channel hopping sequence of nodes 112, 114, and 118-136. Similarly, node 106 only has enough resources to maintain its own channel hopping timing and channel hopping sequence and monitor the channel hopping timing and channel hopping sequence for PAN coordinator 102, node 104, node 112, node 114, and one grandchild node (e.g., node 120). Thus, node 106 cannot maintain the channel hopping timing and channel hopping sequence for nodes 108, 110, 116, 118, and 122-136.
[0034] Further, in this example, node 104 determines the need to transmit a unicast message to an unmonitored destination node (e.g., node 130). Node 104 can do this by utilizing a synchronized broadcast schedule provided by PAN coordinator 102 for its unicast communications. For example, if node 104 determines that it needs to transmit a unicast message to a neighboring node (e.g., node 130) whose channel hopping timing cannot be monitored, node 104 retrieves the synchronized broadcast schedule from memory. Node 104 determines the next available broadcast period based on the synchronized broadcast schedule. Further, node 104 can transmit the unicast message during the next available broadcast residence period. Preferably, since the broadcast schedule is synchronized, the transmitting node does not need to know the channel hopping timing for the destination node.
[0035] Although the above examples are described with respect to asynchronous networks, it should be understood that the same principles can be applied to synchronous networks. Additionally, in some examples, it may be possible to increase the amount of memory to the nodes 104-136, which may facilitate monitoring of all available neighboring nodes. Also, in some cases, it may be advantageous to limit the node density to within a predetermined range. For example, the node density may be limited to the number of hops that meet one or more constraints among one or more of the nodes 104-136.
[0036] 2 illustrates another exemplary communication network 200 illustrating communication between nodes. Specifically, communication network 200 includes nodes 202, 204, 206, and 208, each of which can communicate with one another. For example, each of nodes 202, 204, 206, and 208 can belong to a single PAN. Additionally, nodes 202, 204, 206, and 208 can communicate with a headend (e.g., headend 140), a PAN coordinator (e.g., PAN coordinator 102), and / or one or more additional nodes.
[0037] 2 illustrates a communication network 200 that includes multiple unicast and broadcast channels. Specifically, communication network 200 illustrates a number of communication channels. For example, communication network 200 includes channels 0 through 9. It should be appreciated that communication network 200 may include any suitable number of unicast and broadcast channels.
[0038] Communications network 200 illustrates a synchronous broadcast schedule for unicast communications for each of nodes 202, 204, 206, and 208. For example, each of nodes 202, 204, 206, and 208 stores a synchronous broadcast channel hopping sequence. Specifically, nodes 202, 204, 206, and 208 store a synchronous broadcast channel hopping sequence that includes a first broadcast dwell period 212 during a first broadcast period 214.
[0039] In this example, broadcast dwell period 212 corresponds to channel 3. Furthermore, once broadcast period 214 ends, a second broadcast dwell period corresponding to channel 7 begins. Similarly, once the second broadcast period ends, a third broadcast dwell period corresponding to channel 1 begins. In addition to the synchronous broadcast channel hopping sequence, each node is responsible for storing its own channel hopping timing period for unicast communications and information for the monitoring node.
[0040] For example, node 202 includes a channel hopping timing period for unicast communications that begins on unicast channel 9 and subsequently changes in the hopping sequence to channel 7, channel 3, channel 6, channel 8, channel 0, channel 1, channel 4, and channel 5. Node 204 includes a channel hopping timing period for unicast communications that includes periods corresponding to channel 3, channel 6, channel 4, channel 9, channel 7, and channel 0 in the hopping sequence. Similarly, the channel hopping timing period for unicast communications for node 206 includes channels 1, 0, 8, 5, 3, 7, and 4. In this example, a first unicast dwell period 210 is shown for node 208, which corresponds to channel 6. Upon expiration of the unicast dwell period 210, node 208 listens to channels 9, 2, 8, 4, 3, 5, 0, 7, 1, and 6 in the hopping sequence.
[0041] 2 illustrates an asynchronous mesh network exemplified by the asynchronous start times for each of the first unicast dwell periods corresponding to nodes 202, 204, 206, and 208. Additionally, the unicast dwell periods illustrated in communication network 200 illustrate substantially different durations and unicast channel hopping sequences corresponding to nodes 202, 204, 206, and 208. It should be appreciated that communication network 200 can include one or more unicast channel hopping sequences and can include any number, order, or synchronicity of channel hopping sequences.
[0042] In this example, node 202 communicates with neighboring nodes 204, 206, and 208. As described above, node 202 maintains a synchronous broadcast channel hopping sequence and its own unicast communication channel hopping sequence. In this example, node 202 also monitors information related to neighboring nodes. More specifically, node 202 monitors channel hopping timing (e.g., a duration corresponding to a particular unicast dwell period) and channel hopping sequence (e.g., a sequence of unicast communication channels corresponding to a current unicast dwell period) for neighboring nodes 204 and 206. And, in this example, node 202 does not monitor unicast channel hopping timing and channel hopping sequence for neighboring node 208. It should be understood that nodes 202, 204, 206, and 208 may be any type of neighboring node. For example, nodes 202, 204, 206, and 208 may have many relationships, including, for example, parent, child, sibling, grandchild, nearest neighbor, another relationship, and the like.
[0043] In some examples, node 202 may be constrained by a limited amount of resources (e.g., processing power or amount of available memory). Figure 2 illustrates the ability of node 202 to send various types of messages to nodes 204, 206, and 208. In some examples, node 202 may send messages using a Media Access Control ("MAC") protocol. The MAC protocol is defined by IEEE 802 as part of layer 2 of the Open Systems Interconnection (OSI) stack.
[0044] In this example, node 202 may transmit a message using a MAC address associated with a destination node (e.g., one of neighboring nodes 204, 206, and 208). In some examples, node 202 may determine whether a neighboring node is idle. Additionally, node 202 may detect the state of a particular channel using clear channel assessment (CCA). For example, node 202 may use CCA to determine the current channel state corresponding to the neighboring node's asynchronous unicast schedule, whether a collision has occurred, or completion of a transmission (e.g., based on an acknowledgement (ACK), a negative acknowledgement (NACK), or a lack of an ACK or NACK), etc.
[0045] For example, node 202 may determine the need to send a unicast message to node 204. As described above, node 202 is monitoring the unicast channel hopping timing and channel hopping sequence for node 204. And, in this example, node 202 determines that a unicast message "A" needs to be sent to node 204. Node 202 determines that the unicast dwell period for the current channel hopping timing and channel hopping sequence for monitoring node 204 corresponds to channel 3.
[0046] In some examples, node 202 may determine whether message "A" can be transmitted during the remaining time of the unicast dwell period. Additionally or alternatively, node 202 may determine whether message "A" can be transmitted based on an amount of network traffic associated with the unicast dwell period. For example, node 202 may determine traffic for the unicast dwell period using the CCA described above. In other examples, node 202 may receive periodic network traffic information from a PAN coordinator (e.g., PAN coordinator 102). In some examples, node 202 may cease transmitting message "A" during the unicast dwell period based on, for example, a size of message "A," an amount of time remaining in the unicast dwell period, or an amount of network traffic associated with the unicast dwell period. In this example, node 202 transmits unicast message "A" to node 204 during the unicast dwell period.
[0047] Continuing with the example, node 202 may then determine the need to send unicast message "B" to node 206. As discussed above, node 202 is monitoring neighboring nodes 206. In this example, node 202 determines that unicast message "B" needs to be sent to node 206 during the monitored unicast dwell period of node 206 that corresponds to channel 0. Node 202 sends unicast message "B" to node 206 during the unicast dwell period.
[0048] Additionally, node 202 determines the need to transmit broadcast message "C" to node 208. To do so, node 202 determines the next broadcast period. For example, node 202 uses a synchronous broadcast channel hopping sequence to determine the next broadcast period. Additionally, node 202 uses a synchronous broadcast channel hopping sequence to determine a broadcast dwell period during the next broadcast period. In this example, node 202 determines that the next broadcast interval corresponds to channel 7.
[0049] Similar to the unicast transmission of message A described above, node 202 may determine whether it can transmit message "C" during the remaining time of the broadcast residence period. Additionally, node 202 may determine whether it can transmit message "C" based on an amount of network traffic associated with the broadcast residence period. In some examples, node 202 may cease transmitting message "C" during the broadcast residence period based on, for example, a size of message "C," an amount of time remaining in the broadcast residence period, or an amount of network traffic associated with the broadcast residence period. Node 202 transmits broadcast message "C" during the broadcast residence period.
[0050] Continuing with the example, node 202 may also determine the need to send unicast message "D" to node 208. As discussed above, node 202 is not monitoring neighboring node 208 and therefore node 202 is not aware of the unicast channel hopping timing and channel hopping sequence for node 208. In some examples, node 202 may not be monitoring node 208 due to an insufficient amount of memory.
[0051] In this example, node 202 determines that unicast message "D" needs to be transmitted to node 208. Additionally, node 202 may determine a lack of unicast channel hopping timing information and a lack of channel hopping sequence information for node 208. Based on such determination, node 202 may determine a next broadcast period for transmitting the unicast message. During the next broadcast period, node 202 transmits unicast message "D" to node 208 via a broadcast dwell period corresponding to channel 1.
[0052] As discussed above, node 202 may cease transmitting message "D" during the broadcast dwell period based on, for example, the size of message "D," the amount of time remaining in the broadcast dwell period, or the amount of network traffic associated with the broadcast dwell period. Additionally, node 202 may cease transmitting message "D" during the broadcast dwell period based on a previous decision to cease transmitting another message (e.g., message "C").
[0053] In some examples, node 202 can transmit a message at substantially the same time as another neighboring node transmitting a message. For example, node 202 can transmit a broadcast message during a broadcast residence period. At the same time, an unmonitored neighboring node can transmit a unicast message to node 202 (not shown). In this example, node 202 and unmonitored neighboring node 208 can transmit their respective messages on the same broadcast channel (e.g., channel 3) during the same broadcast residence period (e.g., broadcast residence period 212).
[0054] In this example, a broadcast message transmitted by node 202 collides with a unicast message transmitted by an unmonitored neighboring node 208. In some examples, such a collision may result in failure to deliver the broadcast message, the unicast message, or both. Furthermore, after a period of time (e.g., a predetermined period of time), the unmonitored neighboring node 208 may determine that node 202 failed to receive the unicast message.
[0055] For example, the unmonitored neighboring node 208 may determine that after a period of time, the absence of an ACK message indicates that the unicast message was not delivered to the node 202. Additionally or alternatively, the unmonitored neighboring node 208 may determine that the receipt of a NACK message indicates that the unicast message was not delivered. In response, the unmonitored neighboring node 208 may retry sending the unicast message. For example, the unmonitored neighboring node 208 may retransmit the unicast message during the next broadcast residence period or a subsequent broadcast residence period. Similarly, the node 202 may also retransmit the broadcast message during the next broadcast residence period or a subsequent broadcast residence period.
[0056] In some examples, the node 202 can request network information for a particular node when it becomes necessary to send a message to an unmonitored neighboring node. For example, the node 202 can determine that it needs to send a unicast message to the unmonitored neighboring node 208. In response, the node 202 can send a message to a PAN coordinator (e.g., the PAN coordinator 102) that includes a request for an asynchronous unicast schedule for the unmonitored neighboring node 208.
[0057] Additionally, the node 202 can receive from the PAN coordinator channel hopping timing and channel hopping sequences for the unmonitored neighboring nodes 208. The node 202 can transmit unicast messages during the unicast dwell period using the channel hopping timing and channel hopping sequences for the unmonitored neighboring nodes 208. In some examples, constraints such as a limited amount of memory may require the node 202 to overwrite some existing network information to store the newly received asynchronous unicast schedule for the unmonitored neighboring nodes 208.
[0058] (Example node) 3 illustrates an exemplary node 300. The node 300 includes a processor 302, a memory 304, and a transceiver 314, each communicatively coupled via a bus 310. The components of the node 300 may be powered by an A / C power source, or a low energy source (not shown), such as a battery. The transceiver 314 may include an antenna 312, may be communicatively coupled to the antenna 312, or may be physically connected to the antenna 312, and may be used to send and receive communications over the network (e.g., communications with other nodes, such as unicast or broadcast messages).
[0059] The processor 302 may include a microprocessor, an application specific integrated circuit (ASIC), a state machine, a field programmable gate array (FPGA), or another suitable computing device. The processor 302 may include any number of computing devices and may be communicatively coupled to a computer-readable medium, such as a memory 304. The processor may execute computer-executable program instructions or access information stored in the memory to perform operations as described herein. The instructions may include processor-specific instructions generated by a compiler and / or interpreter from code written in any suitable computer programming language. When executed, the instructions may configure the node 300 to perform any of the operations described herein.
[0060] The memory 304 stores information regarding specific meters or scheduling information at the node 300, such as channel hopping timing 306 and channel hopping sequence 308. Other information and settings may also be stored in the memory. The memory may be a computer-readable medium and, in addition to storing information and settings, may store computer-executable instructions that, when executed, configure the communications module to perform the operations described herein.
[0061] There may be other components, connections between components, and arrangements of components other than those shown in Figure 3. Although the processor 302, memory 304, bus 310, and transceiver device 314 are shown in Figure 3 as separate components in communication with each other, other implementations are possible. For example, the memory and processing device may be included in a single component, such as a microcontroller. The systems and components described herein are not limited to any particular hardware architecture or configuration.
[0062] In some examples, the node 300 may include a meter. For example, the meter may measure the consumption of a resource, such as gas, electricity, water, etc., within a facility. The meter may be included in the node 300 on a network where the node 300 communicates the consumption information to a central or head-end system.
[0063] In some examples, the node 300 may include additional components such as metrology components, which may include, for example, measurement devices, meters, calibration devices, metrology applications, metrology software components, metrology scripts, etc. Additionally, the central system may analyze consumption information to manage resources within the facility and manage other elements of the system.
[0064] Exemplary Methods of Operation FIG. 4 illustrates an example method 400 performed by a node. FIG. 4 illustrates an example of broadcast dwell period overload in an asynchronous channel hopping mesh network. One or more operations described with respect to FIG. 4 involve communication in an asynchronous channel hopping mesh network (e.g., communication network 200). According to aspects described herein, communication network 200 facilitates communication between nodes (e.g., nodes 202, 204, 206, 208, 300, etc.). A communication device (e.g., node 300) implements the operations illustrated in FIG. 4 by executing appropriate program code (e.g., software components related to channel hopping timing 306, channel hopping sequence 308). For illustrative purposes, method 400 is described with reference to the specific example illustrated in the figure. However, other implementations are possible.
[0065] The method begins at block 402, where a node (e.g., node 202) maintains a first channel hopping timing and a first channel hopping sequence. As described above with respect to FIG. 2, node 202 can maintain a first channel hopping timing and a first channel hopping sequence, including its unicast communication channel hopping timing and its unicast communication channel hopping sequence.
[0066] In some examples, the node 202 maintains a synchronous broadcast schedule and one or more asynchronous unicast schedules. These synchronous broadcast and asynchronous unicast schedules can include one or more first channel timing periods for one or more first channel hopping sequences. Each of these first channel hopping sequences can provide network channels on which the node 202 listens, e.g., in a particular order. Additionally, the synchronous broadcast and asynchronous unicast schedules may include a list or other configuration of network channels.
[0067] In some examples, the first channel hopping timing may include timing for a synchronous broadcast channel hopping timing, its own unicast communication channel hopping timing, or both. Additionally, the first channel hopping timing may correspond to a first channel hopping timing period, such as a synchronous broadcast channel hopping timing period (e.g., duration), its own unicast communication channel hopping timing period, or both.
[0068] The first channel hopping sequence may include a sequence for a synchronous broadcast channel hopping sequence, a unicast communication channel hopping sequence of its own, or both. In some examples, the synchronous broadcast and asynchronous unicast schedules may include a first channel hopping sequence that may correspond to the first channel hopping timing period described above.
[0069] At block 404, the node monitors one or more second channel hopping timings and one or more second channel hopping sequences of one or more neighboring nodes (e.g., one or more monitoring neighboring nodes). For example, as described above with respect to FIG. 2, the node 202 can monitor one or more second channel hopping timings and one or more second channel hopping sequences of one or more neighboring nodes (e.g., nodes 204, 206). In this example, the node 202 monitors one or more neighboring nodes, which may include node 204, node 206, or both. In some examples, the one or more second channel hopping timings and one or more second channel hopping sequences of the neighboring nodes may include one or more unicast communication channel hopping timings and one or more unicast communication channel hopping sequences, respectively.
[0070] The method proceeds from block 404 to block 406, where the node determines the need to send a message to a destination node. For example, the node may determine the need to send a unicast message or frame to the destination node.
[0071] In block 408, the communication module determines whether the destination node is a node in one or more neighboring nodes. If the destination node is a node in one or more monitoring neighboring nodes, the method proceeds via the Yes branch to block 410. If the destination node is not in one or more monitoring neighboring nodes, the method proceeds via the No branch to block 412.
[0072] At block 410, the communications module transmits the message to the destination node over the unicast channel. For example, in response to determining that the node 202 is monitoring the destination node (e.g., one of the monitoring neighbors 204, 206), the node 202 proceeds to transmit the message to the destination node over the unicast channel. For example, the node 202 may transmit a unicast message to the destination node 204 over the unicast channel, as illustrated by messages "A" and "B" in FIG. 2.
[0073] In some examples, the node 202 can transmit a unicast message to the destination node 204 based on an asynchronous unicast schedule of the destination node 204. For example, the asynchronous unicast schedule for the destination node 204 can include a channel hopping timing and a channel hopping sequence associated with the destination node 204. The node 202 can transmit the unicast message to the destination node 204 by, for example, retrieving the asynchronous unicast schedule from a memory (e.g., memory 304).
[0074] Based on the obtained asynchronous unicast schedule, the node 202 can determine a channel hopping timing and a channel hopping sequence for the destination node 204. Additionally, the node 202 can determine a current unicast channel for the destination node 204. In some examples, the node 202 can determine that the size of the unicast message is too large to transmit during the remaining unicast dwell period (e.g., the remaining duration that the destination node 204 is scheduled to listen to the current unicast channel).
[0075] In another example, the node 202 can determine the next unicast channel for the destination node 204 based on its channel hopping timing and channel hopping sequence. For example, the node 202 can determine the next unicast channel for the destination node based on the amount of network traffic, available bandwidth, network resources, remaining unicast residence time, error messages, acknowledgments, etc.
[0076] Alternatively, at block 412, the communications module determines a broadcast dwell period. For example, the node 202 may determine that a broadcast dwell period is open. In response to determining that the node 202 is not monitoring a destination node (e.g., a neighboring node 208), the node 202 may proceed to transmit a message to the destination node 208 over the broadcast channel. For example, the node 202 may transmit a unicast message to the destination node 208 over the broadcast channel.
[0077] In some examples, the node 202 can transmit a unicast message to the destination node 208 based on a synchronized broadcast schedule. As described above, the node 202 maintains a synchronized broadcast schedule for the PAN. The node 202 can transmit the unicast message to the destination node 208, for example, by retrieving the synchronized broadcast schedule from a memory (e.g., memory 304).
[0078] The node 202 can determine a channel hopping timing and a channel hopping sequence for the synchronous broadcast schedule. For example, the node 202 can determine a broadcast dwell period (e.g., broadcast dwell period 212) during a broadcast period (e.g., broadcast period 214). Additionally, the node 202 can determine a current broadcast channel (e.g., broadcast channel 3) associated with the broadcast dwell period 212.
[0079] In some examples, node 202 may determine that the size of the unicast message is too large to transmit during the remaining broadcast dwell period (e.g., the remaining duration that nodes 202, 204, 206, and 208 are scheduled to listen to the current broadcast channel.) In other examples, node 202 may determine the next broadcast channel for the next broadcast dwell period, e.g., based on a synchronized broadcast schedule.
[0080] Additionally, node 202 may determine the next broadcast channel and / or the next broadcast residence time based on the amount of network traffic, available bandwidth, network resources, remaining unicast residence time, error messages, acknowledgments, etc. In some examples, node 202 may determine that there is some risk of potential interference with the transmission of the message based on, for example, some amount of packet loss, a collision report, a failure message (e.g., a NACK message), another indication associated with delivery of the message (e.g., an ACK message), etc.
[0081] If the current channel hopping timing period corresponds to a broadcast dwell period, the method proceeds to block 414, where the node 202 transmits a message (e.g., a unicast message) over a broadcast channel associated with the broadcast dwell period (e.g., the current broadcast dwell period).
[0082] In one example, node 202 sends a unicast message during the broadcast residence period to a destination node 208 that is not included among its monitoring neighbors.
[0083] 5 illustrates an example method 500 performed by a node. FIG 5 illustrates an example of broadcast dwell period overload in an asynchronous channel hopping mesh network.
[0084] Blocks 502-512 of method 500 are substantially similar to corresponding blocks 402-412, respectively, of method 400 described above with respect to FIG.
[0085] However, in this example, the method proceeds to block 514 to detect broadcast traffic during the broadcast dwell period. For example, the node 202 can detect the amount of broadcast traffic during the current broadcast dwell period, for example, using CCA as described above. In one example, the node 202 detects the amount of broadcast traffic on the current channel 3 that corresponds to the current broadcast dwell period 212.
[0086] In some examples, node 202 may cease transmitting until a later broadcast dwell period. For example, node 202 can wait and detect the amount of broadcast traffic for a next broadcast dwell period (e.g., corresponding to next broadcast channel 7 shown in FIG. 2). Additionally, node 202 can detect the amount of broadcast traffic for a later broadcast dwell period (e.g., corresponding to broadcast channel 1 also shown in FIG. 2), e.g., a broadcast dwell period following both the current broadcast dwell period and the next broadcast dwell period.
[0087] However, in this example, node 202 detects the amount of broadcast traffic during the broadcast residence period using any of the techniques described herein. For example, node 202 can detect the amount of network traffic, available bandwidth, network resources, a network schedule, an error message, an acknowledgment, another message, etc. that corresponds to, relates to, is scheduled during, or is indicative of the amount of broadcast traffic during the broadcast residence period.
[0088] The method proceeds from block 514 to block 516, where the communications module stops sending messages to the destination node during the broadcast dwell period. For example, the node 202 may stop sending unicast messages during the current broadcast dwell period. Alternatively, the node 202 may stop sending unicast messages until a later broadcast dwell period. For example, the node 202 may wait until the next broadcast dwell period. In some examples, the node 202 may stop sending unicast messages until a later broadcast dwell period.
[0089] Further, in some examples, the node 202 may cease transmitting the unicast message in response to detecting broadcast traffic at block 514. In other examples, the node 202 may cease transmitting the unicast message to the destination node during the next broadcast residence period. For example, the node 202 may cease transmitting the unicast message, determine the next broadcast residence period, and determine the need to transmit a broadcast message before the next broadcast residence period.
[0090] In this example, node 202 may also determine that broadcast messages have higher priority than unicast messages, and in response to this determination, node 202 may transmit the broadcast message.
[0091] The method proceeds from block 516 to block 518, where the node 202 transmits a message to the destination node during the next broadcast dwell period. Once the cease period ends, the method proceeds to block 518, where the node 202 transmits a message to the destination node during the broadcast dwell period. For example, the node 202 may transmit a message (e.g., a unicast message) over a broadcast channel associated with the broadcast dwell period (e.g., the next broadcast dwell period).
[0092] In one example, node 202 sends a unicast message during the broadcast residence period to a destination node 208 that is not included among its monitoring neighbors.
[0093] The foregoing has been provided for the purposes of illustrating, describing, and explaining aspects of the invention, and is not intended to be exhaustive or to limit the invention to the precise form disclosed. Further modifications and adaptations of these embodiments will be apparent to those skilled in the art and may be made without departing from the scope and spirit of the invention. Different arrangements of the components described above, as well as components and steps not shown or described, are possible. Similarly, some features and subcombinations may be useful and may be employed without reference to other features and subcombinations. The embodiments of the invention have been described for purposes of illustration and not limitation, and alternative embodiments will become apparent to readers of this patent.
Claims
1. Processor and A wireless transceiver, which is communicatively coupled to the processor and configured to receive communications based on a channel hopping timing period and a channel hopping sequence, A memory connected to the processor in a communicative manner, wherein the instructions are executable by the processor, and when the processor executes them, the processor Stores the broadcast channel hopping timing period and broadcast channel hopping sequence. Stores channel hopping timing and channel hopping sequence for each of multiple monitoring neighbor nodes. Determine whether the destination node of the unicast message corresponds to one of the multiple monitoring neighbor nodes. Based on the determination that the destination node does not correspond to any of the plurality of monitoring neighbor nodes, (i) the next broadcast dwell period is determined based on the broadcast channel hopping timing period, and (ii) the next broadcast channel is determined based on the broadcast channel hopping sequence. During the next broadcast retention period, the unicast message is sent to the destination node. Based on the determination that the unicast message cannot be transmitted during the remaining time of the next broadcast retention period, the transmission of the unicast message to the destination node is backed off. Memory, including instructions, A node equipped with this feature.
2. An instruction that can be executed by the aforementioned processor, and when the processor executes it, the processor During the next broadcast retention period, the unicast message is sent to the destination node via the next broadcast channel. The node according to claim 1, wherein the memory further includes instructions.
3. An instruction that can be executed by the processor, and when executed by the processor, before the processor sends the unicast message to the destination node, The broadcast traffic during the following broadcast retention period is detected, In response to the detection of the aforementioned broadcast traffic, the transmission of the unicast message is delayed until after the next broadcast retention period. The node according to claim 1, wherein the memory further includes instructions.
4. An instruction that can be executed by the processor, and when executed by the processor, before the processor sends the unicast message to the destination node, The broadcast traffic during the following broadcast retention period is detected, In response to the detection of the aforementioned broadcast traffic, the transmission of the unicast message is backed off until after the next broadcast retention period. The node according to claim 1, wherein the memory further includes instructions.
5. An instruction that can be executed by the aforementioned processor, and when the processor executes it, the processor A NACK message is received from the destination node of the unicast message. In response to receiving the aforementioned NACK message, the unicast message is resent. The node according to claim 1, wherein the memory further includes instructions.
6. An instruction that can be executed by the aforementioned processor, and when the processor executes it, the processor The system determines whether the reception of the ACK message from the destination node of the unicast message has failed. In response to the determination that the reception of the ACK message has failed, the unicast message is resent. The node according to claim 1, wherein the memory further includes instructions.
7. An instruction that can be executed by the aforementioned processor, and when the processor executes it, the processor Upon receiving a NACK message from the aforementioned destination node, In response to receiving the aforementioned NACK message, the unicast message is retransmitted during the subsequent broadcast retention period. The node according to claim 1, wherein the memory further includes instructions.
8. An instruction that can be executed by the aforementioned processor, and when the processor executes it, the processor It is determined that the reception of the ACK message from the destination node has failed, In response to the determination of failure to receive the aforementioned ACK message, the unicast message is retransmitted during the subsequent broadcast retention period. The node according to claim 1, wherein the memory further includes instructions.
9. An instruction that can be executed by the aforementioned processor, and when the processor executes it, the processor Based on the determination that the destination node corresponds to one of the plurality of monitoring neighbor nodes, the unicast dwell time is determined based on the channel hopping timing and channel hopping sequence for the monitoring neighbor node among the plurality of monitoring neighbor nodes. During the unicast retention period, the unicast message is sent to the destination node. The node according to claim 1, wherein the memory further includes instructions.
10. An instruction that can be executed by the aforementioned processor, and when the processor executes it, the processor Based on the determination that the destination node does not correspond to an adjacent node of the plurality of monitoring neighbor nodes, the channel hopping timing and channel hopping sequence for the destination node are requested. The channel hopping timing and channel hopping sequence for the destination node are received. The list of multiple monitored neighbor nodes is updated by adding the channel hopping timing and channel hopping sequence for the destination node. The memory further includes instructions, The list of the plurality of monitoring neighbor nodes includes the channel hopping timing and the channel hopping sequence for each of the plurality of monitoring neighbor nodes. The node according to claim 1.
11. A method for transmitting a unicast message in an asynchronous channel-hopping radio network, A node stores a first channel hopping timing period and a first channel hopping sequence for the node, wherein the node comprises a wireless transceiver and a processor, and the wireless transceiver of the node is configured to receive communications based on the first channel hopping timing period and the first channel hopping sequence. The node stores the broadcast channel hopping timing period and the broadcast channel hopping sequence, The node stores multiple channel hopping timings and channel hopping sequences for each of the multiple monitoring neighbor nodes, The node determines whether the destination node of the unicast message held by the node corresponds to one of the plurality of monitoring neighbor nodes, Based on the determination that the destination node of the unicast message does not correspond to any of the monitoring neighbor nodes, the node (i) determines the next broadcast dwell period based on the broadcast channel hopping timing period, and (ii) determines the next broadcast channel based on the broadcast channel hopping sequence. The node decides to send the unicast message to the destination node during the next broadcast retention period, Based on the determination that the unicast message cannot be transmitted during the remaining time of the next broadcast retention period, the node backs off sending the unicast message to the destination node. Methods that include...
12. The method according to claim 11, further comprising the node transmitting the unicast message to the destination node via the next broadcast channel during the next broadcast retention period.
13. At the start of the next broadcast delay period, The aforementioned node listens to broadcast traffic, The node detects broadcast traffic during the next broadcast retention period, In response to the detection of the broadcast traffic, the node delays the transmission of the unicast message until after the next broadcast retention period. The method according to claim 11, further comprising:
14. Before sending the unicast message to the destination node, The node detects broadcast traffic during the next broadcast retention period, In response to the detection of the aforementioned broadcast traffic, the node backs off sending the aforementioned unicast message, The method according to claim 11, further comprising:
15. The node receives a NACK message from the destination node, In response to receiving the aforementioned NACK message, the node resends the unicast message. The method according to claim 11, further comprising:
16. The node determines that it has failed to receive the ACK message from the destination node, In response to the determination that the reception of the ACK message has failed, the node resends the unicast message. The method according to claim 11, further comprising:
17. The destination node is the first destination node, and the method is The node transmits broadcast messages to the first destination node and the second destination node during the subsequent broadcast retention period. The method according to claim 11, further comprising:
18. The node transmits the second unicast message to the first monitoring neighbor node of the monitoring neighbor node by transmitting the second unicast message on the channel determined by the channel hopping sequence for the first monitoring neighbor node during the next channel hopping timing period for the first monitoring neighbor node. The method according to claim 11, further comprising:
19. Based on the determination that the destination node does not correspond to an adjacent node of the plurality of monitoring neighbor nodes, the node requests the channel hopping timing and the channel hopping sequence for the destination node, The node receives the channel hopping timing and channel hopping sequence for the destination node, The node updates the list of the plurality of monitoring neighbor nodes by adding the channel hopping timing and channel hopping sequence for the destination node, It further includes, The list of the plurality of monitoring neighbor nodes includes the channel hopping timing and the channel hopping sequence for each of the plurality of monitoring neighbor nodes. The method according to claim 11.
20. It comprises a first node and a second node, The first node is, The first processor and A first wireless transceiver, which is communicatively coupled to the first processor and configured to receive communications based on a channel hopping timing period and a channel hopping sequence, A first memory is communicatively coupled to the first processor and configured to provide instructions that can be executed by the first processor, wherein, by means of the instructions, the first processor, Stores the first broadcast channel hopping timing period and the first broadcast channel hopping sequence. Store multiple channel hopping timings and channel hopping sequences for each of the multiple monitoring neighbor nodes. Determine whether the second node of the unicast message is among the plurality of monitoring neighbor nodes. Based on the determination that the second node is not among the plurality of monitoring neighbor nodes, (i) the broadcast dwell period is determined based on the first broadcast channel hopping timing period, and (ii) the next broadcast channel is determined based on the first broadcast channel hopping sequence. During the broadcast retention period, the unicast message is sent to the second node. Based on the determination that the unicast message cannot be transmitted during the remaining time of the next broadcast retention period, the transmission of the unicast message to the destination node is backed off. First memory and Equipped with, The aforementioned second node is The second processor, A second wireless transceiver is communicatively coupled to the second processor and configured to receive communications based on a second broadcast channel hopping timing period and a second broadcast channel hopping sequence, A second memory, which is communicably coupled to the second processor, and which contains instructions that are executable by the second processor, when executed by the second processor, the second processor The second broadcast channel hopping timing period and the second broadcast channel hopping sequence are stored, (i) The broadcast dwell period is determined based on the second broadcast channel hopping timing period, and (ii) The next broadcast channel is determined based on the second broadcast channel hopping sequence. During the aforementioned broadcast retention period, the unicast message is detected, In response to the detection of the unicast message during the broadcast retention period, the transmission of the broadcast message during the broadcast retention period is backed off. The second memory contains instructions, Equipped with, system.
21. An instruction that can be executed by the second processor, and when executed by the second processor, the second processor The unicast message is received during the next broadcast retention period. Delay the transmission of the aforementioned broadcast message until the subsequent broadcast retention period. The system according to claim 20, wherein the second memory further includes instructions.
22. With an additional third node, The third node is, The third processor, A third wireless transceiver, which is communicatively coupled to the third processor and configured to receive communications based on a third broadcast channel hopping timing period and a third broadcast channel hopping sequence, A third memory, which is communicably coupled to the third processor, contains instructions that are executable by the third processor, and when executed by the third processor, the third processor The broadcast traffic during the following broadcast retention period is detected, The transmission of the second unicast message to the first node or the second node during the next broadcast retention period is backed off. A third memory containing instructions, The system according to claim 20, comprising:
23. With an additional third node, The third node is, The third processor, A third wireless transceiver, which is communicatively coupled to the third processor and configured to receive communications based on a third broadcast channel hopping timing period and a third broadcast channel hopping sequence, A third memory, which is communicably coupled to the third processor, contains instructions that are executable by the third processor, and when executed by the third processor, the third processor The broadcast traffic during the following broadcast retention period is detected, During the subsequent broadcast retention period, broadcast messages are sent to the aforementioned multiple monitoring neighbor nodes. A third memory containing instructions, The system according to claim 20, comprising: