Ranging by a network device during a beacon interval

By performing distance measurements during beacon intervals, the network device efficiently locates APs with minimal communication disruption, enhancing accuracy and reliability in AP positioning.

DE102022109130B4Active Publication Date: 2026-05-21HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
HEWLETT PACKARD ENTERPRISE DEV LP
Filing Date
2022-04-13
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Existing methods for automatically locating access points (APs) in a network face inefficiencies due to increased transmission time overhead and interruptions in communication when network topology changes, as they require sequential distance measurements between individual AP pairs.

Method used

A network device performs distance measurements during a beacon interval by discovering multiple APs capable of distance measurement, selecting the AP with the strongest received signal, and initiating distance measurements during a subsequent beacon interval, minimizing transmission time overhead and interruptions.

Benefits of technology

This approach reduces transmission time overhead and minimizes communication interruptions, improving the accuracy and reliability of AP location determination by allowing distance measurements during periods when the network device is not communicating with client devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A procedure (400) comprising the following: Detect (410) by a network device (100) during a first beacon interval, a plurality of access points (APs) on a first channel capable of ranging and receiving signal measurement from each of the plurality of APs on the first channel; Determine, by the network device, a set of APs from the multitude of APs on the first channel that have not yet performed ranging; Select (415), by the network device, one AP with the strongest received signal measurement among the set of APs on the first channel; Determine (420) through the network device whether the selected AP is available for ranging; Based on a determination that the selected AP is available for ranging, the network device initiates (425) ranging measurements with the selected AP on the first channel during a second beacon interval to produce a ranging result; based on the ranging result, Determine (430), by the network device, of locations of the plurality of APs on the first channel, wherein determining the locations of the plurality of APs on the first channel includes estimating the locations of the plurality of APs on the first channel on an AP map.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is related to a jointly filed US application entitled ‘COORDINATED RANGING BETWEEN ACCESS POINTS IN A NETWORK’, which was filed on December 2, 2021 (US Application Serial Number 17 / 541,872), which has the invention reference number 90955461 and is assigned to Hewlett Packard Enterprise Development LP. BACKGROUND

[0002] Generally, one or more access points (APs) can be set up in a wireless local area network (WLAN). Communication devices such as laptops, personal computers, smartphones, etc., can connect to the WLAN to exchange data within the network. These devices can send ranging requests to the one or more APs.

[0003] Ranging techniques like the Fine Timing Measurement (FTM) protocol have become prevalent due to the broad compatibility between access points (APs) and communication devices. The FTM protocol typically involves the exchange of messages between APs and communication devices. From these messages, a flight time, round-trip time, etc., is derived, which is used to determine the position of the communication device relative to the AP. For example, the flight time can be defined as the total time the signals take to travel from the AP to a client device (such as the communication device) and back again. Based on the flight time information, the distance between the AP and the client device can be determined.

[0004] WO 2018 / 200 084 A1 describes a method on an access point that can, for the first time, determine the availability of the access point (AP) for positioning and, at least partially based on this determination, transmit information indicating the AP's availability for positioning. The transmitted information may include one or more of the following: STA-AP positioning availability, STA-AP positioning capability, whether AP-AP positioning is being performed, and / or the next scheduled AP-AP distance measurement. In some embodiments of WO 2018 / 200 084 A1, a station (STA) can initiate a positioning procedure to determine its location, at least partially, based on positioning availability indicators from one or more access points (APs) communicatively connected to the station.Each availability indicator can correspond to a specific AP of one or more APs, and the location determination can include either STA-AP location determination or passive location determination.

[0005] DE 10 2021 103 435 A1 relates to the automatic localization of access points in a network. An embodiment of DE 10 2021 103 435 A1, comprising one or more non-transitory, computer-readable storage media, includes instructions for transmitting a request from a computing device to multiple access points in a network to determine a distance between each pair of access points; receiving the determined distances between each pair of access points at the computing device; generating a proximity matrix containing the determined distances between each pair of access points; solving the proximity matrix to automatically generate a set of locations for the multiple access points; and aligning the generated set of locations for the multiple access points based on known locations of one or more anchor points in a subset of the access points. SHORT DESCRIPTION

[0006] A method according to claims 1 to 14, a network device according to claims 15 to 18 and a non-transitory, machine-readable storage medium according to claims 19 and 20 are disclosed. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Various features and advantages of the invention will become apparent from the following description of exemplary embodiments of the invention, which is given with reference to the accompanying drawings, of which: Fig. This is a block diagram of an example network device for providing range between APs in a network during a beacon interval. Fig. shows a block diagram for an example system to provide range between APs in a network during a beacon interval. Fig. shows a block diagram for an example system to provide range between APs in a network during a beacon interval. Fig. This is a flowchart of an example procedure for providing range between APs in a network during a beacon interval. Fig. This is a flowchart of an example procedure for providing range between APs in a network during a beacon interval. Fig. This is a flowchart of an example procedure for providing range between APs in a network during a beacon interval. Fig. This is a flowchart of an example procedure for providing range between APs in a network during a beacon interval. Fig. is a block diagram of an example computer system in which various embodiments described here for providing range between APs in a network during a beacon interval can be implemented. DETAILED DESCRIPTION

[0008] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and in the following description to indicate identical or similar parts. However, it is expressly stated that the drawings are for illustration and description purposes only. Although several examples are described in this document, modifications, adaptations, and other embodiments are possible. Accordingly, the following detailed description does not limit the disclosed examples. Instead, the proper scope of the disclosed examples can be defined by the accompanying claims.

[0009] Recently, there have been efforts to automatically locate access points (APs) within a network, for example, on a visual floor plan of the network. Such automatic AP location is advantageous compared to manual AP location, as manual AP location can be an error-prone process. For example, when manually locating APs within a network, the location of an AP might be measured or entered incorrectly, or an AP might be moved or taken out of service.

[0010] To support automatic access point (AP) location, APs must exchange packets with neighboring APs and then measure the round-trip time (RTT) of this packet exchange to estimate the range of the APs to their respective neighbors. Sequentially performing distance measurements between individual AP pairs can lead to increased transmit time overhead, as a significant portion of the available transmit time is used for distance measurement between the APs. Furthermore, distance measurement methods typically do not allow APs to resume distance measurement when the network topology changes (e.g., when APs are added to or removed from the network) without interrupting communication between the APs and the client devices connected to them.Therefore, there is a need for efficient range between APs in a network that minimizes the transmission time overhead and interruptions in communication between the APs and the client devices when the network topology changes.

[0011] To solve these problems, the examples described here provide distance measurement by a network device during a beacon interval. The examples described herein allow a network device, during a first beacon interval, to discover a multitude of access points (APs) in a network capable of distance measurement and to measure the received signal from each of these APs. The examples described herein allow the network device to select the AP with the strongest received signal measurement from among the multitude of APs, determine whether the selected AP is available for distance measurement, and, based on this determination, initiate distance measurements with the selected AP during a second beacon interval to generate a distance measurement result.The examples described here can resolve the locations of multiple APs based on the ranging result.

[0012] In this way, the examples described herein provide distance measurement by a network device during a beacon interval, reducing the transmission time overhead for performing the distance measurement and minimizing interruptions in communication between the network device and client devices when there are changes in the network topology. For example, the examples described here allow the network device to discover a multitude of access points (APs) in a network during an initial beacon interval. These APs are capable of distance measurement and of measuring the received signal from each of the multitude, enabling the network device to discover the multitude of APs during a period (the initial beacon interval) when the network device is not communicating with a multitude of client devices (e.g., when the network device is not transmitting a multitude of beacons to the client devices).Furthermore, in the examples described here, during a second beacon interval, the network device can initiate distance measurements with the selected access point (AP) exhibiting the strongest received signal among the multiple APs. This allows for distance measurement between the network device and the selected AP during a period (the second beacon interval) when the network device is not communicating with multiple client devices. Moreover, in such examples, the network device initiates the distance measurement with the selected AP exhibiting the strongest received signal among the multiple APs. This increases the likelihood of generating a high-quality ranging result and improves the reliability (e.g., accuracy) of determining the location of the multiple APs based on the ranging result. Network device

[0013] Fig. Figure 1 shows a block diagram of an exemplary network device 100 for providing distance measurement during a beacon interval. The network device 100 includes at least one processing resource 110 and at least one machine-readable storage medium 120, which includes at least AP detection instructions 122, AP selection instructions 124, and commands to initiate distance measurement 126 (e.g., encoded with).

[0014] In the example of Fig. Network device 100 can perform any network data transmission operations, including but not limited to switching, routing, bridging, or a combination thereof. Furthermore, network device 100 can include a wireless access point (WAP). In the examples described here, a "WAP" generally refers to receiving points for any known or suitable wireless access technology that may later become known. In particular, the term WAP is not limited to WAPs that conform to the IEEE 802.11 (Institute of Electrical and Electronics Engineers) standards. A WAP is generally an electronic device that enables wireless devices to connect to a wired network using various communication standards.A WAP can contain all the necessary hardware components to implement the inventions disclosed herein, including, but not limited to: processors, memory, display devices, input devices, communication devices, etc. It is understood that the network device 100 can comprise any suitable type of network device from any suitable manufacturer.

[0015] In the example of Fig. The network device 100 includes at least one radio (not shown) for communicating with one or more client devices (e.g., communication devices), one or more other network devices (e.g., access points), one or more computer devices, or a combination thereof. The radio(s) can generate a signal in one or more frequency bands, process a signal in one or more frequency bands, or a combination thereof. The radio(s) of the network device 100 can operate in any suitable frequency band and conform to any suitable type of wireless communication standard known today or developed hereafter. For example, one or more radios of the network device 100 can operate on one or more channels in the 2.4 GHz band and / or the 5 GHz band according to IEEE 802.11ac and / or 802.11ax standards.In addition, the network device can contain 100 one, two, or any other suitable number of radio devices.

[0016] In the example of Fig. The network device 100 can be configured (e.g., encoded with instructions that can be executed by at least one processing resource 110) to receive network requests 150 from a network via network path(s) 140. Network path(s) 140 can include any suitable connection(s) 142 (e.g., wired or wireless, direct or indirect, etc.) between the network device 100 and a network. The network request(s) 150 can contain any suitable instructions to direct the network device 100 to perform a measurement operation during a beacon interval. For example, the network request(s) 150 can contain instructions to direct the network device 100 to execute AP discover instructions 122, AP select instructions 124, and commands to initiate range 126.

[0017] In the examples described here, a "network path" can comprise a combination of hardware (e.g., interfaces, connections, etc.) and instructions (e.g., executable by a processing resource) to transmit (e.g., receive, send) a command (e.g., a network request 150) to an external resource (e.g., a computer device, a server, a cloud computing resource, etc.) that is connected to the network.

[0018] In the example of Fig. The network device 100 can be configured (e.g., encoded with instructions that can be executed by at least one processing resource 110) to send or receive communication signals 170 over communication paths 160 to perform a distance measurement during a beacon interval. The communication path(s) 160 can include any suitable connection(s) 162 (e.g., wired or wireless, direct or indirect, etc.) between the network device 100 and one or more other network devices (e.g., access points), one or more client devices (e.g., communication devices), or a combination thereof. The communication signal(s) 170 can contain any suitable instructions for the network device 100 to perform a distance measurement during a beacon interval (e.g.,to carry out instructions for discovering APs 122, instructions for selecting APs 124 and instructions for initiating distance measurement 126).

[0019] In the examples described here, a "communication path" can include a combination of hardware (e.g., interfaces, connections, etc.) and instructions (e.g., executable by a processing resource) to communicate a command to one or more network devices, one or more client devices, or a combination thereof (e.g., to receive, send).

[0020] In the example of Fig. Network device 100 can communicate with one or more other network devices (e.g., access points) and / or one or more client devices (e.g., communication devices) connected to network device 100 (e.g., via connections 162). For example, one or more communication devices, such as a laptop, a desktop computer, a mobile device, and / or other wireless devices, etc., can be connected to network device 100. In the examples described here, a "mobile device" refers to a device that is carried (or can be carried) by a user and / or worn on the body. A mobile device could be, for example, a telephone (e.g., a smartphone), a tablet, a personal digital assistant (PDA), smart glasses, and / or a wrist-worn device (e.g., a smartwatch), among other types of mobile devices.The network device 100 can communicate with one or more other network devices and / or one or more client devices via a radio device.

[0021] In the example of Fig. Network device 100 can communicate with one or more computer devices connected to it (e.g., via connections 142). For example, one or more computer devices such as a gateway router, a WLAN (Wireless Local Area Network) controller, a switch, a server, etc., can be connected to network device 100. Network device 100 can communicate with one or more computer devices via a radio. Ranging during a beacon interval

[0022] With reference to Fig. In some examples, a flowchart is presented that shows a procedure 400 for acquisition by a network device during a beacon interval. Although the execution of procedure 400 is described below with reference to the network device 100 of Fig. As described, any suitable network device can be used to execute Procedure 400. Furthermore, the implementation of Procedure 400 is not limited to such examples. While Procedure blocks 405 through 430 are shown in Procedure 400, Procedure 400 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Fig. The blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 400 may be performed in combination with one or more blocks of Procedures 500, 600, and 700. Likewise, some of the blocks shown in Procedure 400 may be omitted without being contrary to the spirit and scope of this revelation.

[0023] In block 405, method 400 can include transmitting a plurality of beacons with a beacon interval between each pair of the plurality of beacons. Referring to network device 100 of Fig. The network device 100, when executed by the processing resource 110, can include instructions for transmitting a plurality of beacons with a beacon interval between each pair of the plurality of beacons.

[0024] As used herein, a "beacon" (i.e., a beacon frame) refers to a management frame sent by a network device (e.g., Network Device 100) that contains information about a network which a station (e.g., a client device, another network device, etc.) needs to communicate with the network device on the network (e.g., to send a frame). A beacon can have a frame format according to the IEEE 802.11 standards. For example, a beacon can contain an IEEE 802.11 MAC (Media Access Control) header, a body, and a Frame Check Sequence (FCS). The body of the beacon can contain a timestamp, a beacon interval, a type field indicating information about the network's capabilities (e.g.,(whether it is an infrastructure-based or an ad-hoc network), Service Set Identifiers (SSIDs), supported transmission rates, a Frequency Hopping (FH) parameter set, a Direct Sequence (DS) parameter set, a Contention-Free (CF) parameter set, a Time Indication Map (TIM), or a combination thereof. It is understood that a beacon may have any suitable format in accordance with one or more suitable standards.

[0025] As used here, a "beacon interval" (also known as "target beacon transmission time") refers to the frequency of beacon transmissions by a network device (e.g., Network Device 100). That is, a beacon interval refers to the time span between successive beacon transmissions (i.e., beacon broadcasts) by a network device. The beacon interval can correspond to an out-of-channel dwell time, i.e., a period during which a network device is not communicating with one or more stations (e.g., client devices) on a particular channel. A beacon interval can be measured in time units, where one time unit equals 1.024 milliseconds. It is understood that a beacon interval can be set to 100 time units, 300 time units, or any other suitable time span.

[0026] The Network Device 100 can transmit beacons with the same beacon interval between two or more pairs of beacons. For example, the Network Device 100 can transmit a first pair of beacons with a first beacon interval between the first pair of beacons and a second pair of beacons with a second beacon interval between the second pair of beacons, where the first beacon interval is the same duration as the second beacon interval. Furthermore, the Network Device 100 can transmit beacons with different beacon intervals between two or more pairs of beacons.For example, the network device 100 can transmit a first pair of beacons with a first beacon interval between the first pair of beacons and transmit a second pair of beacons with a second beacon interval between the second pair of beacons, where the first beacon interval has a different duration (e.g., shorter, longer) than the second beacon interval.

[0027] The network device 100 can transmit a multitude of beacons to one or more stations (e.g., client devices) in a network to establish communication (e.g., via connections 162) with the one or more stations in the network. The network device 100 can transmit the multitude of beacons to the one or more stations on one or more channels (e.g., a first channel, a second channel, etc.) of the network.

[0028] In block 410, method 400 can include detecting a plurality of APs on a channel (e.g., the first channel) during a beacon interval (e.g., the first beacon interval) that are capable of performing a distance measurement and a measurement of the received signal from each of the plurality of APs on the channel. Referring to network device 100 of Fig. The network device can include 100 AP detection instructions 122 which, when executed by the processing resource 110, during a beacon interval detect a plurality of APs on a channel capable of distance measurement and measure the received signal from each of the plurality of APs on the channel.

[0029] Detecting the multitude of access points (APs) on the channel can involve the network device 100 scanning the channel during the beacon interval and receiving a multitude of beacons from the multiple APs on the channel, with the multitude of beacons indicating that the multiple APs are capable of providing coverage. It is understood that the multiple beacons received by the network device 100 from the multiple APs on the channel can be of any suitable format.

[0030] The measurement of the received signal from each of the multiple access points (APs) on a channel can include an indicator of received signal strength (RSSI), signal-to-noise ratio (SNR), or a combination thereof. The multitude of beacons received by the network device 100 from the multiple APs on a channel can indicate the measurement of the received signal from each of the multiple APs on the channel. It is understood that the measurement of the received signal from each of the multiple APs on a channel can be received by the network device 100 in any suitable format.

[0031] Furthermore, the procedure 400 in block 410 can, for each of a plurality of channels, include discovering a plurality of APs on the channel capable of distance measurement and measuring the received signal from each of the plurality of APs on the channel during a beacon interval. For example, during a first beacon interval, the network device 100 can discover a first subset of APs on a first channel capable of distance measurement and measure the received signal from each of the first subset of APs on the first channel, and during a subsequent beacon interval (e.g., second beacon interval), discover a second subset of APs on a second channel capable of distance measurement and measure the received signal from each of the second subset of APs on the second channel.It is understood that the network device can detect 100 APs on one, two, ten, or any number of channels.

[0032] In block 415, procedure 400 may involve selecting an access point (AP) with the strongest received signal measurement among the many APs on the channel. Referring to network device 100 of Fig. The network device can include 100 AP selection instructions 124 which, when executed by the processing resource 110, select an AP with the strongest received signal measurement from the multitude of APs on the channel.

[0033] In some examples, network device 100 can select an access point (AP) with the strongest received signal measurement from among the many APs on the same channel as the channel on which network device 100 transmits the many beacons (in block 405). Alternatively, network device 100 can select an AP with the strongest received signal measurement from among the many APs on a different channel than the channel on which network device 100 transmits the many beacons (in block 405).For example, the network device 100 can transmit a plurality of beacons on a first channel with a beacon interval between each pair of the plurality of beacons (in block 405), and then discover a plurality of access points on a second channel capable of performing a distance measurement and a measurement of the received signal from each of the plurality of access points on the second channel (in block 410), and then select one access point on the second channel with the strongest measurement of the received signal from among the plurality of access points on the second channel (in block 415), where the first channel is different from the second channel. It is understood that each channel (e.g., first channel, second channel) of a network can correspond to any suitable frequency band (or frequency bands) according to any suitable standard (e.g., IEEE 802.11).

[0034] Furthermore, the procedure 400 in block 415 can involve selecting a channel from a multitude of network channels and subsequently selecting the access point (AP) with the strongest received signal from a multitude of APs on the selected network channel. In some examples, the network device 100 can select the channel randomly from the multitude of channels. In other examples, the network device 100 can select the channel from the multitude of channels based on a predefined sequence for selecting the multitude of channels. The predefined sequence can be set by a device (e.g., the network device 100) or by a user.

[0035] Selecting the access point (AP) with the strongest received signal measurement from among a multitude of APs on a channel can involve Network Device 100 sorting the Basic Service Set Identifiers (BSSIDs) of the multitude of APs on the channel based on the received signal strength of each AP and selecting the BSSID of the AP with the strongest received signal measurement on the channel. For example, Network Device 100 can sort the BSSIDs of multiple APs on a first channel into a list in ascending order of the received signal strength measurements of the multiple APs on the first channel, so that the BSSID of the AP with the strongest received signal measurement on the first channel is listed first. In such an example, Network Device 100 can select the first listed BSSID in the list of BSSIDs (in Block 415).The numerous beacons received by network device 100 from the numerous access points (APs) can display the BSSID of each of these APs. It is understood that the BSSID of each of the multiple APs can be received by network device 100 in any suitable format.

[0036] Selecting an AP with the strongest received signal measurement from a multitude of APs on a channel may involve the selection by the network device 100 of an AP from a multitude of APs on the channel for which no distance measurement has yet been performed. That is, in block 415, the selected AP from the multitude of APs on a channel may be an AP for which the network device 100 has not yet initiated any distance measurements between the network device 100 and the selected AP to generate a distance measurement result (as described below with reference to block 425 of procedure 400).

[0037] In block 420, procedure 400 can include determining whether the selected AP is available for distance measurement. Referring to network device 100 of Fig. The network device 100 can contain instructions that, when executed by the processing resource 110, determine whether the selected AP is available for distance measurement. If block 420 determines that the selected AP is not available for distance measurement, procedure 400 returns to block 415 to select an AP with the strongest measurement of the received signal from among the many APs on a channel. In such a case, procedure 400 can return to block 415 after a predetermined time interval (e.g., 100 milliseconds, 1 second, etc.). When procedure 400 returns to block 415, it can involve selecting an AP with the strongest measurement of the received signal from among a multitude of APs on the same or a different channel than the one on which block 415 was previously executed.For example, network device 100 can select an AP with the strongest received signal from a first subset of APs on a first channel (in block 415), and based on a determination that the selected AP on the first channel is not available for distance measurement (in block 420), it can then select an AP with the strongest received signal from a second subset of APs on a second channel (when procedure 400 returns to block 415). If, in block 420, it is determined that the selected AP is available for distance measurement, procedure 400 continues with block 425.

[0038] In block 425, procedure 400 may involve initiating distance measurements with the selected AP on the channel during a beacon interval (e.g., a second beacon interval) to generate a distance measurement result. Referring to network device 100 of Fig. The network device can include 100 commands to initiate distance measurement 126 when executed by the processing resource 110 to initiate distance measurements with the selected AP on the channel during a second beacon interval to generate a distance measurement result.

[0039] Distance measurements with the selected AP (i.e., distance measurements between Network Device 100 and the selected AP) on the channel can include FTM, RTT, Time of Arrival (ToA), Time of Flight (ToF), Angle of Arrival (AoA), RSSI, Short Protection Interval (SGI), Long Protection Interval (LGI), Channel Status Information (CSI), or a combination thereof between Network Device 100 and the selected AP. It is understood that the distance measurements between Network Device 100 and the selected AP can be in any suitable format. Furthermore, the distance measurement result generated by Network Device 100 can display the distance measurements between Network Device 100 and the selected AP on the channel and be transmitted to another device (e.g., a computer, another network device, etc.).It is understood that the distance measurement result generated by the network device 100 can be in any suitable format.

[0040] As used here, RTT (also known as round-trip delay or ping time) is the time it takes for a signal (e.g., a data packet) to travel across a network from a starting point (e.g., a first network device) to a destination point (e.g., a second network device) and send an acknowledgment of that signal back to the starting point. An RTT measurement can be based on propagation delay, processing delay, queuing delay, encoding delay, or a combination thereof. It is understood that an RTT can be calculated using any suitable technique in accordance with one or more suitable protocols (e.g., Transmission Control Protocol).

[0041] As used here, CSI refers to known channel characteristics of a wireless signal between a transmitter and a receiver (e.g., between a first AP and a second AP). CSI is used to determine how a wireless signal propagates between the transmitter and the receiver and represents the combined effect of, for example, scattering, fading, and signal degradation of the transmitted wireless signal with distance.

[0042] Initiating distance measurements with the selected AP on the channel may involve the Network Device 100 configuring a channel bandwidth for distance measurements. For example, the Network Device 100 may configure a channel bandwidth of 80 MHz for distance measurements with the selected AP. It is understood that the Network Device 100 can configure a channel bandwidth of 20 MHz, 40 MHz, 80 MHz, 160 MHz, or any other suitable channel bandwidth for distance measurements with the selected AP. Furthermore, initiating distance measurements with the selected AP on the channel may involve the Network Device 100 configuring an antenna chain between the Network Device 100 and the selected AP for distance measurements.Configuring an antenna chain between Network Device 100 and the selected AP can include Network Device 100 selecting one of its antennas (or antennas) for rangefinding measurements with the selected AP, and Network Device 100 selecting one of its antennas (or antennas) for rangefinding measurements with the selected AP. Furthermore, initiating rangefinding with the selected AP on the channel can include Network Device 100 configuring an effective isotropic radiated power (EIRP) for rangefinding. For example, Network Device 100 can configure an EIRP transmit power that is 100% of the available power (i.e., Pmax) to perform rangefinding with the selected AP.It is understood that the network device 100 can configure the transmit EIRP to 100% (Pmax), 90%, 75%, or any other suitable percentage of the available power so that the network device 100 can perform distance measurements with the selected AP.

[0043] Distance measurements with the selected AP on the channel can be initiated during a subsequent beacon interval (e.g., second beacon interval) as the beacon interval (e.g., first beacon interval) during which the network device 100 discovers the multitude of APs (in block 410).

[0044] In Block 430, Procedure 400 may, based on the data collection results, include resolving the locations of multiple APs. With reference to Fig. A (not shown) computing device communicating with network device 100 (e.g., via links 142) may contain instructions, when executed by a processing resource, to resolve the locations of the plurality of access points (APs) based on the ranging result (e.g., upon receiving the ranging result). In such an example, resolving the locations of the plurality of APs may involve network device 100 transmitting the ranging result to a computing device, which then resolves the locations of the plurality of APs based on the ranging result. Alternatively, network device 100 may contain instructions that, when executed by processing resource 100, resolve the locations of the plurality of APs.

[0045] Locating multiple access points (APs) can be based on multiple ranging results for APs on different channels. For example, during an initial beacon interval, the network device 100 can identify an initial subset of APs on a first channel capable of range measurement and take a range measurement from each of the initial subset of APs on the first channel (in block 410), select the first AP with the strongest range measurement from the initial subset of APs on the first channel (in block 415), determine that the selected first AP on the first channel is available for range measurement (in block 420), and initiate range measurements with the selected first AP on the first channel during a second beacon interval to produce an initial range measurement result (in block 425).Furthermore, in such an example, during a third beacon interval, the network device 100 can discover a second subset of APs on a second channel capable of ranging, and perform a measurement of the received signal from each of the second subset of APs on the second channel (in block 410), select a second AP with the strongest measurement of the received signal from the second subset of APs on the second channel (in block 415), determine that the selected second AP on the second channel is available for distance measurement (in block 420), and during a fourth beacon interval, initiate distance measurements with the selected second AP on the second channel to produce a second distance measurement result (in block 425).In such an example, a computing device can then resolve the locations of a plurality of access points, including the first subset of access points and the second subset of access points, based on the first ranging result and the second ranging result (in Block 430).

[0046] Resolving the locations of a multitude of access points (APs) can involve estimating their locations (e.g., coordinates) on an AP map (e.g., a map of relative AP locations on a visual floor plan) based on distance measurement results. Techniques for resolving AP locations based on ranging results (e.g., field toms) are described in the following patent applications.

[0047] US Application Serial No. 16 / 831,213, filed on March 26, 2020, on behalf of the inventors Vikram Raghu, Eldad Perahia, Sachin Ganu, Sai Pradeep Venkatraman and Chuck Lukaszewski, entitled "AUTOMATIC LOCATION OF ACCESS POINTS IN A NETWORK", which is hereby referenced.

[0048] US Application Serial No. 17 / 218,309, filed on March 31, 2021, on behalf of the inventors Amogh Guruprasad Deshmukh, Eldad Perahia, Gaurav Patwardhan and Sachin Ganu, entitled "HANDLING FINE TIMING MEASUREMENT REQUESTS", which is hereby referenced.

[0049] US Application Serial No. 17 / 229,954, filed on April 14, 2021 on behalf of inventors Omar EI Ferkouss, Andre Beaudin and Sachin Ganu, entitled "FINE TIMING MEASUREMENTS IN ENTERPRISE DEPLOYMENTS USING HIGH BANDWIDTH CHANNELS", which is hereby referenced.

[0050] US Application Serial No. 17 / 337,679, filed on June 3, 2021, on behalf of the inventors Sachin Ganu, Chuck Lukaszewski, Gaurav Patwardhan, Eldad Perahia, Vikram Raghu and Stuart Wal Strickland, entitled "AUTOMATIC LOCATION OF ACCESS POINTS IN A NETWORK", which is hereby referenced.

[0051] In this way, the example network device 100 provides distance measurement during a beacon interval, reducing the transmission time overhead for performing the distance measurement and minimizing interruptions in communication between the network device 100 and the client devices when the network topology changes. For example, during a beacon interval (e.g., the first beacon interval), the network device 100 can discover a multitude of access points (APs) in a network that are capable of ranging and measure the received signal from each of the multitude of APs. This enables the network device 100 to discover the multitude of APs during a time (during the first beacon interval) when the network device 100 is not communicating with a multitude of client devices (e.g., when the network device 100 is not transmitting a multitude of beacons to the client devices). Furthermore, the network device 100 can, during a beacon interval (e.g., the first beacon interval),(e.g., during the second beacon interval) distance measurements are initiated with the selected AP exhibiting the strongest received signal among the multiple APs to generate a distance result. This enables distance measurement between network device 100 and the selected AP during a period (during the second beacon interval) when network device 100 is not communicating with multiple client devices. Furthermore, in such examples, network device 100 initiates the distance measurement with the selected AP exhibiting the strongest received signal among the multiple APs. This increases the likelihood of generating a high-quality ranging result and improves the reliability (e.g., accuracy) of the AP location determination based on the ranging result.

[0052] With reference to Fig. In some examples, a flowchart is presented that shows a Procedure 500 for acquisition by a network device during a beacon interval. Although the execution of Procedure 500 is described below with reference to the network device 100 of Fig. As described, any suitable network device can be used to execute Procedure 500. Furthermore, the implementation of Procedure 500 is not limited to such examples. While Procedure blocks 505 through 520 are shown in Procedure 500, Procedure 500 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Fig. The blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 500 may be performed in combination with one or more blocks of Procedures 400, 600, and 700. Likewise, some of the blocks shown in Procedure 500 may be omitted without being contrary to the spirit and scope of this revelation.

[0053] In block 505, procedure 500 may include determining whether a client load on network device 100 exceeds a load threshold. If block 505 determines that the client load does not exceed the load threshold, procedure 500 continues with block 510. Conversely, if block 505 determines that the client load exceeds the load threshold, procedure 500 continues with block 515.

[0054] The load threshold can correspond to a threshold value for network traffic between network device 100 and one or more client devices, one or more other network devices (e.g., access points), one or more other stations, or a combination thereof. The load threshold can be calculated by network device 100 or be a predetermined value (e.g., based on the capabilities of network device 100, based on user input, etc.). The load threshold can be determined based on the number of client devices communicating with network device 100 (e.g., connected, sending data to, or receiving data from network device 100), the amount of network traffic (e.g., total bandwidth) used by the one or more client devices communicating with network device 100, or a combination thereof. The client load can be the amount of network traffic (e.g.,the total bandwidth) that is used by the one or more client devices in communication with network device 100.

[0055] In block 510, procedure 500 may include the selection of a first ranging interval. In block 515, procedure 515 may include the selection of a second ranging interval, where the first ranging interval is shorter than the second ranging interval.

[0056] As used here, a "ranging interval" (e.g., first ranging interval, second ranging interval) refers to the frequency of distance measurements initiated by a network device (e.g., network device 100) and one or more other network devices (e.g., access points). That is, a ranging interval refers to the time between successive distance measurements initiated by a network device. A ranging interval can be measured in units of time, where one unit of time equals 1.024 milliseconds.

[0057] The first ranging interval can correspond to a frequency of each m sample during a beacon interval, th, and the second ranging interval can correspond to a frequency of each n sample during a beacon interval, th, where m is an integer greater than n. The first ranging interval can correspond to an "aggressive scan," in which distance measurement is performed at a higher frequency (relative to the second ranging interval) without causing interruptions (e.g., interference) to the communication between network device 100 and one or more client devices (e.g., when beacons are transmitted from network device 100 to the one or more client devices).Conversely, the second acquisition interval can correspond to a ‘standard scan’, in which the acquisition takes place at a lower frequency (compared to the first acquisition interval) without interrupting the communication between the network device 100 and one or more client devices (e.g., due to interference).

[0058] In block 520, procedure 500 may include initiating distance measurements with the selected AP on a channel (e.g., the first channel) during a beacon interval (e.g., the first beacon interval) within the selected ranging interval (the selected interval between the first and second ranging intervals) to generate a distance result. Block 520 may contain the same or similar steps as described above in relation to block 335 of procedure 300.

[0059] In this way, the example network device 100 provides a capture interval that optimizes the available time within a beacon interval (e.g., during a dwell time out of the channel), thereby reducing the transmit time overhead for network device 100 to perform the capture and avoiding interruptions in communication between network device 100 and one or more client devices (e.g., during a dwell time on the channel). For example, network device 100 can determine whether a client load on network device 100 exceeds a load threshold (in block 505) and, based on the determination that the client load does not exceed the load threshold, select an initial capture interval (in block 510) so that capture occurs at a higher frequency without interruptions (e.g., during a dwell time on the channel).Conversely, based on the determination that the client load exceeds the load threshold, a second acquisition interval (in block 515) is selected so that acquisition occurs at a lower frequency without interrupting communication between the network device 100 and one or more client devices (e.g., by interfering with them). This allows the network device 100 to initiate ranging measurements with a selected AP on a channel to generate a ranging result (in block 520) at a selected ranging interval, optimizing the available time during which the network device 100 is not communicating with one or more client devices (e.g., when the network device 100 is not sending beacons to one or more client devices).

[0060] With reference to Fig. In some examples, a flowchart is presented that shows a procedure 600 for acquisition by a network device during a beacon interval. Although the execution of procedure 600 is described below with reference to the network device 100 of Fig. As described, any suitable network device can be used to execute Procedure 600. Furthermore, the implementation of Procedure 600 is not limited to such examples. While Procedure blocks 605 through 630 are shown in Procedure 600, Procedure 600 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Fig. The blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 600 may be performed in combination with one or more blocks of Procedures 400, 500, and 700. For example, Procedure 600 may include steps 610 through 625 to determine whether the selected AP is available for distance measurement (in block 420 of Procedure 400). Also, some of the blocks shown in Procedure 600 may be omitted without being contrary to the spirit and scope of this revelation.

[0061] In block 605, procedure 600 may include selecting an access point (AP) with the strongest measurement of the received signal from a multitude of APs on a channel (e.g., the first channel). Block 605 may contain the same or similar steps as described above with respect to block 415 of procedure 400.

[0062] In block 610, procedure 600 may include determining whether the channel is a Dynamic Frequency Selection (DFS) channel. If block 610 determines that the channel is a DFS channel, procedure 600 continues with block 615. Conversely, if block 610 determines that the channel is not a DFS channel, procedure 600 continues with block 620.

[0063] The term "dynamic frequency selection channel" used here refers to a channel allocation scheme for the use of the C-band (e.g., 4 GHz to 8 GHz as defined by the IEEE, 3.7 GHz to 4.2 GHz as defined by the US Federal Communications Commission) for applications such as radar (e.g., military radar, satellite communications, weather radar, etc.). The DFS channel may, for example, correspond to the Unlicensed National Information Infrastructure 2C (U-NII2C) band, which has a frequency range between 5.470 and 5.725 GHz. It is understood that the DFS channel can correspond to any suitable channel allocation scheme within any appropriate frequency range.

[0064] In block 615, procedure 600 may include determining whether the channel satisfies a Channel Availability Check (CAC). As used here, a "channel availability check" refers to a process of determining whether another device (e.g., a radar) near the network device is using a DFS channel. If block 615 determines that the channel satisfies the CAC (e.g., if it is determined that no other device is within communication range of network device 100 using a DFS channel), then procedure 600 proceeds to block 620. Conversely, if block 615 determines that the channel does not satisfy the CAC (e.g., if it is determined that another device is within communication range of network device 100 using a DFS channel), then procedure 600 proceeds to block 625 to determine that the selected AP is not available for ranging.

[0065] In block 620, procedure 600 may include determining whether ranging is enabled for the selected AP. If block 620 determines that ranging is enabled for the selected AP, then the selected AP is available for ranging, and procedure 600 proceeds to block 630. Conversely, if block 620 determines that ranging is not enabled for the selected AP, procedure 600 proceeds to block 625 to determine that the selected AP is not available for ranging.

[0066] In block 630, procedure 600 may involve initiating distance measurements with the selected AP on one channel (e.g., first channel) during a beacon interval (e.g., first beacon interval) to generate a distance result. Block 630 may include the same or similar steps as described above in relation to block 425 of procedure 400.

[0067] In this way, the example network device 100 enables distance measurement with a selected AP without interfering with a DFS channel used by other devices (e.g. radar devices), and allows distance measurement only when the selected AP has enabled distance measurement.

[0068] With reference to Fig. In some examples, a flowchart is presented that shows a procedure 700 for acquisition by a network device during a beacon interval. Although the execution of procedure 700 is described below with reference to the network device 100 of Fig. As described, any suitable network device can be used to execute Procedure 700. Furthermore, the implementation of Procedure 700 is not limited to such examples. While Procedure blocks 705 through 730 are shown in Procedure 700, Procedure 700 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Fig. The blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 700 may be performed in combination with one or more blocks of Procedures 400, 500, or 600. Likewise, some of the blocks shown in Procedure 700 may be omitted without being contrary to the spirit and scope of this revelation.

[0069] In Block 705, Procedure 700 may include selecting an AP (e.g., the first AP) with the strongest measurement of the received signal from among the many APs on a channel (e.g., the first channel) for which no ranging has yet been performed. Block 705 may include the same or similar steps as described above with respect to Block 415 of Procedure 400.

[0070] In block 710, procedure 700 may involve initiating distance measurements with the selected AP on the channel during a beacon interval to generate a distance measurement result. Block 710 may include the same or similar steps as described above in relation to block 425 of procedure 400.

[0071] In block 715, procedure 700 may include determining whether the distance measurement result generated by network device 100 is successful. If block 715 determines that the location result is unsuccessful, procedure 700 continues with block 720. Conversely, if block 715 determines that the location result is successful, procedure 700 proceeds to block 725.

[0072] Determining whether the location tracking result generated by network device 100 is successful may involve determining whether the tracking result meets an accuracy threshold. The accuracy threshold can be based on a deviation threshold (e.g., standard deviation) of the ranging result. It is understood that the accuracy threshold for the distance measurement result can be determined based on any suitable deviation measurement.

[0073] In block 720, procedure 700 may include determining whether k distance measurement attempts have been made between network device 100 and the selected AP. That is, in block 720, procedure 700 may include determining whether network device 100 and the selected AP have initiated ranging measurements on the channel to obtain a ranging result (in block 710) k times. It is understood that k may be set to one, five, ten, or any other suitable number of times. In block 720, if it is determined that k distance attempts have not yet been made between network device 100 and the selected AP (i.e., fewer than k ranging attempts have been made between network device 100 and the selected AP), then procedure 700 returns to block 710.Conversely, if block 720 determines that k has been performed between network device 100 and the selected AP, then the procedure proceeds to block 725.

[0074] In block 725, procedure 700 may include determining whether ranging has been performed for all APs on the channel (i.e., all APs on the channel including the currently selected AP). If block 725 determines that ranging has not been performed for all APs on the channel, procedure 700 returns to block 705 to select another AP (e.g., the second AP) with the strongest measurement of the received signal from the multitude of APs on the channel for which ranging has not yet been performed. Conversely, if it is determined that ranging has been performed for all APs on the channel, procedure 700 in block 725 proceeds to block 730, i.e., to terminate the ranging between network device 100 and the multitude of APs on the channel.

[0075] In this way, the example network device 100 performs distance measurement with a multitude of APs on one channel in order of the strength of the received signal measurements of the multitude of APs, thereby increasing the probability of producing high-quality distance measurement results and improving the reliability (e.g., the accuracy) of the resolution of locations of the multitude of APs based on the distance measurement results. System / Computing system

[0076] Fig. This is a block diagram of an example system 200, which includes a network device for distance measurement during a beacon interval. System 200 comprises a network device 100 (as above in relation to...). Fig. described), which is connected to a network 205. In addition, the system 200 comprises a plurality of second network devices 210 and a plurality of client devices 220 that are connected to the network 205. The second network devices 210 comprise a plurality of network devices 210-1 to 210-aein, where a is an integer and represents the total number of second network devices 210. Although Fig. If the second network devices 210 comprise four network devices (210-1, 210-2, 210-3, 210-a), the system 200 can comprise two, three, ten or any other suitable number of second network devices 210.

[0077] In the example of Fig. Network 205 can include one or more local area networks (LANs), virtual LANs (VLANs), wireless local area networks (WLANs), virtual private networks (VPNs), wide area networks (WANs), the internet, or similar, or a combination thereof. As used here, a "wide area network" or "WAN" can, for example, include a wired WAN, a wireless WAN, a hybrid WAN, a software-defined WAN (SD-WAN), or a combination thereof. Furthermore, Network 205 can include one or more cellular networks using one or more mobile communication standards (e.g., 3G, 4G, 5G, etc.). It is understood that System 200 can include any suitable type of Network 205. Additionally, one or more computer devices (not shown) can be connected between Network Device 100 and Network 205.

[0078] In the example of Fig. Each of the second network devices 210 contains at least one radio (not shown) for communicating with the network device 100, with one or more client devices (e.g., client devices 220, other client devices), with one or more other network devices (e.g., one or more second network devices 210), with one or more computer devices, or a combination thereof. The radio(s) can generate a signal in one or more frequency bands, process a signal in one or more frequency bands, or a combination thereof. The radio(s) of the second network device 210 can operate in any suitable frequency band and comply with any suitable type of wireless communication standard known today or subsequently developed.For example, one or more radios of the second network devices 210 can operate on one or more channels in the 2.4 GHz band and / or 5 GHz band according to the IEEE 802.11ac and / or 802.11ax standards. Furthermore, each of the second network devices 210 can include one, two, or any other suitable number of radios.

[0079] In the example of Fig. The network device 100 can communicate with one or more client devices 220 (e.g., via connections 162). Each of the client devices 220 can include a communication device such as a laptop, a desktop computer, a mobile device, or other wireless devices, etc. The network device 100 can communicate with one or more client devices 220 via a radio.

[0080] In the example of Fig. Each of the second network devices 210 can be capable of ranging. That is, each network device (e.g., 210-1, 210-2, 210-3, ... 210-a) of the second network devices 210 can enable ranging measurements to be initiated with network device 100 on a channel to generate a ranging result. It is understood that the system 200 can also contain other network devices (not shown) that are not capable of ranging and / or that enable ranging measurements to be initiated with network device 100 on the same or different channels as the second network devices 210.

[0081] In the example of Fig. The network device 100 can be configured to receive network requests 150 via one or more network paths 140 in order to establish communication with one or more secondary network devices 210 (as above in relation to Fig. (as described above). For example, network device 100 can receive a signal from network 205 containing a network request 150 (as described above in relation to Fig. (described).

[0082] In the example of Fig. The computer device 100 can be configured to send or receive communication signals 170 via the communication path(s) 160 to establish communication with one or more network devices 210 (as above in relation to Fig. (described).

[0083] In the example of Fig. The second network devices 210 can perform any network data transmission operations, including but not limited to switching, routing, bridging, or a combination thereof. Furthermore, one or more second network devices 210 can include a WAP. It is understood that the second network devices 210 can include any suitable type of network device(s) from any suitable manufacturer.

[0084] In the example of Fig. Is the network device 100 configured (e.g., encoded with non-transitory, machine-readable commands that can be executed by at least one processing resource 110) to execute at least AP discovery commands 122, AP selection commands 124, and ranging initiation commands 126, as described above in relation to Fig. described.

[0085] For example, network device 100 can be configured to transmit a plurality of beacons on a first channel with a beacon interval between each pair of beacons. Specifically, network device 100 can transmit the plurality of beacons to each of the client devices 220 on the first channel to establish communication (e.g., via connections 162) with each of the client devices 220 on the first channel.

[0086] Furthermore, in such an example, network device 100 can be configured to detect second network devices 210 on a second channel during a first beacon interval. These second network devices are capable of performing distance measurements and receiving signal measurements from each of the second network devices 210 on the second channel. Specifically, during the first beacon interval, network device 100 can scan the second channel and receive the multitude of beacons from each of the second network devices 210 on the second channel, with the multitude of beacons indicating that the multitude of access points (APs) are capable of ranging.

[0087] Furthermore, in such an example, network device 100 can be configured to select an access point (AP) with the strongest received signal measurement among the second network devices 210 on the second channel. For example, network device 100 can receive a measurement of the received signal from each of the second network devices 210 on the second channel and then select network device 210-2 based on the finding that network device 210-2 has the strongest received signal measurement among the network devices (210-1, 210-2, 210-3, ... 210-a) of the second network devices 210.Furthermore, the network device 100 can sort a list of Basic Service Set Identifiers (BSSIDs) of the second network devices 210 on the second channel based on the measurement of the received signal of each of the second network devices 210 on the second channel and then select the BSSID of network device 210-2, since it is the first listed BSSID in the sorted list of BSSIDs (and corresponds to the network device with the highest measurement of the received signal).

[0088] Furthermore, in such an example, network device 100 can determine whether the selected network device 210-2 is available for rangefinding. Based on (e.g., in response to) the determination that the selected network device 210-2 is available for rangefinding, network device 100 can initiate rangefinding measurements with the selected network device 210-2 on the second channel during a second beacon interval to generate a rangefinding result. Additionally, network device 100 can configure a channel bandwidth on the second channel for the rangefinding measurements, configure an antenna chain between network device 100 and network device 210-2 (e.g., by selecting one antenna of network device 100 and one antenna of network device 210-2 to perform the rangefinding measurements), and configure a transmit EIRP for network device 100 to perform the rangefinding measurements.

[0089] Furthermore, in such an example, a (not shown) computer device in network 205 can resolve the locations of the second network devices 210 based on the ranging result. In particular, network device 100 can transmit the distance measurement result to the computer device, which then resolves the locations of the multiple APs based on the distance measurement result.

[0090] In this way, the example system 200 provides distance measurement during a beacon interval by the network device 100, thereby reducing the transmission time overhead for performing the distance measurement by the network device 100 and minimizing interruptions in communication between the network device 100 and the client devices 220 when there are changes in the network topology. For example, during a beacon interval (e.g., the first beacon interval), the network device 100 can discover second network devices 220 on a channel (e.g., the second channel) in the network 205, which are capable of performing a distance measurement and a measurement of the received signal of each of the second network devices 220, thus enabling the network device 100 to discover second network devices 220 during a time (e.g., the first beacon interval).B, during the first beacon interval) to detect when network device 100 is not communicating with client devices 220 (e.g., when network device 100 is not transmitting a large number of beacons to client devices 220 on a first channel). Furthermore, during a beacon interval (e.g., the second beacon interval), network device 100 can initiate distance measurements with a selected network device 210-2 that has the strongest received signal among the second network devices 210, in order to generate a distance measurement result. This enables distance measurement between network device 100 and the selected network device 210-2 during a time (e.g., during the second beacon interval) when network device 100 is not communicating with client devices 220.Furthermore, in such examples, the network device 100 begins the distance measurement with the selected network device 210-2, which has the strongest measurement of the received signal among the second network devices 210, thereby increasing the probability of generating a high-quality ranging result and improving the reliability (e.g., the accuracy) of the resolution of the locations of the second network devices 210 based on the ranging result.

[0091] Furthermore, in the example described above, network device 100 can determine whether the ranging result generated by network device 100 (after initiating the ranging measurements with the selected network device 210-2 on the first channel) is successful. In such an example, based on the determination that the ranging result is successful, network device 100 can select another network device 210-3 on the first channel with the strongest received signal measurement from among the second network devices 210 for which no ranging has yet been performed (note that network device 210-2 would be excluded from selection, as ranging has already been performed with network device 210-2). In such an example, network device 100 can then perform a ranging operation (in the manner described above) between network device 100 and the selected network device 210-3.Furthermore, the network device 100 can then select each of the remaining network devices of the second network devices 210 (for which no ranging has yet been performed) in order of the strength of the received signal measurement and perform a ranging between the network device 100 and the selected network device until a ranging has been performed between the network device 100 and each of the second network devices 210 (or alternatively, until at least k number of ranging attempts have been performed between the network device 100 and each of the second network devices 210).

[0092] In this way, the example system 200 provides a distance measurement by a network device 100 with each of the second network devices 210 on a channel (e.g. the first channel) in order of the strength of the received signal measurements of the second network devices 210 on the channel, thereby increasing the probability of generating high-quality distance measurement results and improving the reliability (e.g. the accuracy) of the location determination of the second network devices 210 based on the distance measurement results.

[0093] Fig. This is a block diagram of an example System 300 with a network device for distance measurement during a beacon interval. System 300 includes the network device 100 (as above in relation to Fig. described), which is connected to a network 305. In addition, the system 300 includes a plurality of second network devices 310 and a plurality of client devices 320 that are connected to the network 305. The second network devices 310 comprise a first subset of network devices 312, a second subset of network devices 314, and a third subset of network devices 316, each subset of second network devices 310 being configured to communicate on a different channel (e.g., first channel, second channel, third channel) of the network 305. Although Fig. Showing that the second network devices 310 have three subgroups of network devices (subgroups 312, 314 and 316), the second network devices 310 can comprise one, two, three, ten or any number of subgroups of network devices connected to the network 305.

[0094] In the example of Fig. Network 305 can comprise any suitable type of network(s), as described above in relation to network 205 of system 200. Furthermore, one or more computer devices (not shown) can be connected between network device 100 and network 305 (e.g., via connections 150).

[0095] In the example of Fig. Each of the second network devices 310 contains at least one radio (not shown) for communicating with the network device 100 (e.g., via links 162), with one or more client devices (e.g., client devices 320, other client devices), with one or more other network devices (e.g., with one or more second network devices 310), with one or more computer devices, or a combination thereof. Each of the second network devices 310 may contain one, two, or any other suitable number of radios. Each radio of each second network device 310 may operate in any suitable frequency band and conform to one or more suitable types of wireless communication standards.

[0096] In the example of Fig. The network 305 can contain a large number of client devices 320 within the network 305, where the network device 100 can communicate with one or more client devices 320 (e.g., via connections 162). Each client device 320 can contain any suitable type of communication device(s). The network device 100 can communicate with one or more client devices 320 via a radio device.

[0097] In the example of Fig. Each of the second network devices 310 can be capable of performing ranging. This means that each of the second network devices 310 can enable the network device 100 to initiate ranging measurements on a channel to generate a ranging result. It is understood that the system 300 can also include other network devices (not shown) that are not capable of ranging and / or that allow the network device 100 to initiate ranging measurements on the same or different channels as one or more of the second network devices 310.

[0098] In the example of Fig. The network device 100 can be configured to receive network requests 150 via one or more network paths 140 of the network 305 in order to establish communication with one or more secondary network devices 310, in a similar manner to the above with regard to the Fig. and Fig. described.

[0099] In the example of Fig. The network device 100 can be configured to send or receive communication signals 170 via the communication path(s) 160 in order to establish communication with one or more second network devices 310, in a similar manner to the above with regard to the Fig. and Fig. described.

[0100] In the example of Fig. The second network devices 310 can perform any network data transmission operations, including but not limited to switching, routing, bridging, or a combination thereof. Furthermore, one or more second network devices 310 can include a WAP. It is understood that the second network devices 310 can include any suitable type of network device(s) from any suitable manufacturer.

[0101] In the example of Fig. Is the network device 100 configured (e.g., encoded with non-transitory, machine-readable commands that can be executed by at least one processing resource 110) such that it can execute at least AP discovery commands 122, AP selection commands 124, and removal initiation commands 126 in a manner similar to the above with respect to Fig. and Fig. as described.

[0102] For example, the network device 100 can be configured to transmit a plurality of beacons with a beacon interval between each pair of beacons. Specifically, the network device 100 can transmit the plurality of beacons to each of the client devices 320 on a first channel to establish communication (e.g., via connections 162) with each of the client devices 320 on the first channel.

[0103] Furthermore, in such an example, network device 100 can be configured to detect a first subset of network devices 312 on a second channel capable of distance measurement during a first beacon interval, and to measure the received signal from each of these first subset of network devices 312 on the second channel. Additionally, network device 100 can be configured to detect a second subset of network devices 314 on a third channel capable of distance measurement during a second beacon interval, and to measure the received signal from each of these second subset of network devices 314 on the third channel.In addition, the network device 100 can be configured to detect a third subset of network devices 316 on a fourth channel capable of distance measurement during a third beacon interval, and to take a measurement of the received signal of each of the third subset of network devices 316 on the fourth channel.

[0104] Furthermore, in such an example, network device 100 can be configured to select an access point (AP) with the strongest received signal from the first subset of network devices 312 on the second channel. Additionally, network device 100 can be configured to select an AP with the strongest received signal from the second subset of network devices 314 on the third channel. Finally, network device 100 can be configured to select an AP with the strongest received signal from the third subset of network devices 316 on the fourth channel.

[0105] In such an example, network device 100 can also be configured to determine whether the selected network device from the first subset of network devices 312 is available for distance measurement. Based on (e.g., in response to) the determination that the selected network device from the first subset of network devices 312 is available for distance measurement, network device 100 can initiate distance measurements with the selected network device from the first subset of network devices 312 on the second channel during a fourth beacon interval to generate an initial distance measurement result.

[0106] In such an example, network device 100 can further be configured to determine whether the selected network device of the second subset of network devices 314 is available for distance measurement. Based on (e.g., in response to) the determination that the selected network device of the second subset of network devices 314 is available for distance measurement, network device 100 can initiate distance measurements with the selected network device of the second subset of network devices 314 on the third channel during a fifth beacon interval to generate a second distance measurement result.

[0107] In such an example, network device 100 can also be configured to determine whether the selected network device from the third subset of network devices 316 is available for distance measurement. Based on (e.g., in response to) the determination that the selected network device from the third subset of network devices 316 is available for distance measurement, network device 100 can initiate distance measurements with the selected network device from the third subset of network devices 316 on the fourth channel during a sixth beacon interval to generate a third distance measurement result.

[0108] Furthermore, in such an example, a (not shown) computing device in network 305 can determine the locations of the second network devices 310 based on the first, second, and third distance measurement results. Specifically, network device 100 can transmit the first, second, and third ranging results to the computing device, which then resolves the locations of the second network devices 310 based on these results. Alternatively, network device 100 can resolve the locations of the second network devices 310 based on the first, second, and third ranging results.

[0109] In this way, the example system 300, through the network device 100, performs ranging with secondary network devices 310 on a multitude of channels (e.g., second channel, third channel, fourth channel) during the beacon intervals. This reduces the transmission time overhead for the network device 100 to perform ranging on the multitude of channels and minimizes interruptions in communication between the network device 100 and the client devices 220 when there are changes in the network topology. Furthermore, in such examples, the network device 100 initiates ranging with the selected network device that exhibits the strongest received signal measurement among the secondary network devices 310 on each of the multitude of channels. This increases the probability of producing a high-quality ranging result and the reliability (e.g.,the accuracy) of the resolution of the locations of the second network devices 310 on the multitude of channels is improved based on the ranging result.

[0110] Furthermore, in the example described above, network device 100 can determine whether the initial ranging result generated by network device 100 (after initiating distance measurements with the selected network device from the first subset of network devices 312 on the second channel) is successful. Based on this finding, network device 100 can then select another network device from the first subset of network devices 312 on the second channel with the strongest received signal measurement among those in the first subset that have not yet been ranged. In such a case, network device 100 can then perform a ranging operation between itself and the selected network device.Furthermore, the network device 100 can then select each of the remaining network devices of the first subset of network devices 312 (for which no distance measurement has yet been performed) in order of the strength of the received signal measurement and perform a distance measurement between the network device 100 and the selected network device until a distance measurement has been performed between the network device 100 and each of the first subset of network devices 312 (or alternatively, until at least k number of acquisition attempts have been performed between the network device 100 and each of the first subset of network devices 312).

[0111] Similarly, the network device 100 can then select each of the remaining network devices of the second subset of network devices 314 (for which no distance measurement has yet been performed) in order of the strength of the received signal measurement and perform a distance measurement between the network device 100 and the selected network device until a distance measurement has been performed between the network device 100 and each of the second subset of network devices 314 (or alternatively, until at least k number of acquisition attempts have been performed between the network device 100 and each of the second subset of network devices 314).Similarly, the network device 100 can then select each of the remaining network devices of the third subset of network devices 316 (for which no ranging has yet been performed) in order of the strength of the measurement of the received signal and perform ranging between the network device 100 and the selected network device until ranging has been performed between the network device 100 and each of the third subset of network devices 316 (or alternatively, until at least k number of acquisition attempts have been performed between the network device 100 and each of the third subset of network devices 316).

[0112] In this way, the example system 300 provides distance measurement by a network device 100 with each network device on each of a multitude of channels (e.g. second channel, third channel, fourth channel) in order of the strength of the received signal measurements of each network device on each channel, thereby increasing the probability of generating high-quality ranging results on the multitude of channels and improving the reliability (e.g., the accuracy) of the resolution of locations of second network devices 310 based on the ranging results on the multitude of channels.

[0113] Fig. is a block diagram of an example computer system 800 in which various embodiments described here for distance measurement during a beacon interval can be implemented.

[0114] The Computer System 800 comprises a bus 805 or other communication mechanism for transmitting information and at least one hardware processor 810 connected to the bus 805 for processing information. The at least one hardware processor 810 can be, for example, at least one general-purpose microprocessor.

[0115] The Computer System 800 also includes a main memory 815, such as random access memory (RAM), a cache, other dynamic memory devices, or the like, or a combination thereof, connected to the bus 805 to store information and one or more instructions to be executed by at least one processor 810. The main memory 815 may also be used to store temporary variables or other intermediate information during the execution of one or more instructions to be executed by at least one processor 810. In some examples, the one or more instructions include one or more AP detection instructions 122, AP selection instructions 124, and removal initiation instructions 126, as above in relation to the Fig. described. Such one or more instructions, when stored on storage media accessible to at least one Processor 810, make the Computer System 800 a special machine adapted to perform the operations specified in the one or more instructions.

[0116] The Computer System 800 may further include a read-only memory (ROM) 820 or other static storage device connected to the bus 805 to store one or more instructions to be executed by at least one processor 810. In some examples, these are one or more AP detection instructions 122, AP selection instructions 124, and removal initiation instructions 126, as above in relation to Fig. described. Such one or more instructions, when stored on storage media accessible to at least one Processor 810, make the Computer System 800 a special machine adapted to perform the operations specified in the one or more instructions.

[0117] The Computer System 800 can also contain information and one or more instructions for at least one Processor 810. At least one storage device 825, such as a magnetic disk, an optical disk, a USB stick (flash drive), or the like, or a combination thereof, can be provided and connected to the Bus 805 to store information and one or more instructions. In some examples, the one or more instructions include one or more AP detection instructions 122, AP selection instructions 124, and removal initiation instructions 126, as above in relation to the Fig. described.

[0118] The Computer System 800 may further include a display 830 coupled to the bus 805 for displaying a graphical output to a user. The Computer System 800 may further include an input device 835, such as a keyboard, camera, microphone, or the like, or a combination thereof, connected to the bus 805 to allow input from a user. The Computer System 800 may further include a cursor control 840, such as a mouse, pointer, stylus, or the like, or a combination thereof, connected to the bus 805 to allow input from a user.

[0119] The Computer System 800 may also include at least one network interface 845, such as a network interface controller (NIC), a network adapter or similar, or a combination thereof, connected to the bus 805 to connect the Computer System 800 to at least one network.

[0120] In general, the words "component," "system," "database," and the like, as used here, can refer to logic embodied in hardware or firmware, or to a collection of software instructions that may have entry and exit points and are written in a programming language such as Java, C, or C++. A software component can be compiled and linked to an executable program, installed in a dynamic link library, or written in an interpreted programming language such as BASIC, Perl, or Python. It goes without saying that software components can be called by other components or by themselves, and / or can be invoked based on (e.g., in response to) detected events or interruptions.Software components configured to run on computer devices can be provided on a computer-readable medium such as a compact disc, digital video disc, flash drive, magnetic disk, or other tangible medium, or as a digital download (and may initially be stored in a compressed or installable format that must be installed, decompressed, or decrypted before execution). Such software code may be stored partially or entirely in the memory of the executing computer device for execution by the computer device. Software instructions may be embedded in firmware, such as an EPROM. Furthermore, the hardware components may consist of interconnected logic units such as gates and flip-flops, and / or programmable units such as programmable gate arrays or processors.

[0121] The Computer System 800 can implement the techniques described herein using custom hard-wired logic, one or more ASICs or FPGAs, firmware, and / or program logic, which, in combination with the Computer System, make the Computer System 800 a specialized machine or program. According to one embodiment, the techniques described herein are executed by the Computer System 800 based on (e.g., in response to) at least one Processor 810 executing one or more sequences of one or more instructions contained in the main memory 815. Such one or more instructions can be read into the main memory 815 from another storage medium, such as at least one storage device 825. The execution of the sequences of one or more instructions contained in the main memory 815 causes at least one Processor 810 to perform the process steps described herein.In alternative embodiments, hard-wired circuits can be used instead of or in combination with software instructions.

Claims

[1] A method (400) comprising the following: Detect (410) by a network device (100) during a first beacon interval, a plurality of access points (APs) on a first channel capable of ranging and receiving signal measurement from each of the plurality of APs on the first channel; Determine, by the network device, a set of APs from the multitude of APs on the first channel that have not yet performed ranging; Select (415), by the network device, one AP with the strongest received signal measurement among the set of APs on the first channel; Determine (420) through the network device whether the selected AP is available for ranging; Based on a determination that the selected AP is available for ranging, the network device initiates (425) ranging measurements with the selected AP on the first channel during a second beacon interval to produce a ranging result; based on the ranging result, Determine (430), by the network device, of locations of the plurality of APs on the first channel, wherein determining the locations of the plurality of APs on the first channel includes estimating the locations of the plurality of APs on the first channel on an AP map. [2] The method of claim 1, further comprising: Transmitted by the network device, a multitude of beacons on a second channel with a beacon interval between each pair of the multitude of beacons, wherein the first beacon interval is between a first pair of beacons and the second beacon interval is between a second pair of beacons. [3] The method according to claim 2, wherein the first channel is different from the second channel. [4] The method according to claim 1, wherein the received signal measurement from each of the plurality of APs on the first channel comprises a Received Signal Strength Indicator (RSSI), a Signal-to-Noise Ratio (SNR) or a combination thereof. [5] The method according to claim 1, wherein the detection of the plurality of APs on the first channel comprises: Scanning, by the network device, of the first channel during the first beacon interval; and Receiving, by the network device on the first channel, a multitude of beacons from the multitude of APs on the first channel, where the multitude of beacons indicates that the multitude of APs on the first channel are capable of ranging. [6] The method according to claim 5, wherein the plurality of beacons specify the received signal measurements of the plurality of APs on the first channel. [7] The method according to claim 1, wherein selecting the AP with the strongest received signal measurement comprises: Sorting, by the network device, a list of Basic Service Set Identifiers (BSSIDs) of the multitude of APs on the first channel based on the received signal measurement from each of the multitude of APs on the first channel; and Select, via the network device, the BSSID of the AP with the strongest received signal measurement. [8] The method according to claim 1, further comprising: Determine (505) through the network device whether a client load on the network device exceeds a load threshold; and Based on a determination that the client load does not exceed the load threshold, the network device selects (510) a first ranging interval; based on a determination that the client load exceeds the load threshold, the network device selects (515) a second ranging interval, wherein the first ranging interval is shorter than the second ranging interval; where the ranging measurements are initiated with the selected AP on the first channel in the selected one of the first ranging interval or the second ranging interval (520). [9] The method according to claim 1, wherein determining whether the selected AP is available for ranging comprises: Determine (610) through the network device whether the first channel is a dynamic frequency selection (DFS) channel; based on a determination that the first channel is a DFS channel, determine (615) by the network device whether the first channel satisfies a Channel Availability Check (CAC); based on a determination that the first channel satisfies a CAC, determine (620) by the network device that the selected AP is available for ranging; and Based on a determination that the first channel does not meet the CAC, determine (625) through the network device that the selected AP is not available for ranging. [10] The method according to claim 1, wherein determining whether the selected AP is available for ranging comprises: Determine, via the network device, whether ranging is enabled for the first channel; Based on a determination that ranging is enabled for the first channel, determine, through the network device, that the selected AP is available for ranging; and Based on a determination that ranging is disabled for the first channel, determine, through the network device, that the selected AP is not available for ranging. [11] The method according to claim 1, wherein the ranging result comprises a plurality of distances of the plurality of APs on the first channel according to a location of the selected AP, wherein the method further comprises: Determine, via the network device, whether the ranging result meets an accuracy threshold; and Based on a determination that the ranging result does not meet the accuracy threshold, the network device initiates a second ranging measurement with the selected AP on the first channel to generate a second ranging result; where determining the locations of the multitude of APs is based on the second ranging result. [12] The method of claim 1, further comprising: Select, by the network device of a second AP with the strongest received signal measurement among the set of APs for which no ranging has yet been performed; Initiate, via the network device, second ranging measurements with the selected second AP on the first channel to generate a second ranging result; Based on the second ranging result, the network device determines the locations of the multitude of APs on the first channel. [13] The method of claim 1, further comprising: Detect, by the network device during a third beacon interval, a second set of access points (APs) on a second channel that are capable of ranging and receiving signal measurement from each of the second set of APs on the second channel; Determine, by the network device, a second set of APs from the multitude of APs on the second channel that have not yet performed ranging; Select, by the network device, a second AP with the strongest received signal measurement among the second set of APs on the second channel; Determine, via the network device, whether the selected second AP is available for ranging; and Based on a determination that the selected second AP is available for ranging, the network device initiates, during a fourth beacon interval, ranging measurements with the selected second AP on the second channel to generate a second ranging result, wherein the second ranging result comprises a second plurality of distances of the second plurality of APs on the second channel according to a second location of the selected second AP; Based on the second ranging result, determine the second locations of the second set of APs on the second channel. [14] The method according to claim 1, wherein the ranging comprises a fine-time measurement (FTM). [15] A network device (100) comprising the following: a processing resource (110); and a non-transitory, machine-readable storage medium (120) comprising instructions that can be executed by the processing resource to: during a first beacon interval, to detect a multitude of access points (APs) on a first channel that are capable of ranging and receiving signal measurement from each of the multitude of APs on the first channel; to determine, from the multitude of APs, a set of APs on the first channel that have not yet performed a ranging; to select an AP with the strongest received signal measurement among the set of APs on the first channel, where no ranging has yet been performed for the AP; to determine whether the selected AP is available for distance measurement; based on a determination that the selected AP is available for ranging, to initiate ranging measurements with the selected AP on the first channel during a second beacon interval in order to generate a ranging result; based on the ranging result, to determine the locations of the multitude of APs on the first channel, wherein determining the locations of the multitude of APs on the first channel involves estimating the locations of the multitude of APs on the first channel on an AP map. [16] The network device according to claim 15, wherein the instructions further cause the processing resource to: to determine whether a client load on the network device exceeds a load threshold; based on a determination that the client load does not exceed the load threshold, to select an initial ranging interval; based on a determination that the client load exceeds the load threshold, to select a second ranging interval, where the first ranging interval is shorter than the second ranging interval; where the ranging measurements are initiated with the selected AP on the first channel in the selected one of the first ranging interval or the second ranging interval. [17] The network device according to claim 15, wherein the ranging result comprises a plurality of distances of the plurality of APs on the first channel according to a location of the selected AP and wherein the instructions further cause the processing resource to: to determine whether the ranging result meets an accuracy threshold; and Based on a determination that the ranging result does not meet the accuracy threshold, initiate second ranging measurements with the selected AP on the first channel to generate a second ranging result. [18] The network device according to claim 15, wherein the instructions further cause the processing resource to: to select a second AP with the strongest received signal measurement from among the set of APs for which no ranging has yet been performed; To initiate second ranging measurements with the selected second AP on the first channel in order to generate a second ranging result. [19] A non-transitory, machine-readable storage medium (120) comprising instructions that can be executed by at least one processing resource (110) for: Detect, by a network device (100) during a first beacon interval, a plurality of access points (APs) on a first channel that are capable of ranging and receiving signal measurement from each of the plurality of APs on the first channel; Determine, by the network device, a set of APs from among the multitude of APs on the first channel that have not yet performed ranging; Select, by the network device, an AP with the strongest received signal measurement among the set of APs, where no ranging has yet been performed for the AP; Determine, via the network device, whether the selected AP is available for ranging; Based on a determination that the selected AP is available for ranging, the network device initiates ranging measurements with the selected AP during a second beacon interval to generate a ranging result. Based on the ranging result, the network device determines the locations of the multitude of APs on the first channel, wherein determining the locations of the multitude of APs on the first channel includes estimating the locations of the multitude of APs on the first channel on an AP map. [20] The non-transitory, machine-readable storage medium according to claim 19, wherein the instructions further comprise instructions for: Determine, via the network device, whether a client load on the network device exceeds a load threshold; Based on a determination that the client load does not exceed the load threshold, the network device selects an initial ranging interval; Based on a determination that the client load exceeds the load threshold, the network device selects a second ranging interval, where the first ranging interval is shorter than the second ranging interval; where the ranging measurements are initiated with the selected AP on the first channel in the selected one of the first ranging intervals or the second ranging interval.