Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHODS AND SYSTEMS FOR SENSING SERVICE DISCOVERY IN A WI-FI SENSING SYSTEM
Document Type and Number:
WIPO Patent Application WO/2023/148594
Kind Code:
A1
Abstract:
A method is described for Wi-Fi sensing. The methos is carried out by a Wi-Fi system including a plurality of networked devices, the plurality of networked devices being configured to implement an algorithm agent, an initiator agent, and a responder agent. Initially, a sensing initiator query is provided by the algorithm agent to the Wi-Fi system. A sensing initiator response in response to the sensing initiator query is provided by the initiator agent. Thereafter, a sensing responder presence query is provided by the initiator agent to the Wi-Fi system. A sensing responder presence response in response to the sensing responder presence query is provided by the responder agent. Then, a sensing responder capability query is provided by the initiator agent to the responder agent. A sensing responder capability response in response to the sensing responder capability query is provided by the responder agent.

Inventors:
BEG CHRIS (CA)
OMER MOHAMMAD (CA)
Application Number:
PCT/IB2023/050746
Publication Date:
August 10, 2023
Filing Date:
January 27, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COGNITIVE SYSTEMS CORP (CA)
International Classes:
H04W8/00; H04L61/4511
Domestic Patent References:
WO2021164769A12021-08-26
WO2021246691A12021-12-09
WO2021168722A12021-09-02
Foreign References:
US20160262078A12016-09-08
Download PDF:
Claims:
CLAIMS

WHAT IS CLAIMED IS:

1. A method for Wi-Fi sensing carried out by a Wi-Fi system including a plurality of networked devices, the plurality of networked devices being configured to implement an algorithm agent, an initiator agent, and a responder agent, the method comprising: providing, by the algorithm agent to the Wi-Fi system, a sensing initiator query; providing, by the initiator agent, a sensing initiator response in response to the sensing initiator query; providing, by the initiator agent to the Wi-Fi system, a sensing responder presence query; providing, by the responder agent, a sensing responder presence response in response to the sensing responder presence query; providing, by the initiator agent to the responder agent, a sensing responder capability query; and providing, by the responder agent, a sensing responder capability response in response to the sensing responder capability query.

2. The method of claim 1, wherein the plurality of networked devices further includes a sensing consuming device configured to implement a sensing consuming agent, the method further comprising: providing, by the sensing consuming agent to the Wi-Fi system, a sensing result query; and providing, by the algorithm agent to the sensing consuming agent, a sensing result response in response to the sensing result query.

3. The method of claim 2, wherein the sensing result response includes an indication of availability of all sensing results available to the algorithm agent.

4. The method of claim 2, wherein the sensing result response includes an indication of availability of sensing results contributed by activities of the sensing consuming device.

5. The method of claim 1, wherein the plurality of networked devices further includes a sensing consuming device, the method further comprising: providing, by the sensing consuming agent to the Wi-Fi system, a query for sensing measurements; and providing, by the initiator agent to the sensing consuming agent, sensing measurements in response to the query for sensing measurements.

6. The method of claim 1, wherein the sensing initiator response includes at least one of: sensing responder information indicating sensing responder devices available to a sensing initiator device instantiating the initiator agent for a sensing measurement campaign, sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign, and sensing measurement campaign information indicating types of sensing measurement campaigns supported by the sensing initiator device instantiating the initiator agent.

7. The method of claim 1, wherein the sensing responder presence query and the sensing responder capability query are transmitted together as a sensing responder discovery request.

8. The method of claim 7, wherein the sensing responder presence response and the sensing responder capability response are transmitted together as a sensing responder discovery response in response to the sensing responder discovery request.

9. The method of claim 1 , wherein the initiator agent is a first initiator agent and the plurality of networked devices are configured to implement a second initiator agent, the method further comprising: providing, by the second initiator agent, a second sensing initiator response in response to the sensing initiator query.

10. The method of claim 1 , wherein the initiator agent is a first initiator agent and the plurality of networked devices are configured to implement a second initiator agent, the method further comprising: receiving, by the second initiator agent, the sensing initiator query; and electing, by the second initiator agent, to not respond to the sensing initiator query.

11. The method of claim 1, wherein the responder agent is a first responder agent and the plurality of networked devices are configured to implement a second responder agent, the method further comprising: receiving, by the second responder agent, the sensing responder presence query; and electing, by the responder agent, to not respond to the sensing responder presence query.

12. The method of claim 1, wherein the plurality of networked devices are configured to implement a plurality of responder agents, the plurality of responder agents including the responder agent, wherein the plurality of responder agents are instantiated by a plurality of sensing responder devices, and wherein the initiator agent determines a classification of each of the plurality of sensing responder devices as associated or unassociated and as active or inactive, based on corresponding sensing responder presence responses.

13. The method of claim 1, wherein one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response comply with a domain name system-service discovery (DNS-SD) standard.

14. The method of claim 1 , wherein the algorithm agent is implemented by a sensing algorithm manager configured to transmit the sensing initiator query.

15. The method of claim 1, wherein the initiator agent is implemented by a sensing initiator device configured to transmit the sensing initiator response, the sensing responder presence query, and the sensing responder capability query.

16. The method of claim 1 , wherein the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response and the sensing responder capability response.

17. The method of claim 1, wherein the algorithm agent and the initiator agent are both implemented by a same sensing initiator device.

18. The method of claim 1, further comprising providing, by the responder agent, a sensing responder capability update.

19. A system for Wi-Fi sensing, comprising: a plurality of networked devices including a respective plurality of processors, the plurality of processors being configured to execute software instructions for: an algorithm agent configured for providing, to the Wi-Fi system, a sensing initiator query; an initiator agent configured for: providing a sensing initiator response in response to the sensing initiator query, providing, to the Wi-Fi system, a sensing responder presence query, and providing, to a responder agent, a sensing responder capability query; and the responder agent configured for: providing a sensing responder presence response in response to the sensing responder presence query, and providing a sensing responder capability response in response to the sensing responder capability query.

20. The system of claim 19, wherein the plurality of networked devices further includes a sensing consuming device configured for: implementing a sensing consuming agent, and providing, to the Wi-Fi system, a sensing result query; and wherein the algorithm agent is further configured for providing, to the sensing consuming agent, a sensing result response in response to the sensing result query. 21. The system of claim 20, wherein the sensing result response includes an indication of availability of all sensing results available to the algorithm agent.

22. The system of claim 20, wherein the sensing result response includes an indication of availability of sensing results contributed by activities of the sensing consuming device.

23. The system of claim 19, wherein the plurality of networked devices further includes a sensing consuming device configured for: implementing a sensing consuming agent, and providing, to the Wi-Fi system, a query for sensing measurements; and wherein the initiator agent is further configured for providing, to the sensing consuming agent, sensing measurements in response to the query for sensing measurements.

24. The system of claim 19, wherein the sensing initiator response includes at least one of: sensing responder information indicating sensing responder devices available to a sensing initiator device instantiating the initiator agent for a sensing measurement campaign, sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign, and sensing measurement campaign information indicating types of sensing measurement campaigns supported by the sensing initiator device instantiating the initiator agent.

25. The system of claim 19, wherein the sensing responder presence query and the sensing responder capability query are transmitted together as a sensing responder discovery request.

26. The system of claim 25, wherein the sensing responder presence response and the sensing responder capability response are transmitted together as a sensing responder discovery response in response to the sensing responder discovery request.

27. The system of claim 19, wherein the initiator agent is a first initiator agent and the plurality of processors are further configured to: implement a second initiator agent configured for providing a second sensing initiator response in response to the sensing initiator query.

28. The system of claim 19, wherein the initiator agent is a first initiator agent and the plurality of processors are further configured to implement a second initiator agent configured for: receiving the sensing initiator query, and electing to not respond to the sensing initiator query.

29. The system of claim 19, wherein the responder agent is a first responder agent and the plurality of processors are further configured to implement a second responder agent configured for: receiving the sensing responder presence query; and electing to not respond to the sensing responder presence query.

30. The system of claim 19, wherein the plurality of processors are configured to implement a plurality of responder agents, the plurality of responder agents including the responder agent, wherein the plurality of responder agents are instantiated by a plurality of sensing responder devices, and wherein the initiator agent determines a classification of each of the plurality of sensing responder devices as associated or unassociated and as active or inactive, based on corresponding sensing responder presence responses.

31. The system of claim 19, wherein one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response comply with a domain name system-service discovery (DNS-SD) standard.

32. The system of claim 19, wherein the algorithm agent is implemented by a sensing algorithm manager configured to transmit the sensing initiator query.

33. The system of claim 19, wherein the initiator agent is implemented by a sensing initiator device configured to transmit the sensing initiator response, the sensing responder presence query, and the sensing responder capability query.

34. The system of claim 19, wherein the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response and the sensing responder capability response.

35. The system of claim 19, wherein the algorithm agent and the initiator agent are both implemented by a same sensing initiator device.

36. The system of claim 19, further comprising providing, by the responder agent, a sensing responder capability update.

Description:
METHODS AND SYSTEMS FOR SENSING SERVICE DISCOVERY IN A WI-FI SENSING SYSTEM

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims benefit of U.S. Provisional Application No. 63/314,679, filed February 28, 2022, and U.S. Provisional Application No. 63/306,222, filed February 3, 2022, the entire contents of which are incorporated by reference herein.

TECHNICAL FIELD

[0002] The present disclosure generally relates to systems and methods for Wi-Fi sensing. In particular, the present disclosure relates to methods and systems for sensing service discovery in a Wi-Fi sensing system.

BACKGROUND OF THE DISCLOSURE

[0003] Motion detection systems have been used to detect movement, for example, of objects in a room or an outdoor area. In some example motion detection systems, infrared or optical sensors are used to detect movement of objects in the sensor’s field of view. Motion detection systems have been used in security systems, automated control systems, and other types of systems. A Wi-Fi sensing system is one recent addition to motion detection systems. The Wi-Fi sensing system may be a network of Wi-Fi-enabled devices that may be a part of an IEEE 802.11 network. In an example, the Wi-Fi sensing system may be configured to detect features of interest in a sensing space. The sensing space may refer to any physical space in which the Wi-Fi sensing system may operate, such as a place of residence, a place of work, a shopping mall, a sports hall or sports stadium, a garden, or any other physical space. The features of interest may include motion of objects and motion tracking, presence detection, intrusion detection, gesture recognition, fall detection, breathing rate detection, and other applications.

[0004] A Wi-Fi sensing system may be made up of a network of Wi-Fi devices acting as access points or stations. The Wi-Fi sensing system is typically overlaid over a Wi-Fi data communications network. Further, within the Wi-Fi sensing system, the Wi-Fi devices may take on the roles of sensing initiator, sensing responder, sensing transmitter, and sensing receiver. The roles of sensing transmitter and sensing receiver may correspond to functionality at the media access control (MAC) and physical (PHY) layers of the network stack whilst the roles of sensing initiator and sensing responder may correspond to functionality above the MAC layer. However, there is no one-to-one mapping of roles of the Wi-Fi devices in the Wi-Fi sensing system to roles of the Wi-Fi devices in the Wi-Fi data communications network. As a result, the Wi-Fi sensing system must be configured prior to any Wi-Fi sensing activity taking place. Whilst it is possible for the Wi-Fi sensing system to be manually configured by a system administrator, however this is a laborious process requiring specialized expertise. Additionally, the Wi-Fi sensing network may not be static since new Wi-Fi devices may be added to the Wi-Fi sensing system, and some Wi-Fi devices may change role. Therefore, configuration of Wi-Fi sensing systems may be a continuous operation and their long term performance may be compromised by relying on the manual process of configuration and the availability of a system administrator having specialized expertise.

BRIEF SUMMARY OF THE DISCLOSURE

[0005] The present disclosure generally relates to systems and methods for Wi-Fi sensing. In particular, the present disclosure relates to methods and systems for sensing service discovery in a Wi-Fi sensing system.

[0006] Systems and methods are provided for Wi-Fi sensing. In an example embodiment, a method for Wi-Fi sensing is described. The method is carried out by a Wi-Fi system including a plurality of networked devices, the plurality of networked devices being configured to implement an algorithm agent, an initiator agent, and a responder agent. The method includes providing, by the algorithm agent to the Wi-Fi system, a sensing initiator query, providing, by the initiator agent, a sensing initiator response in response to the sensing initiator query, providing, by the initiator agent to the Wi-Fi system, a sensing responder presence query, providing, by the responder agent, a sensing responder presence response in response to the sensing responder presence query, providing, by the initiator agent to the responder agent, a sensing responder capability query, and providing, by the responder agent, a sensing responder capability response in response to the sensing responder capability query.

[0007] In some embodiments, the plurality of networked devices further includes a sensing consuming device configured to implement a sensing consuming agent. [0008] In some embodiments, the method includes providing, by the sensing consuming agent to the Wi-Fi system, a sensing result query and providing, by the algorithm agent to the sensing consuming agent, a sensing result response in response to the sensing result query.

[0009] In some embodiments, the sensing result response may include an indication of availability of all sensing results available to the algorithm agent.

[0010] In some embodiments, the sensing result response includes an indication of availability of sensing results contributed by activities of the sensing consuming device.

[0011] In some embodiments, the plurality of networked devices further includes a sensing consuming device.

[0012] In some embodiments, the method includes providing, by the sensing consuming agent to the Wi-Fi system, a query for sensing measurements and providing, by the initiator agent to the sensing consuming agent, sensing measurements in response to the query for sensing measurements.

[0013] In some embodiments, the sensing initiator response includes at least one of sensing responder information indicating sensing responder devices available to a sensing initiator device instantiating the initiator agent for a sensing measurement campaign, sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign, and sensing measurement campaign information indicating types of sensing measurement campaigns supported by the sensing initiator device instantiating the initiator agent.

[0014] In some embodiments, the sensing responder presence query and the sensing responder capability query are transmitted together as a sensing responder discovery request.

[0015] In some embodiments, the sensing responder presence response and the sensing responder capability response are transmitted together as a sensing responder discovery response in response to the sensing responder discovery request.

[0016] In some embodiments, the initiator agent is a first initiator agent and the plurality of networked devices are configured to implement a second initiator agent.

[0017] In some embodiments, the method includes providing, by the second initiator agent, a second sensing initiator response in response to the sensing initiator query.

[0018] In some embodiments, the initiator agent is a first initiator agent and the plurality of networked devices are configured to implement a second initiator agent. [0019] In some embodiments, the method includes receiving, by the second initiator agent, the sensing initiator query and electing, by the second initiator agent, to not respond to the sensing initiator query.

[0020] In some embodiments, the responder agent is a first responder agent and the plurality of networked devices are configured to implement a second responder agent.

[0021] In some embodiments, the method includes receiving, by the second responder agent, the sensing responder presence query and electing, by the responder agent, to not respond to the sensing responder presence query.

[0022] In some embodiments, the plurality of networked devices are configured to implement a plurality of responder agents, the plurality of responder agents including the responder agent, wherein the plurality of responder agents are instantiated by a plurality of sensing responder devices, and wherein the initiator agent determines a classification of each of the plurality of sensing responder devices as associated or unassociated and as active or inactive, based on corresponding sensing responder presence responses.

[0023] In some embodiments, the one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response comply with a domain name system-service discovery (DNS-SD) standard.

[0024] In some embodiments, the algorithm agent is implemented by a sensing algorithm manager configured to transmit the sensing initiator query.

[0025] In some embodiments, the initiator agent is implemented by a sensing initiator device configured to transmit the sensing initiator response, the sensing responder presence query, and the sensing responder capability query.

[0026] In some embodiments, the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response and the sensing responder capability response.

[0027] In some embodiments, the algorithm agent and the initiator agent are both implemented by a same sensing initiator device.

[0028] In some embodiments, the method includes providing, by the responder agent, a sensing responder capability update. [0029] Other aspects and advantages of the disclosure will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate by way of example, the principles of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

[0030] The foregoing and other objects, aspects, features, and advantages of the disclosure will become more apparent and better understood by referring to the following description taken in conjunction with the accompanying drawings, in which:

[0031] FIG. 1 is a diagram showing an example wireless communication system.

[0032] FIG. 2A and FIG. 2B are diagrams showing example wireless signals communicated between wireless communication devices.

[0033] FIG. 3A and FIG. 3B are plots showing examples of channel responses computed from the wireless signals communicated between wireless communication devices in FIG. 2A and FIG. 2B.

[0034] FIG. 4 A and FIG. 4B are diagrams showing example channel responses associated with motion of an object in distinct regions of a space.

[0035] FIG. 4C and FIG. 4D are plots showing the example channel responses of FIG. 4A and FIG. 4B overlaid on an example channel response associated with no motion occurring in the space.

[0036] FIG. 5 depicts an implementation of some of an architecture of an implementation of a Wi-Fi system for Wi-Fi sensing, according to some embodiments;

[0037] FIG. 6 depicts an example Wi-Fi system, according to some embodiments;

[0038] FIG. 7 depicts a series of transactions that facilitates in discovery of sensing initiator devices in the Wi-Fi system, according to some embodiments;

[0039] FIG. 8 depicts a series of transactions that facilitates in discovery of sensing responder devices in the Wi-Fi system, according to some embodiments;

[0040] FIG. 9 depicts a series of transactions that facilitates in discovery of sensing results in the Wi-Fi system, according to some embodiments;

[0041] FIG. 10 depicts a series of transactions that facilitates in discovery of sensing measurements in the Wi-Fi system, according to some embodiments; [0042] FIG. 11 depicts an example of update of capabilities of a sensing responder device in the Wi-Fi system, according to some embodiments;

[0043] FIG. 12 depicts a series of transactions that facilitates in discovery of sensing initiator devices in the Wi-Fi system based on a domain name system-service discovery (DNS-SD) standard, according to some embodiments;

[0044] FIG. 13 depicts a series of transactions that facilitates in discovery of sensing responder devices in the Wi-Fi system based on the DNS-SD standard, according to some embodiments;

[0045] FIG. 14 depicts a series of transactions that facilitates in discovery of sensing results in the Wi-Fi system based on the DNS-SD standard, according to some embodiments;

[0046] FIG. 15 depicts a series of transactions that facilitates in discovery of sensing measurements in the Wi-Fi system based on the DNS-SD standard, according to some embodiments;

[0047] FIG. 16 depicts an example of update of capabilities of a sensing responder device in the Wi-Fi system based on the DNS-SD standard, according to some embodiments;

[0048] FIG. 17 depicts a flowchart for providing, by a responder agent, a sensing responder capability response in response to a sensing responder capability query, according to some embodiments;

[0049] FIG. 18A and FIG. 18B depict a flowchart for providing, by an algorithm agent, a sensing result response in response to a sensing result query, according to some embodiments;

[0050] FIG. 19 A and FIG. 19B depict a flowchart for providing, by an initiator agent, sensing measurements in response to a query for sensing measurements to a sensing consuming agent, according to some embodiments;

[0051] FIG. 20A and FIG. 20B depict a flowchart for providing, by a responder agent, a sensing responder capability response in response to a first sensing responder capability query, according to some embodiments; and

[0052] FIG. 21 A and FIG. 21B depict a flowchart for electing, by a second responder agent, to not respond to a sensing responder discovery request, according to some embodiments.

DETAILED DESCRIPTION

[0053] In some aspects of what is described herein, a wireless sensing system may be used for a variety of wireless sensing applications by processing wireless signals (e.g., radio frequency (RF) signals) transmited through a space between wireless communication devices. Example wireless sensing applications include motion detection, which can include the following: detecting motion of objects in the space, motion tracking, breathing detection, breathing monitoring, presence detection, gesture detection, gesture recognition, human detection (moving and stationary human detection), human tracking, fall detection, speed estimation, intrusion detection, walking detection, step counting, respiration rate detection, apnea estimation, posture change detection, activity recognition, gait rate classification, gesture decoding, sign language recognition, hand tracking, heart rate estimation, breathing rate estimation, room occupancy detection, human dynamics monitoring, and other types of motion detection applications. Other examples of wireless sensing applications include object recognition, speaking recognition, keystroke detection and recognition, tamper detection, touch detection, attack detection, user authentication, driver fatigue detection, traffic monitoring, smoking detection, school violence detection, human counting, human recognition, bike localization, human queue estimation, Wi-Fi imaging, and other types of wireless sensing applications. For instance, the wireless sensing system may operate as a motion detection system to detect the existence and location of motion based on Wi-Fi signals or other types of wireless signals. As described in more detail below, a wireless sensing system may be configured to control measurement rates, wireless connections, and device participation, for example, to improve system operation or to achieve other technical advantages. The system improvements and technical advantages achieved when the wireless sensing system is used for motion detection are also achieved in examples where the wireless sensing system is used for another type of wireless sensing application.

[0054] In some example wireless sensing systems, a wireless signal includes a component (e.g., a synchronization preamble in a Wi-Fi PHY frame, or another type of component) that wireless devices can use to estimate a channel response or other channel information, and the wireless sensing system can detect motion (or another characteristic depending on the wireless sensing application) by analyzing changes in the channel information collected over time. In some examples, a wireless sensing system can operate similar to a bistatic radar system, where a Wi-Fi access point (AP) assumes the receiver role, and each Wi-Fi device (station (STA), node, or peer) connected to the AP assumes the transmitter role. The wireless sensing system may trigger a connected device to generate a transmission and produce a channel response measurement at a receiver device. This triggering process can be repeated periodically to obtain a sequence of time variant measurements. A wireless sensing algorithm may then receive the generated time-series of channel response measurements (e.g., computed by Wi-Fi receivers) as input, and through a correlation or filtering process, may then make a determination (e.g., determine if there is motion or no motion within the environment represented by the channel response, for example, based on changes or patterns in the channel estimations). In examples where the wireless sensing system detects motion, it may also be possible to identify a location of the motion within the environment based on motion detection results among a number of wireless devices.

[0055] Accordingly, wireless signals received at each of the wireless communication devices in a wireless communication network may be analyzed to determine channel information for the various communication links (between respective pairs of wireless communication devices) in the network. The channel information may be representative of a physical medium that applies a transfer function to wireless signals that traverse a space. In some instances, the channel information includes a channel response. Channel responses can characterize a physical communication path, representing the combined effect of, for example, scattering, fading, and power decay within the space between the transmitter and receiver. In some instances, the channel information includes beamforming state information (e.g., a feedback matrix, a steering matrix, channel state information, etc.) provided by a beamforming system. Beamforming is a signal processing technique often used in multi antenna (multiple-input/multiple-output (MIMO)) radio systems for directional signal transmission or reception. Beamforming can be achieved by operating elements in an antenna array in such a way that signals at some angles experience constructive interference while others experience destructive interference.

[0056] The channel information for each of the communication links may be analyzed (e.g., by a hub device or other device in a wireless communication network, or a sensing transmitter, sensing receiver, or sensing initiator communi cably coupled to the network) to, for example, detect whether motion has occurred in the space, to determine a relative location of the detected motion, or both. In some aspects, the channel information for each of the communication links may be analyzed to detect whether an object is present or absent, e.g., when no motion is detected in the space.

[0057] In some cases, a wireless sensing system can control a node measurement rate. For instance, a Wi-Fi motion system may configure variable measurement rates (e.g., channel estimation/ environment measurement/ sampling rates) based on criteria given by a current wireless sensing application (e.g., motion detection). In some implementations, when no motion is present or detected for a period of time, for example, the wireless sensing system can reduce the rate that the environment is measured, such that the connected device will be triggered or caused to make sensing transmissions or sensing measurements less frequently. In some implementations, when motion is present, for example, the wireless sensing system can increase the triggering rate or sensing transmission rate or sensing measurement rate to produce a time-series of measurements with finer time resolution. Controlling the variable sensing measurement rate can allow energy conservation (through the device triggering), reduce processing (less data to correlate or filter), and improve resolution during specified times.

[0058] In some cases, a wireless sensing system can perform band steering or client steering of nodes throughout a wireless network, for example, in a Wi-Fi multi-AP or extended service set (ESS) topology, multiple coordinating wireless APs each provide a basic service set (BSS) which may occupy different frequency bands and allow devices to transparently move between from one participating AP to another (e.g., mesh). For instance, within a home mesh network, Wi-Fi devices can connect to any of the APs, but typically select one with good signal strength. The coverage footprint of the mesh APs typically overlap, often putting each device within communication range or more than one AP. If the AP supports multi-bands (e.g., 2.4 GHz and 5 GHz), the wireless sensing system may keep a device connected to the same physical AP but instruct it to use a different frequency band to obtain more diverse information to help improve the accuracy or results of the wireless sensing algorithm (e.g., motion detection algorithm). In some implementations, the wireless sensing system can change a device from being connected to one mesh AP to being connected to another mesh AP. Such device steering can be performed, for example, during wireless sensing (e.g., motion detection), based on criteria detected in a specific area to improve detection coverage, or to better localize motion within an area.

[0059] In some cases, beamforming may be performed between wireless communication devices based on some knowledge of the communication channel (e.g., through feedback properties generated by a receiver), which can be used to generate one or more steering properties (e.g., a steering matrix) that are applied by a transmitter device to shape the transmitted beam/signal in a particular direction or directions. Thus, changes to the steering or feedback properties used in the beamforming process indicate changes, which may be caused by moving objects, in the space accessed by the wireless communication system. For example, a motion may be detected by substantial changes in the communication channel, e.g., as indicated by a channel response, or steering or feedback properties, or any combination thereof, over a period of time.

[0060] In some implementations, for example, a steering matrix may be generated at a transmitter device (beamformer) based on a feedback matrix provided by a receiver device (beamformee) based on channel sounding. Because the steering and feedback matrices are related to propagation characteristics of the channel, these matrices change as objects move within the channel. Changes in the channel characteristics are accordingly reflected in these matrices, and by analyzing the matrices, motion can be detected, and different characteristics of the detected motion can be determined. In some implementations, a spatial map may be generated based on one or more beamforming matrices. The spatial map may indicate a general direction of an object in a space relative to a wireless communication device. In some cases, many beamforming matrices (e.g., feedback matrices or steering matrices) may be generated to represent a multitude of directions that an object may be located relative to a wireless communication device. These many beamforming matrices may be used to generate the spatial map. The spatial map may be used to detect the presence of motion in the space or to detect a location of the detected motion.

[0061] In some instances, a motion detection system can control a variable device measurement rate in a motion detection process. For example, a feedback control system for a multi-node wireless motion detection system may adaptively change the sample rate based on the environment conditions. In some cases, such controls can improve operation of the motion detection system or provide other technical advantages. For example, the measurement rate may be controlled in a manner that optimizes or otherwise improves air-time usage versus detection ability suitable for a wide range of different environments and different motion detection applications. The measurement rate may be controlled in a manner that reduces redundant measurement data to be processed, thereby reducing processor load/power requirements. In some cases, the measurement rate is controlled in a manner that is adaptive, for instance, an adaptive sample can be controlled individually for each participating device. An adaptive sample rate can be used with a tuning control loop for different use cases, or device characteristics.

[0062] In some cases, a wireless sensing system can allow devices to dynamically indicate and communicate their wireless sensing capability or wireless sensing willingness to the wireless sensing system. For example, there may be times when a device does not want to be periodically interrupted or triggered to transmit a wireless signal that would allow the AP to produce a channel measurement. For instance, if a device is sleeping, frequently waking the device up to transmit or receive wireless sensing signals could consume resources (e.g., causing a cell phone battery to discharge faster). These and other events could make a device willing or not willing to participate in wireless sensing system operations. In some cases, a cell phone running on its battery may not want to participate, but when the cell phone is plugged into the charger, it may be willing to participate. Accordingly, if the cell phone is unplugged, it may indicate to the wireless sensing system to exclude the cell phone from participating; whereas if the cell phone is plugged in, it may indicate to the wireless sensing system to include the cell phone in wireless sensing system operations. In some cases, if a device is under load (e.g., a device streaming audio or video) or busy performing a primary function, the device may not want to participate; whereas when the same device's load is reduced and participating will not interfere with a primary function, the device may indicate to the wireless sensing system that it is willing to participate.

[0063] Example wireless sensing systems are described below in the context of motion detection (detecting motion of objects in the space, motion tracking, breathing detection, breathing monitoring, presence detection, gesture detection, gesture recognition, human detection (moving and stationary human detection), human tracking, fall detection, speed estimation, intrusion detection, walking detection, step counting, respiration rate detection, apnea estimation, posture change detection, activity recognition, gait rate classification, gesture decoding, sign language recognition, hand tracking, heart rate estimation, breathing rate estimation, room occupancy detection, human dynamics monitoring, and other types of motion detection applications). However, the operation, system improvements, and technical advantages achieved when the wireless sensing system is operating as a motion detection system are also applicable in examples where the wireless sensing system is used for another type of wireless sensing application.

[0064] In various embodiments of the disclosure, non-limiting definitions of one or more terms that will be used in the document are provided below.

[0065] A term “initiator agent” may refer to an agent running on a sensing initiator that may be responsible for actions supporting sensing service discovery. In an example, the initiator agent may respond to service discovery queries or make service discovery requests.

[0066] A term “responder agent” may refer to an agent running on a sensing responder that may be responsible for actions supporting sensing service discovery. In an example, the responder agent may respond to service discovery queries or make service discovery requests. [0067] A term “algorithm agent” may refer to an agent running on a sensing algorithm manager that may be responsible for actions supporting sensing service discovery. In an example, the algorithm agent may respond to service discovery queries or make service discovery requests. [0068] A term “sensing consuming agent” may refer to an agent running on a sensing consuming device that may be is responsible for actions supporting sensing service discovery. In an example, the sensing consuming agent may respond to service discovery queries or make service discovery requests.

[0069] A term “sensing responder” may refer to a device that participates in a Wi-fi sensing session. The role of sensing responder may be taken on by a sensing receiver or a sensing transmitter.

[0070] A term “sensing initiator” may refer to a device that initiates a Wi-Fi sensing session. The role of sensing initiator may be taken on by a sensing receiver or a sensing transmitter.

[0071] A term “sensing algorithm manager” may refer to a device within a Wi-Fi sensing system that hosts a sensing algorithm.

[0072] A term “sensing measurement campaign” may refer to one or more sensing measurements resulting from one or more Wi-Fi sensing sessions that generally achieve a sensing result.

[0073] A term “sensing result” may refer to a processed result combining sensing measurements from a sensing measurement campaign.

[0074] A term “sensing consuming device” may refer to a device that requires and receives a sensing result. In an example, the sensing consuming device may be a part of the Wi-Fi sensing system. In some examples, the sensing consuming device may be a separate device (i.e., may not be a part of the Wi-Fi sensing system.

[0075] A term “sensing space” may refer to a physical space in which a Wi-Fi sensing system may operate.

[0076] A term “system administrator” may refer to an individual or a team who oversees a Wi-Fi sensing system and manages sensing elements on devices connected in a network.

[0077] A term “Wi-Fi sensing session” may refer to a period during which objects in a physical space may be probed, detected and/or characterized. In an example, during a Wi-Fi sensing session, several devices participate in, and thereby contribute to the generation of sensing measurements. A Wi-Fi sensing session may also be referred to as a WLAN sensing session or simply a sensing session.

[0078] For purposes of reading the description of the various embodiments below, the following descriptions of the sections of the specifications and their respective contents may be helpful:

[0079] Section A describes a wireless communications system, wireless transmissions and sensing measurements which may be useful for practicing embodiments described herein.

[0080] Section B describes systems and methods that are useful for a Wi-Fi sensing system configured to send sensing transmissions and make sensing measurements.

[0081] Section C describes embodiments of methods and systems for sensing service discovery in a Wi-Fi sensing system.

A. Wireless communications system, wireless transmissions, and sensing measurements [0082] FIG. 1 illustrates wireless communication system 100. Wireless communication system 100 includes three wireless communication devices: first wireless communication device 102A, second wireless communication device 102B, and third wireless communication device 102C. Wireless communication system 100 may include additional wireless communication devices and other components (e.g., additional wireless communication devices, one or more network servers, network routers, network switches, cables, or other communication links, etc.). [0083] Wireless communication devices 102A, 102B, 102C can operate in a wireless network, for example, according to a wireless network standard or another type of wireless communication protocol. For example, the wireless network may be configured to operate as a wireless local area network (WLAN), a personal area network (PAN), a metropolitan area network (MAN), or another type of wireless network. Examples of WLANs include networks configured to operate according to one or more of the 802.11 family of standards developed by IEEE (e.g., Wi-Fi networks), and others. Examples of PANs include networks that operate according to short-range communication standards (e.g., Bluetooth®., Near Field Communication (NFC), ZigBee), millimeter wave communications, and others.

[0084] In some implementations, wireless communication devices 102A, 102B, 102C may be configured to communicate in a cellular network, for example, according to a cellular network standard. Examples of cellular networks include networks configured according to 2G standards such as Global System for Mobile (GSM) and Enhanced Data rates for GSM Evolution (EDGE) or EGPRS; 3G standards such as code division multiple access (CDMA), wideband code division multiple access (WCDMA), Universal Mobile Telecommunications System (UMTS), and time division synchronous code division multiple access (TD-SCDMA); 4G standards such as Long- Term Evolution (LTE) and LIE- Advanced (LTE-A); 5G standards, and others.

[0085] In the example shown in FIG. 1, wireless communication devices 102A, 102B, 102C can be, or they may include standard wireless network components. For example, wireless communication devices 102A, 102B, 102C may be commercially-available Wi-Fi APs or another type of wireless access point (WAP) performing one or more operations as described herein that are embedded as instructions (e.g., software or firmware) on the modem of the WAP. In some cases, wireless communication devices 102A, 102B, 102C may be nodes of a wireless mesh network, such as, for example, a commercially-available mesh network system (e.g., Plume WiFi, Google Wi-Fi, Qualcomm Wi-Fi SoN, etc.). In some cases, another type of standard or conventional Wi-Fi transmitter device may be used. In some instances, one or more of wireless communication devices 102A, 102B, 102C may be implemented as WAPs in a mesh network, while other wireless communication device(s) 102A, 102B, 102C are implemented as leaf devices (e.g., mobile devices, smart devices, etc.) that access the mesh network through one of the WAPs. In some cases, one or more of wireless communication devices 102A, 102B, 102C is a mobile device (e.g., a smartphone, a smart watch, a tablet, a laptop computer, etc.), a wireless-enabled device (e.g., a smart thermostat, a Wi-Fi enabled camera, a smart TV), or another type of device that communicates in a wireless network.

[0086] Wireless communication devices 102A, 102B, 102C may be implemented without WiFi components; for example, other types of standard or non-standard wireless communication may be used for motion detection. In some cases, wireless communication devices 102A, 102B, 102C can be, or they may be part of, a dedicated motion detection system. For example, the dedicated motion detection system can include a hub device and one or more beacon devices (as remote sensor devices), and wireless communication devices 102A, 102B, 102C can be either a hub device or a beacon device in the motion detection system.

[0087] As shown in FIG. 1, wireless communication device 102C includes modem 112, processor 114, memory 116, and power unit 118; any of wireless communication devices 102A, 102B, 102C in wireless communication system 100 may include the same, additional or different components, and the components may be configured to operate as shown in FIG. 1 or in another manner. In some implementations, modem 112, processor 114, memory 116, and power unit 118 of a wireless communication device are housed together in a common housing or other assembly. In some implementations, one or more of the components of a wireless communication device can be housed separately, for example, in a separate housing or other assembly.

[0088] Modem 112 can communicate (receive, transmit, or both) wireless signals. For example, modem 112 may be configured to communicate RF signals formatted according to a wireless communication standard (e.g., Wi-Fi or Bluetooth). Modem 112 may be implemented as the example wireless network modem 112 shown in FIG. 1, or may be implemented in another manner, for example, with other types of components or subsystems. In some implementations, modem 112 includes a radio subsystem and a baseband subsystem. In some cases, the baseband subsystem and radio subsystem can be implemented on a common chip or chipset, or they may be implemented in a card or another type of assembled device. The baseband subsystem can be coupled to the radio subsystem, for example, by leads, pins, wires, or other types of connections. [0089] In some cases, a radio subsystem in modem 112 can include one or more antennas and RF circuitry. The RF circuitry can include, for example, circuitry that filters, amplifies, or otherwise conditions analog signals, circuitry that up-converts baseband signals to RF signals, circuitry that down-converts RF signals to baseband signals, etc. Such circuitry may include, for example, filters, amplifiers, mixers, a local oscillator, etc. The radio subsystem can be configured to communicate radio frequency wireless signals on the wireless communication channels. As an example, the radio subsystem may include a radio chip, an RF front end, and one or more antennas. A radio subsystem may include additional or different components. In some implementations, the radio subsystem can be or include the radio electronics (e.g., RF front end, radio chip, or analogous components) from a conventional modem, for example, from a Wi-Fi modem, pico base station modem, etc. In some implementations, the antenna includes multiple antennas.

[0090] In some cases, a baseband subsystem in modem 112 can include, for example, digital electronics configured to process digital baseband data. As an example, the baseband subsystem may include a baseband chip. A baseband subsystem may include additional or different components. In some cases, the baseband subsystem may include a digital signal processor (DSP) device or another type of processor device. In some cases, the baseband system includes digital processing logic to operate the radio subsystem, to communicate wireless network traffic through the radio subsystem, to detect motion based on motion detection signals received through the radio subsystem or to perform other types of processes. For instance, the baseband subsystem may include one or more chips, chipsets, or other types of devices that are configured to encode signals and deliver the encoded signals 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, by processing the signals according to a motion detection process, or otherwise).

[0091] In some instances, the radio subsystem in modem 112 receives baseband signals from the baseband subsystem, up-converts the baseband signals to RF signals, and wirelessly transmits the RF signals (e.g., through an antenna). In some instances, the radio subsystem in modem 112 wirelessly receives RF signals (e.g., through an antenna), down-converts the RF to baseband signals, and sends the baseband signals to the baseband subsystem. The signals exchanged between the radio subsystem and the baseband subsystem may be digital or analog signals. In some examples, the baseband subsystem includes conversion circuitry (e.g., a digital -to-analog converter, an analog-to-digital converter) and exchanges analog signals with the radio subsystem. In some examples, the radio subsystem includes conversion circuitry (e.g., a digital -to-analog converter, an analog-to-digital converter) and exchanges digital signals with the baseband subsystem.

[0092] In some cases, the baseband subsystem of modem 112 can communicate wireless network traffic (e.g., data packets) in the wireless communication network through the radio subsystem on one or more network traffic channels. The baseband subsystem of modem 112 may also transmit or receive (or both) signals (e.g., motion probe signals or motion detection signals) through the radio subsystem on a dedicated wireless communication channel. In some instances, the baseband subsystem generates motion probe signals for transmission, for example, to probe a space for motion. In some instances, the baseband subsystem processes received motion detection signals (signals based on motion probe signals transmitted through the space), for example, to detect motion of an object in a space.

[0093] Processor 114 can execute instructions, for example, to generate output data based on data inputs. The instructions can include programs, codes, scripts, or other types of data stored in memory. Additionally, or alternatively, the instructions can be encoded as pre-programmed or reprogrammable logic circuits, logic gates, or other types of hardware or firmware components. Processor 114 may be or include a general-purpose microprocessor, as a specialized co-processor or another type of data processing apparatus. In some cases, processor 114 performs high level operation of the wireless communication device 102C. For example, processor 114 may be configured to execute or interpret software, scripts, programs, functions, executables, or other instructions stored in memory 116. In some implementations, processor 114 may be included in modem 112.

[0094] Memory 116 can include computer- readable storage media, for example, a volatile memory device, a non-volatile memory device, or both. Memory 116 can include one or more read-only memory devices, random-access memory devices, buffer memory devices, or a combination of these and other types of memory devices. In some instances, one or more components of the memory can be integrated or otherwise associated with another component of wireless communication device 102C. Memory 116 may store instructions that are executable by processor 114. For example, the instructions may include instructions for time-aligning signals using an interference buffer and a motion detection buffer, such as through one or more of the operations of the example processes of FIG. 17, FIG. 18 A, FIG. 18B, FIG. 19A, FIG. 19B, FIG. 20A, FIG. 20B, FIG. 21 A, and FIG. 21B. Power unit 118 provides power to the other components of wireless communication device 102C. For example, the other components may operate based on electrical power provided by power unit 118 through a voltage bus or other connection. In some implementations, power unit 118 includes a battery or a battery system, for example, a rechargeable battery. In some implementations, power unit 118 includes an adapter (e.g., an alternating current (AC) adapter) that receives an external power signal (from an external source) and coverts the external power signal to an internal power signal conditioned for a component of wireless communication device 102C. Power unit 118 may include other components or operate in another manner.

[0095] In the example shown in FIG. 1 , wireless communication devices 102A, 102B transmit wireless signals (e.g., according to a wireless network standard, a motion detection protocol, or otherwise). For instance, wireless communication devices 102A, 102B may broadcast wireless motion probe signals (e.g., reference signals, beacon signals, status signals, etc.), or they may send wireless signals addressed to other devices (e.g., a user equipment, a client device, a server, etc.), and the other devices (not shown) as well as wireless communication device 102C may receive the wireless signals transmitted by wireless communication devices 102A, 102B. In some cases, the wireless signals transmitted by wireless communication devices 102A, 102B are repeated periodically, for example, according to a wireless communication standard or otherwise.

[0096] In the example shown, wireless communication device 102C processes the wireless signals from wireless communication devices 102A, 102B to detect motion of an object in a space accessed by the wireless signals, to determine a location of the detected motion, or both. For example, wireless communication device 102C may perform one or more operations of the example processes described below with respect to FIG. 17, FIG. 18 A, FIG. 18B, FIG. 19A, FIG. 19B, FIG. 20A, FIG. 20B, FIG. 21 A, and FIG. 21B, or another type of process for detecting motion or determining a location of detected motion. The space accessed by the wireless signals can be an indoor or outdoor space, which may include, for example, one or more fully or partially enclosed areas, an open area without enclosure, etc. The space can be or can include an interior of a room, multiple rooms, a building, or the like. In some cases, the wireless communication system 100 can be modified, for instance, such that wireless communication device 102C can transmit wireless signals and wireless communication devices 102A, 102B can processes the wireless signals from wireless communication device 102C to detect motion or determine a location of detected motion. [0097] The wireless signals used for motion detection can include, for example, a beacon signal (e.g., Bluetooth Beacons, Wi-Fi Beacons, other wireless beacon signals), another standard signal generated for other purposes according to a wireless network standard, or non-standard signals (e.g., random signals, reference signals, etc.) generated for motion detection or other purposes. In examples, motion detection may be carried out by analyzing one or more training fields carried by the wireless signals or by analyzing other data carried by the signal. In some examples data will be added for the express purpose of motion detection or the data used will nominally be for another purpose and reused or repurposed for motion detection. In some examples, the wireless signals propagate through an object (e.g., a wall) before or after interacting with a moving object, which may allow the moving object's movement to be detected without an optical line-of-sight between the moving object and the transmission or receiving hardware. Based on the received signals, wireless communication device 102C may generate motion detection data. In some instances, wireless communication device 102C may communicate the motion detection data to another device or system, such as a security system, which may include a control center for monitoring movement within a space, such as a room, building, outdoor area, etc. [0098] In some implementations, wireless communication devices 102A, 102B can be modified to transmit motion probe signals (which may include, e.g., a reference signal, beacon signal, or another signal used to probe a space for motion) on a separate wireless communication channel (e.g., a frequency channel or coded channel) from wireless network traffic signals. For example, the modulation applied to the payload of a motion probe signal and the type of data or data structure in the payload may be known by wireless communication device 102C, which may reduce the amount of processing that wireless communication device 102C performs for motion sensing. The header may include additional information such as, for example, an indication of whether motion was detected by another device in communication system 100, an indication of the modulation type, an identification of the device transmitting the signal, etc.

[0099] In the example shown in FIG. 1, wireless communication system 100 is a wireless mesh network, with wireless communication links between each of wireless communication devices 102. In the example shown, the wireless communication link between wireless communication device 102C and wireless communication device 102A can be used to probe motion detection field 110A, the wireless communication link between wireless communication device 102C and wireless communication device 102B can be used to probe motion detection field HOB, and the wireless communication link between wireless communication device 102A and wireless communication device 102B can be used to probe motion detection field 110C. In some instances, each wireless communication device 102 detects motion in motion detection fields 110 accessed by that device by processing received signals that are based on wireless signals transmitted by wireless communication devices 102 through motion detection fields 110. For example, when person 106 shown in FIG. 1 moves in motion detection field 110A and motion detection field 110C, wireless communication devices 102 may detect the motion based on signals they received that are based on wireless signals transmitted through respective motion detection fields 110. For instance, wireless communication device 102A can detect motion of person 106 in motion detection fields 110A, HOC, wireless communication device 102B can detect motion of person 106 in motion detection field HOC, and wireless communication device 102C can detect motion of person 106 in motion detection field 110A.

[0100] In some instances, motion detection fields 110 can include, for example, air, solid materials, liquids, or another medium through which wireless electromagnetic signals may propagate. In the example shown in FIG. 1, motion detection field 110A provides a wireless communication channel between wireless communication device 102A and wireless communication device 102C, motion detection field HOB provides a wireless communication channel between wireless communication device 102B and wireless communication device 102C, and motion detection field HOC provides a wireless communication channel between wireless communication device 102A and wireless communication device 102B. In some aspects of operation, wireless signals transmitted on a wireless communication channel (separate from or shared with the wireless communication channel for network traffic) are used to detect movement of an object in a space. The objects can be any type of static or moveable object and can be living or inanimate. For example, the object can be a human (e.g., person 106 shown in FIG. 1), an animal, an inorganic object, or another device, apparatus, or assembly, an object that defines all or part of the boundary of a space (e.g., a wall, door, window, etc.), or another type of object. In some implementations, motion information from the wireless communication devices may be analyzed to determine a location of the detected motion. For example, as described further below, one of wireless communication devices 102 (or another device communicably coupled to wireless communications devices 102) may determine that the detected motion is nearby a particular wireless communication device.

[0101] FIG. 2A and FIG. 2B are diagrams showing example wireless signals communicated between wireless communication devices 204A, 204B, 204C. Wireless communication devices 204 A, 204B, 204C can be, for example, wireless communication devices 102A, 102B, 102C shown in FIG. 1, or other types of wireless communication devices. Wireless communication devices 204A, 204B, 204C transmit wireless signals through space 200. Space 200 can be completely or partially enclosed or open at one or more boundaries. In an example, space 200 may be a sensing space. Space 200 can be or can include an interior of a room, multiple rooms, a building, an indoor area, outdoor area, or the like. First wall 202A, second wall 202B, and third wall 202C at least partially enclose space 200 in the example shown.

[0102] In the example shown in FIG. 2A and FIG. 2B, wireless communication device 204A is operable to transmit wireless signals repeatedly (e.g., periodically, intermittently, at scheduled, unscheduled or random intervals, etc.). Wireless communication devices 204B, 204C are operable to receive signals based on those transmitted by wireless communication device 204A. Wireless communication devices 204B, 204C each have a modem (e.g., modem 112 shown in FIG. 1) that is configured to process received signals to detect motion of an object in space 200. [0103] As shown, an object is in first position 214A in FIG. 2A, and the object has moved to second position 214B in FIG. 2B. In FIG. 2A and FIG. 2B, the moving object in space 200 is represented as a human, but the moving object can be another type of object. For example, the moving object can be an animal, an inorganic object (e.g., a system, device, apparatus, or assembly), an object that defines all or part of the boundary of space 200 (e.g., a wall, door, window, etc.), or another type of object.

[0104] As shown in FIG. 2A and FIG. 2B, multiple example paths of the wireless signals transmitted from wireless communication device 204A are illustrated by dashed lines. Along first signal path 216, the wireless signal is transmitted from wireless communication device 204A and reflected off first wall 202A toward the wireless communication device 204B. Along second signal path 218, the wireless signal is transmitted from the wireless communication device 204A and reflected off second wall 202B and first wall 202A toward wireless communication device 204C. Along third signal path 220, the wireless signal is transmitted from the wireless communication device 204A and reflected off second wall 202B toward wireless communication device 204C. Along fourth signal path 222, the wireless signal is transmitted from the wireless communication device 204A and reflected off third wall 202C toward the wireless communication device 204B.

[0105] In FIG. 2A, along fifth signal path 224A, the wireless signal is transmitted from wireless communication device 204A and reflected off the object at first position 214A toward wireless communication device 204C. Between FIG. 2A and FIG. 2B, a surface of the object moves from first position 214A to second position 214B in space 200 (e.g., some distance away from first position 214A). In FIG. 2B, along sixth signal path 224B, the wireless signal is transmitted from wireless communication device 204 A and reflected off the object at second position 214B toward wireless communication device 204C. Sixth signal path 224B depicted in FIG. 2B is longer than fifth signal path 224A depicted in FIG. 2A due to the movement of the object from first position 214A to second position 214B. In some examples, a signal path can be added, removed, or otherwise modified due to movement of an object in a space.

[0106] The example wireless signals shown in FIG. 2A and FIG. 2B may experience attenuation, frequency shifts, phase shifts, or other effects through their respective paths and may have portions that propagate in another direction, for example, through the first, second and third walls 202A, 202B, and 202C. In some examples, the wireless signals are radio frequency (RF) signals. The wireless signals may include other types of signals. [0107] In the example shown in FIG. 2A and FIG. 2B, wireless communication device 204A can repeatedly transmit a wireless signal. In particular, FIG. 2A shows the wireless signal being transmitted from wireless communication device 204A at a first time, and FIG. 2B shows the same wireless signal being transmitted from wireless communication device 204A at a second, later time. The transmitted signal can be transmitted continuously, periodically, at random or intermittent times or the like, or a combination thereof. The transmitted signal can have a number of frequency components in a frequency bandwidth. The transmitted signal can be transmitted from wireless communication device 204A in an omnidirectional manner, in a directional manner or otherwise. In the example shown, the wireless signals traverse multiple respective paths in space 200, and the signal along each path may become attenuated due to path losses, scattering, reflection, or the like and may have a phase or frequency offset.

[0108] As shown in FIG. 2A and FIG. 2B, the signals from first to sixth paths 216, 218, 220, 222, 224A, and 224B combine at wireless communication device 204C and wireless communication device 204B to form received signals. Because of the effects of the multiple paths in space 200 on the transmitted signal, space 200 may be represented as a transfer function (e.g., a filter) in which the transmitted signal is input and the received signal is output. When an object moves in space 200, the attenuation or phase offset affected upon a signal in a signal path can change, and hence, the transfer function of space 200 can change. Assuming the same wireless signal is transmitted from wireless communication device 204A, if the transfer function of space 200 changes, the output of that transfer function - the received signal - will also change. A change in the received signal can be used to detect movement of an object.

[0109] Mathematically, a transmitted signal /(t) transmitted from the first wireless communication device 204A may be described according to Equation (1):

[0110] Where represents the frequency of wth frequency component of the transmitted signal, c n represents the complex coefficient of the wth frequency component, and t represents time. With the /(t) being transmitted from the first wireless communication device 204A, an output signal r k t) from a path, k, may be described according to Equation (2):

[0111] Where a n k represents an attenuation factor (or channel response; e.g., due to scattering, reflection, and path losses) for the wth frequency component along k, and (/) n k represents the phase of the signal for wth frequency component along k. Then, the received signal, R, at a wireless communication device can be described as the summation of all output signals r k (t) from all paths to the wireless communication device, which is shown in Equation (3):

R = S fe k (t) .... (3)

[0112] Substituting Equation (2) into Equation (3) renders the following Equation (4):

[0113] R at a wireless communication device can then be analyzed. R at a wireless communication device can be transformed to the frequency domain, for example, using a fast Fourier transform (FFT) or another type of algorithm. The transformed signal can represent R as a series of n complex values, one for each of the respective frequency components (at the n frequencies m n ). For a frequency component at frequency a> n , a complex value, H n , may be represented as follows in Equation (5):

H n = .k C n a n ,ke J<l,n ' k .... (5)

[0114] H n for a given indicates a relative magnitude and phase offset of the received signal at a> n . When an object moves in the space, H n changes due to a n k of the space changing. Accordingly, a change detected in the channel response can be indicative of movement of an object within the communication channel. In some instances, noise, interference, or other phenomena can influence the channel response detected by the receiver, and the motion detection system can reduce or isolate such influences to improve the accuracy and quality of motion detection capabilities. In some implementations, the overall channel response can be represented as follows in Equation (6):

[0115] In some instances, the channel response, h ch , for a space can be determined, for example, based on the mathematical theory of estimation. For instance, a reference signal, R e , can be modified with candidate h ch , and then a maximum likelihood approach can be used to select the candidate channel which gives best match to the received signal (R C vd In some cases, an estimated received signal (R C vd) is obtained from the convolution of R e f with the candidate h ch , and then the channel coefficients of h ch are varied to minimize the squared error of R C vd- This can be mathematically illustrated as follows in Equation (7): [0116] with the optimization criterion

[0117] The minimizing, or optimizing, process can utilize an adaptive filtering technique, such as least mean squares (LMS), recursive least squares (RLS), batch least squares (BLS), etc. The channel response can be a finite impulse response (FIR) filter, infinite impulse response (IIR) filter, or the like. As shown in the equation above, the received signal can be considered as a convolution of the reference signal and the channel response. The convolution operation means that the channel coefficients possess a degree of correlation with each of the delayed replicas of the reference signal. The convolution operation as shown in the equation above, therefore shows that the received signal appears at different delay points, each delayed replica being weighted by the channel coefficient.

[0118] FIG. 3A and FIG. 3B are plots showing examples of channel responses 360, 370 computed from the wireless signals communicated between wireless communication devices 204A, 204B, 204C in FIG. 2A and FIG. 2B. FIG. 3A and FIG. 3B also show frequency domain representation 350 of an initial wireless signal transmitted by wireless communication device 204 A. In the examples shown, channel response 360 in FIG. 3 A represents the signals received by wireless communication device 204B when there is no motion in space 200, and channel response 370 in FIG. 3B represents the signals received by wireless communication device 204B in FIG. 2B after the object has moved in space 200.

[0119] In the example shown in FIG. 3 A and FIG. 3B, for illustration purposes, wireless communication device 204A transmits a signal that has a flat frequency profile (the magnitude of each frequency component, f , f 2 and f 3 is the same), as shown in frequency domain representation 350. Because of the interaction of the signal with space 200 (and the objects therein), the signals received at wireless communication device 204B that are based on the signal sent from wireless communication device 204A are different from the transmitted signal. In this example, where the transmitted signal has a flat frequency profile, the received signal represents the channel response of space 200. As shown in FIG. 3A and FIG. 3B, channel responses 360, 370 are different from frequency domain representation 350 of the transmitted signal. When motion occurs in space 200, a variation in the channel response will also occur. For example, as shown in FIG. 3B, channel response 370 that is associated with motion of object in space 200 varies from channel response 360 that is associated with no motion in space 200. [0120] Furthermore, as an object moves within space 200, the channel response may vary from channel response 370. In some cases, space 200 can be divided into distinct regions and the channel responses associated with each region may share one or more characteristics (e.g., shape), as described below. Thus, motion of an object within different distinct regions can be distinguished, and the location of detected motion can be determined based on an analysis of channel responses.

[0121] FIG. 4 A and FIG. 4B are diagrams showing example channel responses 401, 403 associated with motion of object 406 in distinct regions 408, 412 of space 400. In the examples shown, space 400 is a building, and space 400 is divided into a plurality of distinct regions -first region 408, second region 410, third region 412, fourth region 414, and fifth region 416. Space 400 may include additional or fewer regions, in some instances. As shown in FIG. 4A and FIG. 4B, the regions within space 400 may be defined by walls between rooms. In addition, the regions may be defined by ceilings between floors of a building. For example, space 400 may include additional floors with additional rooms. In addition, in some instances, the plurality of regions of a space can be or include a number of floors in a multistory building, a number of rooms in the building, or a number of rooms on a particular floor of the building. In the example shown in FIG. 4A, an object located in first region 408 is represented as person 406, but the moving object can be another type of object, such as an animal or an inorganic object.

[0122] In the example shown, wireless communication device 402A is located in fourth region 414 of space 400, wireless communication device 402B is located in second region 410 of space 400, and wireless communication device 402C is located in fifth region 416 of space 400. Wireless communication devices 402 can operate in the same or similar manner as wireless communication devices 102 of FIG. 1. For instance, wireless communication devices 402 may be configured to transmit and receive wireless signals and detect whether motion has occurred in space 400 based on the received signals. As an example, wireless communication devices 402 may periodically or repeatedly transmit motion probe signals through space 400, and receive signals based on the motion probe signals. Wireless communication devices 402 can analyze the received signals to detect whether an object has moved in space 400, such as, for example, by analyzing channel responses associated with space 400 based on the received signals. In addition, in some implementations, wireless communication devices 402 can analyze the received signals to identify a location of detected motion within space 400. For example, wireless communication devices 402 can analyze characteristics of the channel response to determine whether the channel responses share the same or similar characteristics to channel responses known to be associated with first to fifth regions 408, 410, 412, 414, 416 of space 400.

[0123] In the examples shown, one (or more) of wireless communication devices 402 repeatedly transmits a motion probe signal (e.g., a reference signal) through space 400. The motion probe signals may have a flat frequency profile in some instances, wherein the magnitude of f , f 2 and f 3 is the same or nearly the same. For example, the motion probe signals may have a frequency response similar to frequency domain representation 350 shown in FIG. 3A and FIG. 3B. The motion probe signals may have a different frequency profile in some instances. Because of the interaction of the reference signal with space 400 (and the objects therein), the signals received at another wireless communication device 402 that are based on the motion probe signal transmitted from the other wireless communication device 402 are different from the transmitted reference signal.

[0124] Based on the received signals, wireless communication devices 402 can determine a channel response for space 400. When motion occurs in distinct regions within the space, distinct characteristics may be seen in the channel responses. For example, while the channel responses may differ slightly for motion within the same region of space 400, the channel responses associated with motion in distinct regions may generally share the same shape or other characteristics. For instance, channel response 401 of FIG. 4A represents an example channel response associated with motion of object 406 in first region 408 of space 400, while channel response 403 of FIG. 4B represents an example channel response associated with motion of object 406 in third region 412 of space 400. Channel responses 401, 403 are associated with signals received by the same wireless communication device 402 in space 400.

[0125] FIG. 4C and FIG. 4D are plots showing channel responses 401, 403 of FIG. 4A and FIG. 4B overlaid on channel response 460 associated with no motion occurring in space 400. In the example shown, wireless communication device 402 transmits a motion probe signal that has a flat frequency profile as shown in frequency domain representation 450. When motion occurs in space 400, a variation in the channel response will occur relative to channel response 460 associated with no motion, and thus, motion of an object in space 400 can be detected by analyzing variations in the channel responses. In addition, a relative location of the detected motion within space 400 can be identified. For example, the shape of channel responses associated with motion can be compared with reference information (e.g., using a trained artificial intelligence (Al) model) to categorize the motion as having occurred within a distinct region of space 400.

[0126] When there is no motion in space 400 (e.g., when object 406 is not present), wireless communication device 402 may compute channel response 460 associated with no motion. Slight variations may occur in the channel response due to a number of factors; however, multiple channel responses 460 associated with different periods of time may share one or more characteristics. In the example shown, channel response 460 associated with no motion has a decreasing frequency profile (the magnitude of each of f , f 2 and f 3 is less than the previous). The profile of channel response 460 may differ in some instances (e.g., based on different room layouts or placement of wireless communication devices 402).

[0127] When motion occurs in space 400, a variation in the channel response will occur. For instance, in the examples shown in FIG. 4C and FIG. 4D, channel response 401 associated with motion of object 406 in first region 408 differs from channel response 460 associated with no motion and channel response 403 associated with motion of object 406 in third region 412 differs from channel response 460 associated with no motion. Channel response 401 has a concaveparabolic frequency profile (the magnitude of the middle frequency component, f 2 , is less than the outer frequency components fl and f3), while channel response 403 has a convex-asymptotic frequency profile (the magnitude of the middle frequency component f2 is greater than the outer frequency components, and f 3 ). The profiles of channel responses 401, 403 may differ in some instances (e.g., based on different room layouts or placement of the wireless communication devices 402).

[0128] Analyzing channel responses may be considered similar to analyzing a digital filter. A channel response may be formed through the reflections of objects in a space as well as reflections created by a moving or static human. When a reflector (e.g., a human) moves, it changes the channel response. This may translate to a change in equivalent taps of a digital filter, which can be thought of as having poles and zeros (poles amplify the frequency components of a channel response and appear as peaks or high points in the response, while zeros attenuate the frequency components of a channel response and appear as troughs, low points or nulls in the response). A changing digital filter can be characterized by the locations of its peaks and troughs, and a channel response may be characterized similarly by its peaks and troughs. For example, in some implementations, analyzing nulls and peaks in the frequency components of a channel response (e.g., by marking their location on the frequency axis and their magnitude), motion can be detected. [0129] In some implementations, a time series aggregation can be used to detect motion. A time series aggregation may be performed by observing the features of a channel response over a moving window and aggregating the windowed result by using statistical measures (e.g., mean, variance, principal components, etc.). During instances of motion, the characteristic digital-filter features would be displaced in location and flip-flop between some values due to the continuous change in the scattering scene. That is, an equivalent digital filter exhibits a range of values for its peaks and nulls (due to the motion). By looking this range of values, unique profiles (in examples profiles may also be referred to as signatures) may be identified for distinct regions within a space. [0130] In some implementations, an Al model may be used to process data. Al models may be of a variety of types, for example linear regression models, logistic regression models, linear discriminant analysis models, decision tree models, naive bayes models, ^-nearest neighbors models, learning vector quantization models, support vector machines, bagging and random forest models, and deep neural networks. In general, all Al models aim to learn a function which provides the most precise correlation between input values and output values and are trained using historic sets of inputs and outputs that are known to be correlated. In examples, artificial intelligence may also be referred to as machine learning.

[0131] In some implementations, the profiles of the channel responses associated with motion in distinct regions of space 400 can be learned. For example, machine learning may be used to categorize channel response characteristics with motion of an object within distinct regions of a space. In some cases, a user associated with wireless communication devices 402 (e.g., an owner or other occupier of space 400) can assist with the learning process. For instance, referring to the examples shown in FIG. 4A and FIG. 4B, the user can move in each of first to fifth regions 408, 410, 412, 414, 416 during a learning phase and may indicate (e.g., through a user interface on a mobile computing device) that he/she is moving in one of the particular regions in space 400. For example, while the user is moving through first region 408 (e.g., as shown in FIG. 4A) the user may indicate on a mobile computing device that he/she is in first region 408 (and may name the region as “bedroom”, “living room”, “kitchen”, or another type of room of a building, as appropriate). Channel responses may be obtained as the user moves through the region, and the channel responses may be “tagged” with the user's indicated location (region). The user may repeat the same process for the other regions of space 400. The term “tagged” as used herein may refer to marking and identifying channel responses with the user's indicated location or any other information.

[0132] The tagged channel responses can then be processed (e.g., by machine learning software) to identify unique characteristics of the channel responses associated with motion in the distinct regions. Once identified, the identified unique characteristics may be used to determine a location of detected motion for newly computed channel responses. For example, an Al model may be trained using the tagged channel responses, and once trained, newly computed channel responses can be input to the Al model, and the Al model can output a location of the detected motion. For example, in some cases, mean, range, and absolute values are input to an Al model. In some instances, magnitude and phase of the complex channel response itself may be input as well. These values allow the Al model to design arbitrary front-end filters to pick up the features that are most relevant to making accurate predictions with respect to motion in distinct regions of a space. In some implementations, the Al model is trained by performing a stochastic gradient descent. For instance, channel response variations that are most active during a certain zone may be monitored during the training, and the specific channel variations may be weighted heavily (by training and adapting the weights in the first layer to correlate with those shapes, trends, etc.). The weighted channel variations may be used to create a metric that activates when a user is present in a certain region.

[0133] For extracted features like channel response nulls and peaks, a time-series (of the nulls/peaks) may be created using an aggregation within a moving window, taking a snapshot of few features in the past and present, and using that aggregated value as input to the network. Thus, the network, while adapting its weights, will be trying to aggregate values in a certain region to cluster them, which can be done by creating a logistic classifier based decision surfaces. The decision surfaces divide different clusters and subsequent layers can form categories based on a single cluster or a combination of clusters.

[0134] In some implementations, an Al model includes two or more layers of inference. The first layer acts as a logistic classifier which can divide different concentration of values into separate clusters, while the second layer combines some of these clusters together to create a category for a distinct region. Additional, subsequent layers can help in extending the distinct regions over more than two categories of clusters. For example, a fully-connected Al model may include an input layer corresponding to the number of features tracked, a middle layer corresponding to the number of effective clusters (through iterating between choices), and a final layer corresponding to different regions. Where complete channel response information is input to the Al model, the first layer may act as a shape filter that can correlate certain shapes. Thus, the first layer may lock to a certain shape, the second layer may generate a measure of variation happening in those shapes, and third and subsequent layers may create a combination of those variations and map them to different regions within the space. The output of different layers may then be combined through a fusing layer.

B. Wi-Fi sensing system example methods and apparatus

[0135] Section B describes systems and methods that are useful for a wireless sensing system configured to send sensing transmissions and make sensing measurements.

[0136] FIG. 5 depicts an implementation of some of an architecture of an implementation of Wi-Fi system 500 for Wi-Fi sensing, according to some embodiments.

[0137] Wi-Fi system 500 (also referred to as Wi-Fi sensing system 500) may include a plurality of networked devices. In an implementation, the plurality of networked devices may be required to determine the presence and the capability of other devices in Wi-Fi system 500 in order to support Wi-Fi sensing. The plurality of networked devices include plurality of sensing algorithm managers 502-(l-L), plurality of sensing initiator devices 504-(l-M), plurality of sensing responder devices 506-(l-N), sensing consuming device 508, and network 560 enabling communication between the system components for information exchange. Wi-Fi system 500 may be an example or instance of wireless communication system 100, and network 560 may be an example or instance of wireless network or cellular network, details of which are provided with reference to FIG. 1 and its accompanying description. In an implementation, plurality of sensing algorithm managers 502-(l-L) may include at least first sensing algorithm manager 502-1 and second sensing algorithm manager 502-2. In an implementation, plurality of sensing initiator devices 504-(l-M) may include at least first sensing initiator device 504-1 and second sensing initiator device 504-2. Similarly, plurality of sensing responder devices 506-(l-N) may include at least first sensing responder device 506-1 and second sensing responder device 506-2.

[0138] According to an embodiment, first sensing algorithm manager 502-1 may be a device that hosts a sensing algorithm. In an embodiment, first sensing algorithm manager 502-1 may be a station. In some embodiments, first sensing algorithm manager 502-1 may be an AP. According to an implementation, first sensing algorithm manager 502-1 may be implemented by a device, such as wireless communication device 102 shown in FIG. 1. In some implementations, first sensing algorithm manager 502-1 may be implemented by a device, such as wireless communication device 204 shown in FIG. 2A and FIG. 2B. Further, first sensing algorithm manager 502-1 may be implemented by a device, such as wireless communication device 402 shown in FIG. 4A and FIG. 4B. In some embodiments, first sensing algorithm manager 502-1 may be any computing device, such as a desktop computer, a laptop, a tablet computer, a mobile device, a personal digital assistant (PDA) or any other computing device.

[0139] According to an embodiment, first sensing initiator device 504-1 may be a device that organizes sensing topology and collects (or creates) sensing measurements. In an implementation, first sensing initiator device 504-1 may implement a sensing algorithm or a sensing application in the layer(s) above the media access control (MAC)/physical (PHY) layer that may provide a criteria for first sensing initiator device 504-1 to form the sensing topology. In an embodiment, first sensing initiator device 504-1 may be a station. In some embodiments, first sensing initiator device 504-1 may be an AP. According to an implementation, first sensing initiator device 504-1 may be implemented by a device, such as wireless communication device 102 shown in FIG. 1. In some implementations, first sensing initiator device 504-1 may be implemented by a device, such as wireless communication device 204 shown in FIG. 2A and FIG. 2B. Further, first sensing initiator device 504-1 may be implemented by a device, such as wireless communication device 402 shown in FIG. 4A and FIG. 4B. In some embodiments, first sensing initiator device 504-1 may be any computing device, such as a desktop computer, a laptop, a tablet computer, a mobile device, a PDA, or any other computing device.

[0140] According to an embodiment, first sensing responder device 506-1 may be a device that participates by either taking sensing measurements, or participating in the process of sensing measurements. In an implementation, first sensing responder device 506-1 may implement a sensing application in the layer(s) above the MAC/PHY layer that may execute functions to support Wi-Fi sensing. In an embodiment, first sensing responder device 506-1 may be a station. In some embodiments, first sensing responder device 506-1 may be an AP. According to an implementation, first sensing responder device 506-1 may be implemented by a device, such as wireless communication device 102 shown in FIG. 1. In some implementations, first sensing responder device 506-1 may be implemented by a device, such as wireless communication device 204 shown in FIG. 2A and FIG. 2B. Further, first sensing responder device 506-1 may be implemented by a device, such as wireless communication device 402 shown in FIG. 4A and FIG. 4B. In some embodiments, first sensing responder device 506-1 may be any computing device, such as a desktop computer, a laptop, a tablet computer, a mobile device, a PDA or any other computing device.

[0141] According to an embodiment, sensing consuming device 508 may be a device that receives a sensing result or is interested in receiving a sensing result. In an embodiment, sensing consuming device 508 may be a station. In some embodiments, sensing consuming device 508 may be an AP. In an implementation, sensing consuming device 508 may additionally function as a sensing initiator or a sensing responder. According to an implementation, sensing consuming device 508 may be implemented by a device, such as wireless communication device 102 shown in FIG. 1. In some implementations, sensing consuming device 508 may be implemented by a device, such as wireless communication device 204 shown in FIG. 2A and FIG. 2B. Further, sensing consuming device 508 may be implemented by a device, such as wireless communication device 402 shown in FIG. 4A and FIG. 4B. In some embodiments, sensing consuming device 508 may be any computing device, such as a desktop computer, a laptop, a tablet computer, a mobile device, a PDA or any other computing device.

[0142] Referring to FIG. 5, in more detail, first sensing algorithm manager 502-1 may include first processor 510-1 and first memory 512-1. For example, first processor 510-1 and first memory 512-1 of first sensing algorithm manager 502-1 may be processor 114 and memory 116, respectively, as shown in FIG. 1. In an embodiment, first sensing algorithm manager 502-1 may further include first transmitting antenna 514-1, first receiving antenna 516-1, and first algorithm agent 518-1. In an implementation, first algorithm agent 518-1 may discover what resources are available for participation a sensing measurement campaign. Upon discovery of the available resources, first algorithm agent 518-1 may be enabled to construct an optimized sensing network topology given the requirements of Wi-Fi system 500. In an implementation, first algorithm agent 518-1 may be responsible to determine sensing results that are required of Wi-Fi system 500 and to identify sensing initiators which may be able to provide the sensing measurements required to deliver the sensing results. In some implementations, first algorithm agent 518-1 may also determine sensing results that may be generated and available to various devices in Wi-Fi system 500. [0143] In some embodiments, an antenna may be used to both transmit and receive in a halfduplex format. When the antenna is transmitting, it may be referred to as first transmitting antenna 514-1, and when the antenna is receiving, it may be referred to as first receiving antenna 516-1. It is understood by a person of normal skill in the art that the same antenna may be first transmitting antenna 514-1 in some instances and first receiving antenna 516-1 in other instances. In the case of an antenna array, one or more antenna elements may be used to transmit or receive a signal, for example, in a beamforming environment. In some examples, a group of antenna elements used to transmit a composite signal may be referred to as first transmitting antenna 514-1, and a group of antenna elements used to receive a composite signal may be referred to as first receiving antenna 516-1. In some examples, each antenna is equipped with its own transmission and receive paths, which may be alternately switched to connect to the antenna depending on whether the antenna is operating as first transmitting antenna 514-1 or first receiving antenna 516-1.

[0144] For ease of explanation and understanding, the description provided above is with reference to first sensing algorithm manager 502-1, however, the description is equally applicable to remaining sensing algorithm managers 502-(2-L).

[0145] In an implementation, first sensing initiator device 504-1 may include first processor 520-1 and first memory 522-1. For example, first processor 520-1 and first memory 522-1 of first sensing initiator device 504-1 may be processor 114 and memory 116, respectively, as shown in FIG. 1. In an embodiment, first sensing initiator device 504-1 may further include first transmitting antenna 524-1, first receiving antenna 526-1, and first initiator agent 528-1. In an implementation, first initiator agent 528-1 may be configured to discover potential sensing responders which may be used to build or form an optimized sensing network. In an example, sensing network formation may be an optimized coordination of available resources to work together to realize a sensing application. Sensing network formation may be performed by a sensing algorithm with the support of one or more sensing initiator devices. According to an implementation, a function of first initiator agent 528-1 may be to facilitate device discovery, and ultimately aid in building the network of sensing responders (sensing topology) based on the requirements of Wi-Fi system 500. [0146] According to an embodiment, first initiator agent 528-1 may implement and/or support the following capabilities. In an implementation, first initiator agent 528-1 may declare that its host device (i.e., first sensing initiator device 504-1) is capable of being a sensing initiator. In some implementations, first initiator agent 528-1 may declare sensing responder devices with which the first sensing initiator device 504-1 may start a sensing session or may engage in a sensing measurement campaign. In some implementations, first initiator agent 528-1 may declare the type of sensing measurement campaign that first sensing initiator device 504-1 may support. In some implementations, first initiator agent 528-1 may discover one or more sensing responder devices with which first sensing initiator device 504-1 may initiate a sensing session and details of the one or more sensing responder devices (e.g., whether the one or more sensing responder devices are associated with first sensing initiator device 504-1 or actively generate sensing measurements with first sensing initiator device 504-1). In some implementations, first initiator agent 528-1 may discover capabilities of one or more sensing responder devices with which first sensing initiator device 504-1 may initiate a sensing session. In an example, first initiator agent 528-1 may request a report of capabilities of the one or more sensing responder devices.

[0147] In some embodiments, an antenna may be used to both transmit and receive in a halfduplex format. When the antenna is transmitting, it may be referred to as first transmitting antenna 524-1, and when the antenna is receiving, it may be referred to as first receiving antenna 526-1. It is understood by a person of normal skill in the art that the same antenna may be first transmitting antenna 524-1 in some instances and first receiving antenna 526-1 in other instances. In the case of an antenna array, one or more antenna elements may be used to transmit or receive a signal, for example, in a beamforming environment. In some examples, a group of antenna elements used to transmit a composite signal may be referred to as first transmitting antenna 524-1, and a group of antenna elements used to receive a composite signal may be referred to as first receiving antenna 526-1. In some examples, each antenna is equipped with its own transmission and receive paths, which may be alternately switched to connect to the antenna depending on whether the antenna is operating as first transmitting antenna 524-1 or first receiving antenna 526-1.

[0148] For ease of explanation and understanding, the description provided above is with reference to first sensing initiator device 504-1, however, the description is equally applicable to remaining sensing initiator device 504-(2-M).

[0149] Referring again to FIG. 5, in an implementation, first sensing responder device 506-1 may include first processor 530-1 and first memory 532-1. For example, first processor 530-1 and first memory 532-1 of first sensing responder device 506-1 may be processor 114 and memory 116, respectively, as shown in FIG. 1. In an embodiment, first sensing responder device 506-1 may further include first transmitting antenna 534-1, first receiving antenna 536-1, and first responder agent 538-1. According to an embodiment, first responder agent 538-1 may be responsible for reporting its presence in Wi-Fi system 500. In an implementation, a function of first responder agent 538-1 may be to allow it to be discovered by first initiator agent 528-1, and provide relevant information which can be used by first initiator agent 528-1 to build the network of sensing responders.

[0150] In some embodiments, an antenna may be used to both transmit and receive in a halfduplex format. When the antenna is transmitting, it may be referred to as first transmitting antenna 534-1, and when the antenna is receiving, it may be referred to as first receiving antenna 536-1. It is understood by a person of normal skill in the art that the same antenna may be first transmitting antenna 534-1 in some instances and first receiving antenna 536-1 in other instances. In the case of an antenna array, one or more antenna elements may be used to transmit or receive a signal, for example, in a beamforming environment. In some examples, a group of antenna elements used to transmit a composite signal may be referred to as first transmitting antenna 534-1, and a group of antenna elements used to receive a composite signal may be referred to as first receiving antenna 536-1. In some examples, each antenna is equipped with its own transmission and receive paths, which may be alternately switched to connect to the antenna depending on whether the antenna is operating as first transmitting antenna 534-1 or first receiving antenna 536-1.

[0151] For ease of explanation and understanding, the description provided above is with reference to first sensing responder device 506-1, however, the description is equally applicable to remaining sensing responder devices 506-(2-N).

[0152] In an implementation, sensing consuming device 508 may include processor 540 and memory 542. For example, processor 540 and memory 542 of sensing consuming device 508 may be processor 114 and memory 116, respectively, as shown in FIG. 1. In an embodiment, first sensing consuming device 508 may further include transmitting antenna 544, receiving antenna 546, and sensing consuming agent 548. According to an embodiment, sensing consuming agent 548 may be responsible for discovering the availability of sensing results from network 560. In an implementation, sensing consuming agent 548 may be configured to receive information related to the results of a sensing measurement campaign. In an example, such results may include the detection of a person entering a sensing space, movement within the sensing space, or any other sensing result. [0153] In some embodiments, an antenna may be used to both transmit and receive in a halfduplex format. When the antenna is transmitting, it may be referred to as transmitting antenna 544, and when the antenna is receiving, it may be referred to as receiving antenna 546. It is understood by a person of normal skill in the art that the same antenna may be transmitting antenna 544 in some instances and first receiving antenna 546 in other instances. In the case of an antenna array, one or more antenna elements may be used to transmit or receive a signal, for example, in a beamforming environment. In some examples, a group of antenna elements used to transmit a composite signal may be referred to as transmitting antenna 544, and a group of antenna elements used to receive a composite signal may be referred to as receiving antenna 546. In some examples, each antenna is equipped with its own transmission and receive paths, which may be alternately switched to connect to the antenna depending on whether the antenna is operating as transmitting antenna 544 or receiving antenna 546.

[0154] Although sensing consuming device 508 is shown in FIG. 5 to be a part of Wi-Fi system 500, in some embodiments, sensing consuming device 508 may be a separate device and may not be a part of Wi-Fi system 500.

C. Methods and systems for sensing service discovery in a Wi-Fi sensing system [0155] The present disclosure generally relates to systems and methods for Wi-Fi sensing. In particular, the present disclosure relates to methods and systems for sensing service discovery in a Wi-Fi sensing system.

[0156] The present disclosure describes a solution for automatic and self-contained sensing service discovery in the Wi-Fi sensing system. Wi-Fi devices in the Wi-Fi sensing system may determine the presence and capability of other devices in the same Wi-Fi sensing system in order to support Wi-Fi sensing.

[0157] In an implementation, for the Wi-Fi sensing system to operate effectively, it must operate in a wide range of different environments, and with devices and Wi-Fi devices which may be located throughout the environment. To operate effectively, automated configuration is beneficial as well as an ability to allow a user (such as a system administrator) to tweak and customize the operation. In an example, a common task required of the user configuration of the Wi-Fi sensing system and sensing application is a definition of a subset of Wi-Fi devices in the Wi-Fi sensing system which should be used for Wi-Fi sensing. In an example, a list of available Wi-Fi devices may be presented to the user, along with any additional higher layer information (such as device name, location, hostname, etc.) to aid in completing the configuration.

[0158] According to an implementation, the Wi-Fi sensing system may include any number of sensing initiators and sensing responders. In an example, a sensing initiator and a sensing responder may join in a sensing session. The Wi-Fi sensing system may be required to generate a sensing result. The sensing result may require one or more sensing measurements which may be generated within a sensing measurement campaign. The sensing measurement campaign may include one or more sensing measurements made by the sensing initiator in conjunction with the sensing responder (i.e., output from the sensing session). Sensing measurements made in the sensing measurement campaign may be processed by a sensing algorithm to generate the sensing result. In an implementation, the sensing algorithm may be a computational algorithm that achieves the sensing result. The sensing algorithm may have many components which may include determination of sensing measurements, control of sensing measurements, and processing of sensing measurements. The sensing algorithm may also determine resources that are available in the Wi-Fi sensing system that may allow the sensing algorithm to achieve the sensing result. In an example, a sensing algorithm manager may implement the sensing algorithm. In some examples, the sensing algorithm manager may also have a role of a sensing initiator or a sensing responder, and the role may change with time and depending on the sensing result. In some examples, the sensing algorithm may be distributed between multiple devices in the Wi-Fi sensing system. The sensing algorithm may configure and control the sensing initiators and the sensing responders to achieve the sensing result.

[0159] According to an implementation, to allow the sensing algorithm to achieve the sensing result, the sensing algorithm, the sensing initiators, and the sensing responders may be required to determine presence and connectivity in the Wi-Fi sensing system and capability of each device. This action may be referred to as discovery of sensing capabilities. In addition to discovery of sensing capabilities, a device or a Wi-Fi device may be interested in obtaining sensing results from the sensing algorithm. An example may be an intelligent lightbulb, which does not have the computational ability to execute its own sensing algorithm, but would be interested in obtaining any information provided by another device which is operating a motion sensing service. By having access to motion sensing result, the intelligent light bulb may be able to automatically turn ON or OFF in the presence or absence of motion. This action may be referred to as discovery of sensing results.

[0160] In an example, the actions of discovery of sensing capabilities and discovery of sensing results may be executed by an algorithm agent, an initiator agent, and a responder agent, where the algorithm agent is an application running on a device or a Wi-Fi device acting as a sensing algorithm manager, and the initiator agent and the responder agent are applications running either in the MAC layer of a Wi-Fi device acting as a sensing initiator or sensing responder, respectively, above the MAC layer of a Wi-Fi device acting as a sensing initiator or sensing responder, respectively, or in a combination of both. In examples, where the sensing algorithm is distributed between multiple devices in the Wi-Fi sensing system, a single algorithm agent may be implemented. In an example, a Wi-Fi device may be both a sensing initiator of a first sensing session and a sensing responder of a second sensing session. In these examples, the Wi-Fi device may execute both an initiator agent and a responder agent independently of each other.

[0161] Further, IEEE 802.11 standard describes a basic service set (BSS) as the operation of a single logical group of networked devices, communicating, and operating on a single channel. For an infrastructure topology, a single AP may serve the role as BSS coordinator and all stations communicate through the AP. In an implementation, extended service set (ESS) may be formed by grouping multiple BSS together. In the infrastructure case, this allows multiple APs to operate their networks independently, spanning different frequency and physical coverage area, but providing a flexibility of transitioning between BSS or access to communication services to all stations being served.

[0162] In an implementation, there may be a single sensing algorithm and a single sensing initiator in a given BSS. For an ESS which consists of multiple BSS, there may be a single sensing algorithm but with multiple sensing initiators, for example, each running on an AP serving each BSS. In this case, the process of discovery may allow the sensing algorithm to be aware of all sensing initiators in the Wi-Fi sensing system and the sensing responders with which the sensing initiators may make a sensing measurement. In an example, one or more initiator agents in one or more sensing initiators may discover potential sensing responders which may be used to build an optimized sensing network. In an implementation, if a single sensing initiator is present in the WiFi sensing system then the sensing algorithm may learn this if it is unable to discover any additional sensing initiators by the process of discovery of sensing capabilities. [0163] According to an implementation, an ESS may include only a single sensing initiator. An example of such a scenario is a multi-radio or multi-band AP. A multi-radio/multi-band AP may provide multiple infrastructure BSS, however, everything is present on a single device. As a result, it is possible for a single sensing initiator to be present on a multi-radio/multi-band AP, and provide the required functionalities for the entire ESS. Additionally, it is possible for a vendorneutral AP or an Extender to be added to an existing ESS, which may not include an initiator agent (i.e., may not act as a sensing initiator) but may be capable of supporting sensing (e.g., supports IEEE 802.1 Ibf features). There may be scenarios where an ESS includes multiple AP, where each AP may include an initiator agent. In an example, a sensing algorithm may learn of the presence of all initiator agents by a process of discovery. In an implementation, following the discovery of initiator agents (and so, sensing initiators) in the Wi-Fi sensing system, the sensing algorithm may devise one or more sensing measurement campaigns to achieve the requirements of the Wi-Fi sensing system. The one or more sensing measurement campaigns may use one or more of the sensing initiators that have been discovered by the sensing algorithm and the sensing algorithm may coordinate the sensing measurement campaigns.

[0164] In an implementation, there are examples where devices may use sensing results or sensing measurements from a sensing initiator. In some examples, this may be an input to a third- party application. For example, an intelligent lightbulb may receive an indication that the room that it illuminates is to assist in an energy management application. Since an occupancy indicator may be produced through by a sensing application, the intelligent lightbulb may, in an example, query and consume the occupancy indicator. Further, a Wi-Fi device may have the ability to decide if and when it is to participate in a sensing measurement campaign or a sensing session based on the power implications that may be placed on the Wi-Fi device. In an example, a Wi-Fi device may not participate in a sensing measurement campaign or a sensing session if it is battery powered and battery power is limited. Alternatively, a battery powered Wi-Fi device may participate in a sensing measurement campaign or a sensing session when it is plugged into a wall charger. In some examples, a Wi-Fi device may not participate in a sensing measurement campaign or a sensing session unless it is a specific sensing application, such as a health care related sensing application.

[0165] In an embodiment, a zero configuration networking protocol may be used to realize sensing service discovery in the Wi-Fi sensing system. The zero configuration networking protocol may be responsible for an allocation of a network address, an allocation of a network name, and a resolution of network services. Examples of the zero configuration networking protocol include Zeroconf, Apple Bonjour, and Avahi. In an implementation, Zeroconf may use dynamic host configuration protocol (DHCP) to allocate network addresses, domain name system (DNS) and multicast DNS (mDNS) to allocate network names, and DNS service discovery (DNS-SD) to manage network services. In an example, DNS, mDNS, or a combination of both may be used to implement the DNS-SD for managing the network services.

[0166] FIG. 6 depicts an example of Wi-Fi system 600, according to some embodiments. As described in FIG. 6, Wi-Fi system 600 may include a number of sensing initiators for example, sensing initiator 1 (610) and sensing initiator 2 (620)and sensing responder devices for example, sensing responder A 612, sensing responder B 614, sensing responder C 616, sensing responder D 618, sensing responder E 622, and sensing responder F 624. In an example, a sensing responder may be associated with a sensing initiator in an IEEE 802.11 -defined BSS. In an implementation, a sensing initiator and a sensing responder may join in a sensing session. In an example, the sensing initiator or the sensing responder may be an AP in a BSS, and may be identified by a MAC address. In some examples, the sensing initiator or the sensing responder may be a station in a BSS, and may be identified by an association ID and a MAC address of an associated AP. In an example, the sensing initiator 1 and the sensing initiator 2 may be APs, and sensing responder A, sensing responder B, sensing responder C, sensing responder D, sensing responder E, and sensing responder F may be stations.

[0167] As described in FIG. 6, Wi-Fi system 600 includes two BSSs, namely a first BSS and a second BSS. In an example, API forms the first BSS with station A, station B, station C and station D, and AP2 forms the second BSS with station E, station F, station G and station H. The first BSS includes sensing initiator 1, sensing responder A, sensing responder B, sensing responder C and sensing responder D. Each of the sensing responder A, the sensing responder B, the sensing responder C and the sensing responder D may be in a direct communication with the sensing initiator 1 (as represented by dotted line arrows, 602). The second BSS includes sensing initiator 2, sensing responder E and sensing responder F. Each of the sensing responder E and the sensing responder F may be in a direct communication with the sensing initiator 2 (as represented by solid line arrows, 604). Station G and station H (624) are included in the second BSS but do not form part of the Wi-Fi sensing network. Station G and station H may not be capable of performing the role of sensing initiator or sensing responder. Station G and station H (624) may be capable of performing the role of sensing initiator or sensing responder but have elected not to participate in the W-Fi sensing network. Error! Reference source not found, also shows a connection between the sensing initiator 1 and the sensing initiator 2 (represented by hollow arrow 606) which may be a backbone connection and may be implemented by a Wi-Fi connection, by a wired connection (e.g., Ethernet), or by any other form of connection.

[0168] In an implementation, Wi-Fi system 600 may be required to generate a sensing result. A sensing result may require one or more sensing measurements which may be generated within a sensing measurement campaign. The sensing measurement campaign may include one or more sensing measurements made by a sensing initiator in conjunction with a sensing responder (i.e., output from a sensing session). In some examples, the sensing measurement campaign may include sensing measurements made by one or more sensing initiators. Sensing measurements made in the sensing measurement campaign may be processed by the sensing algorithm to generate the sensing result. As described in FIG. 6, Wi-Fi system 600 includes a sensing algorithm. In an implementation, the sensing algorithm may run on any Wi-Fi device in a Wi-Fi sensing network, for example a sensing initiator or a sensing responder. In an example, the sensing algorithm may run on another device that is not a Wi-Fi device, such as a sensing algorithm manager. The sensing algorithm manager may be considered part of the Wi-Fi sensing network. In an example, the sensing algorithm may be distributed between multiple devices in Wi-Fi system 600.

[0169] The present disclosure describes functionality executed by first sensing algorithm manager 502-1, second sensing algorithm manager 502-2, first sensing initiator device 504-1, second sensing initiator device 504-2, first sensing responder device 506-1, second sensing responder device 506-2, and sensing consuming device 508 to support a discovery of capabilities of Wi-Fi devices and a discovery of sensing results in Wi-Fi system 500. In an example, together these actions of discovery may be referred to as sensing service discovery in Wi-Fi system 500. The manner in which sensing service discovery takes place in Wi-Fi system 500 is described in detail below.

[0170] In operation, first algorithm agent 518-1 may discover one or more sensing initiator devices that are a part of Wi-Fi system 500. In an implementation, first algorithm agent 518-1 may determine presence or discover the one or more sensing initiator devices by transmitting or providing a sensing initiator query to Wi-Fi system 500. In an implementation, first initiator agent 528-1 and second initiator agent 528-2 may receive the sensing initiator query. According to an implementation, upon receiving the sensing initiator query, first initiator agent 528-1 may respond to the sensing initiator query received from first algorithm agent 518-1 to declare presence of first sensing initiator device 504-1 instantiating first initiator agent 528-1. In an implementation, first initiator agent 528-1 may respond to the sensing initiator query by providing a sensing initiator response to first algorithm agent 518-1. In an example, the sensing initiator response may include details of first sensing initiator device 504-1 . In some implementations, second initiator agent 528- 2 may elect to not respond to the sensing initiator query. In an example, where second initiator agent 528-2 does not act as a sensing initiator or if second initiator agent 528-2 is not capable to act as a sensing initiator in Wi-Fi system 500, second initiator agent 528-2 may elect to not respond to the sensing initiator query.

[0171] In an implementation, the sensing initiator response may include sensing responder information indicating sensing responder devices available to first sensing initiator device 504-1 instantiating first initiator agent 528-1 for a sensing measurement campaign. In some implementations, the sensing initiator response may include sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign. In some implementations, the sensing initiator response may include sensing measurement campaign information indicating types of sensing measurement campaigns supported by first sensing initiator device 504-1 instantiating first initiator agent 528-1. In an example, first sensing initiator device 504-1 may only contribute to a sensing measurement campaign that provides a safety-of-life results (this may be because first sensing initiator device 504-1 controls a network of low-power, battery-operated devices). According to an implementation, first initiator agent 528-1 may discover one or more sensing responder devices that are a part of Wi-Fi system 500 with which first initiator agent 528-1 may initiate a sensing session. In an implementation, first initiator agent 528-1 may provide a sensing responder presence query to Wi-Fi system 500 to determine presence of the one or more sensing responder devices in Wi-Fi system 500. In an implementation, first responder agent 538-1 and second responder agent 538-2 may receive the sensing responder presence query. According to an implementation, upon receiving the sensing responder presence query, first responder agent 538-1 may respond to the sensing responder presence query received from first initiator agent 528-1 to declare presence of first sensing responder device 506-1 instantiating first responder agent 538-1. In an implementation, first responder agent 538-1 may respond to the sensing responder presence query by providing a sensing responder presence response to first initiator agent 528-1. In some implementations, second responder agent 538-2 may elect to not respond to the sensing responder presence query. In an example, where second responder agent 538-2 does not act as a sensing responder or if second responder agent 538-2 is not capable to act as a sensing responder in Wi-Fi system 500, second responder agent 538-2 may elect to not respond to the sensing responder presence query.

[0172] In an implementation, first initiator agent 528-1 may determine a classification of first sensing responder device 506-1 instantiating first responder agent 538-1 as associated or unassociated and as active or inactive, based on the sensing responder presence response. In an example, when first sensing responder device 506-1 is associated with first sensing initiator device 504-1 as defined by IEEE 802.11 standard, then first sensing responder device 506-1 may be referred to as associated sensing responder device. In some examples, when first sensing responder device 506-1 is a part of Wi-Fi system 500 but is unassociated with first sensing initiator device 504-1, then first sensing responder device 506-1 may be referred to as unassociated sensing responder device. Further, when first sensing responder device 506-1 is a part of a sensing measurement campaign with first sensing initiator device 504-1, then first sensing responder device 506-1 may be referred to as active sensing responder device. In some examples, when first sensing responder device 506-1 is not a part of a sensing measurement campaign with first sensing initiator device 504-1, then first sensing responder device 506-1 may be referred to as inactive sensing responder device.

[0173] According to an implementation, first initiator agent 528-1 may provide a sensing responder capability query to first responder agent 538-1 to request a report of capabilities of first sensing responder device 506-1 or to determine capabilities of first sensing responder device 506- 1. In an implementation, first responder agent 538-1 may respond to the sensing responder capability query received from first initiator agent 528-1. In an implementation, first responder agent 538-1 may respond to first initiator agent 528-1 to declare capabilties of first sensing responder device 506-1 by transmitting a sensing responder capability response to first initiator agent 528-1. In some embodiments, the capabilities of first sensing responder device 506-1 may change following the reporting by the sensing responder capability response. In an example, following a change in the capabilities of first sensing responder device 506-1, first responder agent 538-1 may send another sensing responder capability response to first initiator agent 528-1. The another (and any subsequent) sensing responder capability response may be referred to as a sensing responder capability update.

[0174] In some implementations, first initiator agent 528-1 may provide or transmit the sensing responder presence query and the sensing responder capabilities query together as a sensing responder discovery request to first responder agent 538-1. Accordingly, the sensing responder discovery request may be used to determine both the availability of first sensing responder device 506-1 and the capabilities of first sensing responder device 506-1. In response to the sensing responder discovery request, first responder agent 538-1 may provide or transmit the sensing responder presence response and the sensing responder capability response together as a sensing responder discovery response to first initiator agent 528-1.

[0175] According to an implementation, sensing consuming agent 548 may provide a sensing result query to Wi-Fi system 500 to discover the availability of sensing results. In response to the sensing result query, first algorithm agent 518-1 may provide a sensing result response to sensing consuming agent 548. In an implementation, the sensing result response may include an indication of availability of all sensing results available to first algorithm agent 518-1. In an example, a MAC address may be used to identify first sensing algorithm manager 502-1 instantiating first algorithm agent 518-1. In some examples, an IP address may be used to identify first sensing algorithm manager 502-1 instantiating first algorithm agent 518-1. In some examples, an association ID (AID) may be used to identify first sensing algorithm manager 502-1 instantiating first algorithm agent 518-1. In some implementations, the sensing result response may include an indication of availability of sensing results contributed by activities of sensing consuming device 508.

[0176] According to an implementation, the sensing result query and sensing result response may describe the availability of sensing measurements in Wi-Fi system 500. In an example, the request for and delivery of sensing measurements by and to a device which did not compute a sensing measurement may be a type of sensing by proxy. In some implementations, the sensing result query and sensing result response may query and report sensing measurements by means of a flag which identifies that sensing measurements are required (rather than sensing results). In some implementations, a sensing measurement query and a sensing measurement response may be defined to describe and control the availability of sensing measurements in Wi-Fi system 500. In an implementation, sensing consuming agent 548 may provide a query for sensing measurements to Wi-Fi system 500. In response to the query for sensing measurements, first initiator agent 528-1 may provide sensing measurements to sensing consuming agent 548.

[0177] In some implementations, one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response may comply with a domain name system-service discovery (DNS-SD) standard. The DNS-SD standard is described by RFC 6763 specification. In an implementation, the DNS-SD leverages the DNS concept and message structure, but operates in a multicast fashion rather than relying on a dedicated server. The concept of multicast DNS is described by RFC 6762 specification. The DNS- SD focuses on discovering instances of specific services. In an implementation, services are queried and described using pointer (PTR), service (SRV) and text (TXT) records. A name structure following <instance>.<service>.<domain> may be imposed. This structure allows for a device looking for particular services to query all devices and obtain a list of instances of the desired services.

[0178] According to an implementation, the DNS-SD standard may allow a service to be advertised over a network and for clients to avail themselves of the service once they have become aware of its existence. In an embodiment, a sensing initiator service and a sensing responder service are two examples of a service that may be managed by the DNS-SD standard. In an example, the sensing initiator service may be referred to as “_wifisensing_initiator” and the sensing responder service may be referred to as “ wifisensing responder”. In an embodiment, individual implementations of a service may be given a unique name within Wi-Fi system 500. In an example, the name may be represented by Unicode Transformation Format-8 (UTF-8) characters. In some examples, the name may be generated at random. In some examples, the name may be derived from information provided by a user (such as a system administrator) during a configuration of Wi-Fi system 500. Examples of a Wi-Fi device that may act as a sensing initiator device may be “Main Room l lax AP. wifisensing initiator” and “Second Floor Landing Extender. wifisensing initiator”. Further, examples of a Wi-Fi device that may act as a sensing responder device may be “Games Room XboxOne. wifisensing responder” and “Master Bedroom Smart Lightswitch l. wifisensing responder”.

[0179] In an implementation, a device that provides a service may be described by a DNS SRV record. In an example, the DNS SRV record for the device may reference a network address and a network port where the device that provides the service may be found. The DNS SRV record may provide a Priority field and a Weight field. In some examples, the Priority field and the Weight field may be used to disambiguate devices which may provide an identical service. In an example, the Priority field may indicate to a requesting client a priority of one device over one or more other devices. Furthermore, the Weight field may indicate to a requesting client a preference of one device over one or more other devices which share the same priority. In an example, the Priority field or the Weight field may allow devices in a similar role in Wi-Fi system 500 to be prioritized on the basis of non-sensing related criteria such as stability of their power supply or continuity of their presence in Wi-Fi system 500. In some examples, the Priority field and the Weight field may allow a device to decline to provide its service but still announce its presence in Wi-Fi system 500. In an example, a lowest value for the Priority field or the Weight field may indicate that a device is declining to provide its service.

[0180] In some examples, a subtype of a service type may be used to describe some details of a service. In an example, an active or an inactive sensing initiator device, or an active or an inactive sensing responder device may be queried and described by a subtype of a service type. In an example, “active._sub._wifisensing_initiator” and “inactive._sub._wifisensing_initiator” may describe an active sensing initiator device and an inactive sensing initiator device, respectively. In an example, “active._sub._wifisensing_responder” and “inactive._sub._wifisensing_responder” may describe an active sensing responder device and an inactive sensing responder device, respectively. In an example, sensing measurements may be queried from a sensing initiator device by defining a measurement subtype. In an example, “measurement, sub. wifisensing result” may describe sensing measurements that may be used to create a sensing result.

[0181] In an example, all devices that provide a service may be described by a DNS PTR record. In an example, the DNS PTR record may refer to one or more named devices providing a requested service. For example, a request for devices that provide the “ wifisensing initiator” service returns a DNS PTR to “Main Room l lax AP. wifisensing initiator” and “Second Floor Landing Extender. wifisensing initiator”. In an example, an initiator agent may indicate its presence in Wi-Fi system 500 by transmitting a PTR record. In some examples, a responder agent may indicate its presence on Wi-Fi system 500 by transmitting a PTR record. In an example, PTR records may be used to drive a discovery process. [0182] In some examples, details of the service that a device provides may be described by a DNS TXT record. Example parameters carried out by a DNS TXT record may be illustrated in Table 1.

TABLE 1: Example parameters carried by a DNS TXT record

[0183] In an implementation, the parameters described in Table 1 may be encoded into a DNS TXT record. In an example, the standard key -value pairing as defined by RFC 1035 may be used to describe the details of the service that a device provides.

[0184] In an embodiment, the DNS records required to implement DNS-SD (including DNS SRV, DNS PTR and DNS TXT records) may be managed by a centralized DNS server. A physical implementation of the centralized DNS server may include a single server, a cluster of servers, active and redundant servers, cloud- or lAAS-based, or any other method. In an implementation, the centralized DNS server may receive an information from clients in a Wi-Fi sensing network about services that the clients provide and is responsible for servicing requests for information on behalf of all requesting devices in the Wi-Fi sensing network. In some embodiments, the DNS records required to implement DNS-SD may be managed in a de-centralized fashion and each client in the Wi-Fi sensing network may be responsible for serving data about itself to a requesting device. In an example, mDNS may be used to implement DNS-SD.

[0185] FIG. 7 depicts series of transactions 700 that facilitates in discovery of sensing initiator devices in Wi-Fi system 500, according to some embodiments.

[0186] At step 704, in some implementations, algorithm agent 702 may provide or transmit a sensing initiator query to Wi-Fi system 500 to determine presence of one or more sensing initiator devices in Wi-Fi system 500. In an example, algorithm agent 702 may be first algorithm agent 518-1 that resides on first sensing algorithm manager 502-1. In some examples, algorithm agent 702 may be second algorithm agent 518-2 that resides on second sensing algorithm manager 502- 2.

[0187] At step 706, in some implementations, first initiator agent 528-1 may respond to the sensing initiator query received from algorithm agent 702. In an implementation, first initiator agent 528-1 may respond to algorithm agent 702 to declare its presence by transmitting a sensing initiator response to algorithm agent 702. In an example, the sensing initiator response may include details of first sensing initiator device 504-1 on which first initiator agent 528-1 resides.

[0188] At step 708, in some implementations, second initiator agent 528-2 may respond to the sensing initiator query received from algorithm agent 702. In an implementation, second initiator agent 528-2 may respond to algorithm agent 702 to declare its presence by transmitting a sensing initiator response to algorithm agent 702. In an example, the sensing initiator response may include details of second sensing initiator device 504-2 on which second initiator agent 528-2 resides.

[0189] FIG. 8 depicts series of transactions 800 that facilitates in discovery of sensing responder devices in Wi-Fi system 500, according to some embodiments.

[0190] At step 802, in some implementations, first initiator agent 528-1 may provide or transmit a sensing responder presence query to Wi-Fi system 500 to determine presence of one or more sensing responder devices in Wi-Fi system 500. In an example, first initiator agent 528-1 may reside on first sensing initiator device 504-1.

[0191] At step 804, in some implementations, first responder agent 538-1 may respond to the sensing responder presence query received from first initiator agent 528-1. In an example, first responder agent 538-1 may reside on first sensing responder device 506-1. In an implementation, first responder agent 538-1 may respond to first initiator agent 528-1 to declare its presence by transmitting a sensing responder presence response to first initiator agent 528-1. In an example, first responder agent 538-1 may reside on first sensing responder device 506-1. According to some implementations, second responder agent 538-2 may receive the sensing responder presence query from first initiator agent 528-1, however, second responder agent 538-2 may elect to not respond to the sensing responder presence query. As a result, first initiator agent 528-1 may not be aware of presence of second responder agent 538-2.

[0192] At step 806, in some implementations, first initiator agent 528-1 may transmit a sensing responder capability query to first responder agent 538-1 to determine capabilities of first sensing responder device 506-1 implementing first responder agent 538-1.

[0193] At step 808, in some implementations, first responder agent 538-1 may respond to the sensing responder capability query received from first initiator agent 528-1. In an implementation, first responder agent 538-1 may respond to first initiator agent 528-1 to declare capabilities of first responder agent 538-1 by transmitting a sensing responder capability response to first initiator agent 528-1.

[0194] FIG. 9 depicts series of transactions 900 that facilitates in discovery of sensing results in Wi-Fi system 500, according to some embodiments.

[0195] At step 902, in some implementations, sensing consuming agent 548 may transmit a sensing result query to Wi-Fi system 500 to determine if there are any sensing results available . In an example, sensing consuming agent 548 may reside on sensing consuming device 508.

[0196] At step 904, in some implementations, second algorithm agent 518-2 may respond to the sensing result query received from sensing consuming agent 548. In an example, second algorithm agent 518-2 may reside on second sensing algorithm manager 502-2. In an implementation, second algorithm agent 518-2 may respond to sensing consuming agent 548 to declare sensing results that second sensing algorithm manager 502-2 can provide to sensing consuming device 508. In an implementation, second algorithm agent 518-2 may transmit a sensing result response to sensing consuming agent 548. According to an implementation, the sensing result response may include an indication of availability of all sensing results available to second algorithm agent 518-2.

[0197] At step 906, in some implementations, first algorithm agent 518-1 may respond to the sensing result query received from sensing consuming agent 548. In an example, first algorithm agent 518-1 may reside on first sensing algorithm manager 502-1. In an implementation, first algorithm agent 518-1 may respond to sensing consuming agent 548 to declare sensing results that first sensing algorithm manager 502-1 can provide to sensing consuming device 508. In an implementation, first algorithm agent 518-1 may transmit a sensing result response to sensing consuming agent 548. According to an implementation, the sensing result response may include an indication of availability of all sensing results available to first algorithm agent 518-1. In some implementations, the sensing result response may include an indication of availability of sensing results contributed by activities of sensing consuming device 508.

[0198] FIG. 10 depicts series of transactions 1000 that facilitates in discovery of sensing measurements in Wi-Fi system 500, according to some embodiments. In an implementation, FIG. 10 is an example of sensing by proxy.

[0199] At step 1002, in some implementations, sensing consuming agent 548 may transmit a sensing result query to Wi-Fi system 500 to determine if there are any sensing measurements available for sharing. In an example, sensing consuming agent 548 may reside on sensing consuming device 508. In an implementation, sensing consuming agent 548 may set a flag in the sensing result query to indicate that sensing consuming device 508 is querying for sensing measurements. In some implementations, sensing consuming agent 548 may transmit a sensing measurement query to Wi-Fi system 500.

[0200] At step 1004, in some implementations, second initiator agent 528-2 may respond to the sensing result query received from sensing consuming agent 548. In an example, second initiator agent 528-2 may reside on second sensing initiator device 504-2. In an implementation, second initiator agent 528-2 may respond to sensing consuming agent 548 to declare sensing measurements that second sensing initiator device 504-2 can provide to sensing consuming device 508. In an implementation, second initiator agent 528-2 may transmit a sensing result response to sensing consuming agent 548. In some implementations, second initiator agent 528-2 may transmit a sensing measurement response to sensing consuming agent 548.

[0201] At step 1006, in some implementations, first initiator agent 528-1 may respond to the sensing result query received from sensing consuming agent 548. In an example, first initiator agent 528-1 may reside on first sensing initiator device 504-1. In an implementation, first initiator agent 528-1 may respond to sensing consuming agent 548 to declare sensing measurements that first sensing initiator device 504-1 can provide to sensing consuming device 508. In an implementation, first initiator agent 528-1 may transmit a sensing result response to sensing consuming agent 548. In some implementations, first initiator agent 528-1 may transmit a sensing measurement response to sensing consuming agent 548.

[0202] FIG. 11 depicts example 1100 of update of capabilities of a sensing responder device in Wi-Fi system 500, according to some embodiments.

[0203] At step 1106, in some implementations, initiator agent 1102 may transmit a sensing responder capability query to responder agent 1104 to determine capabilities of the sensing responder device on which responder agent 1104 resides. In an example, initiator agent 1102 may be first initiator agent 528-1 that resides on first sensing initiator device 504-1. In some examples, initiator agent 1102 may be second initiator agent 528-2 that resides on second sensing initiator device 504-2. Further, in an example, responder agent 1104 may be first responder agent 538-1 that resides on first sensing responder device 506-1. In some examples, responder agent 1104 may be second responder agent 538-2 that resides on second sensing responder device 506-2.

[0204] At step 1108, in some implementations, responder agent 1104 may respond to the sensing responder capability query received from initiator agent 1102. In an implementation, responder agent 1104 may respond to initiator agent 1102 to declare sensing capabilities of the sensing responder device by transmitting a sensing responder capability response to initiator agent 1102.

[0205] In some implementations, the capabilities of the sensing responder device may change or get updated. As a result, responder agent 1104 may send a further sensing responder capability response to declare updated capabilities of the sensing responder device. This is described in step 1110. The further sensing responder capability response may be referred to as a sensing responder capability update.

[0206] FIG. 12 depicts series of transactions 1200 that facilitates in discovery of sensing initiator devices in Wi-Fi system 500 based on a DNS-SD standard, according to some embodiments.

[0207] At step 1204, in some implementations, algorithm agent 1202 may query Wi-Fi system 500 with a DNS request for a service “_wifisensing_initiator” to determine presence of one or more sensing initiator devices in Wi-Fi system 500. In an example, algorithm agent 1202 may be first algorithm agent 518-1 that resides on first sensing algorithm manager 502-1. In some examples, algorithm agent 1202 may be second algorithm agent 518-2 that resides on second sensing algorithm manager 502-2. [0208] At step 1206, in some implementations, first initiator agent 528-1 may respond to the DNS request for the service “_wifisensing_initiator” received from algorithm agent 1202. In an implementation, first initiator agent 528-1 may respond to algorithm agent 1202 with a PTR to “ wifisensing initiator” to declare its presence. In an example, the PTR to “ wifisensing initiator” may include a name of first sensing initiator device 504-1 on which first initiator agent 528-1 resides. According to an example, first sensing initiator device 504-1 may be named as “First Sensing Initiator”.

[0209] At step 1208, in some implementations, second initiator agent 528-2 may respond to the DNS request for the service “_wifisensing_initiator” received from algorithm agent 1202. In an implementation, second initiator agent 528-2 may respond to algorithm agent 1202 with a PTR to “ wifisensing initiator” to declare its presence. In an example, the PTR to “_wifisensing_initiator” may include a name of second sensing initiator device 504-2 on which second initiator agent 528-2 resides. According to an example, second sensing initiator device 504- 2 may be named as “Second Sensing Initiator”. In some implementations, where algorithm agent 1202 and first initiator agent 528-1 or second initiator agent 528-2 are running on the same Wi-Fi device, algorithm agent 1202 may be configured to learn about the co-located initiator agent (i.e., first initiator agent 528-1 or second initiator agent 528-2) without using a DNS request for the service “_wifisensing_initiator”.

[0210] At step 1210, in some implementations, algorithm agent 1202 may query first initiator agent 528-1 with a DNS request for a service “First Sensing Initiator._wifisensing_responder” to determine capabilities of first sensing initiator device 504-1.

[0211] At step 1212, in some implementations, algorithm agent 1202 may query second initiator agent 528-2 with a DNS request for a service “Second Sensing Initiator. wifisensing responder” to determine capabilities of second sensing initiator device 504- 2.

[0212] At step 1214, in some implementations, first initiator agent 528-1 may respond to the DNS request for the service “First Sensing Initiator._wifisensing_responder” received from algorithm agent 1202 with a SRV record to declare capabilities of first sensing initiator device 504-1.

[0213] At step 1216, in some implementations, first initiator agent 528-1 may respond to the DNS request for the service “First Sensing Initiator._wifisensing_responder” received from algorithm agent 1202 with a TXT record to declare capabilities of first sensing initiator device 504-1.

[0214] At step 1218, in some implementations, second initiator agent 528-2 may respond to the DNS request for the service “Second Sensing Initiator._wifisensing_responder” received from algorithm agent 1202 with a SRV record to declare capabilities of second sensing initiator device 504-2.

[0215] At step 1220, in some implementations, second initiator agent 528-2 may respond to the DNS request for the service “Second Sensing Initiator._wifisensing_responder” received from algorithm agent 1202 with a TXT record to declare capabilities of second sensing initiator device 504-2.

[0216] FIG. 13 depicts series of transactions 1300 that facilitates in discovery of sensing responder devices in Wi-Fi system 500 based on DNS-SD standard, according to some embodiments.

[0217] At step 1302, in some implementations, first initiator agent 528-1 may query Wi-Fi system 500 with a DNS request for a service “_wifisensing_responder” to determine presence of one or more sensing responder devices in Wi-Fi system 500. In an example, first initiator agent 528-1 may reside on first sensing initiator device 504-1.

[0218] At step 1304, in some implementations, first responder agent 538-1 may respond to the DNS request for the service “_wifisensing_responder” received from first initiator agent 528- 1. In an example, first responder agent 538-1 may reside on first sensing responder device 506-1. In an implementation, first responder agent 538-1 may respond to first initiator agent 528-1 with a PTR to “ wifisensing responder” to declare its presence. In an example, the PTR to “ wifisensing responder” may include a name of first sensing responder device 506-1. In an example, first sensing responder device 506-1 may be named as “First Sensing Responder”. According to some implementations, second responder agent 538-2 may receive the DNS request for the service “_wifisensing_responder” from first initiator agent 528-1, however, second responder agent 538-2 may elect to not respond to the DNS request for the service “_wifisensing_responder”. As a result, first initiator agent 528-1 may not be aware of presence of second responder agent 538-2.

[0219] At step 1306, in some implementations, first initiator agent 528-1 may query first responder agent 538-1 with a DNS request for a service “First Sensing Responder. wifisensing responder” to determine capabilities of first sensing responder device 506-1.

[0220] At step 1308, in some implementations, first responder agent 538-1 may respond to the DNS request for the service “First Sensing Responder._wifisensing_responder” received from first initiator agent 528-1 with a SRV record to declare capabilities of first sensing responder device 506-1.

[0221] At step 1310, in some implementations, first responder agent 538-1 may respond to the DNS request for the service “First Sensing Responder._wifisensing_responder” received from first initiator agent 528-1 with a TXT record to declare capabilities of first sensing responder device 506-1.

[0222] FIG. 14 depicts series of transactions 1400 that facilitates in discovery of sensing results in Wi-Fi system 500 based on DNS-SD standard, according to some embodiments.

[0223] At step 1402, in some implementations, sensing consuming agent 548 may query WiFi system 500 with a DNS request for a service “_wifisensing_resulf ’ to determine if there are any sensing results available for sharing. In an example, sensing consuming agent 548 may reside on sensing consuming device 508.

[0224] At step 1404, in some implementations, second algorithm agent 518-2 may respond to the DNS request for the service “_wifisensing_resulf ’ received from sensing consuming agent 548. In an example, second algorithm agent 518-2 may reside on second sensing algorithm manager 502-2. In an implementation, second algorithm agent 518-2 may respond to sensing consuming agent 548 with a PTR to “ wifisensing resulf ’ to declare sensing results that second sensing algorithm manager 502-2 can provide to sensing consuming device 508. In an example, the PTR to “_wifisensing_result” may include an identifier for the sensing results that second sensing algorithm manager 502-2 can provide. In an example, the identifier may be “Second Sensing Algorithm”.

[0225] At step 1406, in some implementations, first algorithm agent 518-1 may respond to the DNS request for the service “_wifisensing_resulf ’ received from sensing consuming agent 548. In an example, first algorithm agent 518-1 may reside on first sensing algorithm manager 502-1. In an implementation, first algorithm agent 518-1 may respond to sensing consuming agent 548 with a PTR to “ wifisensing resulf ’ to declare sensing results that first sensing algorithm manager 502-1 can provide to sensing consuming device 508. In an example, the PTR to “_wifisensing_result” may include an identifier for the sensing results that first sensing algorithm manager 502-1 can provide. In an example, the identifier may be “First Sensing Algorithm”.

[0226] At step 1408, in some implementations, sensing consuming agent 548 may query second algorithm agent 518-2 with a DNS request for a service “Second Sensing Algorithm, wifisensing result” to determine parameters of sensing results that second sensing algorithm manager 502-2 can provide to sensing consuming device 508. In an example, the parameters of the sensing results may include a frequency at which the sensing results are delivered, a format of the sensing results, and a purpose or an objective of the sensing results.

[0227] At step 1410, in some implementations, sensing consuming agent 548 may query first algorithm agent 518-1 with a DNS request for a service “First Sensing Algorithm. _wifisensing_result” to determine parameters of sensing results that first sensing algorithm manager 502-1 can provide to sensing consuming device 508.

[0228] At step 1412, in some implementations, second algorithm agent 518-2 may respond to the DNS request for the service “Second Sensing Algorithm._wifisensing_result” received from sensing consuming agent 548 with a SRV record to declare parameters of sensing results that second sensing algorithm manager 502-2 can provide to sensing consuming device 508.

[0229] At step 1414, in some implementations, second algorithm agent 518-2 may respond to the DNS request for the service “Second Sensing Algorithm._wifisensing_result” received from sensing consuming agent 548 with a TXT record to declare parameters of sensing results that second sensing algorithm manager 502-2 can provide to sensing consuming device 508.

[0230] At step 1416, in some implementations, first algorithm agent 518-1 may respond to the DNS request for the service “First Sensing Algorithm._wifisensing_result” received from sensing consuming agent 548 with a SRV record to declare parameters of sensing results that first sensing algorithm manager 502-1 can provide to sensing consuming device 508.

[0231] At step 1418, in some implementations, first algorithm agent 518-1 may respond to the DNS request for the service “First Sensing Algorithm._wifisensing_result” received from sensing consuming agent 548 with a TXT record to declare parameters of sensing results that first sensing algorithm manager 502-1 can provide to sensing consuming device 508.

[0232] FIG. 15 depicts series of transactions 1500 that facilitates in discovery of sensing measurements in Wi-Fi system 500 based on DNS-SD standard, according to some embodiments. [0233] At step 1502, in some implementations, sensing consuming agent 548 may query WiFi system 500 with a DNS request for a service “_wifisensing_result” to determine if there are any sensing measurements available for sharing. In some implementations, sensing consuming agent 548 may specify a subtype that identifies that sensing measurements are required. In an example implementation, sensing consuming agent 548 may query Wi-Fi system 500 with a DNS request for the service “measurement._sub._wifisensing_result” to determine if there are any sensing measurements available for sharing or to specify that sensing measurements are required. In an example, sensing consuming agent 548 may reside on sensing consuming device 508.

[0234] At step 1504, in some implementations, second initiator agent 528-2 may respond to the DNS request for the service “_wifisensing_resulf ’ received from sensing consuming agent 548. In an example, second initiator agent 528-2 may reside on second sensing initiator device 504-2. In an implementation, second initiator agent 528-2 may respond to sensing consuming agent 548 with a PTR to “ wifisensing resulf ’ to declare sensing measurements that second sensing initiator device 504-2 can provide to sensing consuming device 508. In an example, the PTR to “ wifisensing resulf ’ may include an identifier for the sensing measurements that second sensing initiator device 504-2 can provide. In an example, the identifier may be “Second Sensing Initiator”. [0235] At step 1506, in some implementations, first initiator agent 528-1 may respond to the DNS request for the service “_wifisensing_resulf ’ received from sensing consuming agent 548. In an example, first initiator agent 528-1 may reside on first sensing initiator device 504-1. In an implementation, first initiator agent 528-1 may respond to sensing consuming agent 548 with a PTR to “ wifisensing resulf ’ to declare sensing measurements that first sensing initiator device 504-1 can provide to sensing consuming device 508. In an example, the PTR to “_wifisensing_resulf ’ may include an identifier for the sensing measurements that first sensing initiator device 504-1 can provide. In an example, the identifier may be “First Sensing Initiator”.

[0236] At step 1508, in some implementations, sensing consuming agent 548 may query first initiator agent 528-1 with a DNS request for a service “First Sensing Initiator._wifisensing_resulf ’ to determine parameters of sensing measurements that first sensing initiator device 504-1 can provide to sensing consuming device 508. In an example, the parameters of the sensing measurements may include a frequency at which the sensing measurements are delivered, a format of the sensing measurements, and a purpose or an objective of the sensing measurements. [0237] At step 1510, in some implementations, first initiator agent 528-1 may respond to the DNS request for the service “First Sensing Initiator. _wifisensing_result” received from sensing consuming agent 548 with a SRV record to declare parameters of sensing measurements that first sensing initiator device 504-1 can provide to sensing consuming device 508.

[0238] At step 1512, in some implementations, first initiator agent 528-1 may respond to the DNS request for the service “First Sensing Initiator. _wifisensing_result” received from sensing consuming agent 548 with a TXT record to declare parameters of sensing measurements that first sensing initiator device 504-1 can provide to sensing consuming device 508.

[0239] In some implementations, a DNS server may be implemented and each device may register (and de-register) services that the device provides to DNS server. In an example, a request for a service, such as “_wifisensing_initiator” or “_wifisensing_responder” may be directed to the DNS server and the responses, such as a plurality of PTR records to “wifisensing initiator” or “_wifisensing_responder” may be served from the DNS server.

[0240] FIG. 16 depicts example 1600 of update of capabilities of a sensing responder device in Wi-Fi system 500 based on DNS-SD standard, according to some embodiments.

[0241] At step 1606, in some implementations, initiator agent 1602 may query responder agent 1604 with a DNS request for a service “Sensing Responder._wifisensing_responder” to determine capabilities of the sensing responder device on which responder agent 1604 resides. In an example, initiator agent 1602 may be first initiator agent 528-1 that resides on first sensing initiator device 504-1. In some examples, initiator agent 1602 may be second initiator agent 528- 2 that resides on second sensing initiator device 504-2. Further, in an example, responder agent 1604 may be first responder agent 538-1 that resides on first sensing responder device 506-1. In some examples, responder agent 1604 may be second responder agent 538-2 that resides on second sensing responder device 506-2.

[0242] At step 1608, in some implementations, responder agent 1604 may respond to the DNS request for the service “Sensing Responder. wifisensing responder” received from initiator agent 1602 with a SRV record to declare capabilities of the sensing responder device.

[0243] At step 1610, in some implementations, responder agent 1604 may respond to the DNS request for the service “Sensing Responder. wifisensing responder” received from initiator agent 1602 with a TXT record to declare capabilities of the sensing responder device. [0244] In some implementations, at a later time, the capabilities of the sensing responder device may change or get updated. As a result, responder agent 1604 may send a further SRV record to declare updated capabilities of the sensing responder device. This is illustrated in step 1612. Similarly, responder agent 1604 may send a further TXT record to declare updated capabilities of the sensing responder device as described in step 1614.

[0245] For ease of explanation and understanding, the description provided above is with reference to first sensing algorithm manager 502-1, second sensing algorithm manager 502-2, first sensing initiator device 504-1, second sensing initiator device 504-2, first sensing responder device 506-1, second sensing responder device 506-2, and sensing consuming device 508, however, the description is equally applicable to remaining sensing algorithm managers 502-(3-L), sensing initiator devices 504-(3-M), and sensing responder device 506-(3-N).

[0246] FIG. 17 depicts flowchart 1700 for providing, by a responder agent, a sensing responder capability response in response to a sensing responder capability query, according to some embodiments.

[0247] In a brief overview of an implementation of flowchart 1700, at step 1702, a sensing initiator query may be provided by an algorithm agent to Wi-Fi system 500. At step 1704, a sensing initiator response in response to the sensing initiator query may be provided by an initiator agent. At step 1706, a sensing responder presence query may be provided by the initiator agent to Wi-Fi system 500. At step 1708, a sensing responder presence response in response to the sensing responder presence query may be provided by the responder agent. At step 1710, a sensing responder capability query may be provided by the initiator agent to the responder agent. At step 1712, a sensing responder capability response in response to the sensing responder capability query may be provided by the responder agent.

[0248] Step 1702 includes providing, by the algorithm agent to Wi-Fi system 500, the sensing initiator query. According to an implementation, the algorithm agent may be configured to provide or transmit the sensing initiator query to Wi-Fi system 500. In an implementation, the algorithm agent may be implemented by a sensing algorithm manager configured to transmit the sensing initiator query. In an example, the algorithm agent may be first algorithm agent 518-1 implemented by first sensing algorithm manager 502-1. In some examples, the algorithm agent may be second algorithm agent 518-2 implemented by second sensing algorithm manager 502-2. [0249] Step 1704 includes providing, by the initiator agent, the sensing initiator response in response to the sensing initiator query. According to an implementation, the initiator agent may be configured to provide or transmit the sensing initiator response in response to the sensing initiator query. According to an example, the initiator agent may be implemented by a sensing initiator device. In an example, the initiator agent may be first initiator agent 528-1 implemented by first sensing initiator device 504-1. In some examples, the initiator agent may be second initiator agent 528-2 implemented by second sensing initiator device 504-2. In an implementation, the sensing initiator response may include at least one of sensing responder information indicating sensing responder devices available to the sensing initiator device instantiating the initiator agent for a sensing measurement campaign, sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign, and sensing measurement campaign information indicating types of sensing measurement campaigns supported by the sensing initiator device instantiating the initiator agent. In some implementations, the algorithm agent and the initiator agent are both implemented by a same sensing initiator device. [0250] Step 1706 includes providing, by the initiator agent to Wi-Fi system 500, the sensing responder presence query. According to an implementation, the initiator agent may be configured to provide or transmit the sensing responder presence query to Wi-Fi system 500.

[0251] Step 1708 includes providing, by the responder agent, the sensing responder presence response in response to the sensing responder presence query. According to an implementation, the responder agent may be configured to provide the sensing responder presence response in response to the sensing responder presence query. In an implementation, the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response. In an example, the responder agent may be first responder agent 538-1 implemented by first sensing responder device 506-1. In some examples, the responder agent may be second responder agent 538-2 implemented by second sensing responder device 506-2.

[0252] Step 1710 includes providing, by the initiator agent to the responder agent, the sensing responder capability query. In an implementation, the initiator agent may be configured to transmit or provide the sensing responder capability query to the responder agent. According to an implementation, the initiator agent may be implemented by the sensing initiator device configured to transmit the sensing initiator response, the sensing responder presence query, and the sensing responder capability query. [0253] Step 1712 includes providing, by the responder agent, the sensing responder capability response in response to the sensing responder capability query. In an implementation, the responder agent may be configured to transmit or provide the sensing responder capability response in response to the sensing responder capability query. In an implementation, the responder agent may be implemented by the sensing responder device configured to transmit the sensing responder capability response. According to an implementation, one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response may comply with a domain name system-service discovery (DNS-SD) standard.

[0254] FIG. 18A and FIG. 18B depict flowchart 1800 for providing, by an algorithm agent, a sensing result response in response to a sensing result query, according to some embodiments.

[0255] In a brief overview of an implementation of flowchart 1800, at step 1802, a sensing initiator query may be provided by an algorithm agent to Wi-Fi system 500. At step 1804, a sensing initiator response in response to the sensing initiator query may be provided by an initiator agent. At step 1806, a sensing responder presence query may be provided by the initiator agent to Wi-Fi system 500. At step 1808, a sensing responder presence response in response to the sensing responder presence query may be provided by a responder agent. At step 1810, a sensing responder capability query is provided by the initiator agent to the responder agent. At step 1812, a sensing responder capability response in response to the sensing responder capability query may be provided by the responder agent. At step 1814, a sensing responder capability update may be provided by the responder agent. At step 1816, a sensing result query may be provided by sensing consuming agent 548 to Wi-Fi system 500. At step 1818, a sensing result response in response to the sensing result query may be provided by the algorithm agent to the sensing consuming agent 548.

[0256] Step 1802 includes providing, by the algorithm agent to Wi-Fi system 500, a sensing initiator query. According to an implementation, the algorithm agent may be configured to provide or transmit the sensing initiator query to Wi-Fi system 500. In an implementation, the algorithm agent may be implemented by a sensing algorithm manager configured to transmit the sensing initiator query. In an example, the algorithm agent may be first algorithm agent 518-1 implemented by first sensing algorithm manager 502-1. In some examples, the algorithm agent may be second algorithm agent 518-2 implemented by second sensing algorithm manager 502-2.

[0257] Step 1804 includes providing, by the initiator agent, a sensing initiator response in response to the sensing initiator query. According to an implementation, the initiator agent may be configured to provide or transmit the sensing initiator response in response to the sensing initiator query. According to an example, the initiator agent may be implemented by a sensing initiator device. In an example, the initiator agent may be first initiator agent 528-1 implemented by first sensing initiator device 504-1. In some examples, the initiator agent may be second initiator agent 528-2 implemented by second sensing initiator device 504-2. In an implementation, the sensing initiator response may include at least one of sensing responder information indicating sensing responder devices available to the sensing initiator device instantiating the initiator agent for a sensing measurement campaign, sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign, and sensing measurement campaign information indicating types of sensing measurement campaigns supported by the sensing initiator device instantiating the initiator agent. In some implementations, the algorithm agent and the initiator agent are both implemented by a same sensing initiator device. [0258] Step 1806 includes providing, by the initiator agent to Wi-Fi system 500, a sensing responder presence query. According to an implementation, the initiator agent may be configured to provide or transmit the sensing responder presence query to Wi-Fi system 500.

[0259] Step 1808 includes providing, by the responder agent, a sensing responder presence response in response to the sensing responder presence query. According to an implementation, the responder agent may be configured to provide the sensing responder presence response in response to the sensing responder presence query. In an implementation, the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response. In an example, the responder agent may be first responder agent 538-1 implemented by first sensing responder device 506-1. In some examples, the responder agent may be second responder agent 538-2 implemented by second sensing responder device 506-2.

[0260] Step 1810 includes providing, by the initiator agent to the responder agent, the sensing responder capability query. In an implementation, the initiator agent may be configured to transmit or provide the sensing responder capability query to the responder agent. According to an implementation, the initiator agent is implemented by the sensing initiator device configured to transmit the sensing initiator response, the sensing responder presence query, and the sensing responder capability query.

[0261 ] Step 1812 includes providing, by the responder agent, the sensing responder capability response in response to the sensing responder capability query. In an implementation, the responder agent may be configured to transmit or provide the sensing responder capability response in response to the sensing responder capability query. In an implementation, the responder agent may be implemented by the sensing responder device configured to transmit the sensing responder capability response. According to an implementation, one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response may comply with the DNS-SD standard.

[0262] Step 1814 includes providing, by the responder agent, the sensing responder capability update. According to an implementation, the responder agent may provide the sensing responder capability update.

[0263] Step 1816 includes providing, by sensing consuming agent 548 to Wi-Fi system 500, the sensing result query. According to an implementation, sensing consuming agent 548 may provide the sensing result query to Wi-Fi system 500. In an implementation, sensing consuming agent 548 may be implemented by sensing consuming device 508.

[0264] Step 1818 includes providing, by the algorithm agent to sensing consuming agent 548, the sensing result response in response to the sensing result query. According to an implementation, the algorithm agent may provide the sensing result response to sensing consuming agent 548 in response to the sensing result query. In an example, the sensing result response may include an indication of availability of all sensing results available to the algorithm agent. In some examples, the sensing result response may include an indication of availability of sensing results contributed by activities of sensing consuming device 508.

[0265] According to some implementations, Wi-Fi system 500 may include a plurality of networked devices. Wi-Fi system 500 may be configured to implement a plurality of responder agents, where the plurality of responder agents include the responder agent. In an implementation, the plurality of responder agents may be instantiated by a plurality of sensing responder devices. According to an implementation, the initiator agent may be configured to determine a classification of each of the plurality of sensing responder devices as associated or unassociated and as active or inactive, based on corresponding sensing responder presence responses.

[0266] FIG. 19A and FIG. 19B depict flowchart 1900 for providing, by an initiator agent, sensing measurements in response to a query for sensing measurements to sensing consuming agent 548, according to some embodiments.

[0267] In a brief overview of an implementation of flowchart 1900, at step 1902, a sensing initiator query may be provided by an algorithm agent to Wi-Fi system 500. At step 1904, a sensing initiator response in response to the sensing initiator query may be provided by the initiator agent. At step 1906, a sensing responder presence query may be provided by the initiator agent to Wi-Fi system 500. At step 1908, a sensing responder presence response in response to the sensing responder presence query may be provided by a responder agent. At step 1910, a sensing responder capability query may be provided by the initiator agent to the responder agent. At step 1912, a sensing responder capability response in response to the sensing responder capability query may be provided by the responder agent. At step 1914, a query for sensing measurements may be provided by sensing consuming agent 548 to Wi-Fi system 500. At step 1916, sensing measurements may be provided by the initiator agent to sensing consuming agent 548 in response to the query for sensing measurements.

[0268] Step 1902 includes providing, by the algorithm agent to Wi-Fi system 500, the sensing initiator query. According to an implementation, the algorithm agent may be configured to provide or transmit the sensing initiator query to Wi-Fi system 500. In an implementation, the algorithm agent may be implemented by a sensing algorithm manager configured to transmit the sensing initiator query. In an example, the algorithm agent may be first algorithm agent 518-1 implemented by first sensing algorithm manager 502-1. In some examples, the algorithm agent may be second algorithm agent 518-2 implemented by second sensing algorithm manager 502-2.

[0269] Step 1904 includes providing, by the initiator agent, the sensing initiator response in response to the sensing initiator query. According to an implementation, the initiator agent may be configured to provide or transmit the sensing initiator response in response to the sensing initiator query. According to an example, the initiator agent may be implemented by a sensing initiator device. In an example, the initiator agent may be first initiator agent 528-1 implemented by first sensing initiator device 504-1. In some examples, the initiator agent may be second initiator agent 528-2 implemented by second sensing initiator device 504-2. In an implementation, the sensing initiator response may include at least one of sensing responder information indicating sensing responder devices available to the sensing initiator device instantiating the initiator agent for a sensing measurement campaign, sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign, and sensing measurement campaign information indicating types of sensing measurement campaigns supported by the sensing initiator device instantiating the initiator agent. In some implementations, the algorithm agent and the initiator agent are both implemented by a same sensing initiator device. [0270] Step 1906 includes providing, by the initiator agent to Wi-Fi system 500, the sensing responder presence query. According to an implementation, the initiator agent may be configured to provide or transmit the sensing responder presence query to Wi-Fi system 500.

[0271] Step 1908 includes providing, by the responder agent, the sensing responder presence response in response to the sensing responder presence query. According to an implementation, the responder agent may be configured to provide the sensing responder presence response in response to the sensing responder presence query. In an implementation, the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response. In an example, the responder agent may be first responder agent 538-1 implemented by first sensing responder device 506-1. In some examples, the responder agent may be second responder agent 538-2 implemented by second sensing responder device 506-2.

[0272] Step 1910 includes providing, by the initiator agent to the responder agent, the sensing responder capability query. In an implementation, the initiator agent may be configured to transmit or provide the sensing responder capability query to the responder agent. According to an implementation, the initiator agent is implemented by the sensing initiator device configured to transmit the sensing initiator response, the responder presence query, and the sensing responder capability query.

[0273] Step 1912 includes providing, by the responder agent, the sensing responder capability response in response to the sensing responder capability query. In an implementation, the responder agent may be configured to transmit or provide the sensing responder capability response in response to the sensing responder capability query. In an implementation, the responder agent may be implemented by the sensing responder device configured to transmit the sensing responder capability response. According to an implementation, one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response may comply with the DNS-SD standard.

[0274] Step 1914 includes providing, by sensing consuming agent 548 to Wi-Fi system 500, the query for sensing measurements. According to an implementation, sensing consuming agent 548 may provide the query for sensing measurements to Wi-Fi system 500. In an implementation, sensing consuming agent 548 may be implemented by sensing consuming device 508.

[0275] Step 1916 includes providing, by the initiator agent to sensing consuming agent 548, the sensing measurements in response to the query for sensing measurements. According to an implementation, the initiator agent may be configured to provide the sensing measurements in response to the query for sensing measurements to sensing consuming agent 548.

[0276] FIG. 20A and FIG. 20B depict flowchart 2000 for providing, by a responder agent, a sensing responder capability response in response to a first sensing responder capability query, according to some embodiments.

[0277] In a brief overview of an implementation of flowchart 2000, at step 2002, a sensing initiator query may be provided by an algorithm agent to Wi-Fi system 500. At step 2004, a first sensing initiator response in response to the sensing initiator query may be provided by first initiator agent 528-1. At step 2006, a second sensing initiator response in response to the sensing initiator query may be provided by second initiator agent 528-2. At step 2008, a first sensing responder presence query may be provided by first initiator agent 528-1 to Wi-Fi system 500. At step 2010, a sensing responder presence response may be provided by a responder agent in response to the first sensing responder presence query. At step 2012, a first sensing responder capability query may be provided by first initiator agent 528-1 to the responder agent. At step 2014, a sensing responder capability response in response to the first sensing responder capability query may be provided by the responder agent.

[0278] Step 2002 includes providing, by the algorithm agent to Wi-Fi system 500, a sensing initiator query. According to an implementation, the algorithm agent may be configured to provide or transmit the sensing initiator query to Wi-Fi system 500. In an implementation, the algorithm agent may be implemented by a sensing algorithm manager configured to transmit the sensing initiator query. In an example, the algorithm agent may be first algorithm agent 518-1 implemented by first sensing algorithm manager 502-1. In some examples, the algorithm agent may be second algorithm agent 518-2 implemented by second sensing algorithm manager 502-2. [0279] Step 2004 includes providing, by first initiator agent 528-1, the first sensing initiator response in response to the sensing initiator query. According to an implementation, first initiator agent 528-1 may be configured to provide or transmit the first sensing initiator response in response to the sensing initiator query. According to an example, first initiator agent 528-1 may be implemented by first sensing initiator device 504-1.

[0280] Step 2006 includes providing, by second initiator agent 528-2, the second sensing initiator response in response to the sensing initiator query. According to an implementation, second initiator agent 528-2 may be configured to provide or transmit the second sensing initiator response in response to the sensing initiator query. According to an example, second initiator agent 528-1 may be implemented by second sensing initiator device 504-2.

[0281] Step 2008 includes providing, by first initiator agent 528-1 to Wi-Fi system 500, the first sensing responder presence query. According to an implementation, first initiator agent 528- 1 may be configured to provide or transmit the first sensing responder presence query to Wi-Fi system 500.

[0282] Step 2010 includes providing, by the responder agent, the sensing responder presence response in response to the first sensing responder presence query. According to an implementation, the responder agent may be configured to provide the sensing responder presence response in response to the first sensing responder presence query. In an implementation, the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response. In an example, the responder agent may be first responder agent 538- 1 implemented by first sensing responder device 506-1. In some examples, the responder agent may be second responder agent 538-2 implemented by second sensing responder device 506-2.

[0283] Step 2012 includes providing, by first initiator agent 528-1 to the responder agent, the first sensing responder capability query. In an implementation, first initiator agent 528-1 may be configured to transmit or provide the first sensing responder capability query to the responder agent. According to an implementation, first initiator agent 528-1 is implemented by first sensing initiator device 504-1 configured to transmit the first sensing initiator response, the first responder presence query, and the first sensing responder capability query.

[0284] Step 2014 includes providing, by the responder agent, the sensing responder capability response in response to the first sensing responder capability query. In an implementation, the responder agent may be configured to transmit or provide the sensing responder capability response in response to the first sensing responder capability query. In an implementation, the responder agent may be implemented by the sensing responder device configured to transmit the first sensing responder capability response.

[0285] FIG. 21 A and FIG. 21B depict flowchart 2100 for electing, by second responder agent 538-2, to not respond to a sensing responder discovery request, according to some embodiments. [0286] In a brief overview of an implementation of flowchart 2100, at step 2102, a sensing initiator query is provided by an algorithm agent to Wi-Fi system 500. At step 2104, the sensing initiator query may be received by first initiator agent 528-1. At step 2106, a first sensing initiator response in response to the sensing initiator query may be provided by first initiator agent 528-1. At step 2108, the sensing initiator query may be received by second initiator agent 528-2. At step 2110, second initiator agent 528-2 may elect to not respond to the sensing initiator query. At step 2112, a sensing responder discovery request may be provided by first initiator agent 528-1 to WiFi system 500. At step 2114, a sensing responder discovery request may be received by first responder agent 538-1. At step 2116, a sensing responder discovery response in response to the sensing responder discovery request may be provided by first responder agent 538-1. At step 2118, a sensing responder discovery request may be received by second responder agent 538-2. At step 2120, second responder agent 538-2 may elect to not respond to the sensing responder discovery request.

[0287] Step 2102 includes providing, by the algorithm agent to Wi-Fi system 500, the sensing initiator query. According to an implementation, the algorithm agent may be configured to provide or transmit the sensing initiator query to Wi-Fi system 500. In an implementation, the algorithm agent may be implemented by a sensing algorithm manager configured to transmit the sensing initiator query. In an example, the algorithm agent may be first algorithm agent 518-1 implemented by first sensing algorithm manager 502-1. In some examples, the algorithm agent may be second algorithm agent 518-2 implemented by second sensing algorithm manager 502-2.

[0288] Step 2104 includes receiving, by first initiator agent 528-1, the sensing initiator query. According to an implementation, first initiator agent 528-1 may be configured to receive the sensing initiator query. In an implementation, first initiator agent 528-1 may be implemented by first sensing initiator device 504-1.

[0289] Step 2106 includes providing, by first initiator agent 528-1, the first sensing initiator response in response to the sensing initiator query. According to an implementation, first initiator agent 528-1 may be configured to provide or transmit the first sensing initiator response in response to the sensing initiator query.

[0290] Step 2108 includes receiving, by second initiator agent 528-2, the sensing initiator query. According to an implementation, second initiator agent 528-2 may be configured to receive the sensing initiator query. In an implementation, second initiator agent 528-2 may be implemented by second sensing initiator device 504-2.

[0291] Step 2110 includes electing, by second initiator agent 528-2, to not respond to the sensing initiator query. In an implementation, second initiator agent 528-2 may elect to not respond to the sensing initiator query.

[0292] Step 2112 includes providing, by first initiator agent 528-1 to Wi-Fi system 500, the sensing responder discovery request. In an implementation, first initiator agent 528-1 may provide the sensing responder discovery request to Wi-Fi system 500. In an example, sensing responder discovery request may include a sensing responder presence query and a sensing responder capabilities query. In an implementation, first initiator agent 528-1 may transmit the sensing responder presence query and the sensing responder capabilities query together as the sensing responder discovery request.

[0293] Step 2114 includes receiving, by first responder agent 538-1, the sensing responder discovery request. According to an implementation, first responder agent 538-1 may receive the sensing responder discovery request.

[0294] Step 2116 includes providing, by first responder agent 538-1, the sensing responder discovery response in response to the sensing responder discovery request. According to an implementation, first responder agent 538-1 may provide the sensing responder discovery response in response to the sensing responder discovery request. In an example, the sensing responder discovery response may include a sensing responder presence response and a sensing responder capability response. In an implementation, first responder agent 538-1 may transmit the sensing responder presence response and the sensing responder capability response together as the sensing responder discovery response.

[0295] Step 2118 includes receiving, by second responder agent 538-2, the sensing responder discovery request. According to an implementation, second responder agent 538-2 may receive the sensing responder discovery request. [0296] Step 2120 includes electing, by second responder agent 538-2, to not respond to the sensing responder discovery request. According to an implementation, second responder agent 538-2 may elect to not respond the sensing responder discovery request.

[0297] Embodiment 1 is a method for Wi-Fi sensing carried out by a Wi-Fi system including a plurality of networked devices. The networked devices being configured to implement an algorithm agent, an initiator agent, and a responder agent. The method comprises: providing, by the algorithm agent to the Wi-Fi system, a sensing initiator query; providing, by the initiator agent, a sensing initiator response in response to the sensing initiator query; providing, by the initiator agent to the Wi-Fi system, a sensing responder presence query; providing, by the responder agent, a sensing responder presence response in response to the sensing responder presence query; providing, by the initiator agent to the responder agent, a sensing responder capability query; and providing, by the responder agent, a sensing responder capability response in response to the sensing responder capability query.

[0298] Embodiment 2 is the method of embodiment 1, wherein the plurality of networked devices further includes a sensing consuming device configured to implement a sensing consuming agent, the method further comprising: providing, by the sensing consuming agent to the Wi-Fi system, a sensing result query; and providing, by the algorithm agent to the sensing consuming agent, a sensing result response in response to the sensing result query.

[0299] Embodiment 3 is the method of embodiment 2, wherein the sensing result response includes an indication of availability of all sensing results available to the algorithm agent.

[0300] Embodiment 4 is the method of embodiment 2 or 3, wherein the sensing result response includes an indication of availability of sensing results contributed by activities of the sensing consuming device.

[0301] Embodiment 5 is the method of any of embodiments 1-4, wherein the plurality of networked devices further includes a sensing consuming device, the method further comprising: providing, by the sensing consuming agent to the Wi-Fi system, a query for sensing measurements; and providing, by the initiator agent to the sensing consuming agent, sensing measurements in response to the query for sensing measurements.

[0302] Embodiment 6 is the method of any of embodiment 1-5, wherein the sensing initiator response includes at least one of: sensing responder information indicating sensing responder devices available to a sensing initiator device instantiating the initiator agent for a sensing measurement campaign, sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign, and sensing measurement campaign information indicating types of sensing measurement campaigns supported by the sensing initiator device instantiating the initiator agent.

[0303] Embodiment 7 is the method of any of embodiments 1-6, wherein the sensing responder presence query and the sensing responder capability query are transmitted together as a sensing responder discovery request.

[0304] Embodiment 8 is the method of embodiment 7, wherein the sensing responder presence response and the sensing responder capability response are transmitted together as a sensing responder discovery response in response to the sensing responder discovery request.

[0305] Embodiment 9 is the method of any of embodiments 1-8, wherein the initiator agent is a first initiator agent and the plurality of networked devices are configured to implement a second initiator agent, the method further comprising: providing, by the second initiator agent, a second sensing initiator response in response to the sensing initiator query.

[0306] Embodiment 10 is the method of any of embodiment 1-9, wherein the initiator agent is a first initiator agent and the plurality of networked devices are configured to implement a second initiator agent, the method further comprising: receiving, by the second initiator agent, the sensing initiator query; and electing, by the second initiator agent, to not response to the sensing initiator query.

[0307] Embodiment 11 is the method of any of embodiments 1-10, wherein the responder agent is a first responder agent and the plurality of networked devices are configured to implement a second responder agent, the method further comprising: receiving, by the second responder agent, the sensing responder presence query; and electing, by the responder agent, to not respond to the sensing responder presence query.

[0308] Embodiment 12 is the method of any of embodiments 1-11, wherein the plurality of networked devices are configured to implement a plurality of responder agents, the plurality of responder agents including the responder agent, wherein the plurality of responder agents are instantiated by a plurality of sensing responder devices, and wherein the initiator agent determines a classification of each of the plurality of sensing responder devices as associated or unassociated and as active or inactive, based on corresponding sensing responder presence responses. [0309] Embodiment 13 is the method of any of embodiments 1-12, wherein one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response comply with a domain name system-service discovery (DNS-SD) standard.

[0310] Embodiment 14 is the method of any of embodiments 1-13, wherein the algorithm agent is implemented by a sensing algorithm manager configured to transmit the sensing initiator query.

[0311] Embodiment 15 is the method of any of embodiments 1-14, wherein the initiator agent is implemented by a sensing initiator device configured to transmit the sensing initiator response, the sensing responder presence query, and the sensing responder capability query.

[0312] Embodiment 16 is the method of any of embodiments 1-15, wherein the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response and the sensing responder capability response.

[0313] Embodiment 17 is the method of any of embodiments 1-16, wherein the algorithm agent and the initiator agent are both implemented by a same sensing initiator device.

[0314] Embodiment 18 is the method of any of embodiments 1-17, further comprising providing, by the responder agent, a sensing responder capability update.

[0315] Embodiment 19 is a system for Wi-Fi sensing. The system comprises a plurality of networked devices including a respective plurality of processors, the plurality of processors being configured to execute software instructions for: an algorithm agent configured for providing, to the Wi-Fi system, a sensing initiator query; an initiator agent configured for: providing a sensing initiator response in response to the sensing initiator query, providing, to the Wi-Fi system, a sensing responder presence query, and providing, to a responder agent, a sensing responder capability query; and the responder agent configured for: providing a sensing responder presence response in response to the sensing responder presence query, and providing a sensing responder capability response in response to the sensing responder capability query.

[0316] Embodiment 20 is the system of embodiment 19, wherein the plurality of networked devices further includes a sensing consuming device configured for: implementing a sensing consuming agent, and providing, to the Wi-Fi system, a sensing result query; and wherein the algorithm agent is further configured for providing, to the sensing consuming agent, a sensing result response in response to the sensing result query.

[0317] Embodiment 21 is the system of embodiment 20, wherein the sensing result response includes an indication of availability of all sensing results available to the algorithm agent.

[0318] Embodiment 22 is the system of embodiment 20 or 21, wherein the sensing result response includes an indication of availability of sensing results contributed by activities of the sensing consuming device.

[0319] Embodiment 23 is the system of any of embodiments 19-22, wherein the plurality of networked devices further includes a sensing consuming device configured for: implementing a sensing consuming agent, and providing, to the Wi-Fi system, a query for sensing measurements; and wherein the initiator agent is further configured for providing, to the sensing consuming agent, sensing measurements in response to the query for sensing measurements.

[0320] Embodiment 24 is the system of any of embodiments 19-23, wherein the sensing initiator response includes at least one of: sensing responder information indicating sensing responder devices available to a sensing initiator device instantiating the initiator agent for a sensing measurement campaign, sensing responder information indicating active sensing responder devices participating in a current sensing measurement campaign, and sensing measurement campaign information indicating types of sensing measurement campaigns supported by the sensing initiator device instantiating the initiator agent.

[0321] Embodiment 25 is the system of any of embodiments 19-24, wherein the sensing responder presence query and the sensing responder capability query are transmitted together as a sensing responder discovery request.

[0322] Embodiment 26 is the system of embodiment 25, wherein the sensing responder presence response and the sensing responder capability response are transmitted together as a sensing responder discovery response in response to the sensing responder discovery request.

[0323] Embodiment 27 is the system of any of embodiments 19-26, wherein the initiator agent is a first initiator agent and the plurality of processors are further configured to: implement a second initiator agent configured for providing a second sensing initiator response in response to the sensing initiator query.

[0324] Embodiment 28 is the system of any of embodiments 19-27, wherein the initiator agent is a first initiator agent and the plurality of processors are further configured to implement a second initiator agent configured for: receiving the sensing initiator query, and electing to not respond to the sensing initiator query.

[0325] Embodiment 29 is the system of any of embodiments 19-28, wherein the responder agent is a first responder agent and the plurality of processors are further configured to implement a second responder agent configured for: receiving the sensing responder presence query; and electing to not respond to the sensing responder presence query.

[0326] Embodiment 30 is the system of any of embodiments 19-29, wherein the plurality of processors are configured to implement a plurality of responder agents, the plurality of responder agents including the responder agent, wherein the plurality of responder agents are instantiated by a plurality of sensing responder devices, and wherein the initiator agent determines a classification of each of the plurality of sensing responder devices as associated or unassociated and as active or inactive, based on corresponding sensing responder presence responses.

[0327] Embodiment 31 is the system of any of embodiments 19-30, wherein one or more of the sensing initiator query, the sensing initiator response, the sensing responder presence query, the sensing responder presence response, the sensing responder capability query, and the sensing responder capability response comply with a domain name system-service discovery (DNS-SD) standard.

[0328] Embodiment 32 is the system of any of embodiments 19-31, wherein the algorithm agent is implemented by a sensing algorithm manager configured to transmit the sensing initiator query.

[0329] Embodiment 33 is the system of any of embodiments 19-32, wherein the initiator agent is implemented by a sensing initiator device configured to transmit the sensing initiator response, the sensing responder presence query, and the sensing responder capability query.

[0330] Embodiment 34 is the system of any of embodiments 19-33, wherein the responder agent is implemented by a sensing responder device configured to transmit the sensing responder presence response and the sensing responder capability response.

[0331] Embodiment 35 is the system of any of embodiments 19-34, wherein the algorithm agent and the initiator agent are both implemented by a same sensing initiator device.

[0332] Embodiment 36 is the system of any of embodiments 19-35, further comprising providing, by the responder agent, a sensing responder capability update. [0333] While various embodiments of the methods and systems have been described, these embodiments are illustrative and in no way limit the scope of the described methods or systems. Those having skill in the relevant art can effect changes to form and details of the described methods and systems without departing from the broadest scope of the described methods and systems. Thus, the scope of the methods and systems described herein should not be limited by any of the illustrative embodiments and should be defined in accordance with the accompanying claims and their equivalents.