Identifying static leaf nodes in motion detection systems.

A closed-loop system identifies and selects stationary leaf nodes based on link quality metrics, addressing inconsistent data quality and system performance issues in motion detection by ensuring only stable nodes are used for data collection, thereby enhancing accuracy and reliability.

JP7822445B2Active Publication Date: 2026-03-02COGNITIVE SYST
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024193736
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-01-24
Filing Date
2024-11-05
Publication Date
2026-03-02
Estimated Expiration
2039-08-21

AI Technical Summary

Technical Problem

Motion detection systems face challenges in selecting appropriate leaf nodes for collecting channel information, leading to inconsistent data quality and system performance degradation due to the inclusion of both fixed and mobile nodes, especially during system initialization or when a large number of nodes appear suddenly.

Method used

A closed-loop continuous link health measurement and classification system is implemented to identify and select only fixed or stationary leaf nodes based on link quality metrics, such as presence information, sounding success, and signal strength, thereby improving data quality and system performance.

Benefits of technology

This approach enhances the accuracy and reliability of motion detection by ensuring that only stable, stationary leaf nodes are used for data collection, reducing system overload and improving the overall performance and accuracy of motion sensing applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007822445000001
    Figure 0007822445000001
  • Figure 0007822445000002
    Figure 0007822445000002
  • Figure 0007822445000003
    Figure 0007822445000003
Patent Text Reader

Abstract

To provide a motion detection system.SOLUTION: In a general mode, a motion detection system manages a leaf node used for sounding by one or at least two access points. For example, the access points acquire presence activities of multiple AP leaf node links during multiple calibration periods. The presence activities are determined for the respective AP leaf node links within the respective calibration periods on the basis of each presence information. A stationary leaf node is identified on the basis of presence activities regarding multiple AP leaf node links in a calibration window including multiple calibration periods. The motion detection system is updated so as to use at least one of identified stationary leaf nodes as a sounding response node for detecting motion.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Patent Application No. 16 / 256,367, filed January 24, 2019, which is incorporated herein by reference.

[0002] The following description relates to detecting the movement of objects in space based on radio signals. [Background technology]

[0003] Motion detection systems have been used to detect, for example, the movement of objects within an indoor or outdoor area. Some exemplary motion detection systems use infrared or optical sensors to detect the movement of objects within the sensor's field of view. Motion detection systems have been used in security systems, automatic control systems, and other types of systems. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] U.S. Patent Application Serial No. 16 / 256,367 Summary of the Invention [Problem to be solved by the invention]

[0005] In summary, a motion detection system can be configured to detect motion in a space based on changes in wireless signals transmitted over a communication channel between devices through the space. In some cases, a motion detection device in the motion detection system can communicate via wireless signals with one or more other devices, e.g., leaf nodes, which may or may not be part of the motion detection system, to obtain channel information that can then be used to perform motion sensing. In some cases, it can be beneficial for the motion detection system to select from which available devices to collect channel information that will be used in the motion sensing application. [Means for solving the problem]

[0006] Aspects of the present disclosure may provide certain technical advantages and improvements. In some cases, controlling which devices obtain channel information from improves the quality of data to be used in motion sensing applications, thus improving motion sensing results. According to aspects of the present disclosure, in some cases, collecting channel information from certain selected devices may further improve the operation of a motion detection system, such as a surveillance and alarm system, to enable accurate and useful assessment of motion and more accurately determine the status of a space, in addition to other technical improvements thereto. In some cases, the motion detection system determines which device to select using existing characteristics of wireless communication devices and networks.

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

[0008] [Figure 1] FIG. 1 illustrates an exemplary wireless communication system. [Figure 2] FIG. 1 illustrates an exemplary architecture of a motion detection system. [Figure 3] FIG. 10 is a diagram illustrating an example of AP-leaf node link classification. [Figure 4] FIG. 10 illustrates an example of evaluating a link over a calibration window. [Figure 5] FIG. 10 is a flow diagram illustrating an example process for classifying AP-to-leaf node links. [Figure 6] FIG. 2 is a block diagram illustrating an example of a closed-loop control flow for updating leaf nodes in a motion detection system. [Figure 7] FIG. 10 is a block diagram illustrating an example process for a leaf node disconnection event. [Figure 8] FIG. 10 is a block diagram illustrating an example process for a leaf node connection event. [Figure 9] FIG. 2 is a block diagram illustrating an example process for identifying stationary leaf nodes. [Figure 10] FIG. 1 is a block diagram illustrating an example process for classifying link quality of stationary leaf nodes. [Figure 11] 1 is a block diagram illustrating an exemplary wireless communication device. DETAILED DESCRIPTION OF THE INVENTION

[0009] 1 illustrates an exemplary wireless communication system 100. The exemplary wireless communication system 100 includes a first wireless communication device 102A, a second wireless communication device 102B, and a third wireless communication device 102C. The exemplary 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.).

[0010] The exemplary wireless communication devices 102A, 102B, 102C can operate within a wireless network, for example, according to a wireless network standard or another type of wireless communication protocol. For example, the wireless network can 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. An example of a WLAN is configured to operate according to one or more of the 802.11 family of standards developed by the IEEE (e.g., Wi-Fi networks), and others. Examples of PANs include networks operating according to short-range communication standards (e.g., BLUETOOTH, Near Field Communication (NFC), ZigBee), millimeter wave communication, and others.

[0011] In some implementations, the wireless communication devices 102A, 102B, and 102C can be configured to communicate according to cellular network standards, for example, within a cellular network. Examples of cellular networks include networks configured according to 2G standards such as Global System for Mobile Communications (GSM) and Enhanced Data Rates for Global System for Mobile Communications 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 LTE-Advanced (LTE-A), 5G standards, and others. In the example shown in FIG. 1, the wireless communication devices 102A, 102B, and 102C can be or include standard wireless network components. For example, the wireless communication devices 102A, 102B, and 102C can be commercially available Wi-Fi devices.

[0012] In some cases, the wireless communication devices 102A, 102B, and 102C may be Wi-Fi access points (APs) or other types of wireless access points (APs). The wireless communication devices 102A, 102B, and 102C may be configured to perform one or more operations described herein embedded as instructions (e.g., software or firmware) on the wireless communication devices. In some cases, the wireless communication devices 102A, 102B, and 102C may be nodes of a wireless mesh network. A wireless mesh network may refer to, for example, a distributed wireless network having nodes (e.g., wireless communication devices 102) that communicate directly in a point-to-point manner without a central access point, base station, or network controller. A wireless mesh network may include mesh clients, mesh routers, or mesh gateways. The mesh network may be based on a commercially available mesh network system (e.g., GOOGLE Wi-Fi). In some cases, the wireless mesh network is based on the IEEE 802.11s standard. In some cases, the wireless mesh network is based on Wi-Fi ad hoc or another standardized technology. In some cases, other types of standard or conventional Wi-Fi transceiver devices may be used by the wireless communication device 102. The wireless communication devices 102A, 102B, 102C may implement motion detection using various types of wireless protocols for wireless communication, either standard or non-standard, other than the Wi-Fi protocol.

[0013] In the example shown in FIG. 1 , wireless communication devices, e.g., 102A, 102B, transmit wireless signals over a communication channel (e.g., according to a wireless network standard, a motion detection protocol, a presence detection protocol, or other standard or non-standard protocol). For example, the wireless communication devices can generate motion detection signals for transmission to probe a space and detect the motion or presence of an object. In some implementations, the motion detection signals can include standard signaling or communication frames that include standard pilot signals used in channel sounding (e.g., channel sounding for beamforming according to the IEEE 802.11ac-2013 standard). In some cases, the motion detection signals include reference signals known to all devices in the network. In some implementations, one or more of the wireless communication devices can process motion detection signals that are signals received based on the motion detection signals transmitted through the space. For example, the motion detection signals can be analyzed to detect the movement 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 thereof) detected in the communication channel.

[0014] A wireless communication device, e.g., 102A, 102B, transmitting a motion tracking signal can operate as a source device. In some cases, the wireless communication device 102A, 102B can broadcast a wireless motion tracking signal (e.g., as described above). In other cases, the wireless communication device 102A, 102B can send wireless signals intended for another wireless communication device 102C and other devices (e.g., user equipment, client devices, servers, etc.). The wireless communication device 102C and other devices (not shown) can receive the wireless signals transmitted by the wireless communication device 102A, 102B. In some cases, the wireless signals transmitted by the wireless communication device 102A, 102B are periodically repeated, for example, according to a wireless communication standard or otherwise.

[0015] In some examples, the wireless communication device 102C, operating as a sensor device, processes wireless signals received from the wireless communication devices 102A, 102B to detect movement of objects in the space accessed by those wireless signals. In some examples, another device or computing system processes wireless signals received by the wireless communication device 102C from the wireless communication devices 102A, 102B to detect movement of objects in the space accessed by those wireless signals. In some cases, the wireless communication device 102C (or another system or device) processes the wireless signals to detect the presence or absence of an object in the space when a lack of movement is detected. In some cases, the wireless communication device 102C (or another system or device) can perform one or more operations described below with respect to any of FIGS. 3-8, or one or more operations in an example process described with respect to FIGS. 9-10, or another type of process for identifying and selecting fixed leaf nodes and updating a motion detection system to use the selected fixed leaf nodes for motion detection. In one example, the wireless communication device 102C, e.g., an AP, transmits wireless signals, e.g., sounding signals, and the wireless communication devices 102A, 102B, e.g., leaf nodes, receive and process these wireless signals and return channel response information to the wireless communication device 102C.

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

[0017] In some examples, the wireless signal may propagate through an object (e.g., a wall) before or after interacting with the moving object, thereby enabling detection of the movement of the moving object when there is no visual line of sight between the moving object and the transmitting or receiving hardware. Conversely, the wireless signal may indicate the absence of an object in a space when a lack of movement is detected. For example, based on the received wireless signal, the wireless communication device 102C may generate movement data, presence data, or both. In some instances, the wireless communication device 102C may include a control center for monitoring movement within a space, such as a room, indoors, or outdoors.

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

[0019] In some cases, wireless signals received at each of the wireless communication devices 102 can be analyzed to determine channel information for various communication links within the network (e.g., between each pair of communication devices within the network). The channel information can represent a physical medium that applies a transfer function to wireless signals traveling through space. In some cases, the channel information includes channel response information. The channel response information can refer to known channel characteristics of the communication link, describing how the wireless signal propagates from the transmitter to the receiver and representing the combined effects of, for example, scattering, attenuation, and power decay in the space between the transmitter and receiver. In particular, the link can correspond to a receive (Rx) / transmit (Tx) antenna pair. Various configurations of the Rx / Tx antennas can be supported. For example, a three Rx / three Tx antenna (e.g., 3×3) configuration can observe a total of nine channel responses, a 3×2 configuration can observe six channel responses, a 2×2 configuration can observe four channel responses, and a 2×1 configuration can observe two channel responses. In some cases, a 4x4 or 8x8 configuration may be possible, thus providing 16 or 24 channel responses, respectively.

[0020] In some cases, the channel information includes beamforming state information. Beamforming (or spatial filtering) may refer to a signal processing technique for directional signal transmission or reception used in multi-antenna (multiple-input multiple-output (MIMO)) wireless systems. Beamforming can be achieved by combining elements in an antenna array so that signals at certain angles experience constructive interference, while other signals experience destructive interference. Beamforming can be used on both the transmitting and receiving sides to achieve spatial selectivity. In some cases (e.g., the IEEE 802.11ac standard), a beamforming steering matrix is ​​used by the transmitter. A beamforming steering matrix may include a mathematical description of how an antenna array should use each of 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.

[0021] 1 illustrates the wireless communication system 100 as a wireless mesh network having wireless communication links between each of the 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 can be used to search a first motion detection area 110A, the wireless communication link between the wireless communication device 102C and the wireless communication device 102B can be used to search a second motion detection area 110B, and the wireless communication link between the wireless communication device 102A and the wireless communication device 102B can be used to search a third motion detection area 110C. In some instances, each wireless communication device 102 can be configured to detect motion within each of the motion detection areas 110 accessed by that device by processing received signals based on wireless signals transmitted over links between the wireless communication devices 102 within the motion detection area 110. 1 moves between the first motion detection area 110A and the third motion detection area 110C, the wireless communication device 102 can detect the movement based on signals received based on wireless signals transmitted through each motion detection area 110. For example, the wireless communication device 102A can detect the movement 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 movement of the person 106 in both the second motion detection area 110B and the third motion detection area 110C, and the wireless communication device 102C can detect the movement of the person 106 in both the first motion detection area 110A and the second motion detection area 110B.

[0022] In some cases, the motion detection area 110 can include, for example, air, a solid material, a liquid, or another medium through which a wireless electromagnetic signal can propagate. In the example shown in FIG. 1 , 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 over a wireless communication channel (separate from or shared with a wireless communication channel for network traffic). The object can be any type of stationary or mobile object, and can be animate or inanimate. For example, the object may be a human (e.g., as depicted in FIG. 1), an animal, an inanimate object, or another device, apparatus, or assembly, an object that defines all or part of a boundary of a space (e.g., a wall, a door, a window, etc.), or another type of object. In some implementations, motion information from a wireless communication device may trigger further analysis to determine the presence or absence of an object when no motion of the object is detected.

[0023] In some implementations, the wireless communication system 100 can be or include a motion detection system. The motion detection system can include one or more of the wireless communication devices 102A, 102B, 102C and possibly other components. One or more of the wireless communication devices 102A, 102B, 102C in the motion detection system can be configured for motion detection. The motion detection system can include a database that stores signals. The stored signals can include respective measurements or metrics (e.g., channel response information, beamforming status information, or other channel information) for each received signal and can be associated with channel conditions, such as motion, lack of motion, etc. In some cases, one of the wireless communication devices 102 in the monitoring system can act as a central hub or server for processing the received signals and other information for detecting motion. The wireless communication device 102 or other similar wireless communication devices in the monitoring system can identify fixed or stationary leaf nodes that communicate with the wireless communication device 102 or other similar wireless communication devices in the monitoring system. In some implementations, the wireless communication device 102 or other devices or computing systems in the motion detection system may classify and rank fixed or stationary leaf nodes in communication with these wireless communication devices 102 or other similar wireless communication devices 102. Storage of data related to the process for identifying fixed leaf nodes in the surveillance system and / or for classifying and selecting fixed leaf nodes for sounding may be performed on the wireless communication device 102 configured as an AP device (e.g., a gateway device) in the motion detection system, on another type of computing device, or in some cases may be performed in the cloud.

[0024] FIG. 2 illustrates an example architecture of an example motion detection system 200. In some cases, devices within 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. In the example illustrated in FIG. 2, the motion detection system 200 includes a wireless access point (AP) 202 (e.g., wireless communication device 102), one or more leaf devices 204 that can communicate with the AP 202, and in some cases, additional APs or leaf devices, or other types of devices, such as servers. In some cases, the motion detection system includes multiple APs 202 (e.g., wireless communication device 102 described in FIG. 1) that communicate according to a wireless mesh protocol, with one or more leaf nodes 204 connected to each AP 202, as illustrated in FIG. 2.

[0025] In some instances, each device-to-device wireless connection within the motion detection system 200 may constitute a motion link 250, which is a source for obtaining motion measurements. A motion link between an AP 202 and a leaf node 204 is referred to herein as an AP-leaf node link. A leaf node 204 may be a Wi-Fi device used for sounding by the AP 202 within the motion detection system 200. In some instances, a leaf node 204 is not configured with proprietary motion detection software or hardware, but rather typically operates according to a particular wireless standard. For example, the leaf node 204 may process sounding requests from the AP 202 as part of its normal operation under that operating standard (e.g., the leaf node 204 may operate as a smart phone, smart thermostat, laptop computer, tablet device, set-top box, streaming device, or the like). In some instances, the AP 202 and the leaf node 204 comply with a standard (e.g., IEEE 802.11) protocol and therefore do not require dedicated motion detection hardware or software to serve as a leaf node in the motion detection system 200. 2 as sounding response nodes to obtain channel information (e.g., channel response information, beamforming state information, etc.) for motion detection. In some cases, it is preferable that the leaf nodes 204 used for sounding by the AP 202 have certain characteristics, for example, that these leaf nodes 204 remain stationary for long periods of time and have a constant power source, such as a plugged-in smart phone.

[0026] In one example, the motion detection system 200 implements a beamforming protocol, for example, to generate and transmit beamforming information from one wireless device to another. For example, the wireless communication device 202 may implement the beamforming protocol described above. In some cases, the AP 202 may detect motion of the object 230 based on analyzing a beamforming matrix (e.g., a steering matrix or a feedback matrix). In some examples, sounding and / or beamforming is performed on a motion link, for example, the motion link 250A between the AP 202 and the leaf device 204A, and motion is detected at the AP 202 by observing changes in the beamforming matrix (e.g., a steering matrix or a feedback matrix) associated with the motion link. The location of the motion may also be identified by the AP 202 based on changes in the respective beamforming matrices for each connection with the leaf device 204. In a mesh configuration (e.g., a motion detection system 202 with multiple interconnected APs 202, not shown in FIG. 2), sounding and beamforming are performed between the multiple APs 202 and their respective leaf devices 204, and motion information is determined at each of the APs 202. The motion information is then sent to a hub device (e.g., one of the APs 202) or another device, such as a server, which can analyze the motion information to make an overall determination of whether motion has occurred in space, to locate the location of the detected motion, or both.

[0027] In some implementations of the exemplary motion detection system 200 shown in FIG. 2 , the number of leaf nodes 204 in communication with an AP 202 is unknown or changes over time. In some cases, the number of leaf nodes 204 in communication with an AP 202 changes as a mobile leaf node 204 moves in and / or out of communication with the AP 202. For example, a user carrying a mobile device, such as leaf node 204B, may enter the space, and the mobile device may begin communicating with the AP 202, which is conducting motion sensing activities. However, typically in a mesh configuration, the leaf node can choose any of the mesh APs and, in addition, freely switch between these 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 and / or perform soundings with the mobile device. The user may then leave the space with the mobile device, and the mobile device may move out of range of the AP 202, only to later re-enter range of the AP 202. In some situations, the data collected by the AP 202 from this mobile device may not be stable enough to be used to make decisions about movement.

[0028] In some cases, the use of leaf nodes in a motion detection system may affect system performance. For example, there may be limited resources required to perform sounding on motion links between devices, such as the motion link 250 between the AP 202 and the leaf node 204, to collect channel information. In some cases, central processing unit (CPU) and memory usage increases linearly with the number of available AP-leaf node links used for sounding in the motion detection system. In some cases, the motion detection system may be in communication with stationary leaf nodes (having fixed locations) and moving leaf nodes (having variable locations), but may not be able to distinguish stationary leaf nodes from moving leaf nodes. In some cases, the location of the leaf nodes may affect the performance of the motion detection system. In some cases, the motion detection system may observe that some leaf nodes provide only weak sounding responses to collect channel information during the sounding process, resulting in poor channel information being provided to the motion detection system. In some cases, the poor channel information received from weak sounding response leaf nodes may cause degradation of the overall system. In some cases, a weak sounding response leaf node may be due to it being a moving leaf node rather than a fixed leaf node. In other cases, the motion detection system may be overwhelmed by a situation where a large number of leaf nodes appear all at once or within a short time interval, for example, during system initialization, such as after rebooting the system. In some cases, the user may also be overwhelmed with multiple notifications from the system, for example, when the user is notified and asked to confirm that a leaf node has been added to the system.

[0029] As described herein, to address one or more of the above problems and improve the operation of a motion detection system, a closed-loop continuous link health measurement and classification system for AP-leaf node links is implemented. In some instances, the system may be applied to AP-AP mesh links or other types of motion links within a motion detection system.

[0030] FIG. 3 illustrates an example of AP-leaf node link classification. In one implementation, the exemplary link classification 300 classifies each AP-leaf node link in a motion detection system (e.g., motion detection system 200) as a fixed or stationary leaf node or a mobile leaf node. In some cases, a leaf node (e.g., leaf node 204 in FIG. 2) is communicatively coupled to one or more APs 202 of the motion detection system at various times. In some cases, the motion detection system periodically receives a network status report 310 from each AP 202 at a predetermined time interval, e.g., every minute, every two or three minutes, every hour, etc. The time interval for receiving the network status report may be adjustable. In a system with multiple APs 202, one of the APs 202 may act as a hub for collecting network status reports 310 from each of the other APs 1210. In some cases, the motion detection system may have only one AP 202, in which case there is no need to receive network status reports 310 from the other APs. The network status report 310 for each AP in the motion detection system includes statistics for each active AP-leaf node link during a given time interval.

[0031] In some implementations, valid AP-leaf node links are identified based on the machine address, e.g., Medium Access Control (MAC) address, of the underlying wireless interface for the AP and the leaf node. A network status report 310 is provided for each AP-leaf node link. In some cases, an AP-leaf node link is determined to be valid during a given time interval if the leaf node communicates wirelessly with the AP during that time interval. For example, if the leaf node responds to a beacon or other signal from the AP during sounding, the AP will mark the leaf node as valid in the network status report 310 for that time interval. In some cases, status reports 310 from multiple time intervals are aggregated to derive statistics for each AP-leaf node link over a calibration period. In some implementations, various metrics in the status report are tracked and / or calculated for each valid AP-leaf node link over a calibration period, e.g., one hour. In the example classification 300 shown in FIG. 3, statistics received in 60 network status reports over a one-hour calibration period are aggregated. 3, the metrics include a presence information metric 325, a sounding success metric 326, a sounding failure metric 327, an average received signal strength indicator (RSSI) metric 328, and a motion detection failure rate metric 329. In some implementations, other metrics may be used to classify links. In some cases, the presence information metric 325 indicates the number of status reports 310 during a calibration period that a particular AP-leaf node link was valid. By way of example, during a one-hour calibration period in which status reports 310 were reported every minute, the presence information metric 325 may have an integer value ranging from zero to sixty (0-60). In some implementations, for each AP-leaf node link, a sounding success metric 326 is calculated that indicates the average successful channel frequency response (CFR) sounding rate (ranging from 0-100%), and a sounding failure metric 327 is calculated that indicates the average unsuccessful CFR sounding rate (ranging from 0-100%).These statistics relate to the AP's attempts to sound the leaf node by sending a sounding request and whether the leaf node responded (e.g., succeeded) or did not respond (e.g., failed). In some cases, an average RSSI metric 328 and a motion detection failure rate 329 can be calculated and used in classifying the AP-leaf node link. In some instances, calibration results for each calibration period are calculated (e.g., as described in FIG. 5 or otherwise), and each valid AP-leaf node link is classified 330 based on the calibration results. For example, valid AP-leaf node links can be classified as passing, noisy, or sleeping, as described below.

[0032] In the examples described herein, AP-leaf node links are represented by pairs of AP numbers and leaf numbers. In the examples described in FIGS. 3 and 4, the motion detection system includes three APs, AP0, AP1, and AP2, and two leaf nodes, Leaf0 and Leaf1, that communicate with one or more of these APs during a calibration event. Thus, each AP reports a maximum of two links, e.g., AP0-Leaf0 and AP0-Leaf1. Meanwhile, a leaf node may be associated with one, two, or all three of the APs, and thus may be associated with three links, e.g., AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0. The use of AP and leaf node numbers in this case is merely for illustrative purposes, since actual AP-leaf node link pairs are identified by MAC addresses as described above.

[0033] In some implementations, the presence information metric 325 is used to determine whether the first valid leaf node is fixed (e.g., stationary) or mobile. During experiments in some example systems, it was determined that monitoring whether a leaf node jumps from one AP and to another does not necessarily indicate whether the leaf node is fixed or mobile, and it was observed that fixed leaves jump for a variety of unclear reasons. Furthermore, in some situations, observing only the leaf node's received signal strength indicator (RSSI) measurements does not necessarily provide a reliable indication of whether the leaf node was fixed or mobile.

[0034] 4 illustrates an example of evaluating a link over a calibration window 410. The calibration window 410 includes multiple calibration periods 420. In this example, each row of a table 480 illustrates calibration results 470 (e.g., obtained as described in FIG. 5 or otherwise) for a particular AP-to-leaf node link 430 during each calibration period 420 within the calibration window 410. In the example shown in FIG. 4, the activity of the AP-to-leaf node link during the calibration window 410 is represented by either a highlighted or grayed-out calibration period 420 in each respective row for that AP-to-leaf node link. In particular, a grayed-out calibration period 420 (e.g., no data 470a) within any calibration window 410 indicates that a particular AP-leaf node link 430 was not detected as valid (or sufficiently valid) within that calibration period 420 based on the presence information metrics 325, whereas other highlighted calibration periods 420 (e.g., PASS 470b, NOISY 470c, and SLEEP 470d) indicate that a particular AP-leaf node link 430 was detected as valid (or sufficiently valid) within that calibration period 420 based on the presence information metrics 325. The assignment of attendant fitness ratings (e.g., PASS 470b, NOISY 470c, and SLEEP 470d, although other fitness ratings 570 are available as described in FIG. 5) to valid AP-leaf node links is discussed in FIG. 5. 5, when the presence information metric 325 for an AP-leaf node link exceeds a certain threshold (e.g., presence metric 325≧PRES_THRES(0.9)) during calibration period 420, the leaf node is marked as present or valid. In this example, presence information metric 325 is a value between 0 and 60, so based on a 90% threshold, an AP-leaf node link 430 having a presence information metric 325 of 54 or higher during calibration period 420 would be determined to be valid (or sufficiently valid), whereas if the value is less than 54 during calibration period 420, the AP-leaf node link would be determined to be not valid (or sufficiently valid).The threshold may be adjustable, so that in some cases a leaf node may be determined to be present / valid for a smaller or larger percentage of time during the calibration window 410. In this example, each calibration period 420 is one hour and the calibration window 410 is five hours, i.e., there are five calibration reports 420 to review for each AP-leaf node link 430. In one implementation, each AP-leaf node link 430 is assigned a number of points 450 during the calibration window 410. In some cases, these points are assigned based on whether the presence activity of the AP-leaf node link 430 exceeded a presence threshold within each calibration period 420. In the illustrated example, the total points 450 for each AP-leaf node link 430 are derived by adding the points during each highlighted calibration period 420 within the calibration window 410.

[0035] In this example, points 450 are assigned to the AP-leaf node link 430 within each calibration period 420 of the calibration window 410. In this example, the AP-leaf node link 430 is assigned 0 points if the AP-leaf node link 430 is determined to be “invalid” during the calibration period 420 (e.g., an “invalid” link is not highlighted and is gray in FIG. 4 ), or 1 point if the AP-leaf node link 430 is determined to be “valid” during the calibration period 420 (e.g., a “valid” link is highlighted in FIG. 4 ), although other implementations may assign values ​​other than 0 or 1 to represent presence activity or lack thereof. As previously mentioned, the presence activity of the AP-leaf node link may be determined in decision box 520, described below in FIG. 5 .

[0036] Returning to calculating points 450 in table 480, AP0-Leaf0 is assigned 1 point during each of the highlighted 1-hour calibration periods 420 (e.g., during the most recent calibration period for which statistics about the link were available: 0 h, 1 h, 2 h, and 3 h), and 0 points for non-highlighted 1-hour calibration periods (e.g., calibration period 4 h for which no data about the link was available), for a total of 4 points shown in table 480. In some cases, the AP-leaf node link 430 may not have any available data during any calibration period; for example, AP0-Leaf1 has no data available and is assigned a total of 0 points 450 in table 480. In some cases, the total assigned points 450 assigned to the AP-leaf node link 430 during the calibration window 410 provides an indication of the presence activity level of the AP-leaf node link, and in some cases may also provide an indication of whether the leaf node is a fixed leaf node or a mobile leaf node. However, in at least some situations, points alone may not be enough to confidently determine whether a leaf node is fixed or moving.

[0037] In some implementations, the total points 450 for an AP-leaf node link 430 is an indication of presence activity but does not indicate when the data within each calibration period 420 was collected and therefore when the link 430 was last valid. For example, a calibration event may begin once a day or every 24 hours, i.e., there are potentially 24 one-hour network status reports 310 to choose from for a calibration window, with "0h" being the most recent network status report and "23h" being the oldest network status report for an AP-leaf node link. In the example described in FIG. 4 , the calibration window is five hours, so network status reports 310 for five calibration periods would be selected for each AP-leaf node link. The most recent calibration period 420 for which data is available within a network status report 310 is the first report for each AP-leaf node link, and the four most recent calibration periods would be used to complete the data set for the five-hour calibration window 410. For example, AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0 link pairs 430 were last valid within the most recent calibration period, e.g., "0h," while AP1-Leaf1 was last valid within the sixth oldest calibration period, "5h." AP2-Leaf1 430 was last valid within the sixteenth and seventeenth most recent calibration periods, "15h" and "16h," but no data is available during the three older calibration periods, and therefore, for illustrative purposes, these periods 430 are represented by the older calibration period, "17h," and are grayed out.

[0038] In some cases, if the most recent presence information metric 325 for an AP-leaf node link 430 is stale, the presence activity information for the link 430 may also be stale, thereby reducing the relevance of this information when determining whether the leaf node is stationary or mobile. In some cases, a range value 460 is used as an indicator of the age of the presence activity data. For example, the presence activity data shown in FIG. 4 for AP0-Leaf0 was collected over the last four hours (e.g., 0 h, 1 h, 2 h, and 3 h). Meanwhile, the most recent presence activity data for AP1-Leaf1 was collected 6-10 hours ago (e.g., 5 h, 6 h, 7 h, 8 h, and 9 h), indicating that data was not available for the last 0-5 hours. Data for AP2-Leaf1 was collected even earlier (e.g., 15 h and 16 h), indicating that data was not available for the last 0-14 hours.

[0039] In one implementation, the range 460 for an AP-leaf node link is determined by the age of the oldest calibration period 420 for which data is available for use within the calibration window 410, relative to the most recent calibration period. For example, referring to table 480, the most recent calibration period is "0h," so the range for AP0-Leaf0 is 0h-3h or 4, the range for AP1-Leaf1 is 0h-9h or 10, and the range for AP2-Leaf1 is 0h-16h or 17. An example range 460 for each AP-leaf node link is shown in table 480. In this case, the range 460 information can be used in conjunction with the presence activity point 450 to identify the link as fixed or moving.

[0040] In the instance where the calibration window shifts to accommodate results and statistics for the next calibration period, score 440 and points 450 for the AP-leaf node link will remain unchanged if there are no additional activity reports for the AP-leaf node link. Referring again to AP2-Leaf1, score 440 and points 450 will remain unchanged for subsequent times from 0h to 14h. However, range 460 will increase by 1 for each subsequent calibration period in which there is no activity on this AP-leaf node link. In this case, the increase in range 460 value reduces the validity of the historical data for this AP-leaf node link, but also provides further context as to whether this leaf node is mobile or stationary.

[0041] In one implementation, a leaf node is determined to be a stationary leaf node if the number of presence activity points 450 for all links of the leaf node is equal to the range 460. In the example shown in table 480, the link pairs AP0-Leaf0, AP1-Leaf0, and AP2-Leaf0 each have points 450 equal to their range 460. In this case, Leaf0 can be identified as a stationary leaf node because all of Leaf0's links have points 450 equal to the range 460 for this link. In some cases, a leaf node may not have links with all available APs (e.g., data regarding AP0-Leaf1 is not available). In this situation, only links with available data will be used in making a stationary or moving determination for the leaf node, and links with no data (e.g., range 460 equal to 0) will be ignored. In some cases, other (additional or different) criteria can be used in determining whether a leaf node is a stationary leaf node.

[0042] In one implementation, when a leaf node, for example, Leaf 0, is determined to be a stationary leaf node, the motion detection system adds this node as a sounding response node. However, when the leaf node is determined to be a moving node, the motion detection system removes (does not add) this leaf node as a sounding response node. For example, AP 0 may select Leaf 0 to perform sounding and use the resulting data for motion detection, while Leaf 1 appears to be moving based on the example data shown in table 480, and therefore AP 0 may determine not to use Leaf 1 for motion detection.

[0043] 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, each AP-leaf node link may be assigned a value based on the link quality data in each network status report 310 during each calibration period 420. In the example shown in FIG. 4, the score 440 for each AP-leaf node link is accumulated by adding the link quality values ​​for each calibration period 420 over the entire calibration window 410 for the AP-leaf node link. In some cases, link quality values ​​are assigned as described in FIG. 5. In the example described in FIG. 4, a link has high quality when its score is high. However, in other implementations, other values ​​can be assigned to represent link quality, and the score can be calculated differently, for example, a lower score can represent higher quality. In FIG. 4, the AP-leaf node links are ranked according to their quality score 440. In some cases, only the scores 440 of leaf nodes identified as stationary are analyzed. For example, Leaf0 is identified as a stationary leaf node, and the AP0-Leaf0 link pair has the highest score, indicating that this link has the best quality over AP1-Leaf0 and AP2-Leaf0. In some cases, AP0 will add leaf node Leaf0 as a sounding response node, or Leaf0 is already a sounding response node and AP0 will keep it as a sounding response node. In this example, Leaf1 is identified as a stationary node, and therefore its score is not considered.

[0044] FIG. 5 is a flow diagram illustrating an example process 500 for classifying AP-leaf node links. In some implementations, the classification process 500 is performed for each AP-leaf node link within each calibration period 420, for example, when compiling statistics as described in FIG. 3. In this example, there are several possible categories of calibration results 560 (e.g., NOT_SOUNDED, NOT_PRESENT, SLEEPING, PASS, NOISY, FAILURE, NO DATA), although more or fewer categories may be used to classify leaf nodes in some cases. Each calibration result 560 is accompanied by a weight based on how desirable the leaf node is in terms of sounding priority. The weights are summed over the calibration window to derive a score (e.g., score 440 shown in table 480 of FIG. 4). In some cases, a negative score indicates that sounding the leaf node is undesirable, whereas a positive score indicates that sounding the leaf node is believed to contribute positively to the performance of the motion detection system. In some cases, leaf nodes are ranked in priority based on the magnitude of their scores, e.g., from highest to lowest.

[0045] In the exemplary process 500, statistics collected for each AP-leaf node link during each calibration period 420 are used to determine a score for that link. At 510, leaf nodes that were omitted during a particular time (e.g., a calibration period), e.g., not selected by the AP for sounding, are classified as NOT_SOUNDED 560a and assigned a metric value 570a (e.g., +0.25 points). If the device was sounded by the AP, at 520 it is determined whether the device was sufficiently present (e.g., engaged in sufficient communication) during the calibration period 420. In one implementation, whether the presence of the AP-leaf node link exceeds a presence threshold can be determined using, for example, the presence information metric 325 described in FIG. 3. In this example, the presence threshold PRES_THRES is set to 0.9, indicating that the link 430 must be valid for at least 90% of the calibration period 420. In some cases, the presence of a leaf node indicates whether the motion detection system has enough information to properly analyze the link during the calibration period, and is represented by a presence threshold. In this example, at 520, the presence of a device that does not meet the presence threshold during the calibration period is classified as NOT_PRESENT 560b and assigned a value 570b (e.g., 0 points) indicating that the AP-leaf node link was not completely present during the calibration period 420.

[0046] When a leaf node meets or exceeds the presence threshold, a determination is made at 530 as to whether the device is sleeping. In one implementation, the sounding success metric 326 (denoted as "prate" in FIG. 5) and the sounding failure metric 327 (denoted as "frate" in FIG. 5), described in FIG. 3, are added together, and the result is evaluated against a sleep threshold, SLEEP_THRES. If the result is lower than the sleep threshold, the device is determined to be asleep. In this example, the sleep threshold, SLEEP_THRES, is set to 0.95, although other values ​​can be used. If the result is lower than the sleep threshold during the calibration period, the leaf node is classified as SLEEPING 560c and assigned a value 570c (e.g., -1 point) indicating that the AP-leaf node link was sleeping during the calibration period 420.

[0047] When the leaf node meets or exceeds the sleep threshold, e.g., is not asleep, it is determined at 540 whether the device successfully performed a sounding response during the calibration window. In one implementation, the sounding success metric 326 (e.g., prate) is evaluated against a pass threshold GOOD_THRES. If prate is higher than the pass threshold, the device is determined to have successfully sounded during the calibration period. In this example, the pass threshold GOOD_THRES is set to 0.85. If prate is higher than the pass threshold during the calibration period, the leaf node is classified as PASS 560d and assigned a value 570d (e.g., +1 point) indicating that the AP-leaf node link successfully sounded during the calibration period 420.

[0048] If the leaf node does not meet the pass threshold, it is determined at 550 whether the device performed a successful sounding response during the calibration period 420 but with interference and / or noise. In one implementation, the sounding success metric 326 ("prate") is evaluated against a lower pass threshold OK_THRES for successful sounding during the calibration period. If "prate" is higher than the lower pass threshold OK_THRES, the device is determined to have performed a successful sounding response during the calibration period. In this example, the pass threshold OK_THRES is set to 0.75, a lower quality than GOOD_THRES. If "prate" is higher than the lower pass threshold during the calibration period, the leaf node is classified as NOISY 560e and assigned a value 570e (e.g., +.5 points) indicating that the AP-leaf node link performed a successful sounding response but with high noise during the calibration period.

[0049] If the leaf node does not meet the lower pass threshold OK_THRES, it is determined that the device is not responding correctly to sounding at 550. For example, if "prate" was lower than the lower pass threshold during the calibration period, the leaf node is classified as out of order 560f and assigned a value 570f (e.g., -1 point) indicating that the AP-leaf node link was out of order during the calibration period. If no historical data is available for the leaf node within the calibration period, the AP-leaf node link is classified as no data 560g and assigned a default value 570g (e.g., +.25).

[0050] In some implementations, after performing example process 500, each AP-to-leaf node link within each calibration period 420 of calibration window 410 will be classified and assigned a score with respect to the quality of the link. In some cases, the points assigned to the links during each calibration period 420 are added together across the calibration window 410 to derive a score, such as score 440 in table 480 of FIG. 4. In some instances, the score of a fixed leaf node can be used to rank each of its AP-to-leaf node links to prioritize which links will provide the best quality sounding response data to the motion detection system.

[0051] 6 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 single AP in the motion detection system, by one of multiple APs in the motion detection system, or by a separate server that uses data reported by a designated AP in the motion detection system. In some cases, the process 600 is performed for each AP, and each AP selects a leaf node to use for motion detection. In this example process 600, the network status is reported every minute, and the calibration period is every hour (e.g., as described in FIG. 3). Other calibration periods and network reporting intervals can be used.

[0052] At 610, the motion detection system waits to enter a sentinel state to obtain network status for each AP. At 615, it is determined whether the calibration period is complete by checking whether it is the next calibration period, e.g., the next hour. Once an hour has passed and the calibration period 420 is complete, a calibration event is performed at 620 that compiles statistics for each AP-leaf node link (e.g., as described in FIGS. 3 and 4). At 625, each AP-leaf node link is scored based on a history window. In this example, the history window includes data and scores for each AP-leaf node link for the last 72 calibration periods.

[0053] At 630, fixed leaf nodes are selected for sounding. For example, the motion detection system selects a maximum number of leaf nodes to sound per AP (e.g., represented as MAX_LEAFS_PER_AP=2) from the fixed leaf nodes identified for the most recent calibration event. In some implementations, leaf nodes are selected based on the score 440 for each leaf node described in FIG. 4. In some cases, the location of the leaf node is used in combination with the score 440. For example, if a stationary leaf node is proven suitable for sounding by obtaining a minimum score, this stationary leaf node can potentially become the location of its own localizer result, e.g., identify the location of the detected motion as the location of the fixed leaf node. In some cases, this option can be provided by a motion detection application on the user's smartphone by sending an event to a user interface of the user's device. If the user provides the location of the stationary leaf node via the user interface, the selection of the stationary leaf node for sounding can be biased based on the uniqueness of the leaf node's location. In one example, if a unique location has a single leaf whose quality is considered "ok," sounding that leaf node will have better motion results than sounding two "good" leaves in a single zone.

[0054] After the maximum number of leaf nodes for each AP has been selected, it is determined at 635 whether at least one of the leaf node candidates is a newly identified stationary leaf node having a link quality that exceeds a minimum link quality score (e.g., SCORE_THRES). Example scores for each AP-leaf node link are described in FIG. 4 (e.g., score 440 in table 480). In some cases, no leaf node meets the quality score criteria, in which case the accumulators are reset at 660 (e.g., score 440, point 450, and range 460 described in FIG. 4), and total statistics for the just-completed calibration period, such as presence, sounding success rate (“prate”), and sounding failure rate (“frate”), as well as any other link statistics being tracked, such as average RSSI and motion detection failure rate, are updated for all AP-leaf node links at 665. After the accumulators are updated, the system waits at 610 to receive the next status report.

[0055] In some implementations, when a new stationary leaf node that exceeds a minimum quality score is identified, it is determined at 640 whether a global stationary leaf cooldown process is in effect. For example, a motion detection system may specify a time (i.e., a cooldown period) after which new leaf nodes cannot be added to the motion detection system. In some cases, a stationary leaf cooldown period may be implemented to provide stability to the system and prevent repeated entry and exit of newly selected stationary leaf nodes. In one example, the cooldown period may be 24 hours. In cases where the cooldown period is in effect, the process proceeds to 660, where the accumulator is reset, statistics for the calibration period are updated at 665, and the system waits to receive the next status report at 610.

[0056] In cases where the cool-down period is not in effect, a new stationary leaf node can be added to the motion detection system. In this case, an event is generated at 645 reporting the newly identified and selected stationary leaf node. For example, to report the new stationary leaf node, the motion detection system can generate a "ZoneCreatedEvent" that associates the leaf node and its sounding response data with a particular motion zone. As described above, an opportunity to create a new zone is provided to the user via a user interface. In some cases, at 650, the new stationary leaf node is marked as a potential unique localizer zone, depending, for example, on whether the user indicates a new zone via the user interface.

[0057] After a new leaf node is selected for sounding, a cool-down timer is started at 655 or reset if still running. In this example, the cool-down timer MIN_LEAF_INTERVAL is set to 24 hours, so that newly identified fixed leaf nodes cannot be added during this time. The process then proceeds to 660, where the accumulator is reset, statistics for the calibration period are updated at 665, and the system waits to receive the next status report at 610. If the calibration period is not complete at 615 (e.g., no network status report has been received for an hour), statistics for the most recent calibration period are updated at 665, and the system waits to receive the next status report at 610.

[0058] FIG. 7 is a block diagram illustrating an example process for a fixed leaf node disconnection event. For example, a fixed leaf node used for sounding by an AP in a motion detection system may lose connectivity with the AP, e.g., the device is disconnected from the network, loses power, is moved out of range, and the like. This example process 700 is performed when the AP receives a link disconnection event at 710, indicating that the fixed leaf node is no longer communicating with the AP. In some implementations, the system determines at 720 whether the AP has at least one other fixed leaf node with a positive quality score (e.g., score 440 in FIG. 4 ). If so, at 730, the AP is instructed to immediately begin sounding 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.

[0059] FIG. 8 is a block diagram illustrating an example process for a leaf node connection event. In some implementations, this process 800 is performed when an AP receives a link connection event, indicating that an AP-leaf node link has been established, at 810. The AP may detect the connection event at any time. In some implementations, a determination is made, at 820, as to whether the AP has previous historical data, such as presence information metrics 325 and quality statistics 326-329, associated with this new link 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 default setting is shown in FIG. 4 for a particular AP-leaf node link 430 within a particular calibration period 420, where, for example, AP0-leaf1 has no previous historical data and therefore each calibration period within the calibration window defaults to "no data." At 860, the determination as to whether the leaf node will be used for sounding is postponed until the next calibration period (e.g., as described in FIG. 6). Conversely, 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., score 440 described in FIG. 4) and the AP is currently sounding fewer than its maximum number of leaf nodes (e.g., MAX_LEAFS_PER_AP<2), then the AP begins sounding the leaf node immediately at 840. In other cases, where the AP has already sounded the maximum number of leaf nodes, then at 860, the determination as to whether the leaf node will be used for sounding is postponed until the next calibration period (e.g., as described in FIG. 7).

[0060] Figure 9 is a block diagram illustrating an example process 900 for identifying stationary leaf nodes. In some cases, one or more of the operations shown in Figure 9 are implemented as a process that includes multiple operations, sub-processes, or other types of routines. In some cases, operations may be combined, performed in a different order, performed in parallel, repeated or otherwise iterated, or performed in another manner.

[0061] At 910, presence information is obtained for multiple calibration periods for multiple AP-leaf node links. As described in Figures 3-4, presence information within a calibration period refers to the number of times during a calibration period when an AP-leaf node link is valid.

[0062] In some implementations, a leaf node can be associated with links to one or more APs. In some cases, presence information, such as presence information 325 described in FIG. 3, represents or includes data indicating the number of times an AP-leaf node link is valid during a calibration period (e.g., an hour or other time interval) within the motion detection system. In some cases, an AP is a hub for the motion detection system, and the AP obtains reports (e.g., network reports described in FIG. 3) from one or more other APs (e.g., AP node 1210 described in FIG. 2) in the motion detection system that include presence information for each of the other AP-leaf node links.

[0063] At 920, presence activity is determined for each AP-leaf node link based on its respective presence information. In some cases, an AP-leaf node link is determined to be present or valid when the presence information for the AP-leaf node link, e.g., presence information 325, during the calibration period exceeds a presence threshold for the calibration period. For example, when the AP-leaf node link is valid for a certain percentage of the time during the calibration period (e.g., presence information ≧ PRES_THRES (e.g., 9.0) in decision box 520 of FIG. 5), the AP-leaf node link is determined to have sufficient presence activity during the calibration period to be considered present or valid (e.g., as shown in FIG. 4, AP-leaf node link 430 determined to be present or valid during calibration period 420 is highlighted).

[0064] At 930, stationary leaf nodes are identified based on the presence activity of multiple AP-leaf node links within the calibration window. In one implementation, an AP-leaf node link is determined to be stationary when it exists for multiple calibration periods equal to the range of the calibration period (e.g., range 460 for AP0-leaf0, AP1-leaf0, and AP2-leaf0 illustrated in FIG. 4). For example, the presence activity of the AP-leaf node links is determined by calculating point 450 for each AP-leaf node link over the calibration window, as described in FIG. 4.

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

[0066] In some implementations, one of the identified stationary leaf nodes is selected to be added to the motion detection system as a sounding response node, and a zone creation event is sent to the user for the selected stationary leaf node. In some cases, a unique local zone associated with the selected stationary leaf node is marked. In some cases, the stationary leaf node is selected by deriving a link quality score for each stationary AP-leaf node link in a calibration window (e.g., assigning scores for each calibration period in FIG. 5 and summing them during the calibration window in the table described in FIG. 4). In some instances, the stationary AP-leaf node links are prioritized according to their respective link quality scores, and the stationary leaf node having the stationary AP-leaf node link with the highest link quality score (e.g., AP0-Leaf0 described in FIG. 4) is selected. In some implementations, a maximum number of leaf nodes per AP are selected for sounding during the next time interval based on the link quality scores and locations of the identified stationary leaf nodes. In some cases, a stationary leaf node timer is started after updating the motion detection system to use at least one of the stationary leaf nodes identified in the motion detection system as a sounding response node (the wide-area stationary leaf cooldown described in Figure 6).

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

[0068] At 1010, stationary leaf nodes are identified based on the presence activity of each leaf node within the calibration window. In some cases, stationary leaf nodes can be identified as described in FIGS. 3-4 and / or using the process described in FIG. 9.

[0069] At 1020, a health score is determined for each AP-leaf node link of each stationary leaf node in each calibration window based on AP-leaf node link quality information. The AP-leaf node link quality information may include a success rate of sounding operations during a calibration period and a failure rate of sounding operations during a calibration period, as described in FIGS. 3-5. In some cases, the AP-leaf node link quality information may include an average link received signal strength indicator (RSSI) and a motion detection failure rate. In some implementations, determining the health score may include assigning a classification to each AP-leaf node link based on the link quality information of each AP-leaf node link in each of the multiple calibration periods. In some cases, the classification indicates that the link quality is pass, high noise, or sleeping. Each AP-leaf node link may be assigned a value corresponding to its classification, and a health score for each AP-leaf node link is derived based on the assigned value in each of the multiple calibration periods in the calibration window (e.g., as described in FIGS. 4-5). In one example, the AP link health is acceptable when the success rate of sounding operations during the calibration period is above a first threshold and the failure rate of sounding operations during the calibration period is below a second threshold. In another example, the AP link health is noisy when the success rate of sounding operations during the calibration period is below a third threshold and the failure rate of sounding operations during the calibration period is above a fourth threshold.

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

[0071] At 1040, the motion detection system is updated to use the selected one or more stationary leaf nodes for motion detection. In some cases, the motion detection system is updated by determining that it has enabled adding a new leaf node at that time. A zone creation event for the selected stationary leaf node is then sent to the user (e.g., to the user device). In some implementations, the selected leaf node is marked as a unique local zone. In some implementations, the AP obtains presence information and link quality information for multiple AP-leaf node links over multiple calibration periods and initiates a calibration event for the calibration window. In some cases, the AP is a hub for the motion detection system, and the AP obtains reports from one or more other APs in the motion detection system, including presence information and link quality information for each of the other AP-leaf node links.

[0072] FIG. 11 is a block diagram illustrating an exemplary wireless communication device 1100. As shown in FIG. 11, the exemplary wireless communication device 1100 includes an interface 1130, a processor 1110, a memory 1120, and a power supply unit 1140. For example, any of the wireless communication devices 102A, 102B, and 102C in the exemplary wireless communication system 1100 of FIG. 1 may include the same, additional, or different components, which may be configured to operate as shown in FIG. 1 or in another manner. In some cases, the exemplary wireless communication device may be configured as an access port (AP) or hub in a mesh network comprising 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 housed separately, for example, in separate housings or other assemblies.

[0073] The exemplary interface 1130 can communicate (receive, transmit, or both) wireless signals. For example, the 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, the exemplary interface 1130 can be implemented as a modem. In some implementations, the exemplary interface 1130 includes a radio subsystem and a baseband subsystem. In some cases, the radio subsystem and the baseband subsystem can be implemented on a common chip or chipset, or can be implemented in a card or another type of assembled device. The baseband subsystem can be coupled to the radio subsystem by, for example, leads, pins, wires, or other types of connections.

[0074] In some cases, the radio subsystem in interface 1130 may include one or more antennas and radio frequency circuitry. The radio frequency circuitry may include, for example, circuitry that filters, amplifies, or otherwise conditions analog signals, circuitry that upconverts baseband signals to RF signals, circuitry that downconverts RF signals to baseband signals, etc. Such circuitry may include, for example, filters, amplifiers, mixers, local oscillators, etc. The radio subsystem may be configured to communicate radio frequency radio signals over a wireless communication channel. By way of 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 radio electronics (e.g., RF front end, radio chip, or analog components) from a conventional modem, e.g., a Wi-Fi modem, a pico base station modem, etc. In some implementations, the antenna includes multiple antennas.

[0075] In some cases, the baseband subsystem in interface 1130 may include, for example, digital electronics configured to process digital baseband data. By way of 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 for operating the radio subsystem, communicating wireless network traffic through the radio subsystem, detecting motion based on motion detection signals received through the radio subsystem, or performing other types of processes. For example, the baseband subsystem may include one or more chips, chip sets, or other types of devices configured to encode signals and deliver them to the radio subsystem for transmission, or to identify and analyze data encoded in signals from the radio subsystem (e.g., by decoding the signals according to a wireless communication standard, processing the signals according to a motion detection process, or otherwise).

[0076] In some cases, the example interface 1130 can communicate wireless network traffic (e.g., data packets containing network reports as described in FIG. 3) and other types of signals (e.g., motion probing signals such as sounding signals). In some cases, the interface 1130 generates motion probing signals for transmission, for example, to probe the space and detect motion or lack of motion. In some implementations, the motion probing signals include standard signaling or communication frames that include standard pilot signals used in channel sounding (e.g., channel sounding for beamforming according to the IEEE 802.11ac-2013 standard). In some cases, the motion probing signals include reference signals known to all devices in the network. In some cases, the baseband subsystem can process received signals to, for example, detect connection and disconnection events from leaf nodes, detect presence activity, and detect object movement in the space. For example, interface 1130 can analyze aspects of standard signaling protocols (e.g., channel sounding for beamforming according to the IEEE 802.11ac-2013 standard based on steering matrices or other generating matrices, etc.) to detect changes in the channel as a result of movement in space.

[0077] The exemplary processor 1110 can execute instructions, for example, to generate output data based on data input. The instructions may include code, scripts, modules, or other types of data stored in memory 1120, e.g., database 1140. Additionally or alternatively, the instructions may be encoded as preprogrammed 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, a special-purpose coprocessor, or other 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 memory 1120. In some implementations, the processor 1110 is included within the interface 630.

[0078] The exemplary 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 cases, one or more components of the memory may be integrated with 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, the instructions may include instructions for the exemplary wireless communication device 1100 (e.g., an AP) to obtain presence information for multiple AP-leaf node links over multiple calibration periods. When executed, the instructions may cause the device to determine presence activity for each AP-leaf node link within each calibration period based on the respective presence information, and to identify stationary leaf nodes based on presence activity for multiple AP-leaf node links within a calibration window that includes multiple calibration periods. The instructions can further update the motion detection system to use at least one of the stationary leaf nodes identified by, for example, one or more of the operations described in Figures 3-5 or in the example process 900 described in Figure 9 as a sounding response node for motion detection. In another example, the instructions can include instructions for the example wireless communication device 1100 (e.g., an AP) to identify one or more stationary leaf nodes based on presence activity of each leaf node within a calibration window comprising multiple calibration periods. The instructions can further cause the device to determine a health score for each AP-leaf node link of each stationary leaf node in each calibration window based on the AP-leaf node link quality information, and select one or more of the stationary leaf nodes to use for sounding in the motion detection system based on the health score for each of the AP-leaf node links.The instructions may further cause the device to update the motion detection system to use the selected one or more stationary leaf nodes for motion detection, e.g., by one or more of the operations described in Figures 3-5 or in the example process 1000 described in Figure 10. In some cases, the memory 1120 may include one or more instruction sets or modules including instructions described above, e.g., for identifying stationary leaf nodes 1122, for selecting stationary leaf nodes 1124, and / or for updating new leaf nodes in the motion detection system 1126.

[0079] The exemplary power supply unit 1140 provides power to other components of the wireless communication device 1100. For example, the other components can 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 power source) and converts it into an internal power signal conditioned for the components of the wireless communication device 1100. The power supply unit 1140 can include or operate in a different manner with the other components.

[0080] Some of the subject matter and operations described herein can be implemented in digital electronic circuitry, including the structures disclosed herein and structural equivalents thereof, or in computer software, firmware, or hardware, or a combination of one or more of these. Some of the subject matter described herein can 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 or to control the operation of a data processing apparatus. A computer storage medium can be or be included in a computer-readable storage device, a computer-readable storage substrate, a random-access or serial-access memory array or memory device, or a combination of one or more of these. Furthermore, a computer storage medium is not a propagated signal, but can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. A computer storage medium can also be or be included in one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).

[0081] Some of the operations described herein 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.

[0082] 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, declarative or procedural, and can be deployed in any form including a stand-alone program or modules, components, subroutines, objects, or other units suitable for use in a computing environment. A computer program can, but need not, correspond to a file in a file system. A program can be stored in its own single file or in multiple linked files (e.g., a file storing one or more modules, subprograms, or portions of code), within a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document). A computer program can be deployed to be executed on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.

[0083] Some of the processes and logic flows described herein may be performed by one or more programmable processors that execute one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows may also be performed by or implemented as special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

[0084] Processors suitable for executing a computer program include, by way of example, both general-purpose and special-purpose microprocessors and processors of any kind of digital computer. Typically, a processor will receive instructions and data from a read-only memory or a random-access memory, or both. Elements of a computer can include a processor that performs actions in accordance with the instructions and one or more memory devices for storing instructions and data. A computer can also include one or more mass storage devices, such as magnetic disks, magneto-optical disks, or optical disks, for storing data, or be operatively coupled to receive data from, transfer data to, or both. However, a computer need not have such devices. Furthermore, a computer can be embedded within another device, such as a phone, electronic device, mobile audio or video player, game console, Global Positioning System (GPS) receiver, or portable storage device (e.g., Universal Serial Bus (USB), flash drive). Devices suitable for storing computer program instructions and data include, by way of example, all forms of non-volatile memory, media, and memory devices, including semiconductor memory devices (e.g., EPROM, EEPROM, flash memory devices, and the like), magnetic disks (e.g., internal hard disks, removable disks, and the like), magneto-optical disks, and CD-ROM and DVD-ROM disks. In some cases, the processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0085] To enable interaction with a user, the 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, touch-sensitive screen, or another type of pointing device) for allowing the user to provide input to the computer. Other types of devices may also be used to enable interaction with the user; for example, feedback provided to the user may be in the form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic input, speech input, or tactile input. Additionally, the computer may interact with the user by sending documents to and receiving documents from devices used by the user, for example, by sending web pages to a web browser on the user's client device in response to requests received from the web browser.

[0086] A computer system may include a single computing device or multiple computers operating locally or generally remotely from each other and typically interacting through a communications network. Examples of communications networks include local area networks ("LANs") and wide area networks ("WANs"), interconnected networks (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 by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

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

[0088] In a first example, an access point (AP) obtains presence information for multiple AP-leaf node links over multiple calibration periods. Based on the presence information for each AP-leaf node link, presence activity for each AP-leaf node link within each calibration period is determined. Stationary leaf nodes are identified based on the presence activity for the multiple AP-leaf node links within a calibration window that includes the multiple calibration periods. The motion detection system is updated to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection.

[0089] An implementation of a first example may include one or more of the following features: Identifying a stationary leaf node includes identifying a leaf node having a fixed location. The leaf node is associated with one or more AP-leaf node links. The presence information includes a number of times the AP-leaf node link is valid during a calibration period within the motion detection system. Identifying a stationary leaf node includes determining that the AP-leaf node link is present during a calibration period when presence activity for the AP-leaf node link during the calibration period exceeds a presence threshold, and determining that the AP-leaf node link is stationary when the AP-leaf node link is present for a number of calibration periods equal to the range of the calibration periods. Updating the motion detection system includes selecting one of the identified stationary leaf nodes to add to the motion detection system as a sounding response node and marking a unique local zone associated with the selected stationary leaf node. In some instances, selecting a stationary node includes deriving a link quality score for each stationary AP-leaf node link in the calibration window, prioritizing the stationary AP-leaf node links according to their respective link quality scores, and selecting the stationary leaf node having the stationary AP-leaf node link with the highest link quality score. Starting a stationary leaf node timer after updating a motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for the motion detection system. The AP is a hub for the motion detection system and obtains reports from one or more other APs in the motion detection system, the reports including presence information for each of the other AP-leaf node links.

[0090] In a second example, an access point (AP) of a motion detection system identifies one or more stationary leaf nodes based on the presence activity of each leaf node within a calibration window that includes multiple calibration periods. A health score for each AP-leaf node link of each stationary leaf node in each calibration window is determined based on the AP-leaf node link quality information. One or more of the stationary leaf nodes to be used for sounding in the motion detection system are selected based on the health score for each AP-leaf node link. The motion detection system is updated to use the selected one or more stationary leaf nodes for motion detection.

[0091] An implementation of the second example may include one or more of the following features: Identifying stationary leaf nodes includes identifying leaf nodes having a fixed location; The AP-leaf node link quality information includes one or more of a success rate of sounding operations during a calibration period, a failure rate of sounding operations during a calibration period, an average link received signal strength indicator (RSSI), and a motion detection failure rate; Determining a health score includes assigning a classification to each AP-leaf node link based on the quality information of each AP-leaf node link during each of the multiple calibration periods, assigning each AP-leaf node link a value corresponding to the classification of 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 pass, high noise, or sleeping during each of the multiple calibration periods within the calibration window. The AP link health is acceptable when the success rate of sounding operations during the calibration period exceeds a first threshold and the failure rate of sounding operations during the calibration period is below a second threshold, and is noisy when the success rate of sounding operations during the calibration period is below a third threshold and the failure rate of sounding operations during the calibration period is above a fourth threshold. Selecting a stationary leaf node includes disabling the AP-leaf node link when the AP-leaf node link health score is negative and prioritizing the AP-leaf node link with other AP-leaf node links having positive health scores when the AP-leaf node link health score is positive, and then selecting the stationary leaf node with the highest AP-leaf node link health score for use in sounding by the motion detection system. Updating the motion detection system includes determining that the motion detection system has enabled the addition of a new leaf node, sending a zone creation event for the selected stationary leaf node to a user, and marking the selected leaf node as a unique local zone. Presence information and link quality information for multiple AP-leaf node links over multiple calibration periods is obtained, and calibration events are initiated during calibration windows.The AP is the hub for the motion detection system and receives reports from one or more other APs in the motion detection system containing presence information about each of the other AP-leaf node links.

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

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

[0094] While this specification contains many details, these should not be construed as limiting the scope of what may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features described herein or illustrated in the drawings in the context of separate implementations may also be combined. Conversely, various features that are described or illustrated in the context of a single implementation may also be implemented in multiple embodiments separately or in any suitable subcombination.

[0095] Similarly, while the figures may depict operations in a particular order, this should not be understood as requiring that such operations be performed in the particular order or sequence shown, or that all of the illustrated operations be performed, to achieve desirable results. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the program components and systems described may generally be incorporated into a single product or packaged within multiple products.

[0096] Although several embodiments have been described, it will be understood that various modifications may be made and, therefore, other embodiments are within the scope of the following claims. [Explanation of symbols]

[0097] 500 Example Process for Classifying AP-Leaf Node Links

Claims

1. 1. A method for managing nodes in a motion detection system, comprising: acquiring presence information for a plurality of AP-leaf node links acquired by an access point (AP) of the motion detection system at a plurality of calibration periods; determining presence activity for each AP-to-leaf node link of the plurality of AP-to-leaf node links within each calibration period based on the presence information associated with each AP-to-leaf node link; identifying a stationary leaf node based on the presence activity for the plurality of AP-leaf node links within a calibration window that includes the plurality of calibration periods; updating the motion detection system to use at least one of the stationary leaf nodes identified in the identifying step as a sounding response node for motion detection; Including, updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection, selecting one of the identified stationary leaf nodes for addition to the motion detection system as a sounding response node; marking a unique local zone associated with the stationary leaf node selected in the selecting step and sending a zone creation event to the user device regarding the selected stationary leaf node to create a new zone with the user device; A method comprising:

2. each stationary leaf node among the stationary leaf nodes identified based on the presence activity is associated with two or more of the plurality of AP-to-leaf node links; The method of claim 1.

3. the presence information indicating the number of times an AP-to-leaf node link is active in the motion detection system during the calibration period; The method of claim 1.

4. identifying a stationary leaf node based on the presence activity for the plurality of AP-leaf node links within the calibration window; determining that the AP-leaf node link is present when presence activity for the AP-leaf node link exceeds a presence threshold during the calibration period; determining that the AP-leaf node link is stationary when the AP-leaf node link exists for a number of calibration periods equal to a range value of the calibration period; Including, The range value represents the age of presence activity data for the AP-leaf node link.

4. The method of any one of claims 1, 2 or 3.

5. updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection; marking a unique local zone associated with the selected stationary leaf node; Including, The method of claim 1.

6. selecting one of the identified stationary leaf nodes for addition to the motion detection system as a sounding response node, identifying a stationary AP-to-leaf node link associated with the identified stationary leaf node; deriving a link quality score for each stationary AP-to-leaf node link in the calibration window; prioritizing the stationary AP-to-leaf node links according to their respective link quality scores; selecting the stationary leaf node having the stationary AP-to-leaf node link with the highest link quality score; Including, The method of claim 1.

7. selecting a maximum number of leaf nodes per AP for sounding during a next time interval based on the link quality scores and locations of the identified stationary leaf nodes; The method of claim 1.

8. and starting a stationary leaf node timer after updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node in the motion detection system. The method of claim 1.

9. The AP acts as a hub for the motion detection system, and the AP receives reports from one or more other APs in the motion detection system, the reports including presence information for one or more of the plurality of AP-to-leaf node links. The method of claim 1.

10. In a device, the device comprises: one or more processors; When executed by the one or more processors, the device obtaining presence information for a plurality of AP-leaf node links obtained by an access point (AP) at a plurality of calibration periods; determining presence activity for each AP-to-leaf node link of the plurality of AP-to-leaf node links within each calibration period based on the presence information associated with each AP-to-leaf node link; identifying a stationary leaf node based on the presence activity for the plurality of AP-leaf node links within a calibration window that includes the plurality of calibration periods; updating the motion detection system to use at least one of the stationary leaf nodes identified in said identifying step as a sounding response node for motion detection; a memory containing instructions for performing operations including Equipped with updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection, selecting one of the identified stationary leaf nodes for addition to the motion detection system as a sounding response node; marking a unique local zone associated with the stationary leaf node selected in the selecting step and sending a zone creation event to the user device regarding the selected stationary leaf node to create a new zone with the user device; Including, the device.

11. each stationary leaf node among the stationary leaf nodes identified based on the presence activity is associated with two or more of the plurality of AP-to-leaf node links; The device of claim 10.

12. the presence information indicating the number of times an AP-to-leaf node link is active in the motion detection system during the calibration period; The device of claim 10.

13. identifying a stationary leaf node based on the presence activity for the plurality of AP-leaf node links within the calibration window; determining that the AP-to-leaf node link is present if presence activity for the AP-to-leaf node link exceeds a presence threshold during the calibration period; determining the AP-to-leaf node link if the AP-to-leaf node link exists during each calibration period in the calibration window; Including, 13. A device according to any one of claims 10, 11 or 12.

14. updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection; selecting one of the identified stationary leaf nodes for addition to the motion detection system as a sounding response node; sending a zone creation event to a user device regarding the selected stationary leaf node; marking a unique local zone associated with the selected stationary leaf node; Including, The device of claim 10.

15. selecting one of the identified stationary leaf nodes for addition to the motion detection system as a sounding response node, identifying a stationary AP-to-leaf node link associated with the identified stationary leaf node; deriving a link quality score for each stationary AP-to-leaf node link in the calibration window; prioritizing the stationary AP-to-leaf node links according to their respective link quality scores; selecting the stationary leaf node having the stationary AP-to-leaf node link with the highest link quality score; Including, The device of claim 10.

16. When executed by the processor, the device and further comprising instructions to perform operations including selecting a maximum number of leaf nodes per AP for sounding during a next time interval based on the link quality scores and locations of the identified stationary leaf nodes. The device of claim 10.

17. When executed by the one or more processors, the device and instructions to perform an operation including starting a stationary leaf node timer after updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node in the motion detection system. The device of claim 10.

18. the AP is configured to act as a hub for the motion detection system, the AP obtaining reports from one or more other APs in the motion detection system, the reports including presence information for each of the plurality of AP-to-leaf node links; The device of claim 10.

19. the device includes the AP; The device of claim 10.

20. When executed by a data processing apparatus, the data processing apparatus: obtaining presence information for a plurality of AP-leaf node links obtained over a plurality of calibration periods; determining presence activity for each AP-to-leaf node link of the plurality of AP-to-leaf node links within each calibration period based on the presence information associated with each AP-to-leaf node link; identifying a stationary leaf node based on the presence activity for the plurality of AP-leaf node links within a calibration window that includes the plurality of calibration periods; updating the motion detection system to use at least one of the stationary leaf nodes identified in said identifying step as a sounding response node for motion detection; Including, updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection, selecting one of the identified stationary leaf nodes for addition to the motion detection system as a sounding response node; marking a unique local zone associated with the stationary leaf node selected in the selecting step and sending a zone creation event to the user device regarding the selected stationary leaf node to create a new zone with the user device; A computer-readable medium containing instructions for performing operations including:

21. each stationary leaf node among the stationary leaf nodes identified based on the presence activity is associated with two or more of the plurality of AP-to-leaf node links; 21. The computer-readable medium of claim 20.

22. the presence information indicating the number of times each AP-to-leaf node link is active in the motion detection system during a calibration period; 21. The computer-readable medium of claim 20.

23. identifying a stationary leaf node based on the presence activity for the plurality of AP-leaf node links within the calibration window; determining that the AP-to-leaf node link is present if presence activity for the AP-to-leaf node link exceeds a presence threshold during the calibration period; determining that the AP-leaf node link is stationary if the AP-leaf node link exists for a number of calibration periods equal to a range value of the calibration period; Including, The range value represents the age of presence activity data for the AP-leaf node link.

23. The computer readable medium of any one of claims 20, 21 or 22.

24. updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node for motion detection; marking a unique local zone associated with the selected stationary leaf node; Including, 21. The computer-readable medium of claim 20.

25. selecting one of the identified stationary leaf nodes for addition to the motion detection system as a sounding response node, identifying a stationary AP-to-leaf node link associated with the identified stationary leaf node; deriving a link quality score for each stationary AP-to-leaf node link in the calibration window; prioritizing the stationary AP-to-leaf node links according to their respective link quality scores; selecting the stationary leaf node having the stationary AP-to-leaf node link with the highest link quality score; Including, 21. The computer-readable medium of claim 20.

26. The operation is selecting a maximum number of leaf nodes per access point (AP) for sounding during a next time interval based on link quality scores and locations of the identified stationary leaf nodes; 21. The computer-readable medium of claim 20.

27. The operation is starting a stationary leaf node timer after updating the motion detection system to use at least one of the identified stationary leaf nodes as a sounding response node in the motion detection system.

21. The computer-readable medium of claim 20.

28. an access point (AP) configured to act as a hub for the motion detection system, the AP obtaining reports from one or more other APs in the motion detection system, the reports including presence information for each of the plurality of AP-to-leaf node links; 21. The computer-readable medium of claim 20.

Citation Information

Patent Citations

  • Portable terminal determining moving state on the basis of number of slots in wide area mobile communication system, program for portable terminal, and movement determination method for portable terminal

    JP2009239579A

  • Identifying static leaf nodes in a motion detection system

    US10499364B1

  • Methods for supporting mobile nodes in industrial control and automation systems and other systems and related apparatus

    US20100254345A1

  • Motion detector device

    US20140247179A1

  • Detecting signal modulation for motion detection

    WO2018023191A1