Classifying static leaf nodes in motion detection systems

By identifying and selecting fixed or static leaf node devices in the motion detection system, the problem of difficult to guarantee data quality and accuracy in the prior art is solved, and the accuracy of motion sensing results is improved.

CN113348379BActive Publication Date: 2025-02-11COGNITIVE SYST
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201980090142.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-01-24
Filing Date
2019-08-21
Publication Date
2025-02-11
Estimated Expiration
2039-08-21

AI Technical Summary

Technical Problem

When the existing motion detection system selects a wireless signal transmission path, it is difficult to ensure data quality and accuracy, which affects the effect of motion detection.

Method used

Data quality in motion sensing applications is improved by identifying and selecting fixed or static leaf node devices in motion detection systems to collect channel information.

Benefits of technology

Improves the data quality of the motion detection system and the accuracy of the motion sensing results, providing a more accurate and useful assessment of the motion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113348379B_ABST
    Figure CN113348379B_ABST
Patent Text Reader

Abstract

In a general aspect, a motion detection system manages leaf nodes used for detection by one or more access points. For example, an access point identifies one or more static leaf nodes based on the presence activity of each leaf node in a calibration window. Based on the quality information of the AP-leaf node links, a health score of each AP-leaf node link is determined for each calibration window. One or more of the static leaf nodes are selected for detection in the motion detection system based on the health scores of the respective AP-leaf node links. Then, the motion detection system is updated to use the selected one or more static leaf nodes for motion detection.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Patent Application No. 16 / 256,377, filed on January 24, 2019, which is incorporated herein by reference. Background Art

[0003] The following description relates to detecting motion of objects in space based on wireless signals.

[0004] Motion detection systems have been used to detect the movement of objects in, for example, a room or an outdoor area. In some example motion detection systems, infrared or optical sensors are used to detect the movement of objects in the field of view of the sensor. Motion detection systems have been used in security systems, automated control systems, and other types of systems. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] Figure 1 is a diagram illustrating an example wireless communication system.

[0006] Figure 2 is a diagram illustrating an example architecture of a motion detection system.

[0007] Figure 3 is a diagram showing an example of AP-leaf node link classification.

[0008] Figure 4 is a diagram showing an example of evaluating a link on a calibration window.

[0009] Figure 5 is a flow chart illustrating an example process of classifying leaf node devices.

[0010] Figure 6 is a block diagram illustrating an example of a closed-loop control flow for updating leaf nodes in a motion detection system.

[0011] Figure 7 is a block diagram illustrating example processing of a leaf node disconnect event.

[0012] Figure 8 is a block diagram illustrating example processing of a leaf node connection event.

[0013] Fig. 9 is a block diagram illustrating an example process for identifying static leaf nodes.

[0014] Fig.10 is a block diagram illustrating an example process for classifying link quality of static leaf nodes.

[0015] Fig.11 is a block diagram illustrating an example wireless communication device. DETAILED DESCRIPTION

[0016] As an overview, a motion detection system may be configured to detect motion in a space based on changes in wireless signals sent between devices through the space on a communication channel. In some instances, a motion detection device in a motion detection system may communicate with one or more other devices (which may or may not be part of the motion detection system) (e.g., leaf nodes) via wireless signals to obtain channel information that can then be used for motion sensing. In some cases, it may be advantageous for the motion detection system to select which available devices to collect channel information to be used in a motion sensing application.

[0017] Various aspects of the present invention may provide certain technical advantages and improvements. In some cases, controlling which devices to obtain channel information from improves the quality of data to be used in motion sensing applications, thereby improving motion sensing results. In some cases, according to various aspects of the present invention, in addition to other technical improvements to the operation of monitoring and alarm systems, collecting channel information from certain selected devices can further improve the operation of motion detection systems such as monitoring and alarm systems to provide more accurate and useful assessments of motion and more accurately determine the state of a space. In some instances, the motion detection system uses existing features of wireless communication devices and networks to determine which devices to select.

[0018] In some aspects described herein, the motion detection system can select which leaf node devices will be used to collect channel information. In some instances, the motion detection system selects only fixed or static leaf nodes. In some cases, a fixed leaf node device can be selected based on the link quality compared to other fixed leaf node devices. In other aspects, a fixed leaf node device is identified and / or selected during a calibration window.

[0019] Figure 1 An example wireless communication system 100 is shown. The example wireless communication system 100 includes three wireless communication devices, namely a first wireless communication device 102A, a second wireless communication device 102B, and a third wireless communication device 102C. The example wireless communication system 100 may include additional wireless communication devices 102 and / or other components (e.g., one or more network servers, network routers, network switches, cables or other communication links, etc.).

[0020] The example wireless communication devices 102A, 102B, 102C may operate in a wireless network, for example, in accordance with a wireless network standard or another type of wireless communication protocol. For example, a wireless network may be configured to operate as a wireless local area network (WLAN), a personal area network (PAN), a metropolitan area network (MAN), or another type of wireless network. Examples of WLANs include networks configured to operate in accordance with one or more of the 802.11 family of standards developed by the IEEE (e.g., Wi-Fi networks), etc. Examples of PANs include networks configured to operate in accordance with short-range communication standards (e.g., Near Field Communication (NFC), ZigBee, and millimeter wave communications.

[0021] In some implementations, the wireless communication devices 102A, 102B, 102C may be configured to communicate in a cellular network, for example, according to a cellular network standard. Examples of cellular networks include networks configured according to the following standards: 2G standards such as Global System for Mobile (GSM) and Enhanced Data Rates for GSM Evolution (EDGE) or EGPRS; 3G standards such as Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), and Time Division Synchronous Code Division Multiple Access (TD-SCDMA); 4G standards such as Long Term Evolution (LTE) and Advanced LTE (LTE-A); 5G standards; and so on. Figure 1 In the example shown, the wireless communication devices 102A, 102B, 102C may be or may include standard wireless network components. For example, the wireless communication devices 102A, 102B, 102C may be commercially available Wi-Fi devices.

[0022] In some cases, the wireless communication devices 102A, 102B, 102C may be Wi-Fi access points (APs) or other types of wireless access points (APs). The wireless communication devices 102A, 102B, 102C may be configured to perform one or more operations as described herein embedded in the wireless communication device as instructions (e.g., software or firmware). In some cases, the wireless communication devices 102A, 102B, 102C may be nodes of a wireless mesh network. For example, a wireless mesh network may refer to a decentralized wireless network, the nodes of which (e.g., wireless communication devices 102) communicate directly in a point-to-point manner without the use of a central access point, base station, or network controller. A wireless mesh network may include a mesh client, a mesh router, or a mesh gateway. A mesh network may be based on a commercially available mesh network system (e.g., GOOGLE Wi-Fi). In some instances, the wireless mesh network is based on the IEEE 802.11s standard. In some instances, the wireless mesh network is based on a Wi-Fi ad hoc network or other standardized technologies. In some cases, the wireless communication device 102 may use other types of standard or legacy Wi-Fi transceiver devices. The wireless communication devices 102A, 102B, 102C may use standard or non-standard wireless protocol types for wireless communication other than the Wi-Fi protocol for motion detection.

[0023] exist Figure 1 In the example shown, a wireless communication device (e.g., 102A, 102B) (e.g., according to a wireless network standard, a motion detection protocol, a presence detection protocol, or other standard or non-standard protocols) transmits a wireless signal on a communication channel. For example, a wireless communication device may generate a motion detection signal for transmission to detect a space to detect the motion or presence of an object. In some implementations, the motion detection signal may include a standard signaling or communication frame, which includes a standard pilot signal used in channel detection (e.g., channel detection for beamforming according to the IEEE802.11ac-2013 standard). In some cases, the motion detection signal includes a reference signal known to all devices in the network. In some instances, one or more of the wireless communication devices may process motion detection signals, which are based on signals received by sending motion detection signals through the space. For example, the motion detection signal may be analyzed to detect the motion of an object in the space, the lack of motion in the space, or the presence or absence of an object in the space based on changes (or lack of changes) detected in the communication channel.

[0024] The wireless communication device (e.g., 102A, 102B) that sends the motion detection signal may operate as a source device. In some cases, the wireless communication device 102A, 102B may broadcast a wireless motion detection signal (e.g., as described above). In other cases, the wireless communication device 102A, 102B may send a wireless signal addressed to other wireless communication devices 102C and other devices (e.g., user equipment, client devices, servers, etc.). The wireless communication device 102C and other devices (not shown) may receive the wireless signal sent by the wireless communication device 102A, 102B. In some cases, the wireless signal sent by the wireless communication device 102A, 102B may be repeated periodically, for example, according to a wireless communication standard or otherwise.

[0025] In some examples, wireless communication device 102C operating as a sensor device processes wireless signals received from wireless communication devices 102A, 102B to detect movement of objects in the space accessed by these wireless signals. In some examples, another device or computing system processes wireless signals received by wireless communication device 102C from wireless communication devices 102A, 102B to detect movement of objects in the space accessed by these wireless signals. In some cases, when a lack of motion is detected, wireless communication device 102C (or another system or device) processes the wireless signals to detect the presence or absence of objects in the space. In some instances, wireless communication device 102C (or another system or device) may perform the following with respect to Figure 3-8 Any figure in or about Figure 9-10 One or more operations described in the example processing described, or another type of processing for identifying and selecting a fixed leaf node and updating the motion detection system to use the selected fixed leaf node for motion detection may be performed. In the example, the wireless communication device 102C (e.g., AP) sends a wireless signal (e.g., a detection signal), and the wireless communication devices 102A, 102B (e.g., leaf nodes) receive and process the wireless signal and return channel response information to the wireless communication device 102C.

[0026] Wireless signals used for motion detection may include, for example, beacon signals (e.g., Bluetooth beacons, Wi-Fi beacons, other wireless beacon signals), pilot signals (e.g., pilot signals used for channel detection such as in beamforming applications according to the IEEE 802.11ac-2013 standard), or other standard signals generated for other purposes according to wireless network standards, or non-standard signals generated for motion detection or other purposes (e.g., random signals, reference signals, etc.). In some cases, the wireless signals used for motion detection are known to all devices in the network.

[0027] In some examples, the wireless signal may propagate through an object (e.g., a wall) before or after interacting with the moving object, which may enable detection of movement of the moving object without an optical line of sight between the moving object and the transmitting or receiving hardware. Conversely, when a lack of motion is detected, the wireless signal may indicate that an object is not present in the space. For example, based on the received wireless signal, the wireless communication device 102C may generate motion data, presence data, or both. In some instances, the wireless communication device 102C may communicate the motion detection data to another device or system, such as a security system, which may include a control center for monitoring movement within a space, such as a room, a building, an outdoor area, etc.

[0028] In some implementations, the wireless communication devices 102A, 102B may be configured to transmit the motion detection signal (e.g., as described above) on a separate wireless communication channel (e.g., a frequency channel or a coding channel) from the wireless network traffic signal. For example, the wireless communication device 102C may be aware of the modulation applied to the payload of the motion detection signal and the type or data structure of the data in the payload, which may reduce the amount of processing performed by the wireless communication device 102C for motion and presence detection. The header may include additional information, such as an indication of whether another device in the communication system 100 has detected motion, an indication of the modulation type, an identification of the device transmitting the signal, etc.

[0029] In some instances, wireless signals received at each wireless communication device 102 may be analyzed to determine channel information for different communication links in the network (e.g., between pairs of wireless communication devices in the network). Channel information may represent a physical medium that applies a transfer function to a wireless signal passing through space. In some instances, the channel information includes channel response information. Channel response information may refer to known channel properties of a communication link and may describe how a wireless signal propagates from a transmitter to a receiver, thereby representing a combined effect of, for example, scattering, fading, and power attenuation in the space between the transmitter and the receiver. In particular, a link may correspond to a receive (Rx) / transmit (Tx) antenna pair. Various configurations of Rx / Tx antennas may be supported. For example, for a 3Rx antenna / 3Tx antenna (e.g., 3x3) configuration, a total of 9 channel responses may be observed; for a 3x2 configuration, 6 channel responses may be observed; for a 2x2 configuration, 4 channel responses may be observed; and for a 2x1 configuration, 2 channel responses may be observed. In some instances, 4x4 or 8x8 configurations are possible, thereby providing 16 or 64 channel responses, respectively.

[0030] In some instances, the channel information includes beamforming state information. Beamforming (or spatial filtering) may refer to a signal processing technique used in a multi-antenna (multiple input / multiple output (MIMO)) radio system for directional signal transmission or reception. Beamforming may be achieved by combining elements in an antenna array in such a way that signals at a specific angle undergo constructive interference while other signals undergo destructive interference. Beamforming may be used at both the transmitting and receiving ends to achieve spatial selectivity. In some cases (e.g., the IEEE 802.11ac standard), the transmitter uses a beamforming steering matrix. The beamforming matrix may include a mathematical description of how the antenna array should use its individual antenna elements to select a spatial path for transmission. Although certain aspects are described herein with respect to channel response information or beamforming state information, other types of channel information may also be used in the described aspects.

[0031] exist Figure 1 In the illustrated example, the wireless communication system 100 is illustrated as a wireless mesh network in which wireless communication links exist between respective wireless communication devices 102. In the illustrated example, the wireless communication link between the wireless communication device 102C and the wireless communication device 102A may be used to detect a first motion detection area 110A, the wireless communication link between the wireless communication device 102C and the wireless communication device 102B may be used to detect a second motion detection area 110B, and the wireless communication link between the wireless communication device 102A and the wireless communication device 102B may be used to detect a third motion detection area 110C. In some instances, each wireless communication device 102 may be configured to detect motion in each motion detection area 110 to which the device is connected by processing a received signal based on a wireless signal transmitted over a link between the wireless communication devices 102 in the motion detection area 110. For example, when Figure 1 When the object 106 shown moves between the first motion detection area 110A and the third motion detection area 110C, the wireless communication device 102 can detect the motion based on the received signal of the wireless signal transmitted through the corresponding motion detection area 110. For example, the wireless communication device 102A can detect the motion of the person in both the first motion detection area 110A and the third motion detection area 110C, the wireless communication device 102B can detect the motion of the person 106 in the second motion detection area 110B and the third motion detection area 110C, and the wireless communication device 102C can detect the motion of the person 106 in the first motion detection area 110A and the second motion detection area 110B.

[0032] In some examples, motion detection area 110 may include, for example, air, a solid material, a liquid, or another medium through which wireless electromagnetic signals may propagate. Figure 1In the example shown, the first motion detection area 110A provides a wireless communication channel between the first wireless communication device 102A and the third wireless communication device 102C, the second motion detection area 110B provides a wireless communication channel between the second wireless communication device 102B and the third wireless communication device 102C, and the third motion detection area 110C provides a wireless communication channel between the first wireless communication device 102A and the second wireless communication device 102B. In some aspects of operation, movement is detected using wireless signals transmitted on a wireless communication channel (separate from or shared with a wireless communication channel used for network traffic). The object can be any type of static or movable object, and can be animate or inanimate. For example, the object can be a human (e.g., such as Figure 1 ), an animal, an inorganic object, or another device, equipment or assembly, an object that defines all or part of the boundaries of a space (e.g., a wall, door, window, etc.), or another type of object. In some implementations, when the motion of the object is not detected, the motion information from the wireless communication device can trigger further analysis to determine the presence or absence of the object.

[0033] In some implementations, the wireless communication system 100 may be or may include a motion detection system. The motion detection system may include one or more of the wireless communication devices 102A, 102B, 102C and possible other components. One or more wireless communication devices 102A, 102B, 102C in the motion detection system may be configured for motion detection. The motion detection system may include a database storing signals. The stored signals may include corresponding measurements or metrics for each received signal (e.g., channel response information, beamforming state information, or other channel information), and the stored signals may be associated with channel states (e.g., motion, lack of motion, etc.). In some instances, one of the wireless communication devices 102 of the monitoring system may operate as a central core or server for processing received signals and other information to detect motion. The wireless communication device 102 of the monitoring system or other similar wireless communication devices may identify a fixed or static leaf node that communicates with the wireless communication device 102 of the monitoring system or other similar wireless communication devices. In some implementations, the wireless communication device 102 or other device or computing system of the motion detection system may classify and rank fixed or static leaf nodes in communication with the wireless communication device 102 or with other similar wireless communication devices 102. Storage of data related to the processing for identifying fixed leaf nodes and / or classifying and selecting fixed leaf nodes for detection in the monitoring system may be performed on the wireless communication device 102 configured as an AP device (e.g., a gateway device), on another type of computing device, in the motion detection system, or in some cases, in the cloud.

[0034] Figure 2 A diagram illustrating an example architecture of an example motion detection system 200 is shown. In some cases, devices in the motion detection system 200 communicate according to one or more aspects of the IEEE 802.11 wireless communication standard or another type of standard or non-standard protocol. Figure 2 In the illustrated example, the motion detection system 200 includes a wireless access point (AP) 202 (e.g., the wireless communication device 102), one or more leaf devices 204 that can communicate with the AP 202, and in some examples, additional APs or leaf devices, or other types of devices such as servers. In some examples, such as Figure 2 As shown, the motion detection system includes a plurality of APs 202 (e.g., Figure 1 The wireless communication device 102), the multiple APs 202 communicate with one or more leaf nodes 204 connected to each AP 202 according to the wireless mesh protocol.

[0035] In some instances, the device-to-device wireless connections in the motion detection system 200 can constitute a motion link 250 for performing motion measurements. The motion link between the AP 202 and the leaf node 204 is referred to herein as an AP-leaf node link. The leaf node 204 can be a Wi-Fi device used by the AP 202 for detection in the motion detection system 200. In some instances, the leaf node 204 is not configured with proprietary motion detection software or hardware, but operates normally according to a particular wireless standard. For example, the leaf node 204 can process a detection request from the AP 202 as part of its normal operation under its operating standard (e.g., the leaf node 204 operates as a smart phone, smart thermostat, laptop computer, tablet device, set-top box, or streaming device, etc.). In some cases, the AP 202 and the leaf node 204 conform to standard (e.g., IEEE 802.11) protocols, so motion detection-specific hardware or software is not required to act as a leaf node of the motion detection system 200. Typically, the motion detection system 200 can use Figure 2 Any leaf node in the leaf nodes 204 in the AP 202 is used as a probing node to obtain channel information (e.g., channel response information, beamforming state information, etc.) for motion detection. In some cases, the leaf nodes 204 preferably used by the AP 202 for probing have certain characteristics, such as the following: the leaf nodes 204 are stationary over time and have a stable power source, such as a plugged-in smart phone.

[0036] In an example, the motion detection system 200 implements a beamforming protocol, e.g., to generate beamforming information and send the beamforming information from one wireless device to another wireless device. For example, the wireless communication device 202 may implement a beamforming protocol as described above. In some instances, (one or more) APs 202 may detect motion of the object 230 based on analyzing a beamforming matrix (e.g., a steering or feedback matrix). In some examples, detection and / or beamforming is performed on a kinematic link (e.g., a kinematic link 250A between the AP 202 and the leaf device 204A), and motion is detected at the AP 202 by observing changes in a beamforming matrix (e.g., a steering or feedback matrix) associated with the kinematic link. The AP 202 may also locate motion based on changes in a corresponding beamforming matrix for each connection with the leaf device 204. In a mesh configuration (e.g., multiple APs 202 interconnected (in a plurality of mesh configurations), the AP 202 may detect motion of the object 230 based on analyzing a beamforming matrix (e.g., a steering or feedback matrix). Figure 2 In a motion detection system 202 (not shown in the figure), detection and beamforming are performed between the APs 202 and their respective leaf devices 204, and motion information is determined at each AP 202. The motion information can then be sent to a core device (e.g., one of the APs 202) or another device (such as a server, etc.) to analyze the motion information and generally determine whether motion has occurred in space, detect the location of the detected motion, or both.

[0037] exist Figure 2 In some implementations of the illustrated example motion detection system 200, the number of leaf nodes 204 in communication with the AP 202 is unknown or changes over time. In some instances, the number of leaf nodes 204 in communication with the AP 202 changes as the mobile leaf nodes 204 move in and / or out of communication with the AP 202. For example, a user carrying a mobile device (e.g., leaf node 204B) may enter the space, and the mobile device may begin communicating with the AP 202 that is performing motion sensing activities. However, typically in a mesh configuration, a leaf node is able to select any of the mesh APs, and is also free to switch between these mesh APs at any time, thereby affecting the number of leaf nodes in communication with any particular AP 202. While the mobile device is communicating with the AP 202, the AP 202 may collect information from the mobile device and / or perform detection using the mobile device. The user may then leave the space with the mobile device, and the mobile device may move out of the range of the AP 202, but later enter the range of the AP 202 again. In some contexts, the data collected by AP 202 from the mobile device may not be stable enough to be used to determine motion.

[0038] In some cases, the use of leaf nodes in a motion detection system may affect the performance of the system. For example, the resources required to perform detection on a motion link between devices (e.g., a motion link 250 between AP 202 and leaf node 204) to collect channel information may be limited. In some instances, the central processing unit (CPU) and memory usage increase linearly with the number of active AP-leaf node links used for detection in a motion detection system. In some cases, the motion detection system may be communicating with static (with fixed positions) leaf nodes and mobile (with variable positions) leaf nodes, but cannot distinguish fixed leaf nodes from mobile leaf nodes. In some instances, the location of the leaf node may affect the performance of the motion detection system. In some cases, the motion detection system observes that some leaf nodes are poor in detection during the detection process used to collect channel information, which results in providing poor channel information to the motion detection system. In some instances, the poor channel information received from the poor detection leaf node may cause overall system degradation. In some instances, the poor detection leaf node may be caused by the fact that the leaf node is a mobile leaf node rather than a fixed leaf node. In other instances, the motion detection system may be overwhelmed if a large number of leaf nodes appear all at once or within a short period of time (e.g., upon system initialization, after restarting the system, etc.). In some cases, the user may also be overwhelmed by notifications from the system, such as when the user is notified and asked to confirm the addition of a leaf node to the system.

[0039] As described herein, a closed-loop continuous link health measurement and classification system for AP-leaf node links is provided to address one or more of these issues and improve the operation of motion detection systems. In some instances, the system can be applied to AP-AP mesh links or other types of motion links in motion detection systems.

[0040] Figure 3 3 is a diagram illustrating an example of AP-leaf node link classification. In an implementation, the example link classification 300 classifies each AP-leaf node link in a motion detection system (e.g., motion detection system 200) as a fixed or static leaf node or a mobile leaf node. In some examples, a leaf node (e.g., Figure 2The motion detection system may include a leaf node 204 in the motion detection system that is communicatively coupled to one or more APs 202 of the motion detection system at various points in time. In some instances, the motion detection system periodically receives network status reports 310 from each AP 202 for a defined time interval (e.g., every minute, every two or three minutes, every hour, etc.). The time interval for receiving the network status reports may be adjustable. In a system including multiple APs 202, one of the APs 202 may act as a core to collect network status reports 310 from each of the other APs 1210. In some implementations, the motion detection system may have only one AP 202, and in this case, it would not be necessary to receive network status reports 310 from the other APs. The network status reports 310 for each AP in the motion detection system include statistical data for each active AP-leaf node link during the defined time interval.

[0041] In an implementation, active AP-leaf node links are identified based on the machine address (e.g., the media access control (MAC) address) of the underlying wireless interface used by the AP and the leaf node. A network status report 310 is provided for each AP-leaf node link. In some instances, an AP-leaf node link is determined to be active during a defined time interval if the leaf node is in wireless communication with the AP during the time interval. For example, if the leaf node responds to a beacon signal or other signal from the AP during the detection period, the AP will mark the leaf node as active in the network status report 310 for the time interval. In some instances, status reports 310 from multiple time intervals are aggregated to derive statistics for each AP-leaf node link over a calibrated time period. In some implementations, various metrics in the status report are tracked and / or calculated over a calibrated time period (e.g., 1 hour) for each active AP-leaf node link. Figure 3 In the example classification 300 shown, statistics received from 60 network status reports are aggregated over a one-hour calibration period. Figure 3As shown, the metrics include a presence information metric 325, a successful detection metric 326, a failed detection metric 327, an average received signal strength indication (RSSI) metric 328, and a motion detection failure rate metric 329. In some implementations, other metrics may be used to classify links. In some instances, for a calibration period, the presence information metric 325 indicates the number of status reports 310 for a particular AP-leaf node link that are active. As an example, for a calibration period of one hour with status reports 315 reported every minute, the presence information metric 325 may have an integer value ranging from 0 to 60 (0-60). In some implementations, for each AP-leaf node link, a successful detection metric 326 indicating an average successful channel frequency response (CFR) detection rate (range 0-100%) is calculated, and a failed detection metric 327 indicating an average failed CFR detection rate (range 0-100%) is calculated. These statistics are related to the AP's attempt to detect a leaf node by sending a detection request, and whether the leaf node responds (e.g., successfully) or does not respond (e.g., unsuccessfully). In some cases, an average RSSI metric 328 and a motion detection failure rate 329 may be calculated and used to classify AP-leaf node links. Figure 5 330. The calibration results are calculated as described in or otherwise, and each active AP-leaf node link is classified based on the calibration results. For example, as described below, the active AP-leaf node link can be classified as qualified, noisy, or dormant.

[0042] In the example described here, an AP-leaf node link is represented by an AP number and a leaf number pair. Figure 3 and Figure 4 In the described example, the motion detection system includes three APs (AP0, AP1, and AP2) and two leaf nodes (Leaf0 and Leaf1), which communicate with one or more of these APs during calibration events. Therefore, each AP reports the status of up to two links (e.g., AP0-Leaf0 and AP0-Leaf1). On the other hand, a leaf node can be associated with one, two, or all three of the APs, and can therefore be associated with three links (e.g., AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0). As described above, since actual AP-leaf node link pairs are identified by MAC addresses, the AP and leaf node numbers used here are for illustration only.

[0043] In some implementations, first, active leaf nodes are determined as being fixed (e.g., static) or mobile using presence information metrics 325. During experiments in some example systems, it was observed that methods of monitoring whether a leaf node jumps from one AP to another do not necessarily indicate whether the leaf node is fixed or mobile, e.g., fixed leaves were observed to jump for various non-obvious reasons. Furthermore, in some contexts, observing only received signal strength indication (RSSI) measurements of leaf nodes does not necessarily provide a reliable indication of whether a leaf node is fixed or mobile.

[0044] Figure 4 4 is a diagram showing an example of evaluating a link over a calibration window 410. The calibration window 410 includes a plurality of calibration time periods 420. In this example, each row of the table 480 shows the calibration time periods 420 for a particular AP-leaf node link 430 in the calibration window 410 (e.g., Figure 5 The calibration result 470 is obtained as described or otherwise. Figure 4 In the example shown, the activity of an AP-leaf node link during the calibration window 410 is represented by a highlighted or grayed-out calibration time period 420 in each corresponding row for the AP-leaf node link. In particular, a grayed-out calibration time period 420 in any calibration window 410 (e.g., NODATA 470a) indicates that the particular AP-leaf node link 430 was not detected as being in an active (or sufficiently active) state during the calibration time period 420 based on the presence information metric 325, while other highlighted calibration time periods 420 (e.g., PASS 470b, NOISY 470c, and SLEEP 470d) indicate that the particular AP-leaf node link 430 was detected as being in an active (or sufficiently active) state during the calibration time period 420 based on the presence information metric 325. Figure 5 Assigning additional qualifications (e.g., PASS 470b, NOISY 470c, and SLEEP 470d) to active AP-leaf node links is discussed in Figure 5 Other qualifications 570 may be used. For example, when the presence information metric 325 for the AP-leaf node link exceeds a threshold value during the calibration period 420 (e.g., as in Figure 5As described in the decision 520 of , when the presence information metric 325 ≥ PRES_THRES(0.9)), the leaf node is marked as present or in an active state. In this example, the presence information metric 325 is a value from 0 to 60, so an AP-leaf node link 430 with a presence information metric 325 value of 54 or higher will be determined to be in an active (sufficiently active) state within the calibration time period 420 based on a threshold of 90%, while if the value is less than 54 within the calibration time period 420, the AP-leaf node link will be determined to be not in an active (sufficiently active) state. The threshold value can be adjustable, so in some instances, the leaf node can be determined to be present / active for a smaller or larger percentage of the time during the calibration window 410. In this example, each calibration time period 420 is 1 hour and the calibration window 410 is 5 hours, which means that there are five calibration reports 420 for each AP-leaf node link 430 to be checked. In an implementation, each AP-leaf node link 430 is assigned a plurality of points 450 for the calibration window 410. In some examples, points are assigned based on whether the presence activity of each AP-leaf node link 430 exceeds a presence threshold in each calibration time period 420. In the example shown, the total points 450 for each AP-leaf node link 430 are derived by adding points for each highlighted calibration time period 420 in the calibration window 410.

[0045] In this example, the AP-leaf node link 430 is assigned a point 450 during each calibration period 420 of the calibration window 410. In this example, if the AP-leaf node link 430 is determined to be "not active" during the calibration period 420 (e.g., Figure 4 ), the AP-leaf node link 430 is assigned 0 points, or if the AP-leaf node link 430 is determined to be "active" during the calibration period 420 (e.g., during Figure 4 ), the AP-leaf node link 430 is assigned a 1 point, although in other implementations, values ​​other than 0 or 1 may be assigned to indicate the presence or lack of activity. Figure 5 In decision block 520 , it is determined whether an AP-leaf node link is active.

[0046] Returning to calculation point 450, in table 480, AP0-Leaf0 is assigned 1 point for each highlighted 1-hour calibration period 420 (e.g., within the most recent calibration period (0h, 1h, 2h, and 3h) for which statistics are available for the link), and is assigned 0 points for non-highlighted 1-hour calibration periods (e.g., calibration period 4h for which no data is available for the link). In some instances, an AP-leaf link 430 may not have any data available for any calibration period (e.g., no data is available for AP0-Leaf1), and is assigned 0 total points 450 in table 480. In some cases, the overall assigned points 450 assigned to an AP-leaf link 430 within the calibration window 410 provide an indication of the presence activity level of the AP-leaf link, and in some instances, may also provide an indication of whether the leaf node is a fixed leaf node or a mobile leaf node. However, at least in some contexts, points alone may not be sufficient to determine with confidence whether a leaf node is fixed or mobile.

[0047] In some implementations, the summary point 450 of the AP-leaf node link 430 is an indication that there is activity, but does not indicate when the data in each calibration period 420 was collected and therefore when the link 430 was last active. For example, a calibration event may be initiated once a day or every 24 hours, meaning there may be 24 1-hour network status reports 310 for each AP-leaf node link to choose from for the calibration window, with "0h" being the most recent network status report and "23h" being the oldest network status report. Figure 4 In the example of , the calibration window is 5 hours, so five calibration time period network status reports 310 will be selected for each AP-leaf node link. The most recent calibration time period 420 for which data is available in the network status report 310 is the first report for each AP-leaf node link, and the network status reports 310 of the first four calibration time periods will then be used to complete the data set for the 5-hour calibration window 410. For example, the AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0 link pairs 430 were most recently active in the most recent calibration time period (e.g., "0h"); AP1-Leaf1 was most recently active in the sixth earliest calibration time period "5h". AP2-Leaf1 430 was most recently active in the 16th and 17th earliest calibration time periods "15h" and "16h", but no data is available in the next three earliest calibration time periods, so for illustration purposes, these time periods 430 are represented by the next earliest calibration time period "17h" and are grayed out.

[0048] In some instances, if the most recent presence information metric 325 for an AP-Leaf node link 430 is old, the presence activity information for the link 430 is also not current, which reduces its relevance in determining whether a leaf node is stationary or mobile. In some cases, the range value 460 is used as an indication of the age of the presence activity data. For example, the AP0-Leaf0 data collected within the last four hours (e.g., 0h, 1h, 2h, and 3h) Figure 4 On the other hand, the latest presence activity data of AP1-Leaf1 was collected 6-10 hours earlier (e.g., 5h, 6h, 7h, 8h, and 9h), indicating that no data is available in the latest 0-5 hours. The data of AP2-Leaf1 was collected even earlier (e.g., at 15h and 16h), indicating that no data is available in the latest 0-14 hours.

[0049] In implementation, the range 460 of an AP-leaf node link is determined by the age of the earliest calibration time period 420 for which data is available relative to the most recent calibration time period in the calibration window 410. For example, referring to table 480, the most recent calibration time period is "0h", so the range of AP0-Leaf0 is 0h-3h or 4; the range of AP1-Leaf1 is 0h-9h or 10; and the range of AP2-Leaf 1 is 0h-16h or 17. The range 460 of each AP-leaf node link is shown in table 480. The information of the range 460, along with the presence of activity points 450, can then be used to identify the link as fixed or mobile.

[0050] In the instance where the calibration window is shifted to accommodate the results and statistics for the next calibration period, if there are no additional activity reports for the AP-Leaf link, the score 440 and point 450 for the AP-Leaf link will not change. Referring again to AP2-Leaf1, the score 440 and point 450 will not change in the subsequent hours 0h-14h. However, for each subsequent calibration period in which there is no activity on the AP-Leaf link, the range 460 will increase by 1. The increase in the value of the range 460 thereby reduces the relevance of its historical data while providing additional context as to whether the leaf node is mobile or static.

[0051] In implementation, a leaf node is determined to be a static leaf node when the number of active points 450 for all links of the leaf node is equal to the range 460. In the example shown in Table 480, the points 450 of the AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0 link pairs are equal to their ranges 460. In this example, since all points 450 of the links of Leaf0 are equal to their ranges 460, Leaf0 can be identified as a static leaf node. In some instances, a leaf node may not be able to establish a link with each available AP (e.g., no data is available for the AP0-Leaf1 link pair). In this case, only links with available data will be used to determine whether the leaf node is static or mobile; links without data (e.g., range 460 equals 0) will be ignored. In some cases, other (additional or different) criteria can be used to determine whether a leaf node is a static leaf node.

[0052] In implementation, when a leaf node is determined to be a static leaf node (e.g., Leaf0), the motion detection system adds the node as a detection node. However, when a leaf node is determined to be a mobile node, the motion detection system removes (or does not add) the leaf node as a detection node. For example, AP0 may select Leaf0 for detection and use the data obtained in this way for motion detection; based on the example data shown in Table 480, Leaf1 appears to be moving, so AP0 may determine not to use Leaf1 for motion detection.

[0053] In some implementations, the motion detection system classifies the quality of each AP-leaf node link by determining a score 440 (also referred to herein as a "health score") for each link as shown in table 480. For example, for each calibration period 420, each AP-leaf node link may be assigned a value based on the link quality data in each network status report 310. Figure 4 In the example shown, the score 440 for each AP-leaf node link is compiled by adding the link quality values ​​of each calibration period 420 across the calibration window 410 of each AP-leaf node link. Figure 5 The assigned link quality value. Figure 4 In the example of , when the score is higher, the quality of the link is higher. However, in other implementations, other values ​​may be assigned to represent link quality, and the score may be calculated in a different manner, for example, a lower score may represent a higher quality. Figure 4, the AP-leaf node links are ranked according to their quality scores 440. In some instances, only the scores 440 of the leaf nodes identified as static are analyzed. For example, Leaf0 is identified as a static leaf node, and the AP0-Leaf0 link pair has the highest score, indicating that the quality of the link is better than AP1-Leaf0 and AP2-Leaf0. In some cases, AP0 will add leaf node Leaf0 as a detection node, or if Leaf0 is already a detection node, AP0 will keep Leaf0 as a detection node. In this example, Leaf1 is identified as a static node, so its score is not considered.

[0054] Figure 5 4 is a flow chart illustrating an example process 500 for classifying AP-leaf node links. In some implementations, during each calibration period 420 (e.g., when Figure 3 The calibration result 560 is classified into a classification process 500 for each AP-leaf node link (e.g., when aggregating statistics). In this example, there are multiple possible calibration result 560 categories (e.g., NOT_SOUNDED, NOT_PRESENT, SLEEPING, PASS, NOISY, BROKEN, NO_DATA), although in some instances, more or fewer categories may be used to classify leaf nodes. Each calibration result 560 carries a numerical weight based on how desirable the leaf node is from a detection priority perspective. The numerical weights are summed over the calibration window to derive a score (e.g., Figure 4 In some instances, a negative score indicates that detecting the leaf node is undesirable, while a positive score indicates that detecting the leaf node will contribute positively to the performance of the motion detection system. In some cases, the leaf nodes are ranked by priority (e.g., from highest to lowest) based on the magnitude of the score.

[0055] In the example process 500, the score of each AP-leaf node link is determined using statistics aggregated for each calibration period 420. At 510, leaf nodes that were skipped (e.g., not selected by the AP for detection) in a particular round (e.g., calibration period) are classified as NOT_SOUNDED 560a and assigned a base value 570a (e.g., +0.25 points). If the device has been detected by the AP, then at 520, it is determined whether the device was sufficiently present (e.g., sufficiently communicated) during the calibration period 420. In implementation, this may be done, for example, using Figure 3The presence information metric 325 in determines whether the presence of the AP-leaf node link exceeds the presence threshold. In this example, the presence threshold PRES_THRES is set to 0.9, which indicates that the link 430 must be active for at least 90% of the calibration time period 420. In some instances, the presence of the leaf node indicates whether the motion detection system has sufficient information to correctly analyze the link within the calibration time period (represented by the presence threshold). In this example, at 520, the presence of the device that does not meet the presence threshold for the calibration time period is classified as NOT_PRESENT 560b, and a value 570b (e.g., 0 points) indicating that the AP-leaf node link is not completely present during the calibration time period 420 is assigned.

[0056] When the leaf node meets or exceeds the existence threshold, then at 530, it is determined whether the device is sleeping. Figure 3 The successful detection metric 326 (in Figure 5 "prate" in ) and the failure detection metric 327 (in Figure 5 The result is summed with the AP_LEAF_LINK (denoted as "frate") and the result is evaluated against the sleep threshold SLEEP_THRES. If the result is less than the sleep threshold, the device is determined to be dormant. In this example, the sleep threshold SLEEP_THRES is set to 0.95, although other values ​​may be used. When the result is less than the sleep threshold during the calibration time period, the leaf node is classified as SLEEPING 560c and is assigned a value 570c (e.g., -1 point) indicating that the AP-leaf node link is sleeping during the calibration time period 420.

[0057] When the leaf node meets or exceeds the sleep threshold (e.g., the leaf node is not sleeping), then at 540, it is determined whether the device successfully probed during the calibration window. In an implementation, the successful probe metric 326 (e.g., prate) is evaluated against a qualified threshold GOOD_THRES. If "prate" is greater than the qualified threshold, the device is determined to have successfully probed during the calibration period. In this example, the qualified threshold GOOD_THRES is set to 0.85. When "prate" is greater than the qualified threshold during the calibration period, the leaf node is classified as PASS 560d and is assigned a value 570d (e.g., +1 point) indicating that the AP-leaf node link is being successfully probed during the calibration period 420.

[0058] When the leaf node does not meet the qualified threshold, then at 550, it is determined whether the device successfully detected during the calibration time period 420 but in the presence of interference and / or noise. In an implementation, the successful detection metric 326 ("prate") is evaluated against a lower qualified threshold OK_THRES for successful detection during the calibration time period. If the "prate" is greater than the lower qualified threshold OK_THRES, the device is determined to be successfully detected during the calibration time period. In this example, the qualified threshold OK_THRES is set to 0.75, which is a lower quality than GOOD_THRES. When the "prate" is greater than the lower qualified threshold during the calibration time period, the leaf node is classified as NOISY 560e and is assigned a value 570e (e.g., +0.5 points), which indicates that the AP-leaf node link is being successfully detected but noisy during the calibration time period.

[0059] When the leaf node does not meet the lower qualified threshold OK_THRES, then at 550, it is determined that the device is not being properly detected. For example, when the "prate" is less than the lower qualified threshold during the calibration period, the leaf node is classified as BROKEN 560f and assigned a value 570f (e.g., -1 point) indicating that the AP-leaf node link is broken during the calibration period. In the event that there is no historical data available for the leaf node during the calibration period, the AP-leaf node link is classified as NO_DATA 560g and assigned a default value 570g (e.g., +0.25).

[0060] In some implementations, after performing the example process 500, each AP-leaf node link in each calibration time period 420 of the calibration window 410 is classified with respect to the quality of the link and assigned a score. In some cases, the points assigned to the link in each calibration time period 420 are summed across the calibration window 410 to derive a score (e.g., Figure 4 In some instances, the scores of fixed leaf nodes may be used to rank their various AP-leaf node links to prioritize which links will provide the best quality detection data for the motion detection system.

[0061] Figure 66 is a block diagram illustrating an example of a closed-loop control flow 600 for updating leaf nodes in a motion detection system. In some implementations, the example control flow 600 is performed by the motion detection system. In some cases, the example control flow 600 can be performed by a sole AP in the motion detection system, by one of a plurality of APs in the motion detection system, or by a separate server using data reported by a designated AP in the motion detection system. In some instances, a process 600 is performed for each AP in which each AP selects a leaf node(s) to be used for motion detection. In the example process 600, network conditions are reported every minute, and a calibration period is every hour (e.g., such as Figure 3 Other calibration time periods and network reporting intervals may be used.

[0062] At 610, the motion detection system waits to enter a guardian state, during which the motion detection system obtains network status for each AP. At 615, a determination is made as to whether the calibration period has completed by checking whether the calibration period is the next calibration period (e.g., the next hour). If one hour has passed and the calibration period 420 has completed, then at 620, a calibration event is run, in which statistics for each AP-leaf node link (e.g., such as Figure 3 and Figure 4 At 625, each AP-leaf node link is scored based on the historical window. In this example, the historical window includes data and scores for each AP-leaf node link for the last 72 calibration time periods.

[0063] At 630, fixed leaf nodes are selected for detection. For example, for the current calibration event, the motion detection system may select a maximum number of leaf nodes to detect for each AP from the identified fixed leaf nodes (e.g., represented as MAX_LEAFS_PER_AP=2). In some implementations, the leaf nodes are selected based on Figure 4 The leaf nodes are selected based on the scores 440 for each leaf node. In some instances, the location of the leaf node is used in conjunction with the score 440. For example, once a static leaf node has proven itself eligible for detection by achieving a minimum score, the static leaf node can potentially become its own positioning result location, for example, the detected motion can be located to the location of the fixed leaf node. In some instances, this option can be provided via an event sent to a user interface of a user device (e.g., via a motion detection application on a user's smartphone). Once the user provides the location of the static leaf via the user interface, the selection of the static leaf node for detection can be biased based on the uniqueness of the leaf node location. In the example, if the unique location has a single leaf and its quality is considered "ok", detecting the leaf node has better motion results than detecting two "good" leaves in a single area.

[0064] After selecting the maximum number of leaf nodes for each AP, at 635, it is determined whether at least one of the candidate leaf nodes is a newly identified static leaf node whose link quality exceeds a minimum link quality score (e.g., SCORE_THRES). Figure 4 An example of a score for each AP-leaf node link (e.g., score 440 in table 480) is described in . In some instances, no static leaf node meets the quality score criteria, in which case, at 660, the accumulator is reset (e.g., Figure 4 440, points 450, and ranges 460 in , and at 665, the aggregate statistics for the just completed calibration period are updated for all AP-leaf links, such as presence, successful detection rate ("prate"), and failed detection rate ("frate"), as well as any other link statistics being tracked, such as average RSSI and motion detection failure rate, etc. After updating the accumulators, at 610, the system waits to receive the next status report.

[0065] In some implementations, when a new static leaf node that exceeds a minimum quality score is identified, at 640, it is determined whether a global static leaf cooling process is active. For example, the motion detection system may specify a time (i.e., a cooling time period) during which new leaf nodes cannot be added to the motion detection system. In some instances, a static leaf cooling time period may be implemented to provide stability to the system and prevent cycling in and out of newly selected static leaf nodes. In an example, the cooling time period may be 24 hours. In instances where the cooling time period is active, processing proceeds to 660, where at 660, the accumulator is reset, at 665, statistics for the calibration time period are updated, and at 610, the system waits to receive the next status report.

[0066] In instances where the cool-down period is not active, new fixed leaf nodes can be added to the motion detection system. In this case, at 645, an event is generated to report the newly identified and selected static leaf node. For example, the motion detection system can generate a "ZoneCreatedEvent" to report a new static leaf node, which associates the leaf node and its detection data with a specific motion zone. As described above, the user is provided with the opportunity to create a new zone via the user interface. In some instances, at 650, the new static leaf node is marked as a potentially unique positioning zone, for example, depending on whether the user indicates a new zone via the user interface.

[0067] After a new leaf node is selected for detection, at 655, a cool down timer is started, or the cool down timer is reset if still running. In this example, the cool down timer MIN_LEAF_INTERVAL is set to 24 hours so that no newly identified fixed leaf nodes can be added to the motion detection system during this time. The process then proceeds to 660, where the accumulator is reset at 660, the statistics for the calibration period are updated at 665, and the system waits for the next status report at 610. In the event that the calibration period is not completed at 615 (e.g., a one-hour network status report is not received), the statistics for the current calibration period are updated at 665, and the system waits for the next status report at 610.

[0068] Figure 7 7 is a block diagram illustrating an example process for a fixed leaf node disconnect event. For example, a fixed leaf node used by an AP for detection in a motion detection system may lose connection with the AP, e.g., the device is disconnected from the network, power is lost, the device moves out of area, etc. The example process 700 is performed when the AP receives a link disconnect event indicating that the fixed leaf node is no longer communicating with the AP at 710. In some implementations, at 720, the system determines whether the AP includes a fixed leaf node with a positive quality score (e.g., Figure 4 If so, then at 730, the AP is directed to immediately begin probing for the highest-scoring fixed leaf node candidate available. Otherwise, at 740, the AP does not take any action to replace the fixed leaf node at this time.

[0069] Figure 8 800 is a block diagram illustrating an example process for a leaf node connection event. In some implementations, the process 800 is performed when, at 810, the AP receives a link connection event indicating that an AP-leaf node link has been established. The AP may detect the connection event at any time. In some implementations, at 820, it is determined whether the AP has previous historical data associated with the new link, such as presence information metrics 325 and quality statistics data 326-329 within the last 24 hours. If no historical data is available for the AP-leaf node link, then at 850, the past history over the calibration window is set to a default value, such as initialized to NO_DATA. An example of this is shown in FIG. Figure 4 As shown by the grayed-out boxes for some AP-leaf links 430 in some calibration time periods 420, for example, AP0-Leaf1 has no previous history data, so each calibration time period in the calibration window defaults to NODATA. At 860, the decision as to whether a leaf node will be used for detection is deferred until the next calibration time period (e.g., as Figure 6On the other hand, if history is available for the AP-leaf node link, then at 830, if the AP-leaf node link has a positive quality score (e.g., Figure 4 If the AP is currently probing less than the maximum number of leaf nodes (e.g., MAX_LEAFS_PER_AP<2), then at 840, the AP immediately begins probing leaf nodes. Otherwise, in the instance where the AP has already probed the maximum number of leaf nodes, at 860, the decision as to whether a leaf node will be used for probing is deferred until the next calibration period (e.g., if Figure 7 described above).

[0070] Fig. 9 is a block diagram illustrating an example process 900 for identifying static leaf nodes. In some cases, Fig. 9 One or more of the operations shown are implemented as a process that includes multiple operations, sub-processes or other types of routines. In some cases, the operations can be combined, performed in another order, performed in parallel, iterated, or repeated or performed in another way.

[0071] At 910, presence information for a plurality of AP-leaf node links is obtained for a plurality of calibration time periods. Figure 3-4 The presence information in the calibration period refers to the number of times the AP-leaf node link is in an active state during the calibration period.

[0072] In implementations, a leaf node may be associated with a link to one or more APs. In some instances, the presence information represents or includes data indicating the number of times an AP-leaf node link was active in a motion detection system during a calibration period (e.g., one hour or other period), such as Figure 3 The presence information 325 described above, etc. In some cases, the AP is the core of the motion detection system, and the AP receives information from one or more other APs in the motion detection system (e.g., Figure 2 The AP node 1210) obtains a report containing the existence information of each other AP-leaf node link (e.g., Figure 3 network reports as described above).

[0073] At 920, presence activity is determined for each AP-leaf node link based on its respective presence information. In some examples, when the presence information (e.g., presence information 325) of the AP-leaf node link exceeds a presence threshold during the calibration time period, the AP-leaf node link is determined to be present or active during the calibration time period. For example, when the AP-leaf node link is active (e.g., a certain percentage of the time during the calibration time period), the AP-leaf node link is active. Figure 5≥ PRES_THRES (e.g., 9.0)), the AP-leaf node link is determined to have sufficient presence activity to be considered present or active during the calibration period (e.g., Figure 4 As shown, the AP-leaf node links 430 determined to be present or active during the calibration time period 420 are shown in a highlighted manner.

[0074] At 930, a static leaf node is identified based on the presence activity of multiple AP-leaf node links in the calibration window. In an implementation, when the static leaf node is within a range of the calibration time period (e.g., Figure 4 As shown, when the AP-leaf node link exists within a plurality of calibration time periods equal to the range 460 for AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0, the AP-leaf node link is determined to be static. Figure 4 As described above, the presence activity of the AP-leaf node link is determined by calculating the point 450 of each AP-leaf node link on the calibration window.

[0075] At 940, the motion detection system is updated to use at least one of the identified static leaf nodes as a detection node for motion detection. The motion detection system can then use signals communicated to or from the detection node to obtain channel information (e.g., channel response information, beamforming state information, etc.) for motion detection.

[0076] In an implementation, one of the identified static leaf nodes is selected to be added as a detection node to the motion detection system, and a region creation event is sent to a user for the selected static leaf node. In some cases, a unique local region associated with the selected static leaf node is marked. In some cases, the static leaf node is selected by deriving a link quality score for each static AP-leaf node link for a calibration window (e.g., in Figure 5 Assign scores for each calibration period in Figure 4 In some instances, the static AP-leaf node links are prioritized according to their respective link quality scores, and the static leaf node with the static AP-leaf node link with the highest link quality score is selected (e.g., Figure 4 In some implementations, a maximum number of leaf nodes of each AP are selected for detection in a next time period based on the link quality scores and positions of the identified static leaf nodes. In some examples, a static leaf node timer is started after updating the motion detection system to use at least one of the identified static leaf nodes as a detection node of the motion detection system (e.g., Figure 6 Global static leaf cooling as described).

[0077] Fig.10 is a block diagram illustrating an example process 1000 for classifying link quality of a static leaf node. In some cases, Fig. 9 One or more of the operations shown are implemented as a process that includes multiple operations, sub-processes or other types of routines. In some cases, the operations can be combined, performed in another order, performed in parallel, iterated, or repeated or performed in another manner.

[0078] At 1010, static leaf nodes are identified based on the presence activity of each leaf node in the calibration window. In some examples, static leaf nodes may be identified as follows: Figure 3-4 Said and / or used Fig. 9 The process is described to identify static leaf nodes.

[0079] At 1020, a health score of each AP-leaf node link of each static leaf node is determined for each calibration window based on the AP-leaf node link quality information. Figure 3-5 The AP-leaf node link quality information may include a success rate of detection operations during a calibration time period and a failure rate of detection operations during the calibration time period. In some instances, the AP-leaf node link quality information may include an average link received signal strength indication (RSSI) and a motion detection failure rate. In some implementations, determining a health score may include assigning a classification to an AP-leaf node link based on link quality information of each AP-leaf node link within each of a plurality of calibration time periods. In some cases, the classification indicates that the link quality is qualified, noisy, or dormant. Each AP-leaf node link may be assigned a value corresponding to its classification, and a health score of each AP-leaf node link may be derived based on the assigned value within each of a plurality of calibration time periods in the calibration window (e.g., as Figure 4-5 In an example, when the success rate of the detection operation during the calibration time period is higher than a first threshold and the failure rate of the detection operation during the calibration time period is lower than a second threshold, the health of the AP link is qualified. In another example, when the success rate of the detection operation during the calibration time period is lower than a third threshold and the failure rate of the detection operation during the calibration time period is higher than a fourth threshold, the health of the AP link is noisy.

[0080] At 1030, one or more static leaf nodes are selected for use in the motion detection system based on the health scores of the AP-leaf node links. In some cases, during the selection of static leaf nodes, AP-leaf node links with negative health scores are disabled and therefore not considered. In some cases, AP-leaf node links with positive health scores are prioritized over other AP-leaf node links with positive health scores. In some implementations, the static leaf node with the highest AP-leaf node link health score is selected for use with the motion detection system for detection.

[0081] At 1040, the motion detection system is updated to use the selected one or more static leaf nodes for motion detection. In some instances, the motion detection system is updated by determining that the motion detection system allows the addition of new leaf nodes at this time. Then, the area creation event is sent to the user (e.g., to the user device) for the selected fixed leaf node. In some implementations, the selected leaf node is marked as a unique local area. In some implementations, the AP obtains the existence and link quality information of multiple AP-leaf node links for multiple calibration time periods, and initiates a calibration event for the calibration window. In some cases, the AP is the core of the motion detection system, and the AP obtains reports containing the existence and link quality information of each of the other AP-leaf node links from one or more other APs in the motion detection system.

[0082] Fig.11 is a block diagram illustrating an example wireless communication device 1100. Fig.11 As shown, the example wireless communication device 1100 includes an interface 1130, a processor 1110, a memory 1120, and a power supply unit 1140. For example, Figure 1 Any of the wireless communication devices 102A, 102B, 102C in the wireless communication system 1100 shown may include the same, additional, or different components, and these components may be configured as follows: Figure 1 11. The example wireless communication device may be configured as an access point (AP) or as a core in a mesh network including multiple APs. In some implementations, the interface 1130, processor 1110, memory 1120, and power supply unit 1140 of the wireless communication device are housed together in a common housing or other assembly. In some implementations, one or more of the components of the wireless communication device may be separately housed, for example, in a separate housing or other assembly.

[0083] Example interface 1130 can communicate (receive, send or both) wireless signals. For example, interface 1130 can be configured to communicate radio frequency (RF) signals formatted according to a wireless communication standard (e.g., Wi-Fi or Bluetooth). In some cases, example interface 1130 can be implemented as a modem. In some implementations, example interface 1130 includes a radio subsystem and a baseband subsystem. In some cases, the baseband subsystem and the radio subsystem can be implemented on a common chip or chipset, or they can be implemented in a card or another type of assembly device. The baseband subsystem can be coupled to the radio subsystem, for example, by leads, pins, wiring or other types of connections.

[0084] In some cases, the radio subsystem in the interface 1130 may include a radio frequency circuit and one or more antennas. The radio frequency circuit may, for example, include a circuit for filtering, amplifying or otherwise adjusting an analog signal, a circuit for up-converting a baseband signal to an RF signal, a circuit for down-converting an RF signal to a baseband signal, etc. Such circuits may, for example, include filters, amplifiers, mixers, local oscillators, etc. The radio subsystem may be configured to communicate radio frequency wireless signals on a wireless communication channel. As an example, the radio subsystem may include a radio chip, an RF front end, and one or more antennas. The radio subsystem may include additional or different components. In some implementations, the radio subsystem may be or include a radio electronic device (e.g., an RF front end, a radio chip, or similar components) from a traditional modem (e.g., from a Wi-Fi modem, a micro base station modem, etc.). In some implementations, the antenna includes multiple antennas.

[0085] In some cases, the baseband subsystem in the interface 1130 may include, for example, a digital electronic device configured to process digital baseband data. As an example, the baseband subsystem may include a baseband chip. The baseband subsystem may include additional or different components. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or another type of processor device. In some cases, the baseband system includes digital processing logic to operate a radio subsystem, communicate wireless network services through the radio subsystem, detect motion based on motion detection signals received through the radio subsystem, or perform other types of processing. For example, the baseband subsystem may include one or more chips, chipsets, or other types of devices that are configured to encode signals and transmit the encoded signals to the radio subsystem for transmission, or (for example, by decoding the signals according to a wireless communication standard, by processing the signals according to motion detection processing, or otherwise) identify and analyze the data encoded in the signals from the radio subsystem.

[0086] In some cases, the example interface 1130 can communicate wireless network services (eg, including Figure 3 The interface 1130 may include a plurality of signal types, such as a data packet reported by the network described above, and other types of signals (e.g., motion detection signals such as detection signals). In some instances, the interface 1130 generates a motion detection signal for transmission, for example, to detect space to detect motion or lack of motion. In some implementations, the motion detection signal includes a standard signaling or communication frame, which includes a standard pilot signal used in channel detection (e.g., channel detection for beamforming according to the IEEE802.11ac-2013 standard). In some cases, the motion detection signal includes a reference signal known to all devices in the network. In some instances, the baseband subsystem may, for example, process the received signal to detect connection and disconnection events from leaf nodes, detect the presence of activity, and detect the movement of objects in space. For example, the interface 1130 may analyze various aspects of a standard signaling protocol (e.g., channel detection for beamforming according to the IEEE802.11ac-2013 standard (such as based on the generated steering or other matrix, etc.)) to detect channel changes as a result of motion in space.

[0087] The example processor 1110 can, for example, execute instructions to generate output data based on data input. The instructions may include programs, codes, scripts, modules, or other types of data stored in the memory 1120 (e.g., database 1140). Additionally or alternatively, the instructions may be encoded as pre-programmed or reprogrammable logic circuits, logic gates, or other types of hardware or firmware components or modules. The processor 1110 may be or include a general-purpose microprocessor, as a dedicated coprocessor or another type of data processing device. In some cases, the processor 1110 performs high-level operations of the wireless communication device 1100. For example, the processor 1110 may be configured to execute or interpret software, scripts, programs, modules, functions, executable files, or other instructions stored in the memory 1120. In some implementations, the processor 1110 may be included in the interface 630.

[0088] The example memory 1120 may include a computer-readable storage medium, such as a volatile memory device, a non-volatile memory device, or both. The memory 1120 may include one or more read-only memory devices, random access memory devices, buffer memory devices, or a combination of these and other types of memory devices. In some instances, one or more components of the memory may be integrated or otherwise associated with another component of the wireless communication device 1100. The memory 1120 may store instructions executable by the processor 610. For example, these instructions may include instructions for the example wireless communication device 1100 (e.g., AP) to obtain presence information of multiple AP-leaf node links for multiple calibration time periods. When these instructions are executed, the device may determine the presence activity of each AP-leaf node link in each calibration time period based on the corresponding presence information of each AP-leaf node link, and identify static leaf nodes based on the presence activity of multiple AP-leaf node links in the calibration window, where the calibration window includes several of the multiple calibration time periods. Such as by Figure 3-5 One or more of the operations described above or in Fig. 9 In the example process 900, the instructions may further update the motion detection system to use at least one of the identified static leaf nodes as a detection node for motion detection. In another example, the instructions may include instructions for the example wireless communication device 1100 (e.g., AP) to identify one or more static leaf nodes based on the presence activity of each leaf node in a calibration window that includes several calibration time periods. These instructions may also cause the device to determine the health score of each AP-leaf node link of each static leaf node for each calibration window based on the AP-leaf node link quality information, and select one or more of the static leaf nodes for detection in the motion detection system based on the health score of each AP-leaf node link. Such as by Figure 3-5 One or more of the operations described above or in Fig.10 In the example process 1000, the instructions may also cause the device to update the motion detection system to use the selected one or more static leaf nodes for motion detection. In some examples, the memory 1120 may include, for example, one or more instruction sets or modules containing the above instructions to identify the static leaf node 1122, select the static leaf node 1124, and / or update the new leaf node in the motion detection system 1126.

[0089] The example power supply unit 1140 provides power to other components of the wireless communication device 1100. For example, the other components may operate based on power provided by the power supply unit 1140 through a voltage bus or other connection. In some implementations, the power supply unit 1140 includes a battery or battery system, such as a rechargeable battery. In some implementations, the power supply unit 1140 includes an adapter (e.g., an AC adapter) that receives an external power signal (from an external source) and converts the external power signal into an internal power signal that is conditioned for the components of the wireless communication device 1100. The power supply unit 620 may include other components or operate in other ways.

[0090] Some of the themes and operations described in this specification may be implemented in digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or one or more combinations of the structures. Some of the themes described in this specification may be implemented as one or more computer programs (i.e., one or more modules of computer program instructions), encoded on a computer storage medium for execution by a data processing device or for controlling the operation of a data processing device. A computer storage medium may be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them, or may be included therein. In addition, although a computer storage medium is not a propagation signal, a computer storage medium may be a source or destination of computer program instructions encoded in an artificially generated propagation signal. A computer storage medium may also be one or more separate physical components or media (e.g., multiple CDs, disks or other storage devices), or be included therein.

[0091] Portions of the operations described in this specification may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

[0092] A computer program (also known as a program, software, software application, script or code) can be written in any form of programming language including compiled or interpreted languages, declarative languages ​​or procedural languages, and can be deployed in any form, including being deployed as a standalone program or as a module, component, subroutine, object or other unit suitable for use in a computing environment. A computer program may but need not correspond to a file in a file system. A program may be stored in a portion of a file, where the file stores other programs or data (e.g., one or more scripts stored in a markup language file) in a single file dedicated to the program, or in multiple coordination files (e.g., a file for storing a portion of one or more modules, subroutines or codes). A computer program may be deployed to execute on one computer, or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.

[0093] Some of the processes and logic flows described in this specification can be performed by executing one or more computer programs using one or more programmable processors to perform actions by operating on input data and generating output. These processes and logic flows can also be performed by and the device can also be implemented as a special purpose logic circuit, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

[0094] For example, processors suitable for executing computer programs include both general-purpose microprocessors and special-purpose microprocessors, and processors of any kind of digital computers. Generally, the processor will receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer may include a processor for performing actions according to instructions and one or more memory devices for storing instructions and data. The computer may also include one or more large-capacity storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data or may be operably coupled to receive or transmit data relative to the one or more large-capacity storage devices, or both. However, the computer need not have such a device. In addition, the computer may be embedded in other devices (e.g., telephones, electrical appliances, mobile audio or video players, game consoles, global positioning system (GPS) receivers, or portable storage devices (e.g., universal serial bus (USB) flash drives)). Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices, etc.), magnetic disks (e.g., internal hard disks and removable disks, etc.), magneto-optical disks, and CD ROM and DVD-ROM disks. In some cases, the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0095] To provide interaction with a user, operations may be implemented on a computer having a display device (e.g., a monitor or other type of display device) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse, trackball, tablet computer, touch-sensitive screen, or other type of pointing device) through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with a user; for example, feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including sound, voice, or tactile input. In addition, a computer may interact with a user by sending and receiving documents relative to a device used by the user (e.g., by sending a web page to a web browser in response to a request received from a web browser on a client device of the user).

[0096] A computer system may include a single computing device, or multiple computers operating in close proximity to or generally remote from each other and typically interacting through a communication network. Examples of communication networks include local area networks ("LAN") and wide area networks ("WAN"), Internet (e.g., the Internet), networks including satellite links, and peer-to-peer networks (e.g., ad hoc peer-to-peer networks). The relationship of client and server may arise through computer programs running on the respective computers and having a client-server relationship to each other.

[0097] In a general aspect of the examples described herein, a motion detection system identifies static leaf nodes for motion detection.

[0098] In a first example, an access point (AP) obtains presence information for a plurality of AP-leaf node links for a plurality of calibration time periods. For each AP-leaf node link, presence activity is determined in the calibration time period based on its corresponding presence information. Static leaf nodes are identified based on the presence activity for the plurality of AP-leaf node links in a calibration window, the calibration window including a number of the plurality of calibration time periods. A motion detection system is updated to use at least one of the identified static leaf nodes as a detection node for motion detection.

[0099] An implementation of the first example may include one or more of the following features. Identifying static leaf nodes includes: identifying leaf nodes with fixed positions. The leaf nodes are associated with one or more AP-leaf node links. The presence information includes the number of times the AP-leaf node link node is active in the motion detection system during a calibration time period. Identifying static leaf nodes includes: when the presence activity of the AP-leaf node link during the calibration time period exceeds an presence threshold, determining that the AP-leaf node link exists during the calibration time period; and when the AP-leaf node link exists within a number of calibration time periods equal to the range of the calibration time period, determining that the AP-leaf node link is static. Updating the motion detection system includes: selecting one of the identified static leaf nodes to add to the motion detection system as a detection node; sending a region creation event to a user for the selected static leaf node; and marking a unique local region associated with the selected static leaf node. In some examples, selecting a static node includes: deriving a link quality score for each static AP-leaf node link for a calibration window; prioritizing the static AP-leaf node links according to their respective link quality scores; and selecting a static leaf node having a static AP-leaf node link with a highest link quality score. After updating the motion detection system to use at least one of the identified static leaf nodes as a detection node for the motion detection system, a static leaf node timer is started. The AP is the core of the motion detection system, and the AP obtains reports containing presence information of each of the other AP-leaf node links from one or more other APs in the motion detection system.

[0100] In a second example, an access point (AP) of a motion detection system identifies one or more static leaf nodes based on the presence activity of each leaf node in a calibration window, the calibration window including a plurality of calibration time periods. Based on the AP-leaf node link quality information, a health score is determined for each AP-leaf node link of each static leaf node for each calibration window. One or more of the static leaf nodes are selected for detection in the motion detection system based on the health scores of the respective AP-leaf node links. The motion detection system is updated to use the selected one or more static leaf nodes for motion detection.

[0101] The implementation of the second example may include one or more of the following features. Identifying a static leaf node includes: identifying a leaf node with a fixed position. The AP-leaf node link quality information includes one or more of a success rate of a probe operation during a calibration period, a failure rate of a probe operation during a calibration period, an average link received signal strength indication (RSSI), and a motion detection failure rate. Determining a health score includes: assigning a classification to an AP-leaf node link based on the link quality information of each AP-leaf node link in each calibration period of a plurality of calibration periods; assigning a value corresponding to the classification to each AP-leaf node link; and deriving a health score for each AP-leaf node link based on the assigned value. The classification indicates that the link quality is qualified, noisy, or dormant in each calibration period of a plurality of calibration periods in the calibration window. When the success rate of the probe operation during the calibration period is higher than a first threshold and the failure rate of the probe operation during the calibration period is lower than a second threshold, the health of the AP link is qualified, and when the success rate of the probe operation during the calibration period is lower than a third threshold and the failure rate of the probe operation during the calibration period is higher than a fourth threshold, the health of the AP link is noisy. Selecting a static leaf node includes: disabling the AP-leaf node link when the AP-leaf node link health score is negative; prioritizing the AP-leaf node link with other AP-leaf node links with positive health scores when the AP-leaf node link health score is positive; and then selecting the static leaf node with the highest AP-leaf node link health score for use with the motion detection system for detection. Updating the motion detection system includes: determining that the motion detection system allows the addition of new leaf nodes; sending a region creation event to a user for the selected static leaf node; marking the selected leaf node as a unique local region. Existence and link quality information of multiple AP-leaf node links is obtained for multiple calibration time periods, and a calibration event is initiated for a calibration window. The AP is the core of the motion detection system, and the AP obtains reports containing existence information of each of the other AP-leaf node links from one or more other APs in the motion detection system.

[0102] In a third example, a non-transitory computer-readable medium stores instructions that, when executed by one or more processors, cause an apparatus to perform one or more operations of the first example and / or the second example.

[0103] In a fourth example, an apparatus for managing nodes in a motion detection system includes one or more processors and a memory storing instructions, which, when executed by the one or more processors, cause the apparatus to perform one or more operations of the first example and / or the second example.

[0104] Although this specification contains many details, these details should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features specific to particular examples. Certain features described in this specification or shown in the drawings in the context of separate implementations may also be combined. Conversely, various features described or shown in the context of a single implementation may also be implemented in multiple embodiments separately or in any suitable subcombination.

[0105] Similarly, although these operations are shown in the accompanying drawings in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in sequence, or performing all of the illustrated operations, in order to achieve the desired result. In certain circumstances, multitasking and parallel processing may be advantageous. In addition, the separation of various system components in the implementation described above should not be understood as requiring these separations in all implementations, and it should be understood that the program components and systems described can generally be integrated into a single product or packaged into multiple products.

[0106] A number of embodiments have been described. However, it should be understood that various modifications can be made. Therefore, other embodiments are within the scope of the following claims.

Claims

1. A method for managing nodes in a motion detection system, the method comprising: Using an access point (AP) of the motion detection system, identifying one or more static leaf nodes based on the presence activity of each static leaf node in a calibration window, the calibration window including a plurality of calibration time periods; Determining a health score for each AP-leaf node link of each static leaf node for the calibration window by adding link quality values ​​for each calibration time period across the calibration window for each AP-leaf node link; selecting one or more of the static leaf nodes for detection in the motion detection system based on the health scores of the respective AP-leaf node links; as well as The motion detection system is updated to use the selected one or more static leaf nodes for motion detection.

2. The method according to claim 1, wherein: The AP-leaf node link quality information includes one or more of the following items: the success rate of detection operations during the calibration period; failure rate of detection operations during the calibration period; Average link received signal strength indication or RSSI; as well as Motion detection failure rate.

3. The method according to claim 1, wherein: Determining the health score of each AP-leaf node link for the calibration window includes: Assigning a classification to each AP-leaf node link based on quality information of the AP-leaf node link; Assigning to each AP-leaf node link a value corresponding to the classification assigned to the AP-leaf node link; A health score for each AP-leaf node link is derived based on the assigned value in each of the plurality of calibration time periods within the calibration window.

4. The method according to claim 3, wherein: The classification indicates whether the link quality is acceptable, noisy, or dormant.

5. The method according to claim 4, wherein: In the case that a success rate of the probing operation during the calibration period is higher than a first threshold and a failure rate of the probing operation during the calibration period is lower than a second threshold, the link quality of the AP-leaf node link is qualified, and In a case where a success rate of the probing operation during the calibration period is lower than a third threshold and a failure rate of the probing operation during the calibration period is higher than a fourth threshold, the link quality of the AP-leaf node link is noisy.

6. The method according to any one of claims 1 to 5, wherein: Selecting one or more of the static leaf nodes for use in the motion detection system based on the health scores of the respective AP-leaf node links comprises: If the health score of an AP-leaf node link is negative, the AP-leaf node link is disabled; In case the health score of the AP-leaf node link is positive, prioritizing the AP-leaf node link with other AP-leaf node links having positive health scores; and The leaf node with the highest health score for the AP-leaf node link is selected for use with the motion detection system.

7. The method according to any one of claims 1 to 5, wherein: Updating the motion detection system to use at least one of the one or more static leaf nodes for motion detection includes: determining that the motion detection system allows adding a new leaf node; For the selected static leaf node, sending a region creation event to the user device; and The selected leaf node is marked as a unique local region.

8. The method according to any one of claims 1 to 5, comprising: utilizing the AP, obtaining existence and link quality information of a plurality of AP-leaf node links for the plurality of calibration time periods; as well as A calibration event is initiated for the calibration window.

9. The method according to claim 8, wherein: The AP operates as the core of the motion detection system, and the AP obtains reports containing existence and link quality information of respective other AP-leaf node links from one or more other APs in the motion detection system.

10. A device for motion detection, comprising: one or more processors; as well as a memory comprising instructions that, when executed by the one or more processors, cause the apparatus to perform operations comprising: Using an access point (AP), identifying one or more static leaf nodes based on the presence activity of each static leaf node in a calibration window, the calibration window including a plurality of calibration time periods; Determining a health score for each AP-leaf node link of each static leaf node for the calibration window by adding link quality values ​​for each calibration time period across the calibration window for each AP-leaf node link; selecting one or more of the static leaf nodes for detection in a motion detection system based on the health scores of the respective AP-leaf node links; and The motion detection system is updated to use the selected one or more static leaf nodes for motion detection.

11. The device according to claim 10, wherein: The AP-leaf node link quality information includes one or more of the following items: the success rate of detection operations during the calibration period; failure rate of detection operations during the calibration period; Average link received signal strength indication or RSSI; as well as Motion detection failure rate.

12. The device according to claim 10, wherein: Determining the health score of each AP-leaf node link for the calibration window includes: Assigning a classification to each AP-leaf node link based on quality information of the AP-leaf node link; Assigning to each AP-leaf node link a value corresponding to the classification assigned to the AP-leaf node link; A health score for each AP-leaf node link is derived based on the assigned value in each of the plurality of calibration time periods within the calibration window.

13. The device according to claim 12, wherein: The classification indicates whether the link quality is acceptable, noisy, or dormant.

14. The device according to claim 13, wherein: In the case that a success rate of the probing operation during the calibration period is higher than a first threshold and a failure rate of the probing operation during the calibration period is lower than a second threshold, the link quality of the AP-leaf node link is qualified, and In a case where a success rate of the probing operation during the calibration period is lower than a third threshold and a failure rate of the probing operation during the calibration period is higher than a fourth threshold, the link quality of the AP-leaf node link is noisy.

15. The device according to any one of claims 10 to 14, wherein: Selecting one or more of the static leaf nodes for use in the motion detection system based on the health scores of the respective AP-leaf node links comprises: If the health score of an AP-leaf node link is negative, the AP-leaf node link is disabled; In case the health score of the AP-leaf node link is positive, prioritizing the AP-leaf node link with other AP-leaf node links having positive health scores; and The leaf node with the highest health score for the AP-leaf node link is selected for use with the motion detection system.

16. The device according to any one of claims 10 to 14, wherein: Updating the motion detection system to use at least one of the one or more static leaf nodes for motion detection includes: determining that the motion detection system allows adding a new leaf node; For the selected static leaf node, sending a region creation event to the user device; and The selected leaf node is marked as a unique local region.

17. The device according to any one of claims 10 to 14, wherein: The operations include: utilizing the AP, obtaining existence and link quality information of a plurality of AP-leaf node links for the plurality of calibration time periods; and A calibration event is initiated for the calibration window.

18. The device according to claim 17, wherein: The AP is configured to operate as a core of the motion detection system, and the AP is configured to obtain reports containing existence and link quality information of respective other AP-leaf node links from one or more other APs in the motion detection system.

19. A computer readable medium comprising instructions which, when executed by a data processing device, cause the data processing device to perform operations comprising: Using an access point (AP), identifying one or more static leaf nodes based on the presence activity of each leaf node in a calibration window, the calibration window including a plurality of calibration time periods; Determining a health score for each AP-leaf node link of each static leaf node for the calibration window by adding link quality values ​​for each calibration time period across the calibration window for each AP-leaf node link; selecting one or more of the static leaf nodes for detection in a motion detection system based on the health scores of the respective AP-leaf node links; as well as The motion detection system is updated to use the selected one or more static leaf nodes for motion detection.

20. The computer-readable medium of claim 19, wherein: The AP-leaf node link quality information includes one or more of the following items: the success rate of detection operations during the calibration period; failure rate of detection operations during the calibration period; Average link received signal strength indication or RSSI; as well as Motion detection failure rate.

21. The computer-readable medium of claim 19, wherein: Determining the health score of each AP-leaf node link for the calibration window includes: Assigning a classification to each AP-leaf node link based on link quality information of the AP-leaf node link; Assigning to each AP-leaf node link a value corresponding to the classification assigned to the AP-leaf node link; A health score for each AP-leaf node link is derived based on the assigned value in each of the plurality of calibration time periods within the calibration window.

22. The computer-readable medium of claim 21, wherein: The classification indicates whether the link quality is acceptable, noisy, or dormant.

23. The computer-readable medium of claim 22, wherein: In the case that a success rate of the probing operation during the calibration period is higher than a first threshold and a failure rate of the probing operation during the calibration period is lower than a second threshold, the link quality of the AP-leaf node link is qualified, and In a case where a success rate of the probing operation during the calibration period is lower than a third threshold and a failure rate of the probing operation during the calibration period is higher than a fourth threshold, the link quality of the AP-leaf node link is noisy.

24. The computer readable medium according to any one of claims 19 to 23, wherein: Selecting one or more of the static leaf nodes for use in the motion detection system based on the health scores of the respective AP-leaf node links comprises: If the health score of an AP-leaf node link is negative, the AP-leaf node link is disabled; In case the health score of the AP-leaf node link is positive, prioritizing the AP-leaf node link with other AP-leaf node links having positive health scores; and The leaf node with the highest health score for the AP-leaf node link is selected for use with the motion detection system.

25. The computer readable medium of any one of claims 19 to 23, wherein: Updating the motion detection system to use at least one of the one or more static leaf nodes for motion detection includes: determining that the motion detection system allows adding a new leaf node; For the selected static leaf node, sending a region creation event to the user device; and The selected leaf node is marked as a unique local region.

26. The computer readable medium of any one of claims 19 to 23, wherein: The operations include: obtaining existence and link quality information of a plurality of AP-leaf node links for the plurality of calibration time periods; and A calibration event is initiated for the calibration window.

27. The computer readable medium of claim 26, wherein: The AP operates as the core of the motion detection system, and the AP obtains reports containing existence and link quality information of respective other AP-leaf node links from one or more other APs in the motion detection system.

28. A computer program product comprising a computer program, wherein: The computer program implements the steps of the method according to any one of claims 1 to 9 when executed by a processor.

Citation Information

Patent Citations

  • Motion localization in a wireless mesh network based on motion indicator values

    US10109167B1

  • Leveraging neighbors' wireless access points in wireless-signal-variation-based physical intruder detection systems

    US9378634B1