Method for a control node to join a wireless network
By analyzing network congestion through listening to beacon messages and dynamically adjusting node waiting time, the problem of busy channels during the debugging of large-scale wireless networks was solved, improving the success rate of node joining and the efficiency of network formation.
Patent Information
- Application Number
- CN202180020079.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-10
- Filing Date
- 2021-03-09
- Publication Date
- 2026-01-20
- Estimated Expiration
- 2041-03-09
AI Technical Summary
During the debugging of a large wireless network, when a node attempts to join the wireless network, the channel may be busy, causing the joining attempt to fail. Existing methods, such as configuring random wait times, are not suitable for networks of different sizes, resulting in a poor user experience.
By controlling nodes to listen to beacon messages on the wireless network, analyzing the number of beacon messages to determine the likelihood of network congestion, and dynamically adjusting the waiting time of nodes, multiple nodes can be prevented from joining at the same time.
It reduces the possibility of wireless network channel congestion, improves the success rate of node joining and the efficiency of network formation, and avoids pauses in the user experience.
Smart Images

Figure CN115244990B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present invention relates to the field of wireless networks, in particular to the field of wireless network joining. BACKGROUND
[0002] Wireless connected Internet of Things (IoT) products, such as connected luminaires or sensors, need to join a wireless network at the time of installation or deployment at an end user site. After joining the wireless network, these products form an IoT network, which can thus be controlled remotely or reported to by the IoT system and the end user. This network formation process is often referred to as network joining or network commissioning.
[0003] The network to be formed can have various sizes, for example from a few nodes in a home automation network to hundreds or even thousands of nodes in a professional lighting system. In the commissioning process of a large wireless network, a large number of nodes try to contact the coordinator to join the network at the same time. The joining nodes cannot directly communicate with each other, so the joining nodes cannot coordinate this commissioning process. This means that, in the commissioning process of a large wireless network, the channel of the wireless network can be busy when a single node tries to join the wireless network, resulting in a failed joining attempt.
[0004] One known method to avoid congestion is to differentiate the joining time of the joining nodes. One way to implement this differentiation is to set a random waiting time for the joining nodes, thereby differentiating the time at which the nodes try to join the wireless network. However, defining a maximum waiting time proves problematic. To successfully form a large network with hundreds of nodes, the maximum waiting time must typically be tens of seconds, or even longer. However, to successfully form a small network with a few or slightly more than 10 nodes, a maximum waiting time of tens of seconds is excessive. The user can experience a scenario similar to a pause, in which a few nodes do nothing for about a minute before starting to join.
[0005] US2012224568A1 discloses a method and apparatus for synchronizing a network. A plurality of existing nodes in the network can transmit beacons according to a cyclic schedule sequence. A new joining node can receive a beacon from a particular one of the existing nodes during a beacon interval, and transmit a joining beacon frame during the beacon interval after waiting for a random period of time. The particular existing node can receive the joining beacon frame and transmit a notification to other existing nodes in the network indicating that the new node is joining the network.
[0006] “Fast joining of 6TiSCH networks using dynamic beacon intervals” (Kalita-Alakesh et al., 2019-01-07) discloses a dynamic beacon interval scheme in which the interval varies during network formation with the number of joining nodes.
[0007] "Performance Evaluation of 802.15.4 Medium Access Control During Network Association and Synchronization for Sensor Networks" (2012-07-04) provides a performance evaluation of the 802.15.4 MAC during device association and synchronization with a PAN coordinator.
[0008] To solve this problem, it is known that a maximum wait time can be configured. However, it is unrealistic and / or difficult for manufacturers and traders to predict the network size of a customer site, which means that pre-configuration is problematic. SUMMARY
[0009] The invention is defined by the claims.
[0010] According to an example in accordance with an aspect of the invention, there is provided a method of a control node for joining a wireless network, comprising:
[0011] the control node waiting for a predetermined length of time;
[0012] receiving, within the predetermined length of time, beacon messages transmitted by nodes of the wireless network;
[0013] analysing the number of received beacon messages in relation to a congestion condition, and
[0014] determining, based on the result of the analysis, whether the control node is to join the wireless network.
[0015] The invention relates in particular to a method of managing the timing of nodes joining a wireless network based on beacons sent by nodes of the wireless network. This method can reduce the risk of a large number of nodes attempting to join the network at the same time.
[0016] The nodes attempting to join the network have no way of communicating directly with each other, which is problematic for the coordination of multiple nodes attempting to join the network at the same time. It has been proposed that this problem can be solved by utilising beacon messages.
[0017] The inventors have realised that, although it is not possible for nodes that are not yet connected to the wireless network to communicate directly with each other, by controlling the joining nodes to listen for beacon messages sent by nodes of the wireless network, the nodes can determine the number of other nodes attempting to join the wireless network. By doing this, it is possible to determine the likelihood of congestion, and to configure its maximum wait time accordingly.
[0018] The proposed concept of the invention can therefore be that the joining nodes are controlled to listen for beacon messages sent by nodes of the wireless network, and to subsequently derive the level of busyness of the network. This can be employed to reduce the likelihood of multiple nodes attempting to join the network at the same time, as the joining nodes can be controlled to wait in the event that the network appears to be busy.
[0019] The beacon messages are sent by nodes on the wireless network upon receiving a beacon request message. By monitoring the channel for a predetermined length of time and detecting these messages, a node wanting to join the network can obtain an indication of the likelihood of congestion. This can inform the decision on whether to join the network.
[0020] The predetermined length of time can be determined, for example, based on a random time value between zero and a maximum wait time value.
[0021] To reduce the likelihood of channel congestion, it is proposed to differentiate the amount of time each node has to wait before joining. This differentiation can be achieved by making the predetermined length of time a random length of time. By differentiation, it is meant that the total number of beacon messages of each node is different and various decisions are made on whether to join.
[0022] As one node can wait close to zero, this also helps to avoid a scenario where several nodes do nothing for about a minute and then start joining. This scenario of a similar pause is more likely to occur for a network with a small number of nodes trying to join than for a network with a large number of nodes trying to join, as the probability that no node has a wait time close to zero is higher. The maximum value ensures that no single node waits unnecessarily long before trying to join. A small maximum wait time ensures that the pause time is not too long. The maximum wait time should reflect the number of nodes on the network, with a small maximum wait time suitable for small networks, such as in a home automation network, and a large wait time suitable for networks with hundreds or thousands of nodes, such as in industrial applications.
[0023] Controlling the node to join the wireless network can for example comprise analysing the received beacon messages for a congestion condition and determining whether the node joins the wireless network based on the result of the analysis.
[0024] The beacon messages from the wireless network can be analysed in order to determine whether the wireless network is likely to be congested. This analysis can comprise a frequency analysis or a volume measurement and a comparison with a congestion condition.
[0025] Determining whether to control the node to join the wireless network can for example comprise:
[0026] controlling the node to send a beacon request message if the analysis determines that an indicator based on the received beacon messages does not satisfy the congestion condition;
[0027] controlling the node to join the wireless network if the analysis determines that an indicator based on the received beacon messages does not satisfy the congestion condition; and
[0028] controlling the node to repeat the step of waiting for a predetermined length of time if the analysis determines that an indicator based on the received beacon messages satisfies the congestion condition.
[0029] If the congestion condition is not met, this can indicate that the network is unlikely to be congested if a node attempts to join the network. In this case, a beacon request message can be sent via the nodes on the wireless network in order to inform other joining nodes that a node is about to join the network. This approach can reduce the likelihood of many nodes monitoring the channel attempting to join the network at the same time. Subsequently, the node can join the network.
[0030] Conversely, if the condition is met, this can indicate that the network can be congested if a node attempts to join the network. In this case, the node can be controlled not to join the network but to wait for a further predetermined length of time whilst receiving beacon messages from the nodes on the wireless network before re-analysing the beacon messages to again determine whether to join the network.
[0031] For example, the condition can be based on a threshold value indicating that the wireless network is not congested.
[0032] For example, the condition can be set so that when compared with the indicator based on the received beacon messages, it delivers a meaningful result indicating whether the wireless network is likely to be congested.
[0033] For example, the method of causing a node to join a wireless network can further comprise:
[0034] obtaining an indicator based on the received beacon messages, wherein the obtaining comprises one of:
[0035] dividing the total number of beacon messages received in the predetermined length of time by the total number of nodes of the wireless network; or determining the maximum number of beacon messages received from any node of the wireless network in the predetermined length of time.
[0036] The indicator can be obtained from the received beacon messages so that it provides a meaningful indicator as to whether the wireless network is congested. A high average number of beacon messages received by each node of the wireless network can indicate that the network is congested. However, in the case where the node is only within range of a few nodes of the wireless network, the maximum number received from any node of the wireless network can be a better indication of congestion. The total number of nodes of the wireless network can be determined from the received beacon messages. Each received beacon message can contain the network ID and the address of the sending node. The joining node can record a list of nodes from the network ID that have ever sent a beacon and so can determine the total number of nodes.
[0037] Controlling the node to repeat the step of waiting for the predetermined length of time can further comprise determining a new maximum wait time based on the previous maximum wait time and determining the predetermined length of time based on a random time value between 0 and the new maximum wait time value.
[0038] By setting a new maximum wait time, the system can dynamically respond to a determination that the wireless network is busy. The initial maximum wait time can be set to be suitable for a small network, and after determining that the network is congested, the maximum wait time can be adjusted to be suitable for a medium or large network.
[0039] In the case that the network is not very busy, it can be advantageous to set the new maximum wait time to be lower than the previous maximum wait time, as this reduces the average pre-determined wait time, and therefore increases the likelihood that a node will decide to join the network.
[0040] In the case that the network is congested, it can be advantageous to set the new maximum wait time to be greater than the previous maximum wait time, as this reduces the average pre-determined wait time, and therefore increases the likelihood that a node will decide to join the network.
[0041] For example, determining the new maximum wait time can comprise one or more of: multiplying the previous maximum wait time by a predetermined constant, and multiplying the previous maximum wait time by an indicator based on the received beacon message.
[0042] Multiplying the previous maximum wait time by a predetermined constant can be advantageous in dynamically adjusting the new maximum wait time to reflect the level of busyness of the wireless network in a simple manner, as it can be determined that the network is congested if the method has reached this step.
[0043] Multiplying the previous maximum wait time by an indicator based on the received beacon message can be more accurate in adjusting the new maximum wait time to reflect the level of busyness of the wireless network. If the indicator is close to the boundary to satisfy the congestion condition, this can indicate that the wireless network is close to being quiet enough to join, so the new maximum wait time can not be changed to be much greater than the previous maximum wait time. However, if the indicator greatly exceeds the congestion satisfaction condition, this can indicate that the wireless network is very busy, so the new maximum wait time can be changed to be much greater than the previous maximum wait time. In this way, the join time of a node attempting to join can be further differentiated, reducing the likelihood of congestion.
[0044] For example, the control node to join the wireless network can comprise the control node to send an association request message to the wireless network, the control node to wait for an association response message transmitted by a node on the wireless network, and the control node to join the wireless network in response to receiving the association response message.
[0045] When the control node is to join the network, this means that it can send an association request message to a node on the network to indicate that it is ready to join, and then wait until an association response message is received from the wireless network in order to start the actual joining process.
[0046] For example, the method of a node joining a wireless network can further comprise, in response to the node transmitting a beacon request message, controlling the node to wait for a scan time period.
[0047] This can cause the node to wait until all network routers have transmitted a beacon message, satisfying the requirements of the IEEE 802.15.4 standard.
[0048] According to an example of another aspect of the present application, there is provided a computer program product comprising computer program code means, which causes the processing system to perform all the steps of a method according to any of the preceding claims when the computer program product is executed on a computing device having a processing system.
[0049] According to an example of another aspect of the present application, there is provided an apparatus for controlling a node to join a wireless network, the apparatus comprising a control unit configured to control the node to wait for a predetermined length of time, and a communication interface configured to receive, within the predetermined length of time, a beacon message transmitted by a node of the wireless network. Wherein the control unit is further configured to control the node to join the wireless network based on the received beacon message.
[0050] For example, the control unit can be further configured to determine the predetermined length of time based on a random time value between 0 and a maximum wait time value, to analyze the beacon message received from the communication interface with respect to a congestion condition, and to determine whether to control the node to join the wireless network based on the analysis.
[0051] For example, the control unit can be further configured to control the node to join the wireless network in response to an analysis that an indicator based on the received beacon message satisfies the congestion condition, and to control the node to repeat the step of waiting for the predetermined length of time in response to an analysis that the indicator based on the received beacon message does not satisfy the congestion condition.
[0052] For example, the communication interface can be further configured to transmit a beacon request message in response to the control unit controlling the node to join the wireless network, to transmit an association request message to the wireless network, and to receive an association response message. Wherein the control unit is further configured to control the node to wait for the association response message communicated by a node on the wireless network in response to transmitting the association request message, and to control the node to wait for a scan time period in response to the node transmitting the beacon request message.
[0053] These and other aspects of the present application will become apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF DRAWINGS
[0054] For a better understanding of the present application, and to show how it can be put into effect, reference will now be made, purely by way of example, to the accompanying drawings in which:
[0055] Figure 1 A generally known sequence of events is shown in which a node joins a wireless network.
[0056] Figure 2 A sequence of events is shown in which an additional node waits while monitoring the channel of the wireless network before sending an association request message. Figure 1
[0057] Figure 3 A flowchart is shown describing a first method for controlling a node to wait while monitoring a wireless network as shown in Figure 2
[0058] Figure 4 A flowchart is shown describing a second method for controlling a node to wait while monitoring a wireless network as shown in Figure 2
[0059] Figure 5 Wireless network devices and multi-node devices are shown at different stages of the commissioning process. DETAILED DESCRIPTION
[0060] The present invention will be described with reference to the accompanying drawings.
[0061] It should be understood that the detailed description and specific examples, while indicating exemplary embodiments of devices, systems and methods, are intended for purposes of illustration only and are not intended to limit the scope of the present invention. These and other features, aspects, and advantages of the devices, systems and methods of the present invention will become better understood from the following description, appended claims, and accompanying drawings. It should be understood that the drawings are diagrammatic and schematic only, and are not drawn to scale. It should also be understood that the same reference numerals are used throughout the drawings to indicate the same or similar parts.
[0062] The present invention proposes methods for controlling nodes for joining a wireless network, which can reduce the likelihood of congestion when many nodes are controlled to join the wireless network at the same time. In particular, it is suggested to dynamically adjust the length of time a node waits before attempting to join the network. Embodiments of the suggested approach thus make use of the beacon messages received by a node from nodes of the target wireless network as an indicator of the likelihood of congestion, and adjust the waiting time accordingly.
[0063] Figure 1 A generally known sequence of events 100 is shown in which a node 102 joins a wireless network.
[0064] Initially, the node 102 scans all channels for a wireless network 104 to join. For each communicable channel, the node sends a beacon request message 106. The node 102 then waits for a preconfigured scan time window while receiving beacon messages 108 from nodes of wireless networks 104 on the channel. The process is repeated for each communicable channel.
[0065] Then, based on the beacon messages 108 received from the nodes of each wireless network 104, the network that the node 102 is to join is selected. Then, all communication occurs on the channel of the selected network.
[0066] Subsequently, the node 102 starts the actual network joining process by sending an association request message 110 to the node 104 of the selected wireless network. When the node receives an association response 114 from the node 104 of the selected wireless network, the node 102 and the network node 104 proceed with a standard authentication and key exchange routine 116, resulting in the node 102 connecting to the selected wireless network 118.
[0067] In the case of multiple nodes attempting to join the selected wireless network at the same time, congestion occurs in the channel. The congestion results in communication failure of the joining nodes, ultimately reducing the joining process of individual nodes and setup time of the entire wireless network. This results in a significant increase in the time to complete the joining process during the establishment of large networks, for example, hundreds of nodes in industrial lighting applications.
[0068] Figure 2 Based on Figure 1 The illustrated general sequence of events 100, the sequence of events 150 of a node 102 joining a wireless network according to the present application is shown. In particular, the node 102, after determining the wireless network to join and before sending the association request message 112, additionally waits for a period of time while monitoring the channel 120 while receiving beacon messages 108 from the wireless network. After the waiting period, the node 102 sends the beacon request message 106 before starting the actual joining process.
[0069] As a result of having the node 102 wait before starting the actual joining process, the joining time of the node 102 can be distinguished from other nodes (not shown) attempting to join the network. By distinguishing, the likelihood of wireless network channel congestion is reduced as the likelihood of multiple nodes attempting to join the network at the same time is less.
[0070] For example, the waiting time of each individual node is configured to be unique. However, this can be impractical for a large number of nodes. Alternatively, the length of time is a random length of time between 0 and a maximum waiting time.
[0071] However, one problem that arises with this solution is how to select the appropriate maximum wait time. To successfully form a large network, the maximum wait time must be relatively large in order to ensure that the join times of the nodes are sufficiently differentiated. For example, for a network with hundreds of nodes, the maximum wait time can be greater than 10 seconds. To successfully form a small network, the maximum wait time must be relatively small. For example, for a network with a few nodes, the maximum wait time can be less than 10 seconds.
[0072] In the case where the nodes are configured to have a relatively small maximum wait time, there can be a large number of collisions during commissioning of a large network comprising a plurality of nodes, because the join times of the plurality of nodes are not sufficiently differentiated. Therefore, in this case, the time required for a single node to join the wireless network and for the wireless network to form is much greater than in the case where the maximum wait time is relatively large.
[0073] In the case where the nodes are configured to have a relatively large maximum wait time during commissioning of a small network comprising, for example, only a few nodes, the user can experience a scenario similar to a hang. In this case, when the likelihood of congestion is relatively low, all nodes do nothing during the period of time they wait before joining. Therefore, the time required for a single node to join the wireless network and for the wireless network to form will be much greater than in the case where the maximum wait time is relatively small.
[0074] For example, the large network can be an industrial lighting system. For example, the small network can be a home automation network.
[0075] For the above reasons, it proves to be impractical and / or difficult to pre-configure the nodes, ensuring sufficient operation of both use cases, to have a single static maximum wait time in the case where the nodes connect to a small or large network. However, dynamic adjustment of the maximum wait time also proves to be problematic. This is because, before joining the network, the nodes cannot directly communicate with the other nodes that are trying to join the network in order to determine the number of nodes that are trying to join the network, nor can they determine the likelihood of congestion.
[0076] The present invention overcomes the lack of direct communication by exploiting the beacon messages 108 sent by the nodes of the wireless network 104. The beacon messages 108 are receivable by all nodes 102 that monitor the channel of the wireless network. For example, the beacon messages 108 are sent to the updating nodes of the wireless network 104 in relation to the configuration change, and periodically in order to synchronize the nodes of the wireless network 104. The most important case in which the nodes of the wireless network 104 send the beacon messages 108 for the present invention is in response to receiving a beacon request message 106 from another node. This means that, if a node 102 that is controlled to join the network sends a beacon request message 106, the nodes of the wireless network 104 that are within the communicable range of the joining node will send a beacon message 108 in response to receiving the beacon request message 106.
[0077] like Figure 1 and Figure 2 As shown, during the scanning of all channels, node 102 sends a beacon request message 106 and receives a beacon message 108 from a node in wireless network 104 that receives the beacon request message 106. Therefore, the beacon message 108 received by node 120 from the node in wireless network 104 indicates the number of nodes attempting to join the wireless network, thus indicating the likelihood of congestion. This can be used as a basis for determining the waiting time 120 of node 102.
[0078] However, in Figure 1 After the channel scanning process shown in the typical joining procedure, node 102 joining the network does not send another beacon request message 106, meaning each node 102 sends only one beacon request message 106. Therefore, node 102, having scanned all channels but not yet joined the wireless network, becomes undetectable to other nodes attempting to join. In other words, the node becomes silent after scanning all channels. Consequently, the wireless network may not be busy for node 102 attempting to join, and it can subsequently attempt to join. Since all nodes attempting to join the network make the same decision in this situation, this leads to network congestion.
[0079] Therefore, while node 102 is waiting to monitor the beacon messages of wireless network 120, and before sending association request message 112 and starting the actual network joining process, node 102 is controlled to send another beacon request message 106.
[0080] In summary, nodes attempting to join the wireless network cannot communicate with each other, so the number of nodes simultaneously joining the wireless network cannot be directly determined. However, each node 102 attempting to join the wireless network sends a beacon request message 106 before the actual joining process begins, resulting in one beacon message 108 from each node in the wireless network 104 within its communication range. Therefore, if multiple nodes attempt to join simultaneously, a node in the wireless network 104 will send a number of beacon messages 108 in response to the number of beacon request messages 106 from nodes within its communication range. Thus, repeated beacon messages 108 from the same node in the wireless network 104 indicate that at least that number of other nodes are attempting to join the wireless network. If the number of repeated beacon messages 108 exceeds a certain threshold, node 102 considers the current situation as a potentially congested network with too many joining nodes. Node 102 then waits for a longer period 120 to release the load on the channel.
[0081] Figure 3 A flowchart 200 is shown, illustrating a method for controlling nodes to wait for dynamically adaptive time lengths, as follows:Figure 2 during the middle of the event sequence.
[0082] In step 202, a maximum wait time is obtained. For example, the maximum wait time is configured by the manufacturer to be suitable for commissioning of a small network containing a plurality of nodes.
[0083] In step 204, a predetermined time length is determined based on the maximum wait time. The predetermined time length is determined to be a random time length between zero and the maximum wait time.
[0084] In step 206, the node is caused to wait for the predetermined time length. During this time, the node receives beacon messages transmitted by wireless network nodes that are within the node's communicable range. All beacon messages received by the node are recorded.
[0085] In step 208, based on the beacon messages received during the predetermined time period, it is determined whether the network is likely to be congested. If it is determined that the wireless network is likely to be congested, step 206 is performed again to avoid communication failure and to release channel load. If it is determined that the wireless network is not likely to be congested, step 212 is performed.
[0086] If the indicator based on the received beacon messages satisfies a congestion condition, it is determined that the network is likely to be congested.
[0087] In one embodiment, the indicator is the number of beacon messages received from all nodes of the wireless network during the wait time divided by the number of nodes of the wireless network. In other words, the average number of beacon messages transmitted by each node of the wireless network. If this number exceeds a threshold, it is an indication that the wireless network is likely to be busy. This is because a large number of beacon messages received by the node during the wait time indicates that there can be many nodes attempting to join the wireless network.
[0088] However, the average number of beacon messages received by nodes within the communicable range of only a small subset of the nodes of the wireless network will be greatly reduced compared to nodes within the communicable range of all nodes of the wireless network. To address this problem, in another embodiment, the indicator is the maximum number of beacon messages received from a single node of the wireless network during the wait time. If this number exceeds a threshold, it is an indication that the wireless network is likely to be congested if the node attempts to join. However, a disadvantage of this embodiment is that if one node of the wireless network transmits many beacon messages in response to a situation other than receiving a beacon request message, a node attempting to join the network can falsely determine a high likelihood of congestion and continue to wait, reducing individual join and overall commissioning process.
[0089] In step 212, in response to the determination that the wireless network is unlikely to be congested, a beacon request message is sent. The purpose of this step is to indicate to other nodes attempting to join the wireless network that the node is beginning the actual joining process. This increases the likelihood that other nodes, having determined in step 208 that the wireless network may be congested, will therefore wait longer before beginning the actual joining process.
[0090] In step 216, the node begins the actual joining process. For example, the node sends an association request message to the wireless network and waits to receive an association response message from the wireless network in response. In response to receiving the association response message, the node then proceeds with standard authentication and key exchange routines to connect to the wireless network.
[0091] Figure 4 It shows according to Figure 2 The modified flowchart 250 makes the maximum waiting time dynamic and sends a beacon request message before the actual joining process begins. Figure 3 The above description also applies to Figure 4 And it is incorporated into this article by reference. Therefore, the above description will not be repeated here.
[0092] exist Figure 4 In step 208, if it is determined that the wireless network may be congested, a new step 210 is executed. If it is determined that the wireless network is unlikely to be congested, a new step 212 is executed.
[0093] In step 210, a new maximum waiting time is determined based on the previous maximum waiting time. This allows the maximum waiting time on which the predetermined waiting time is based to be dynamically adjusted.
[0094] In one embodiment, the new maximum latency is based on the previous maximum latency multiplied by a predetermined constant. For example, this constant is greater than 1, such that the maximum latency increases each time congestion is determined to be likely in the wireless network, making it a more appropriate value to adequately differentiate when joining a large network.
[0095] In another embodiment, the new maximum latency is based on a previous maximum latency multiplied by an indicator based on the received beacon messages. In this way, the previous maximum latency is dynamically changed according to the busy level of the wireless network indicated by the received beacon messages. For example, if the beacon messages indicate that a large number of nodes are attempting to join the network, it is appropriate to increase the maximum latency accordingly. Conversely, if the beacon messages indicate that only a small number of nodes are attempting to join, it is appropriate to decrease the maximum latency accordingly.
[0096] In step 212, the beacon request message also indirectly provides information useful in step 210 for determining a new maximum wait time for nodes attempting to join the wireless network, in addition to increasing the likelihood that other nodes determine that the wireless network can be congested in step 208.
[0097] In step 214, the node is caused to wait for a scan time period. This is in accordance with the requirements of the IEEE 802.15.4 standard. In other words, the node is caused to wait for a sufficient time so that all nodes of the wireless network respond to the node sending the beacon request message before performing step 216.
[0098] It will be appreciated that embodiments of the application can not include step 210 and step 214. It will also be appreciated that embodiments of the application can include one or both of step 210 and step 214.
[0099] In step 216, the node starts the actual joining process. For example, the node sends an association request message to the wireless network and waits for an association response message to be received from the wireless network in response. In response to receiving the association response message, the node then proceeds with a standard authentication and key exchange routine to connect to the wireless network.
[0100] Figure 5 A wireless network 300 is shown being set up. This includes three nodes being controlled at different stages of the joining process. That is, a node 302 scanning for a wireless network to join, a node 304 in the actual joining process, and a node 320 waiting whilst monitoring the wireless network channel, each node including a control unit 306 and a communications interface 308. In addition, three nodes 320 are shown connected in the wireless network 310.
[0101] The control unit 306 of each node not yet connected to the network controls the operation of that node. This includes controlling the waiting node 320 to wait for a predetermined length of time and determining, based on the beacon messages 318 received, whether to control the waiting node 320 to join the wireless network 310.
[0102] The control unit 306 determines the predetermined length of time based on a random time value between zero and the maximum wait time value and analyses the beacon messages 318 in respect of congestion conditions in order to determine whether to control the waiting node 320 to join the wireless network 310. If the control unit determines that congestion can occur, the control unit 306 controls the waiting node 320 to wait for a further predetermined length of time. The control unit 306 controls the joining node 304 to wait for the communications interface 308 to receive an association response message 316 in response to the association request message 314 being sent. The control unit 306 is also configured to control the scanning node 302 to wait for a scan time period in response to the node sending the beacon request message 312.
[0103] The communication interface 308 of the scanning node 302 and the joining node 320 transmits the beacon request message 312 and the association request message 316 in response to the control unit 306 determining that the wireless network 310 is unlikely to be congested. The communication interface 308 is also able to receive the beacon message 318 while the control unit 306 controls the waiting node 320 to wait for a predetermined waiting time. Furthermore, the communication interface 308 is able to receive the association response message 316 while the control unit 306 controls the joining node 304 to wait in response to transmitting the association request message 314.
[0104] For example, the scanning node 302, the joining node 304 and the waiting node 320 are lighting devices or sensors. The wireless network 310 is a Zigbee network for a professional lighting system or a building automation network. The node 320 of the wireless network 310 is a router or a coordinator, or other communicable node.
[0105] Modifications to disclosed embodiments can be understood and implemented by those skilled in the art upon study of the drawings, the present disclosure and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality.
[0106] A single processor or other unit can implement the functionality of several items recited in the claims.
[0107] The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
[0108] A computer program can be stored / distributed on a suitable medium, such as an optical storage medium or a solid-state storage medium supplied together with or as part of other hardware, but can also be distributed in other forms, such as via the Internet or other wired or wireless communication systems.
[0109] If the term "adapted to" is used in the claims or specification it should be noted that the term "adapted to" is intended to be equivalent to the term "configured to".
[0110] Any reference signs in the claims should not be construed as limiting the scope.
Claims
1. A method performed by a node (102) of controlling the node (102) for joining a wireless network, comprising: controlling (206) the node (102) to wait for a predetermined length of time; receiving beacon messages (108) transmitted by nodes of the wireless network (104) within the predetermined length of time; analyzing (208) a number of the received beacon messages with respect to a congestion condition, and determining (208) whether to control the node to join the wireless network based on a result of the analysis.
2. The method of claim 1, further comprising determining (204) the predetermined length of time based on a random time value between 0 and a maximum wait time value.
3. The method of claim 1, wherein determining whether to control the node (102) to join the wireless network (104) comprises: controlling (212) the node to send a beacon request message (106) if the analysis determines that an indicator based on the number of received beacon messages (108) does not satisfy the congestion condition; controlling (216) the node to join the wireless network if the analysis determines that the indicator based on the number of received beacon messages (108) does not satisfy the congestion condition; and controlling (214) the node to repeat the step of waiting for the predetermined length of time if the analysis determines that the indicator based on the number of received beacon messages (108) satisfies the congestion condition.
4. The method of claim 3, wherein the congestion condition is based on a threshold value indicating that the wireless network (104) is congested.
5. The method of claim 3 or 4, further comprising: obtaining the indicator based on the number of received beacon messages, wherein obtaining comprises one of: dividing a total number of beacon messages (108) received within the predetermined length of time by a total number of nodes of the wireless network; or determining a maximum number of beacon messages received from any one node of the wireless network within the predetermined length of time.
6. The method of claim 3, wherein controlling the node to repeat the step of waiting for the predetermined length of time further comprises: determining (210) a new maximum wait time based on a previous maximum wait time; and determining (204) the predetermined length of time based on a random time value between 0 and the new maximum wait time value.
7. The method of claim 6, wherein determining the new maximum wait time comprises one or more of: multiplying the previous maximum wait time by a predetermined constant; and multiplying the previous maximum wait time by an indicator based on the received beacon messages.
8. The method of claim 1, wherein controlling the node (102) to join the wireless network (104) comprises: controlling (112) the node (102) to send an association request message to the wireless network; controlling (114) the node (102) to wait for an association response message transmitted by a node on the wireless network (104); and controlling (110) the node (102) to join the wireless network based on the association response message. In response to receiving the association response message, the node (102) is controlled (116, 118) to join the wireless network (104).
9. The method of claim 8, further comprising, in response to the node sending the beacon request message, controlling the node (102) to wait for a scan time period.
10. A computer program product comprising computer program code means which, when executed on a computing device having a processing system within a node (102), causes the processing system to perform all of the steps of the method according to any of the preceding claims.
11. An apparatus for controlling a node (102) for joining a wireless network within the node, comprising: a control unit (306) configured to control the node for waiting for a predetermined length of time; and a communication interface (308) configured to receive, within the predetermined length of time, beacon messages transmitted by nodes of the wireless network, and wherein the control unit (306) is further configured to control the node to join the wireless network based on a result of an analysis of a number of the received beacon messages with respect to a congestion condition.
12. The apparatus of claim 11, wherein the control unit (306) is further configured to: determine the predetermined length of time based on a random time value between 0 and a maximum wait time value; analyze the beacon messages received from the communication interface with respect to a congestion condition; and determine, based on the result of the analysis, whether to control the node (102) to join the wireless network.
13. The apparatus of claim 12, wherein the control unit (306) is further configured to: in response to the analysis determining that an indicator based on a number of received beacon messages does not satisfy the congestion condition, control the node (102) to join the wireless network; and in response to the analysis determining that the indicator based on a number of received beacon messages satisfies the congestion condition, control the node (102) to repeat the step of waiting for the predetermined length of time.
14. The apparatus of any of claims 11 to 13, wherein, in response to the control unit (306) determining to control the node to join the wireless network, the communication interface (308) is further configured to: send a beacon request message; send an association request message to the wireless network; and receive an association response message, and wherein the control unit is further configured to: in response to sending the association request message, control the node to wait for an association response message transmitted by a node on the wireless network; and in response to the node sending the beacon request message, control the node to wait for a scan time period.
Citation Information
Patent Citations
Method and apparatus for synchronizing node transmissions in a network
US20120224568A1
Method, apparatus, and computer program product for signaling transmission delay
US20160234756A1
System and method for managing DSME network fluctuation in industrial wireless sensor network
US20190182705A1