Ranging by a network device during a beacon interval

By selecting and ranging the AP with the strongest signal found by the network device during the beacon interval, the problems of AP automatic positioning error and communication interruption caused by topology changes in wireless LAN are solved, and efficient ranging and location resolution are achieved.

CN116234003BActive Publication Date: 2025-12-05HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202210435928.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-12-03
Filing Date
2022-04-24
Publication Date
2025-12-05
Estimated Expiration
2042-04-24

AI Technical Summary

Technical Problem

In existing wireless LANs, the automatic positioning of access points (APs) suffers from large errors and difficulty in maintaining the continuity of ranging when the network topology changes, leading to increased broadcast time overhead and communication interruptions.

Method used

During the beacon interval, network devices discover multiple access points (APs) and measure their received signals. The AP with the strongest signal is selected for ranging, and ranging results are generated. This reduces broadcast time overhead and minimizes communication interruptions when the network topology changes.

Benefits of technology

By optimizing the ranging process within the beacon interval, broadcast time overhead is reduced, and communication continuity and ranging accuracy are maintained during network topology changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116234003B_ABST
    Figure CN116234003B_ABST
Patent Text Reader

Abstract

Examples described herein provide ranging by a network device during a beacon interval. Examples described herein can discover, by a network device during a first beacon interval, a plurality of APs capable of ranging and a received signal measurement of each of the plurality of APs. Examples described herein can select, by the network device, an AP of the plurality of APs having a strongest received signal measurement; determine, by the network device, whether the selected AP is available for ranging; and initiate, by the network device during a second beacon interval, a ranging measurement with the selected AP based on a determination that the selected AP is available for ranging to generate a ranging result. Examples described herein can resolve locations of the plurality of APs based on the ranging result.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross Reference to Related Applications

[0002] This application is related to co-pending U.S. Application entitled “COORDINATED RANGING BETWEEN ACCESS POINTS IN A NETWORK” filed on December 2, 2021, having Inventor Reference No. 90955461 and assigned to Hewlett Packard Enterprise Company. BACKGROUND

[0003] Generally, in a wireless local area network (WLAN), one or more access points (APs) can be deployed. Communication devices, such as laptops, personal computers, smart phones, and the like, can connect to the WLAN to exchange data within the network. The communication devices can make a ranging request with one or more APs.

[0004] Due to the wide compatibility between APs and communication devices, ranging techniques such as the Fine Timing Measurement (FTM) protocol have become prominent. The FTM protocol generally includes an exchange of messages between the AP and the communication device. Time of flight, round trip time, and the like are derived from the messages, which are used to determine the location of the communication device with reference to the AP. For example, the time of flight can be defined as the total time it takes for a signal to travel from the AP to a client device (e.g., the communication device) and back to the AP from the client device. From the time of flight information, the distance between the AP and the client device can be determined. BRIEF DESCRIPTION OF DRAWINGS

[0005] Various features and advantages of the present application will become apparent from the following description of embodiments of the present application, given by way of example only, which is made with reference to the accompanying drawings, in which:

[0006] Figure 1 is a block diagram of an exemplary network device for providing ranging between APs in a network during a beacon interval.

[0007] Figure 2 is a block diagram of an exemplary system for providing ranging between APs in a network during a beacon interval.

[0008] Figure 3 is a block diagram of an exemplary system for providing ranging between APs in a network during a beacon interval.

[0009] Figure 4 is a flow diagram of an exemplary method for providing ranging between APs in a network during a beacon interval.

[0010] Figure 5is a flow diagram of an exemplary method for providing ranging between APs in a network during a beacon interval.

[0011] Figure 6 is a flow diagram of an exemplary method for providing ranging between APs in a network during a beacon interval.

[0012] Figure 7 is a flow diagram of an exemplary method for providing ranging between APs in a network during a beacon interval.

[0013] Figure 8 is a block diagram of an exemplary computer system in which various embodiments described herein can be implemented for providing ranging between APs in a network during a beacon interval. DETAILED DESCRIPTION

[0014] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings and the following description. However, it is explicitly understood that the drawings are for illustration only and that the application will be modified, adapted, and otherwise embodied to fit specific situations. Thus, the following detailed description is not limiting on the disclosed examples. Rather, the appropriate scope of the disclosed examples will be determined by the appended claims.

[0015] Recently, there has been an effort to automatically position APs in a network, e.g., on a visual floor plan of the network. Such automatic positioning of APs is advantageous over manual positioning of APs because manual positioning of APs can be a process prone to errors. For example, when manually positioning APs in a network, the locations of the APs can be measured or entered incorrectly, or the APs can be moved or removed from service.

[0016] To support automatic positioning of APs, the APs need to perform packet exchanges with neighboring APs and then measure the round trip times (RTTs) of these packet exchanges to estimate the ranges of the APs from their corresponding neighboring APs. Sequentially performing ranging between individual pairs of APs can result in increased broadcast time overhead because a large amount of available broadcast time is used to complete the ranging measurements between the APs. Moreover, ranging techniques typically do not allow the APs to continue performing ranging when the network topology changes, e.g., when an AP is added to the network or removed from service, without causing disruptions in communications between the APs and client devices connected to the APs. Thus, there is a need for efficient ranging between APs in a network that minimizes broadcast time overhead and disruptions in communications between the APs and client devices when the network topology changes.

[0017] To address these issues, examples described herein provide ranging by a network device during a beacon interval. Examples described herein can discover, by the network device during a first beacon interval, a plurality of APs that are capable of ranging and a received signal measurement for each of the plurality of APs. Examples described herein can select, by the network device, an AP of the plurality of APs having a strongest received signal measurement; determine, by the network device, whether the selected AP is available for ranging; and determine, based on the selected AP being available for ranging, initiate, by the network device during a second beacon interval, a ranging measurement with the selected AP to generate a ranging result. Examples described herein can resolve locations of the plurality of APs based on the ranging result.

[0018] In this way, examples described herein provide ranging by a network device during a beacon interval that can reduce broadcast time overhead for performing ranging and minimize disruption to communications between the network device and client devices when a network topology changes. For example, examples described herein can discover, by the network device during a first beacon interval, a plurality of APs that are capable of ranging and a received signal measurement for each of the plurality of APs, thereby enabling the network device to discover the plurality of APs during a time (the first beacon interval) in which the network device is not communicating with a plurality of client devices (e.g., the network device is not transmitting a plurality of beacons to the client devices). Further, examples described herein can initiate, by the network device during a second beacon interval, a ranging measurement with a selected AP of the plurality of APs having a strongest received signal measurement to generate a ranging result, thereby enabling ranging between the network device and the selected AP to be implemented during a time (the second beacon interval) in which the network device is not communicating with the plurality of client devices. Further, in such examples, the network device initiates ranging with the selected AP of the plurality of APs having the strongest received signal measurement, thereby increasing a likelihood of generating a high quality ranging result and improving a reliability (e.g., accuracy) of resolving locations of the plurality of APs based on the ranging result.

[0019] Network device

[0020] Referring now to the drawings, Figure 1 A block diagram of an example network device 100 for providing ranging during a beacon interval is depicted. The network device 100 includes at least one processing resource 110 and at least one machine-readable storage medium 120 including (e.g., encoded with) at least AP discovery instructions 122, AP selection instructions 124, and ranging initiation instructions 126.

[0021] In Figure 1In examples, network device 100 can participate in any network data sending operation, including but not limited to switching, routing, bridging, or a combination thereof. In addition, network device 100 can comprise a wireless AP (WAP). In examples described herein, a“WAP” generally refers to an access point for any known or convenient wireless access technology, which can become known later. In particular, the term WAP is not intended to be limited to WAPs that conform to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards. A WAP is generally used as an electronic device that is adapted to allow wireless devices to connect to a wired network via various communication standards. A WAP can include any necessary hardware components to perform the inventions disclosed herein, including but not limited to: a processor, a memory, a display device, an input device, communication equipment, etc. It should be appreciated that network device 100 can comprise any suitable type of network device manufactured by any suitable manufacturer.

[0022] In Figure 1 In examples, network device 100 comprises 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., APs), one or more computing devices, or a combination thereof. A radio can generate signals in one or more frequency bands, process signals in one or more frequency bands, or a combination thereof. A radio of network device 100 can operate in any suitable frequency band and conform to any suitable type of wireless communication standard now known or later developed. For example, one or more radios of network device 100 can operate on one or more channels in the 2.4 GHz frequency band and / or the 5 GHz frequency band according to the IEEE 802.1 lac and / or 802.1 lax standards. In addition, network device 100 can comprise one, two, or any other suitable number of radios.

[0023] In Figure 1 In examples, network device 100 can be configured (e.g., encoded with instructions executable by at least one processing resource 110) to receive a network request 150 from a network via a network path 140. Network path 140 can comprise any suitable link (e.g., wired or wireless, direct or indirect, etc.) between network device 100 and the network 142. Network request 150 can comprise any suitable instructions instructing network device 100 to perform ranging during a beacon interval. For example, network request 150 can comprise instructions instructing network device 100 to perform AP discovery instructions 122, AP selection instructions 124, and ranging initiation instructions 126.

[0024] In examples described herein, a“network path” can include a combination of hardware (e.g., interfaces, links, etc.) and instructions (e.g., executable by a processing resource) to communicate (e.g., receive, send) a command (e.g., network request 150) to an external resource (e.g., a computing device, a server, a cloud computing resource, etc.) connected with a network.

[0025] In Figure 1 In examples described herein, network device 100 can be configured (e.g., encoded with instructions executable by at least one processing resource 110) to send or receive a communication signal 170 via a communication path 160 to perform ranging during a beacon interval. Communication path 160 can include any suitable link 162 (e.g., wired or wireless, direct or indirect, etc.) between network device 100 and one or more other network devices (e.g., APs), one or more client devices (e.g., communication devices), or a combination thereof. Communication signal 170 can include any suitable instructions for causing network device 100 to perform ranging during a beacon interval (e.g., perform AP discovery instructions 122, AP selection instructions 124, and ranging initiation instructions 126).

[0026] In examples described herein, a“communication path” can include a combination of hardware (e.g., interfaces, links, etc.) and instructions (e.g., executable by a processing resource) to communicate (e.g., receive, send) a command with one or more network devices, one or more client devices, or a combination thereof.

[0027] In Figure 1 In examples described herein, network device 100 can communicate with one or more other network devices (e.g., APs) and / or one or more client devices (e.g., communication devices) connected to network device 100 (e.g., via link 162). For example, one or more communication devices, such as a laptop computer, a desktop computer, a mobile device, and / or other wireless devices, etc., can be connected to network device 100. In examples herein, a“mobile device” refers to a device that is carried and / or worn by a user. For example, a mobile device can be a phone (e.g., a smart phone), a tablet, a personal digital assistant (PDA), smart glasses, and / or a wrist-worn device (e.g., a smart watch), among other types of mobile devices. Network device 100 can communicate with one or more other network devices and / or one or more client devices via a radio.

[0028] In Figure 1In the example of FIG. 1, network device 100 can communicate with one or more computing devices connected to network device 100 (e.g., via link 142). For example, one or more computing devices, such as a gateway router, a wireless local area network (WLAN) controller, a switch, a server, etc., can be connected to network device 100. Network device 100 can communicate with the one or more computing devices via a radio.

[0029] Figure 1

[0030] Reference is made to Figure 1 In some examples, a flow diagram depicting a method 400 for ranging by a network device during a beacon interval is presented. Although the execution of method 400 is described below with reference to network device 100 of Figure 5 Any suitable network device for executing method 400 can be utilized. Additionally, the implementation of method 400 is not limited to such examples. While method blocks 405-430 are shown in method 400, method 400 can include other actions described herein. Additionally, although the blocks are shown in a sequential order, these blocks can be performed in any suitable order, and Figure 1 The blocks depicted in FIG. 4 can be performed in any suitable order and at any time. Furthermore, one or more blocks of method 400 can be combined with one or more blocks of methods 500, 600, and 700 for execution. Also, some of the blocks shown in method 400 can be omitted without departing from the spirit and scope of the disclosure.

[0031] At block 405, method 400 can include transmitting a plurality of beacons with a beacon interval between each pair of beacons of the plurality of beacons. With reference to network device 100 of Figure 5 Network device 100 can include instructions that, when executed by processing resource 110, are to transmit a plurality of beacons with a beacon interval between each pair of beacons of the plurality of beacons.

[0032] 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 required for a station (e.g., a client device, another network device, etc.) to communicate (e.g., send frames) with the network device in the network. The beacon can have a frame format according to an IEEE 802.11 standard. For example, the beacon can include an IEEE 802.11 medium access control (MAC) header, a body, and a frame check sequence (FCS). The body of the beacon can include a timestamp, a beacon interval, a type field indicating information about a capability of the network (e.g., whether the network is infrastructure-based or ad hoc), a service set identifier (SSID), a supported transmission rate, 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 should be understood that the beacon can have any suitable format according to any suitable standard.

[0033] As used herein, a "beacon interval" (also referred to as a "target beacon transmission time") refers to a frequency of beacon transmission by a network device (e.g., network device 100). That is, the beacon interval refers to a duration of time between successive beacon transmissions (i.e., beacon broadcasts) by the network device. The beacon interval can correspond to an off-channel dwell period, which is a period of time in which the network device does not communicate with one or more stations (e.g., client devices) on a given channel. The beacon interval can be measured in time units, where a time unit corresponds to 1.024 milliseconds. It should be understood that the beacon interval can be set to 100 time units, 300 time units, or any suitable duration.

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

[0035] The network device 100 can transmit a plurality of beacons to one or more stations (e.g., client devices) in a network to establish communication (e.g., via link 162) with the one or more stations in the network. The network device 100 can transmit the plurality 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.

[0036] At block 410, the method 400 can include discovering, during a beacon interval (e.g., a first beacon interval), a plurality of APs on a channel (e.g., a first channel) capable of ranging and a received signal measurement for each of the plurality of APs on the channel. Reference is made to Figure 6 The network device 100, of the network device 100, can include AP discovery instructions 122 to, when executed by the processing resource 110, discover a plurality of APs on a channel during a beacon interval, the plurality of APs capable of ranging and measuring a received signal for each of the plurality of APs on the channel.

[0037] Discovering the plurality of APs on the channel can include scanning, by the network device 100, the channel during the beacon interval and receiving, by the network device 100, a plurality of beacons from the plurality of APs on the channel, where the plurality of beacons indicative of the plurality of APs capable of ranging. It will be understood that the plurality of beacons received, by the network device 100, from the plurality of APs on the channel can be in any suitable format.

[0038] Measuring the received signal for each of the plurality of APs on the channel can include a received signal strength indicator (RSSI), a signal-to-noise ratio (SNR), or a combination thereof. The plurality of beacons received, by the network device 100, from the plurality of APs on the channel can be indicative of the measurement of the received signal for each of the plurality of APs on the channel. It will be understood that the received signal measurement for each of the plurality of APs on the channel can be received, by the network device 100, in any suitable format.

[0039] Further, at block 410, the method 400 can include, for each of the plurality of channels, discovering, during a beacon interval, a plurality of APs on a channel capable of ranging and a received signal measurement for each of the plurality of APs on the channel. For example, the network device 100 can discover, during a first beacon interval, a first subset of APs on a first channel capable of ranging and received signal measurement for each of the first subset of APs on the first channel; and discover, during a subsequent beacon interval (e.g., a second beacon interval), a second subset of APs on a second channel capable of ranging and received signal measurement for each of the second subset of APs on the second channel. It will be understood that the network device 100 can discover one, two, ten, or any suitable number of APs on a channel.

[0040] At block 415, the method 400 can include selecting the AP of the plurality of APs on the channel having the strongest received signal measurement. Referring to Figure 1 The network device 100, in some examples, can include AP selection instructions 124 that, when executed by the processing resource 110, function to select the AP of the plurality of APs on the channel having the strongest received signal measurement.

[0041] In some examples, the network device 100 can select the AP of the plurality of APs on the same channel on which the network device 100 transmits the plurality of beacons (at block 405). Alternatively, the network device 100 can select the AP of the plurality of APs on a different channel than the channel on which the network device 100 transmits the plurality of beacons (at block 405). For example, the network device 100 can transmit the plurality of beacons (at block 405) on a first channel with a beacon interval between each pair of beacons of the plurality of beacons, and then discover a plurality of APs on a second channel, which is capable of ranging and received signal measurement for each of the plurality of APs on the second channel (at block 410), and then select the AP on the second channel of the plurality of APs on the second channel having the strongest received signal measurement (at block 415), where the first channel is different than the second channel. It should be appreciated that each channel of the network (e.g., the first channel, the second channel) can correspond to any suitable frequency band according to any suitable standard (e.g., IEEE 802.11).

[0042] Further, at block 415, the method 400 can include selecting a channel of a plurality of channels of the network, and then selecting the AP of the plurality of APs on the selected channel of the network having the strongest received signal measurement. In some examples, the network device 100 can randomly select the channel of the plurality of channels. In other examples, the network device 100 can select the channel of the plurality of channels based on a predetermined order for selecting the plurality of channels. The predetermined order can be set by the device (e.g., the network device 100) or by a user.

[0043] Selecting the AP of the plurality of APs on the channel with the strongest received signal measurement can include sorting, by the network device 100, basic service set identifiers (BSSIDs) of the plurality of APs on the channel based on received signal strengths of each of the plurality of APs on the channel, and selecting, by the network device 100, the BSSID of the AP of the plurality of APs on the channel with the strongest received signal measurement. For example, the network device 100 can sort the BSSIDs of the plurality of APs on the first channel in an ascending order of the received signal strength measurements of the plurality of APs on the first channel in a list, such that the BSSID of the AP of the plurality of APs on the first channel with the strongest received signal measurement is listed first on the list of BSSIDs. In such an example, the network device 100 can select the BSSID listed first on the list of BSSIDs (at block 415). The plurality of beacons received by the network device 100 from the plurality of APs can indicate the BSSID of each of the plurality of APs. It will be understood that the BSSID of each of the plurality of APs can be received by the network device 100 in any suitable format.

[0044] Selecting the AP of the plurality of APs on the channel with the strongest received signal measurement can include selecting, by the network device 100, the AP of the plurality of APs on the channel for which ranging has not been performed. That is, the selected AP of the plurality of APs on the channel can be an AP for which the network device 100 has not initiated ranging measurements between the network device 100 and the selected AP to generate ranging results (as described below with respect to block 425 of method 400) at block 415.

[0045] At block 420, method 400 can include determining whether the selected AP is available for ranging. With reference to Figure 6network device 100 can include instructions that, when executed by the processing resource 110, function to determine whether the selected AP is available for ranging. At block 420, if it is determined that the selected AP is not available for ranging, the method 400 returns to block 415 to select the AP of the plurality of APs on the channel having the strongest received signal measurement. In this case, the method 400 can return to block 415 after a predetermined period of time (e.g., 100 milliseconds, 1 second, etc.) elapses. When the method 400 returns to block 415, the method 400 can include selecting the AP of the plurality of APs on the same or different channel than the channel having the strongest received signal measurement as when block 415 was previously executed. For example, the network device 100 can select the AP of a first subset of APs on a first channel having the strongest received signal measurement (at block 415), and based on a determination that the selected AP on the first channel is not available for ranging (at block 420), can then select the AP of a second subset of APs on a second channel having the strongest received signal measurement (when the method 400 returns to block 415). At block 420, if it is determined that the selected AP is available for ranging, the method 400 proceeds to block 425.

[0046] At block 425, the method 400 can include initiating a ranging measurement with the selected AP on the channel during a beacon interval (e.g., a second beacon interval) to generate a ranging result. Reference is made to Figure 7 The network device 100 can include a ranging initiation instruction 126 that, when executed by the processing resource 110, functions to initiate a ranging measurement with the selected AP on the channel during the second beacon interval to generate a ranging result.

[0047] The ranging measurement with the selected AP on the channel (i.e., the ranging measurement between the network device 100 and the selected AP) can include an FTM, an RTT measurement, a time of arrival (ToA) measurement, a time of flight (ToF) measurement, an angle of arrival (AoA) measurement, an RSSI measurement, a short guard interval (SGI) measurement, a long guard interval (LGI) measurement, channel state information (CSI), or a combination thereof between the network device 100 and the selected AP. It should be understood that the ranging measurement between the network device 100 and the selected AP can be in any suitable format. Further, the ranging result generated by the network device 100 can be indicative of the ranging measurement between the network device 100 and the selected AP on the channel and can be transmitted to another device (e.g., a computing device, another network device, etc.). For example, the ranging result can be indicated by (e.g., included in) one or more data packets received by the computing device. It should be understood that the ranging result generated by the network device 100 can be in any suitable format.

[0048] As used herein, RTT (also referred to as round-trip delay or ping time) corresponds to the time period 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 for confirmation of the signal to return to the starting point. The RTT measurement can be based on propagation delay, processing delay, queuing delay, encoding delay, or a combination thereof. It should be understood that the RTT can be calculated based on any suitable technique in accordance with any suitable protocol (e.g., a transmission control protocol).

[0049] As used herein, 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). The CSI is used to determine how a wireless signal propagates between a transmitter and a receiver and represents the combined effects of scattering, fading, and power attenuation of a transmitted wireless signal with distance.

[0050] Initiating the ranging measurement with the selected AP on the channel can include configuring, by the network device 100, a channel bandwidth in the channel for the ranging measurement. For example, the network device 100 can configure a channel bandwidth of 80 Mhz in the channel for the ranging measurement with the selected AP. It should be understood that the network device 100 can configure a channel bandwidth of 20 MHz, 40 MHz, 80 MHz, 160 MHz, or any suitable channel bandwidth in the channel for the ranging measurement with the selected AP. Further, initiating the ranging measurement with the selected AP on the channel can include configuring, by the network device 100, an antenna link between the network device 100 and the selected AP for the ranging measurement with the selected AP. Configuring the antenna link between the network device 100 and the selected AP can include selecting, by the network device 100, an antenna of the network device 100 (among one or more antennas of the network device 100) for the ranging measurement with the selected AP and selecting, by the network device 100, an antenna of the selected AP (among one or more antennas of the selected AP) for the ranging measurement with the selected AP. Further, initiating the ranging measurement with the selected AP on the channel can include configuring, by the network device 100, a transmit effective isotropic radiated power (EIRP) for the ranging measurement with the selected AP. For example, the network device 100 can configure the transmit EIRP to be 100% of the available power (i.e., Pmax) of the network device 100 to perform the ranging measurement with the selected AP. It will be understood that the network device 100 can configure the transmit EIRP to be 100% (Pmax), 90%, 75%, or any other suitable percentage of the available power for the network device 100 to perform the ranging measurement with the selected AP.

[0051] The ranging measurement with the selected AP on the channel can be initiated during a subsequent beacon interval (e.g., a second beacon interval) of the beacon interval (e.g., a first beacon interval) during which the network device 100 discovers the plurality of APs (at block 410).

[0052] At block 430, the method 400 can include resolving locations of the plurality of APs based on the ranging results. Referring to Figure 1 A computing device (not shown) in communication with the network device 100 (e.g., via the link 142) can include instructions that, when executed by a processing resource, are to resolve locations of the plurality of APs based on the ranging results (e.g., based on receiving the ranging results). In such examples, resolving the locations of the plurality of APs can include transmitting, by the network device 100, the ranging results to the computing device, where the computing device resolves the locations of the plurality of APs based on the ranging results. Alternatively, the network device 100 can include instructions that, when executed by a processing resource 100, are to resolve the locations of the plurality of APs.

[0053] Resolving the locations of the plurality of APs can be based on multiple ranging results for APs on different channels. For example, the network device 100 can discover a first subset of rangeable APs on a first channel and a received signal measurement for each of the first subset of APs on the first channel during a first beacon interval (at block 410), select a first AP of the first subset of APs on the first channel having a strongest received signal measurement (at block 415), determine that the selected first AP on the first channel is available for ranging (at block 420), and initiate a measurement with the selected first AP on the first channel during a second beacon interval to generate a first ranging result (at block 425). Further, in such examples, the network device 100 can discover a second subset of rangeable APs on a second channel and a received signal measurement for each of the second subset of APs on the second channel during a third beacon interval (at block 410), select a second AP of the second subset of APs on the second channel having a strongest received signal measurement (at block 415), determine that the selected second AP on the second channel is available for ranging (at block 420), and initiate a measurement with the selected second AP on the second channel during a fourth beacon interval to generate a second ranging result (at block 425). Then, in such examples, the computing device can resolve locations of the plurality of APs including the first subset of APs and the second subset of APs based on the first ranging result and the second ranging result (at block 430).

[0054] Resolving the locations of the plurality of APs can include estimating the locations (e.g., coordinates) of the plurality of APs on an AP map (e.g., a map of relative AP locations on a visual floor plan) based on the ranging results. Techniques for resolving the locations of APs based on ranging results (e.g., FTM) are further described in the following patent applications, which are incorporated by reference herein.

[0055] U.S. Application Serial No. 16 / 831,213, filed March 26, 2020, in the names of inventors Vikram Raghu, Eldad Perahia, Sachin Ganu, Sai Pradeep Venkatraman, and Chuck Lukaszewski, and entitled “AUTOMATIC LOCATION OF ACCESS POINTS IN A NETWORK,” which is generally designated herein.

[0056] U.S. Application Serial No. 17 / 218,309, filed March 31, 2021, in the names of inventors Amogh Guruprasad Deshmukh, Eldad Perahia, Gaurav Patwardhan, and Sachin Ganu, and entitled “HANDLING FINE TIMING MEASUREMENT REQUESTS,” which is generally designated herein.

[0057] U.S. Application Serial No. 17 / 229,954, filed April 14, 2021, in the names of inventors Omar El Ferkouss, Andre Beaudin, and Sachin Ganu, and entitled “FINE TIMING MEASUREMENTS IN ENTERPRISE DEPLOYMENTS USING HIGH BANDWIDTH CHANNELS,” which is generally designated herein.

[0058] U.S. Application Serial No. 17 / 337,679, filed June 3, 2021, in the name of inventors Sachin Ganu, Chuck Lukaszewski, Gaurav Patwardhan, Eldad Perahia, Vikram Raghu, and Stuart Wal Strickland, and entitled “AUTOMATIC LOCATION OF ACCESS POINTS IN A NETWORK,” which is hereby incorporated by reference in its entirety.

[0059] In the event of a conflict between the incorporated application and this disclosure, the specification, including definitions, controls.

[0060] In this way, the example network device 100 provides ranging during a beacon interval, which reduces broadcast time overhead for performing ranging and minimizes disruption to communications between the network device 100 and client devices when the network topology changes. For example, the network device 100 can discover multiple APs in the network during a beacon interval (e.g., a first beacon interval), which enables the network device 100 to range and receive signal measurements for each of the multiple APs on the channel, thereby enabling the network device 100 to discover the multiple APs during a time when the network device 100 is not communicating with multiple client devices (e.g., the network device 100 is not transmitting multiple beacons to the client devices) (during the first beacon interval). Further, the network device 100 can initiate ranging measurements with a selected AP of the multiple APs having the strongest received signal measurement during a beacon interval (e.g., a second beacon interval) to generate ranging results, thereby enabling ranging between the network device 100 and the selected AP during a time when the network device 100 is not communicating with multiple client devices (during the second beacon interval). Further, in such examples, the network device 100 initiates ranging with the selected AP of the multiple APs having the strongest received signal measurement, thereby increasing the likelihood of generating high quality ranging results and improving the reliability (e.g., accuracy) of resolving the locations of the multiple APs based on the ranging results.

[0061] Reference is made to Figure 7 In some examples, a flowchart depicting a method 500 for ranging by a network device during a beacon interval is presented. Although the performance of the method 500 is described below with reference to the network device 100 of System / computing system of the network device 100, any suitable network device for performing the method 500 can be utilized. Additionally, implementation of the method 500 is not limited to such examples. While method blocks 505-520 are shown in the method 500, the method 500 can include other acts described herein. Additionally, although blocks are shown in sequence, the method 500 can include concurrent performance of blocks. Figure 2The blocks depicted can be performed in any suitable order and at any time. Additionally, one or more blocks of method 500 can be combined with one or more blocks of methods 400, 600, and 700 to perform. Also, some blocks shown in method 500 can be omitted without departing from the spirit and scope of the disclosure.

[0062] At block 505, method 500 can include determining whether a client load on network device 100 exceeds a load threshold. At block 505, if it is determined that the client load does not exceed the load threshold, method 500 proceeds to block 510. Conversely, at block 505, if it is determined that the client load exceeds the load threshold, method 500 proceeds to block 515.

[0063] The load threshold can correspond to a threshold amount of network traffic between network device 100 and one or more client devices, one or more other network devices (e.g., APs), one or more other stations, or a combination thereof. The load threshold can be computed by network device 100 or can be a predetermined value (e.g., based on capabilities of network device 100, based on user input, etc.). The load threshold can be determined based on a number of client devices in communication with network device 100 (e.g., associated with network communications, sending data to the network, receiving data from the network in communication), an amount of network traffic (e.g., aggregate bandwidth) used by one or more client devices in communication with network device 100, or a combination thereof. The client load can correspond to an amount of network traffic (e.g., aggregate bandwidth) being used by one or more client devices in communication with network device 100.

[0064] At block 510, method 500 can include selecting a first ranging interval. At block 515, method 515 can include selecting a second ranging interval, where the first ranging interval is shorter than the second ranging interval.

[0065] As used herein, a “ranging interval” (e.g., first ranging interval, second ranging interval) refers to a frequency of ranging measurements initiated by a network device (e.g., network device 100) and one or more other network devices (e.g., APs). That is, a ranging interval refers to a duration of time between successive ranging measurements initiated by a network device. The ranging interval can be measured in time units, where a time unit corresponds to 1.024 milliseconds.

[0066] The first ranging interval can correspond to a frequency of every mth scan during the beacon interval, and the second ranging interval can correspond to a frequency of every nth scan during the beacon interval, where m is an integer greater than n. The first ranging interval can correspond to a "forced scan," in which ranging occurs at a higher frequency (relative to the second ranging interval) without causing an interruption (e.g., interference) in communications between the network device 100 and the one or more client devices (e.g., when a beacon is transmitted by the network device 100 to the one or more client devices). Conversely, the second ranging interval can correspond to a "default scan," in which ranging occurs at a lower frequency (relative to the first ranging interval) without causing an interruption (e.g., interference) in communications between the network device 100 and the one or more client devices.

[0067] At block 520, the method 500 can include initiating, during a beacon interval (e.g., a first beacon interval), ranging measurements with a selected AP on a selected channel (e.g., a first channel) at a selected ranging interval (the selected ranging interval of the first ranging interval and the second ranging interval) to generate ranging results. Block 520 can include the same or similar steps as described above with respect to block 335 of the method 300.

[0068] In this way, the example network device 100 provides ranging at ranging intervals that optimize the available time within a beacon interval (e.g., during the off-channel dwell period), thereby reducing the broadcast time overhead for performing ranging by the network device 100, and avoiding an interruption in communications between the network device 100 and the one or more client devices (e.g., during the on-channel dwell period). For example, the network device 100 can determine whether a client load on the network device 100 exceeds a load threshold (at block 505), and based on a determination that the client load does not exceed the load threshold, select the first ranging interval (at block 510) such that ranging occurs at a higher frequency without causing an interruption (e.g., interference) in communications between the network device 100 and the one or more client devices, or, conversely, based on a determination that the client load exceeds the load threshold, select the second ranging interval (at block 515) such that ranging occurs at a lower frequency without causing an interruption (e.g., interference) in communications between the network device 100 and the one or more client devices. This allows the network device 100 to initiate ranging measurements with a selected AP on a selected channel at a selected ranging interval that optimizes the available time in which the network device 100 is not in communication with the one or more client devices (e.g., when the network device 100 is not transmitting a beacon to the one or more client devices) in order to generate ranging results (at block 520).

[0069] Reference Figure 1In some examples, a flowchart depicting a method 600 for ranging by a network device during a beacon interval is presented. Although the execution of the method 600 is described below with reference to the network device 100 of FIG. 1, any suitable network device for executing the method 600 can be utilized. Additionally, implementations of the method 600 are not limited to such examples. While the method blocks 605-630 are shown in the method 600, the method 600 can include other actions described herein. Additionally, while the blocks are shown in a sequential order, these blocks can be performed in any suitable order and at any time. Figure 2 Additionally, one or more blocks of the method 600 can be combined with one or more blocks of the methods 400, 500, and 700 for execution. For example, the method 600 can include the steps 610-625 for determining whether the selected AP is available for ranging (at block 420 of the method 400). Also, some of the blocks shown in the method 600 can be omitted without departing from the spirit and scope of the present disclosure. Figure 2

[0070] At block 605, the method 600 can include selecting an AP of a plurality of APs on a channel (e.g., a first channel) having a strongest received signal measurement. Block 605 can include the same or similar steps as described above with respect to block 415 of the method 400.

[0071] At block 610, the method 600 can include determining whether the channel is a dynamic frequency selection (DFS) channel. If it is determined that the channel is a DFS channel at block 610, the method 600 proceeds to block 615. Conversely, if it is determined that the channel is not a DFS channel at block 610, the method 600 proceeds to block 620.

[0072] As used herein, a “dynamic frequency selection channel” refers to a channel allocation scheme reserved for use of the C-band (e.g., 4 GHz to 8 GHz as specified by IEEE, 3.7 GHz to 4.2 GHz as specified by the United States Federal Communications Commission) for applications such as radar (e.g., military radar, satellite communications, weather radar, etc.). For example, the DFS channel can correspond to the Unlicensed National Information Infrastructure 2C band (U-NII-2C) with a frequency range between 5.470 to 5.725 GHz. It should be appreciated that the DFS channel can correspond to any suitable channel allocation scheme within any suitable specified frequency range.

[0073] ​At block 615, the method 600 can include determining whether the channel satisfies a channel availability check (CAC). As used herein, a "channel availability check" refers to a determination process as to whether another device (e.g., a radar device) in the vicinity of the network device is using the DFS channel. At block 615, if it is determined that the channel satisfies the CAC (e.g., if it is determined that no other device is using the DFS channel in the communication range of the network device 100), the method 600 proceeds to block 620. Conversely, at block 615, if it is determined that the channel does not satisfy the CAC (e.g., if it is determined that another device in the communication range of the network device 100 is using the DFS channel), the method 600 proceeds to block 625 to determine that the selected AP is not available for ranging.

[0074] At block 620, the method 600 can include determining whether ranging is enabled for the selected AP. At block 620, if it is determined that ranging is enabled for the selected AP, the selected AP is available for ranging, and the method 600 proceeds to block 630. Conversely, at block 620, if it is determined that ranging is not enabled for the selected AP, the method 600 proceeds to block 625 to determine that the selected AP is not available for ranging.

[0075] At block 630, the method 600 can include initiating ranging measurements with the selected AP on the channel (e.g., the first channel) during a beacon interval (e.g., the first beacon interval) to generate ranging results. Block 630 can include the same or similar steps as described above with respect to block 425 of the method 400.

[0076] In this way, the example network device 100 provides ranging with the selected AP without causing disruption to DFS channels used by other devices, such as radar devices, and only provides ranging when the selected AP has enabled ranging.

[0077] Reference Figure 2 In some examples, a flowchart depicting a method 700 for ranging by a network device during a beacon interval is presented. Although execution of the method 700 is described below with reference to the network device 100 of FIG. 1, any suitable network device for executing the method 700 can be utilized. Figure 2 Although the blocks of the method 700 are illustrated in a sequential order, these blocks can also be performed in parallel, or in some cases, skipped altogether. Figure 2The blocks depicted in the flow diagrams can be performed in any suitable order and at any time. Additionally, one or more blocks in the flow diagrams can be combined with one or more blocks in the flow diagrams 400, 500, or 600. Also, some blocks in the flow diagrams shown can be omitted from the flow diagrams 700 without departing from the spirit and scope of the disclosure.

[0078] At block 705, the method 700 can include selecting an AP (e.g., a first AP) of a plurality of APs on a channel (e.g., a first channel) for which ranging has not yet been performed that has a strongest received signal measurement. Block 705 can include the same or similar steps as described above with respect to block 415 of the method 400.

[0079] At block 710, the method 700 can include initiating, during a beacon interval, a ranging measurement with the selected AP on the channel to generate a ranging result. Block 710 can include the same or similar steps as described above with respect to block 425 of the method 400.

[0080] At block 715, the method 700 can include determining whether the ranging result generated by the network device 100 is successful. If it is determined at block 715 that the ranging result is not successful, the method 700 proceeds to block 720. Conversely, if it is determined at block 715 that the ranging result is successful, the method 700 proceeds to block 725.

[0081] Determining whether the ranging result generated by the network device 100 is successful can include determining whether the ranging result satisfies an accuracy threshold. The accuracy threshold can be based on a threshold of variance (e.g., a standard deviation) of the ranging result. It will be understood that the accuracy threshold of the ranging result can be determined based on any suitable measure of variance.

[0082] At block 720, the method 700 can include determining whether k ranging attempts have been performed between the network device 100 and the selected AP. That is, at block 720, the method 700 can include determining whether ranging measurements have been initiated by the network device 100 and the selected AP on the channel to generate ranging results (at block 710) k times. It will be understood that k can be set to 1, 5, 10, or any suitable number of times. If it is determined at block 720 that the k ranging attempts have not been performed between the network device 100 and the selected AP (i.e., less than k ranging attempts have been performed between the network device 100 and the selected AP), the method 700 returns to block 710. Conversely, if it is determined at block 720 that the k ranging attempts have been performed between the network device 100 and the selected AP, the method proceeds to block 725.

[0083] At block 725, the method 700 can 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 it is determined that ranging has not been performed for all APs on the channel, at block 725, the method 700 returns to block 705 to select another AP (e.g., a second AP) of the plurality of APs on the channel having the strongest received signal measurement for which ranging has not been performed. Conversely, if it is determined that ranging has been performed for all APs on the channel, at block 725, the method 700 proceeds to block 730, which ends the ranging between the network device 100 and the plurality of APs on the channel.

[0084] In this manner, the example network device 100 performs ranging with the plurality of APs on the channel in order of the strength of the received signal measurements of the plurality of APs, thereby increasing the likelihood of generating high quality ranging results and improving the reliability (e.g., accuracy) of resolving the locations of the plurality of APs based on the ranging results.

[0085] Figure 2

[0086] Figure 1 is a block diagram of an example system 200 including a network device for ranging during a beacon interval. The system 200 includes the network device 100 connected to a network 205 (as described above with respect to Figure 1 the network device 100). Additionally, the system 200 includes a plurality of second network devices 210 and a plurality of client devices 220 connected to the network 205. The second network devices 210 include a plurality of network devices 210-1 through 210-a, where a is an integer and represents a total number of second network devices 210. While Figure 2 four network devices (210-1, 210-2, 210-3, 210-), it will be understood that the system 200 can include two, three, ten, or any suitable number of second network devices 210.

[0087] At Figure 1In the example of FIG. 2, 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, and / or the like, or a combination thereof. As used herein, a “wide area network” or “WAN” can include, for example, a wired WAN, a wireless WAN, a hybrid WAN, a software-defined WAN (SD-WAN), combinations thereof. Further, network 205 can include one or more cellular networks using one or more mobile communication standards (e.g., 3G, 4G, 5G, and / or the like). It will be appreciated that system 200 can include any suitable type of network 205. Further, one or more computing devices (not shown) can be connected between network device 100 and network 205.

[0088] In Figure 2 In the example of FIG. 2, each AP in network device 100 includes at least one radio (not shown) for communicating 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 computing devices, or a combination thereof. The radio(s) can generate signals in one or more frequency bands, process signals in one or more frequency bands, or a combination thereof. The radio(s) of network device 100 can operate in any suitable frequency band and conform to any suitable type of wireless communication standard now known or later developed. For example, one or more of the radio(s) of network device 100 can operate on one or more channels in the 2.4 GHz band and / or the 5 GHz band according to the IEEE 802.11ac and / or 802.11ax standards. Further, each AP in network device 100 can include one, two, or any other suitable number of radios.

[0089] In Figure 2 In the example of FIG. 2, network device 100 can communicate with one or more client devices 220 (e.g., via link 162). Each of the client devices 220 can include a computing device, such as a laptop computer, a desktop computer, a mobile device, or other wireless device, and / or the like. Network device 100 can communicate with one or more of the client devices 220 via a radio.

[0090] In Figure 1In the example of FIG. 2, each AP in 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) in the second network devices 210 can allow for initiating ranging measurements with the network device 100 on the channel to generate ranging results. It will be understood that the system 200 can include other network devices (not shown) that are not capable of ranging and / or that allow for initiating ranging measurements with the network device 100 on the same or different channel as the second network devices 210.

[0091] In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to Figure 3 In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to Figure 1 In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to Figure 3 In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to

[0092] In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to Figure 3 In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to Figure 3 In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to

[0093] In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to Figure 2 In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to

[0094] In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to Figure 3 In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to Figure 3 In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to

[0095] In the example of FIG. 2, the network device 100 can be configured to receive the network request 150 via the network path 140 to establish communication with one or more of the second network devices 210 (as described above with respect to

[0096] Further, in such examples, the network device 100 can be configured to discover the second network devices 210 on the second channel during the first beacon interval, which can enable ranging and receive signal measurements to each of the APs in the second network devices 210 on the second channel. Specifically, the network device 100 can scan the second channel during the first beacon interval and receive a plurality of beacons from each of the APs in the second network devices 210 on the second channel, where the plurality of beacons indicate that the plurality of APs are capable of ranging.

[0097] Further, in such examples, the network device 100 can be configured to select the AP in the second network devices 210 on the second channel with the strongest receive signal measurement. For example, the network device 100 can receive the receive signal measurements from each of the APs in the second network devices 210 on the second channel and can then select the network device 210-2 based on determining that the network device 210-2 has the strongest receive signal measurement among the network devices (210-1, 210-2, 210-3,..., 210-a) of the second network devices 210. Further, the network device 100 can rank a list of basic service set identifiers (BSSIDs) of the second network devices 210 on the second channel based on the receive signal measurements of each of the APs in the second network devices 210 on the second channel and then select the BSSID of the network device 210-2 as the first listed BSSID in the ranked list of BSSIDs (and corresponding to the network device with the highest receive signal measurement).

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

[0099] Further, in such examples, a computing device (not shown) in the network 205 can resolve the locations of the second network devices 210 based on the ranging result. Specifically, the network device 100 can transmit the ranging result to the computing device, where the computing device resolves the locations of the plurality of APs based on the ranging result.

[0100] In this way, the example system 200 provides ranging by the network device 100 during the beacon interval, thereby reducing broadcast time overhead for performing ranging by the network device 100 and minimizing disruption to communications between the network device 100 and the client device 220 when the network topology changes. For example, the network device 100 can discover the second network device 220 on a channel (e.g., the second channel) in the network 205 during a beacon interval (e.g., the first beacon interval) that is capable of ranging to and receiving signal measurements for each AP in the second network device 220, thereby enabling the network device 100 to discover the second network device 220 during a time that the network device 100 is not communicating with the client device 220 (e.g., the network device 100 is not transmitting a plurality of beacons to the client device 220 on the first channel) (e.g., during the first beacon interval). Further, the network device 100 can initiate ranging with a selected network device 210-2 of the second network devices 210 having the strongest received signal measurement during a beacon interval (e.g., the second beacon interval) to generate ranging results, thereby enabling ranging between the network device 100 and the selected network device 210-2 during a time that the network device 100 is not communicating with the client device 220 (e.g., during the second beacon interval). Further, in such examples, the network device 100 initiates ranging with the selected network device 210-2 of the second network devices 210 having the strongest received signal measurement, thereby increasing the likelihood of generating high quality ranging results and improving the reliability (e.g., accuracy) of resolving the location of the second network devices 210 based on the ranging results.

[0101] Further, in the above example, network device 100 can determine whether the ranging result generated by network device 100 (after initiating the ranging measurement with selected network device 210-2 on the first channel) was successful. In such an example, based on the determination that the ranging result was successful, network device 100 can select another network device 210-3 on the first channel of the second network devices 210 that has the strongest received signal measurement that has not yet had ranging performed for it (note that network device 210-2 will be excluded from selection since ranging has already been performed with network device 210-2). Then, in such an example, network device 100 can perform ranging between network device 100 and selected network device 210-3 (in the manner described above). Further, network device 100 can then select each of the remaining network devices of the second network devices 210 (for which ranging has not yet been performed) in order of strength of received signal measurement, and perform ranging between network device 100 and the selected network devices, until ranging has been performed between network device 100 and each of the second network devices 210 (or, alternatively, until at least k ranging attempts have been performed between network device 100 and each of the second network devices 210).

[0102] In this manner, example system 200 provides ranging by network device 100 with each of the second network devices 210 on a channel (e.g., the first channel) in order of strength of received signal measurement of the second network devices 210 on the channel, thereby increasing the likelihood of generating high quality ranging results and improving the reliability (e.g., accuracy) of resolving the locations of the second network devices 210 based on the ranging results.

[0103] Figure 1 is a block diagram of an example system 300 including network devices for performing ranging during a beacon interval. System 300 includes network device 100 connected to network 305 (as described above with respect to Figure 2 In addition, system 300 includes a plurality of second network devices 310 and a plurality of client devices 320 connected to network 305. Second network devices 310 include a first subset of network devices 312, a second subset of network devices 314, and a third subset of network devices 316, where each subset of second network devices 310 is configured to communicate on a different channel (e.g., a first channel, a second channel, a third channel) of network 305. While Figure 3 While second network devices 310 are shown as having three subsets of network devices (subsets 312, 314, and 316), it should be understood that second network devices 310 can include one, two, three, ten, or any suitable number of subsets of network devices connected to network 305.

[0104] In Figure 1 examples, network 305 can include any suitable type of network, as described above with respect to network 205 of system 200. Additionally, one or more computing devices (not shown) can be connected between network device 100 and network 305 (e.g., via link 150).

[0105] In Figure 2 examples, each of second network devices 310 includes at least one radio (not shown) for communicating with network device 100 (e.g., via link 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 of second network devices 310), with one or more computing devices, or a combination thereof, and each of second network devices 310 can include one, two, or any other suitable number of radios. Each radio of each of second network devices 310 can operate in any suitable frequency band and conform to any suitable type of wireless communication standard.

[0106] In Figure 3 examples, network 305 can include multiple client devices 320 in network 305, where network device 100 can communicate with one or more of client devices 320 (e.g., via link 162). Each of client devices 320 can include any suitable type of communication device. Network device 100 can communicate with one or more of client devices 320 via a radio.

[0107] In Figure 3 examples, each of second network devices 310 can be capable of ranging. That is, each of second network devices 310 can allow for initiating ranging measurements with network device 100 on a channel to generate ranging results. It will be understood that system 300 can include other network devices (not shown) that are not capable of ranging and / or that allow for initiating ranging measurements with network device 100 on the same or different channels as one or more of second network devices 310.

[0108] In Figure 1 examples, network device 100 can be configured to receive network request 150 via network path 140 of network 305 in order to establish communication with one or more of second network devices 310 (in a similar manner as described above with respect to Figure 2 and Figure 8 .

[0109] In Figures 1-7In the example, network device 100 may be configured to send or receive communication signals 170 via communication path 160 to establish communication with one or more second network devices 310 (as described above relative to...). Figures 1-7 and Figures 1-7 (Similar to the described method).

[0110] exist ​ In the example, the second network device 310 can participate in any network data transmission operation, including but not limited to switching, routing, bridging, or combinations thereof. Furthermore, one or more second network devices 310 may include WAP. It will be understood that the second network device 310 may include any suitable type of network device manufactured by any suitable manufacturer.

[0111] exist ​ In the example, network device 100 is configured (e.g., encoded with non-transitory machine-readable instructions executable by at least one processing resource 110) to execute AP discovery instruction 122, AP selection instruction 124, and ranging initiation instruction 126 (as described above regarding...). ​ and ​ (Similar to the above).

[0112] For example, network device 100 may be configured to send multiple beacons at beacon intervals between each pair of beacons. Specifically, network device 100 may send multiple beacons to each of the client devices 320 on the first channel to establish communication with each of the client devices 320 on the first channel (e.g., via link 162).

[0113] Additionally, in such examples, network device 100 may be configured to discover a first subset 312 of network devices on the second channel during the first beacon interval, and to perform ranging and received signal measurements on each network device in the first subset 312 of network devices on the second channel. Furthermore, network device 100 may be configured to discover a second subset 314 of network devices on the third channel during the second beacon interval, and to perform ranging and received signal measurements on each network device in the second subset 314 of network devices on the third channel. Furthermore, network device 100 may be configured to discover a third subset 316 of network devices on the fourth channel during the third beacon interval, and to perform ranging and received signal measurements on each network device in the third subset 316 of network devices on the fourth channel.

[0114] Additionally, in such examples, the network device 100 can be configured to select the AP with the strongest received signal measurement in the first subset 312 of network devices on the second channel. Further, the network device 100 can be configured to select the AP with the strongest received signal measurement in the second subset 314 of network devices on the third channel. Moreover, the network device 100 can be configured to select the AP with the strongest received signal measurement in the third subset 316 of network devices on the fourth channel.

[0115] Additionally, in such examples, the network device 100 can be configured to determine whether the selected network device of the first subset 312 of network devices is available for ranging. Based on (e.g., in response to) determining that the selected network device of the first subset 312 of network devices is available for ranging, the network device 100 can initiate a ranging measurement with the selected network device of the first subset 312 of network devices on the second channel during the fourth beacon interval to generate a first ranging result.

[0116] Additionally, in such examples, the network device 100 can be configured to determine whether the selected network device of the second subset 314 of network devices is available for ranging. Based on (e.g., in response to) determining that the selected network device of the second subset 314 of network devices is available for ranging, the network device 100 can initiate a ranging measurement with the selected network device of the second subset 314 of network devices on the third channel during the fifth beacon interval to generate a second ranging result.

[0117] Additionally, in such examples, the network device 100 can be configured to determine whether the selected network device of the third subset 316 of network devices is available for ranging. Based on (e.g., in response to) determining that the selected network device of the third subset 316 of network devices is available for ranging, the network device 100 can initiate a ranging measurement with the selected network device of the third subset 316 of network devices on the fourth channel during the sixth beacon interval to generate a third ranging result.

[0118] Further, in such examples, based on the first, second, and third ranging results, a computing device (not shown) in the network 305 can resolve the location of the second network device 310. Specifically, the network device 100 can transmit the first, second, and third ranging results to the computing device, where the computing device resolves the location of the second network device 310 based on the first, second, and third ranging results. Alternatively, based on the first, second, and third ranging results, the network device 100 can resolve the location of the second network device 310.

[0119] In this way, the example system 300 provides for ranging by the network device 100 with the second network devices 310 on multiple channels (e.g., the second channel, the third channel, the fourth channel) during the beacon interval, thereby reducing the broadcast time overhead for performing ranging by the network device 100 on multiple channels and minimizing disruption to communications between the network device 100 and the client device 220 when the network topology changes. Moreover, in such examples, the network device 100 initiates ranging with the selected network device of the second network devices 310 in each of the multiple channels that has the strongest received signal measurement, thereby increasing the likelihood of generating high quality ranging results and improving the reliability (e.g., accuracy) of resolving the locations of the second network devices 310 on the multiple channels based on the ranging results.

[0120] Moreover, in the above examples, the network device 100 can determine whether the first ranging results generated by the network device 100 (after initiating ranging measurements with the selected network device of the first subset of network devices 312 on the second channel) are successful. In such examples, based on a determination that the ranging results are successful, the network device 100 can select another network device of the first subset of network devices 312 on the second channel that has the strongest received signal measurement of the first subset of network devices 312 that has not yet had ranging performed for it. Then, in such examples, the network device 100 can perform ranging between the network device 100 and the selected network device. Moreover, the network device 100 can subsequently select each of the remaining network devices of the first subset of network devices 312 (that have not yet had ranging performed for them) in order of strength of received signal measurement 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 first subset of network devices 312 (or, alternatively, until at least k ranging attempts have been performed between the network device 100 and each of the first subset of network devices 312).

[0121] Similarly, the network device 100 can then select each of the remaining network devices of the second subset of network devices 314 (for which ranging has not yet been performed) in order of the strength of the received signal measurements, and perform ranging between the network device 100 and the selected network devices, until ranging has been performed between the network device 100 and each of the network devices of the second subset of network devices 314 (or, alternatively, until at least k ranging attempts have been performed between the network device 100 and each of the network devices 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 ranging has not yet been performed) in order of the strength of the received signal measurements, and perform ranging between the network device 100 and the selected network devices, until ranging has been performed between the network device 100 and each of the network devices of the third subset of network devices 316 (or, alternatively, until at least k ranging attempts have been performed between the network device 100 and each of the network devices of the third subset of network devices 316).

[0122] In this way, the example system 300 provides ranging by the network device 100 with each network device on each of a plurality of channels (e.g., the second channel, the third channel, the fourth channel) in order of the strength of the received signal measurements for each network device on each channel, thereby increasing the likelihood of generating high quality ranging results on the plurality of channels and improving the reliability (e.g., accuracy) of resolving the location of the second network device 310 based on the ranging results on the plurality of channels.

[0123] ​ is a block diagram of an example computer system 800 in which various embodiments described herein can be implemented for ranging during a beacon interval.

[0124] The computer system 800 includes a bus 805 or other communication mechanism for communicating information, and a processor 810 coupled with the bus 805 for processing information. The processor 810 can be, for example, a general purpose microprocessor.

[0125] The computer system 800 also includes a main memory 815, such as a random access memory (RAM), cache, other dynamic storage, etc., or a combination thereof, coupled to bus 805 for storing information and instructions to be executed by at least one processor 810. Main memory 815 also can be used for storing temporary variables or other intermediate information during execution of instructions to be executed by at least one processor 810. In some examples, the one or more instructions include the one or more AP discovery instructions 122, the AP selection instructions 124, and the ranging initiation instructions 126, as described above with respect to FIG. 1. ​ Such one or more instructions, when stored in a storage medium accessible to at least one processor 810, render the computer system 800 into a special-purpose machine that is customized to perform the operations specified in the one or more instructions.

[0126] The computer system 800 also can include a read only memory (ROM) 820 or other static storage device coupled to bus 805 for storing static information and instructions for at least one processor 810. In some examples, the one or more instructions include the one or more AP discovery instructions 122, the AP selection instructions 124, and the ranging initiation instructions 126, as described above with respect to FIG. 1. ​ Such one or more instructions, when stored in a storage medium accessible to at least one processor 810, render the computer system 800 into a special-purpose machine that is customized to perform the operations specified in the one or more instructions.

[0127] The computer system 800 also can include information and one or more instructions for at least one processor 810. At least one storage device 825, such as a magnetic disk, optical disk, or USB thumb drive (flash drive), etc., or a combination thereof, can be provided and coupled to bus 805 for storing information and one or more instructions. In some examples, the one or more instructions include the one or more AP discovery instructions 122, the AP selection instructions 124, and the ranging initiation instructions 126, as described above with respect to FIG. 1. ​

[0128] The computer system 800 also can include a display 830 coupled to bus 805, via which information is provided to a user, such as a graphical output. The computer system 800 also can include an input device 835, such as a keyboard, camera, microphone, etc., or a combination thereof, coupled to bus 805, via which a user provides input. The computer system 800 also can include a cursor control 840, such as a mouse, pointer, stylus, etc., or a combination thereof, coupled to bus 805, via which a user provides input.

[0129] ​The computer system 800 can also include at least one network interface 845 coupled to the bus 805 for connecting the computer system 800 to at least one network, such as a network interface controller (NIC), network adapter, etc., or a combination thereof.

[0130] In general, as used herein, the words "component," "system," "database" can refer to a logical as opposed to a physical embodiment of the resource, and can refer to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Java, C or C++. The software component can be compiled and linked into an executable program, installed in a dynamic link library, or can be an interpreted language. It will be appreciated that software components can be callable from other components or from themselves, and / or can be invoked in response to detected events or interrupts. Software components configured for execution on computing devices can be stored in computer-readable media such as magnetic disks, optical disks, or any other medium, or transmitted over a digital or analog communication link. When a software component is invoked, e.g., by a request or an event, the software component can be executed by a suitable processing unit by reading the instructions from a computer-readable medium, such as memory 815 or a storage device. Software components can perform operations by interacting with other components, e.g., by calling, receiving, sending, returning, or otherwise interacting with other components.

[0131] The computer system 800 can implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and / or program logic which in combination with the computer system causes it to be the machine that it is. According to one embodiment, the techniques herein are performed by the computer system 800 based on (e.g., in response to) the execution of one or more sequences of instructions contained in the main memory 815 by the at least one processing unit 810. Such instructions can be read into the main memory 815 from another storage medium, such as the at least one storage device 825. The execution of the sequences of instructions contained in the main memory 815 causes the at least one processing unit 810 to perform the processes described herein. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions.

Claims

1. A method comprising: discovering, by a network device during a first beacon interval, a plurality of rangeable access points (APs) on a first channel and a received signal measurement of each of the plurality of APs on the first channel; determining, by the network device from the plurality of APs on the first channel, one or more APs that have not performed ranging; selecting, by the network device, an AP of the one or more APs on the first channel that has a strongest of the received signal measurements; determining, by the network device, whether the selected AP is available for ranging; initiating, by the network device based on determining that the selected AP is available for ranging, a ranging measurement with the selected AP on the first channel during a second beacon interval to generate a ranging result; determining, by the network device based on the ranging result, a location of the plurality of APs on the first channel; and generating, by the network device based on the location of the plurality of APs on the first channel, an AP map of the plurality of APs on the first channel.

2. The method of claim 1, further comprising: transmitting, by the network device, a plurality of beacons on a second channel at a beacon interval, the beacon interval being between each pair of the plurality of beacons, wherein the first beacon interval is between a first pair of the beacons and the second beacon interval is between a second pair of the beacons.

3. The method of claim 2, wherein the first channel is different than the second channel.

4. The method of claim 1, wherein the received signal measurement of 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 of claim 1, wherein discovering the plurality of APs on the first channel comprises: scanning, by the network device during the first beacon interval, the first channel; and receiving, by the network device from the plurality of APs on the first channel, a plurality of beacons, wherein the plurality of beacons indicate that the plurality of APs are rangeable.

6. The method of claim 5, wherein the plurality of beacons indicate the received signal measurement of the plurality of APs.

7. The method of claim 1, wherein selecting the AP that has the strongest of the received signal measurements comprises: ordering, by the network device based on the received signal measurement of each of the plurality of APs on the first channel, a list of basic service set identifiers (BSSIDs) of the plurality of APs on the first channel; and selecting, by the network device, the BSSID of the AP that has the strongest of the received signal measurements.

8. The method of claim 1, further comprising: determining, by the network device, whether a client load on the network device exceeds a load threshold; selecting, by the network device based on determining that the client load does not exceed the load threshold, a first ranging interval; and ​ ​ ​ based on a determination that the client load exceeds the load threshold, selecting, by the network device, a second ranging interval, wherein the first ranging interval is shorter than the second ranging interval; wherein the ranging measurement with the selected AP on the first channel is initiated at a selected ranging interval of the first ranging interval and the second ranging interval.

9. The method of claim 1, wherein determining whether the selected AP is available for ranging comprises: determining, by the network device, whether the first channel is a DFS channel; based on a determination that the first channel is a DFS channel, determining, by the network device, whether the first channel satisfies a CAC; based on a determination that the first channel satisfies the CAC, determining, by the network device, that the selected AP is available for ranging; and based on a determination that the first channel does not satisfy the CAC, determining, by the network device, that the selected AP is not available for ranging.

10. The method of claim 1, wherein determining whether the selected AP is available for ranging comprises: determining, by the network device, whether ranging is enabled for the first channel; based on a determination that ranging is enabled for the first channel, determining, by the network device, that the selected AP is available for ranging; and based on a determination that ranging is disabled for the first channel, determining, by the network device, that the selected AP is not available for ranging.

11. The method of claim 1, wherein the ranging results comprise a plurality of distances from the network device to the plurality of APs on the first channel according to a position of the selected AP, and the method further comprises: determining, by the network device, whether the ranging results satisfy an accuracy threshold; and based on a determination that the ranging results do not satisfy the accuracy threshold, initiating, by the network device, a second ranging measurement with the selected AP on the first channel to generate second ranging results; wherein determining the position of the plurality of APs on the first channel is based on the second ranging results.

12. The method of claim 1, comprising: selecting, by the network device, a second AP having a strongest received measurement from one or more APs of the plurality of APs for which ranging has not been performed; initiating, by the network device, a second ranging measurement with the selected second AP on the first channel to generate second ranging results; determining, by the network device, the position of the plurality of APs on the first channel based on the second ranging results; and updating, by the network device, the AP map of the plurality of APs on the first channel based on the position of the plurality of APs on the first channel.

13. The method of claim 1, further comprising: discovering, by the network device during a third beacon interval, a second plurality of APs capable of ranging on a second channel and a received signal measurement of each AP of the second plurality of APs on the second channel; determining, by the network device, one or more APs of the second plurality of APs on the second channel that have not yet performed ranging; selecting, by the network device, a second AP of the one or more APs of the second plurality of APs on the second channel that has a strongest received signal measurement; determining, by the network device, whether the selected second AP is available for ranging; and based on determining that the selected second AP is available for ranging, initiating, by the network device, a ranging measurement with the selected second AP on the second channel during a fourth beacon interval to generate a second ranging result comprising a second plurality of distances from the second plurality of APs on the second channel to the network device according to a second position of the selected second AP; based on the second ranging result, determining, by the network device, second positions of the second plurality of APs on the second channel; and based on the second positions of the second plurality of APs on the second channel, generating, by the network device, a second AP map of the second plurality of APs on the second channel.

14. The method of claim 1, wherein the ranging comprises fine timing measurement (FTM).

15. A network device comprising: a processing resource; and a non-transitory machine-readable storage medium comprising instructions executable by the processing resource to: discover, during a first beacon interval, a plurality of access points (APs) that are capable of ranging on a first channel and a received signal measurement of each of the plurality of APs on the first channel; determine, from the plurality of APs on the first channel, one or more APs that have not yet performed ranging; select, of the one or more APs of the plurality of APs on the first channel for which ranging has not yet been performed, an AP that has a strongest received signal measurement; determine whether the selected AP is available for ranging; based on determining that the selected AP is available for ranging, initiate, during a second beacon interval, a ranging measurement with the selected AP on the first channel to generate a ranging result; based on the ranging result, determine positions of the plurality of APs on the first channel; and based on the positions of the plurality of APs on the first channel, generate an AP map of the plurality of APs on the first channel.

16. The network device of claim 15, wherein the instructions further cause the processing resource to: determine whether a client load on the network device exceeds a load threshold; based on determining that the client load does not exceed the load threshold, select a first ranging interval; and based on determining that the client load exceeds the load threshold, select a second ranging interval, wherein the first ranging interval is shorter than the second ranging interval; wherein the ranging measurement with the selected AP on the first channel is initiated during the selected one of the first ranging interval and the second ranging interval.

17. The network device of claim 15, wherein the ranging results comprise a plurality of distances of the plurality of APs to the network device on the first channel according to a position of the selected AP, and the instructions further cause the processing resource to: determine whether the ranging results satisfy an accuracy threshold; based on determining that the ranging results do not satisfy the accuracy threshold, initiate a second ranging measurement with the selected AP on the first channel to generate second ranging results determine, based on the second ranging results, a second position of the plurality of APs on the first channel; and update, based on the second position of the plurality of APs on the first channel, the AP map of the plurality of APs on the first channel.

18. The network device of claim 15, wherein the instructions further cause the processing resource to: select a second AP of the one or more APs of the plurality of APs for which ranging has not been performed that has a strongest received measurement; initiate a second ranging measurement with the selected second AP on the first channel to generate second ranging results; determine, based on the second ranging results, a second position of the plurality of APs on the first channel; and update, based on the second position of the plurality of APs on the first channel, the AP map of the plurality of APs on the first channel.

19. A non-transitory machine-readable storage medium comprising instructions executable by at least one processing resource to: discover, by a network device during a first beacon interval, a plurality of access points (APs) on a first channel for which ranging is possible and a received signal measurement of each of the plurality of APs on the first channel; determine, by the network device from the plurality of APs on the first channel, one or more APs for which ranging has not been performed; select, by the network device, an AP of the one or more APs of the plurality of APs on the first channel for which ranging has not been performed that has a strongest received signal measurement; determine, by the network device, whether the selected AP is available for ranging; based on determining that the selected AP is available for ranging, initiate, by the network device during a second beacon interval, a ranging measurement with the selected AP to generate ranging results; determine, by the network device based on the ranging results, a position of the plurality of APs on the first channel; and generate, by the network device based on the position of the plurality of APs on the first channel, an AP map of the plurality of APs on the first channel.

20. The non-transitory machine-readable storage medium of claim 19, wherein the instructions comprise instructions to: determine, by the network device, whether a client load on the network device exceeds a load threshold; based on determining that the client load does not exceed the load threshold, select, by the network device, a first ranging interval; based on determining that the client load exceeds the load threshold, select, by the network device, a second ranging interval, wherein the first ranging interval is shorter than the second ranging interval; wherein the ranging measurement with the selected AP is initiated at the selected one of the first and second ranging intervals. wherein the ranging measurement with the selected AP is initiated at the selected one of the first and second ranging intervals.

Citation Information

Patent Citations

  • Automatic location of access points in a network

    US12313747B2

  • Automatic location of access points in a network

    US20210306975A1

  • Handling fine timing measurement requests

    US20220322120A1

  • Fine timing measurements in enterprise deployments using high bandwidth channels

    US20220338060A1

  • Access points and methods for access point selection using an information data structure

    CN105359602A