Coordinated ranging between access points in a network
By assigning APs to non-overlapping areas in a wireless LAN and performing ranging measurements in parallel, the problems of AP positioning errors and airtime overhead are solved, achieving efficient and accurate AP positioning.
Patent Information
- Application Number
- CN202210435867.4
- 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-10-28
- Estimated Expiration
- 2042-04-24
AI Technical Summary
In wireless LANs, manually locating access points (APs) is prone to errors and time-consuming, and existing technologies cannot effectively reduce the call time overhead for ranging measurements between APs.
The computing device receives neighbor adjacency information from multiple APs, assigns APs to non-overlapping areas, performs ranging measurements between AP subsets in parallel, selects different channels to reduce interference, generates ranging results, and resolves AP locations.
This reduces the airtime overhead of ranging measurements between APs, improves the efficiency and accuracy of ranging measurements, and reduces the error rate of manually locating APs.
Smart Images

Figure CN116234002B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application relates to a co-pending U.S. application filed on December 2, 2021, entitled “Ranging via a network device during beacon intervals” (U.S. Application Serial No. XX / XXX,XXX), with invention reference number 90958306, and assigned to Hewlett-Packard Enterprise Development LLC. Background Technology
[0003] Typically, one or more access points (APs) can be deployed in a wireless local area network (WLAN). Communication devices such as laptops, personal computers, and smartphones can connect to the WLAN to exchange data within the network. These devices can send ranging requests to one or more APs.
[0004] Due to the broad compatibility between access points (APs) and communication devices, ranging techniques such as Fine Timing Measurement (FTM) protocols have gained prominence. FTM protocols typically involve message exchanges between the AP and the communication device. Flight time, round-trip time, and other parameters are derived from these messages to determine the location of the communication device relative to the AP. For example, flight time 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. Based on the flight time information, the distance between the AP and the client device can be determined. Attached Figure Description
[0005] Various features and advantages of the present invention will become apparent from the following description of examples of the invention with reference to the accompanying drawings, which are given by way of example only, wherein:
[0006] Figure 1 This is a block diagram of an example computing device used to provide coordinated ranging between APs in a network.
[0007] Figure 2 A block diagram of an example system for providing coordinated ranging between APs in a network is shown.
[0008] Figure 3 This is a flowchart of an example method for providing coordinated ranging between APs in a network.
[0009] Figure 4 This is a flowchart of an example method for providing coordinated ranging between APs in a network.
[0010] Figure 5 This is a flowchart of an example method for providing coordinated ranging between APs in a network.
[0011] Figure 6This is a flowchart of an example method for providing coordinated ranging between APs in a network.
[0012] Figure 7 This is a block diagram of an example computer system in which various embodiments described herein can be implemented to provide coordinated ranging among APs in a network.
[0013] Figure 8 This is a flowchart of an example method for verifying ranging results between APs in a network.
[0014] Figure 9 This is a flowchart of an example method for verifying ranging results between APs in a network.
[0015] Figure 10 This is a flowchart of an example method for verifying ranging results between APs in a network. Detailed Implementation
[0016] The following detailed description refers to the accompanying drawings. Where possible, the same reference numerals are used in the drawings and the following description to refer to the same or similar parts. However, it should be clearly understood that the drawings are for illustrative and descriptive purposes only. Although several examples are described in this document, modifications, adaptations, and other implementations are possible. Therefore, the following detailed description does not limit the disclosed examples. Rather, the appropriate scope of the disclosed examples may be defined by the appended claims.
[0017] Recently, efforts have been made to automatically locate access points (APs) in a network, for example, on a visual floor plan of the network. This automatic AP location is superior to manual AP location because manual AP location can be an error-prone process. For example, when manually locating APs in a network, the location of the AP may be measured or entered incorrectly, or the AP may be moved or removed from the service.
[0018] To support automatic location of an access point (AP), the AP needs to exchange data packets with neighboring APs and then measure the round-trip time (RTT) of these packet exchanges to estimate the range of the AP and its corresponding neighboring APs. Performing ranging sequentially between individual pairs of APs can result in increased call time overhead, as a significant amount of available call time is used to complete the ranging measurements between APs. Therefore, efficient ranging between APs in the network is required to minimize call time overhead.
[0019] To address these issues, the example described herein provides coordinated ranging between Access Points (APs) in a network. The example described herein allows a computing device to receive neighbor adjacency information of multiple Access Points (APs) in the network and, based on this information, allocate subsets of the APs to non-overlapping areas. The example described herein allows the computing device to initiate ranging measurements between subsets of APs within each non-overlapping area to generate ranging results, wherein the ranging measurements between subsets of APs in the non-overlapping areas are performed in parallel. The example described herein allows the computing device to receive the ranging results and, based on these results, resolve the locations of the multiple APs.
[0020] In this manner, the examples described herein provide coordinated ranging between APs in a network, which reduces the call time overhead for performing ranging. For example, the examples described herein can, based on neighbor adjacency information received from multiple APs, have a computing device allocate subsets of multiple APs to non-overlapping areas, thereby assigning neighboring (adjacent) APs to non-overlapping areas to initiate efficient, coordinated ranging between APs. Furthermore, the examples described herein can have a computing device initiate ranging measurements between subsets of APs in each non-overlapping area to generate ranging results, wherein the ranging measurements between subsets of APs in non-overlapping areas are performed in parallel, thereby reducing call time overhead by reducing the call time required to complete the ranging measurements between APs.
[0021] computing devices
[0022] Now refer to the attached diagram, Figure 1 A block diagram of an example computing device 100 for coordinated ranging between access points (APs) in a network is depicted. The computing device 100 includes at least one processing resource 110 and at least one machine-readable storage medium 120, which includes (e.g., encoded) at least an AP neighbor adjacency information reception instruction 122, an AP area allocation instruction 124, a coordinated ranging initiation instruction 126, and an AP location resolution instruction 128.
[0023] exist Figure 1 In some examples, computing device 100 may include a device that communicates with multiple access points (APs) in a network to provide coordinated ranging between APs. For example, computing device 100 may include a gateway router, a wireless local area network (WLAN) controller, a switch, a server, or a combination thereof. In some examples, computing device 100 may include an AP configured to communicate with multiple APs in a network.
[0024] exist Figure 1In the example, computing device 100 can participate in any network data transmission operation, including but not limited to switching, routing, bridging, or combinations thereof. Furthermore, computing device 100 can collect network operation information from different nodes in one or more networks, including network traffic load information, network topology information, network usage information, etc. Additionally, computing device 100 can send commands to different nodes in one or more networks to change network topology and routing to achieve various network efficiency and effectiveness objectives. It should be understood that computing device 100 can include any one or more suitable types of computing devices configured to perform coordinated ranging between APs in a network. Furthermore, computing device 100 can include any necessary hardware components to perform the invention disclosed herein, including but not limited to: processors, memory, display devices, input devices, communication devices, etc.
[0025] exist Figure 1 In the example, computing device 100 may be configured (e.g., encoded with instructions executable by at least one processing resource 110) to receive one or more network requests 150 from the network via one or more network paths 140. The one or more network paths 140 may include one or more suitable links 142 (e.g., wired or wireless, direct or indirect, etc.) between computing device 100 and the network. The one or more network requests 150 may include any suitable instructions to instruct computing device 100 to perform coordinated ranging between APs in the network. For example, the one or more network requests 150 may include instructions instructing computing device 100 to perform AP neighbor adjacency information reception instruction 122, AP area allocation instruction 124, coordinated ranging initiation instruction 126, and AP location resolution instruction 128.
[0026] In the examples described herein, a “network path” may include a combination of hardware (e.g., interface, link, etc.) and instructions (e.g., executable by processing resources) to transmit (e.g., receive, send) commands (e.g., network request 150) to external resources (e.g., servers, cloud computing resources, etc.) connected to the network.
[0027] exist Figure 1In this example, computing device 100 may be configured (e.g., encoded with instructions executable by at least one processing resource 110) to send or receive one or more communication signals 170 via one or more communication paths 160 to perform coordinated ranging between APs in the network. The one or more communication paths 160 may include one or more suitable links 162 (e.g., wired or wireless, direct or indirect, etc.) between computing device 100 and one or more network devices. Communication signals 170 may include any suitable instructions for computing device 100 to perform coordinated ranging between APs in the network (e.g., executing AP neighbor adjacency information reception instruction 122, AP area allocation instruction 124, coordinated ranging initiation instruction 126, and AP location resolution instruction 128).
[0028] In the examples described herein, a “communication path” may include a combination of hardware (e.g., interfaces, links, etc.) and instructions (e.g., those that can be executed by processing resources) to transmit (e.g., receive, send) commands with one or more network devices.
[0029] Coordinated ranging between APs
[0030] refer to Figure 3 Some examples present flowcharts depicting a method 300 for coordinated ranging between APs in a network. (See below for reference.) Figure 1 The computing device 100 described herein is used to describe the execution of method 300, but any suitable computing device for executing method 300 can be used. Furthermore, the implementation of method 300 is not limited to such an example. Although method blocks 305 to 335 are shown in method 300, method 300 may include other actions described herein. Furthermore, although the blocks are shown in sequence, Figure 3 The boxes depicted in the diagram can be executed in any suitable order and at any time. Furthermore, one or more boxes of method 300 can be executed in combination with one or more boxes of methods 400, 500, 600, 700, 800, 900, or 1000. Additionally, some boxes shown in method 300 may be omitted without departing from the spirit and scope of this disclosure.
[0031] At box 305, method 300 may include receiving neighbor adjacency information of multiple APs in the network. (See reference) Figure 1 The computing device 100, when the AP neighbor adjacency information receiving instruction 122 is executed by the processing resource 110, can receive neighbor adjacency information of multiple APs in the network.
[0032] Neighbor adjacency information may include label information for one or more APs among a plurality of APs. The AP label information may include a floor label indicating the floor (e.g., of a building) where the AP is located. Based on the label information of one or more APs, method 300 may include determining that one or more APs among a plurality of APs are coplanar with each other. For example, when two APs have the same floor label, computing device 100 may determine (based on the floor label) that the two APs are located on the same floor (and therefore coplanar with each other). It should be understood that the AP label information received by computing device 100 may have any suitable format. For example, the AP label information may be indicated by (e.g., included in) one or more data packets received by computing device 100.
[0033] Furthermore, the neighbor adjacency information of multiple APs can be based on a radio frequency (RF) discovery process performed by one or more of the APs. Specifically, the neighbor adjacency information of multiple APs can include a neighbor adjacency matrix, where each element of the neighbor adjacency matrix indicates the adjacency relationship between two APs among the multiple APs. For example, an element of the adjacency matrix has a value of "1" to indicate that two APs among the multiple APs are adjacent to each other, and an element of the adjacency matrix has a value of "0" to indicate that two APs among the multiple APs are not adjacent to each other. When the radio frequency (RF) signal between two APs meets (e.g., exceeds) an RF signal strength threshold, the computing device 100 can determine that two APs among the multiple APs are adjacent to each other. Based on the neighbor adjacency matrix of two or more APs among the multiple APs, method 300 can include determining whether two or more APs among the multiple APs are in the same RF neighborhood (e.g., on the same floor and / or on the same plane, close to each other, etc.). The computing device 100 can determine whether an element of the neighbor adjacency matrix (corresponding to two APs among the multiple APs) meets an adjacency threshold (e.g., whether the element has a value of "1"). Based on (e.g., in response to) determining that an element meets an adjacency threshold, computing device 100 can determine that two corresponding APs are in the same RF neighborhood (e.g., located on the same floor and therefore coplanar, close to, or a combination thereof). Conversely, based on determining that an element does not meet an adjacency threshold, computing device 100 can determine that two corresponding APs are not in the same RF neighborhood (e.g., not located on the same floor and therefore not coplanar, not close to, or a combination thereof). It should be understood that the neighbor adjacency matrix of multiple APs received by computing device 100 can have any suitable format. For example, the neighbor adjacency matrix of multiple APs can be indicated by (e.g., included therein) one or more data packets (e.g., management packets) received by computing device 100.
[0034] At box 310, based on (e.g., in response to) received neighbor adjacency information, method 300 may include assigning multiple APs to non-overlapping areas. (See reference) Figure 1The computing device 100, based on the received neighbor adjacency information, can assign multiple APs to non-overlapping areas when the AP area allocation instruction 124 is executed by the processing resource 110.
[0035] Assigning multiple access points (APs) to non-overlapping areas can be based on the Received Signal Strength Indicators (RSSIs) of the APs, where neighbor adjacency information includes the RSSIs between pairs of APs. Each non-overlapping area can correspond to a physical area, where one or more APs can be located within each non-overlapping area. In some examples, two or more non-overlapping areas can be directly adjacent to each other, such that there is no space between the two or more non-overlapping areas. In some examples, two or more non-overlapping areas can be close to each other (but not directly adjacent), such that there is space between the two or more non-overlapping areas. Each non-overlapping area can have any suitable shape, such as a regular shape like a rectangle, a circle, etc., or an irregular shape. Each non-overlapping area can correspond to one or more partitions (e.g., rooms) of a building.
[0036] Assigning multiple access points (APs) to non-overlapping areas can include assigning subsets of the APs to non-overlapping areas. For example, computing device 100 may assign a first subset of the APs to a first region of non-overlapping areas and a second subset of the APs to a second region of non-overlapping areas. It should be understood that computing device 100 may assign subsets of the APs to two, three, ten, or any suitable number of non-overlapping areas.
[0037] At box 315, method 300 may include, for each non-overlapping region, selecting a channel for a subset of APs in that region. (See reference) Figure 1 When executed by processing resource 110, the computing device 100 can select a channel for a subset of APs in each non-overlapping area using the AP area allocation instruction 124.
[0038] In some examples, channel selection for each subset of APs in a non-overlapping region may include the computing device 100 selecting different channels for two or more non-overlapping regions. For example, the computing device 100 may select a first channel for a first subset of APs in a first region and a second channel for a second subset of APs in a second region, wherein each AP in the first region is configured to use the first channel for ranging measurements with one or more other APs in the first region, and each AP in the second region is configured to use the second channel for ranging measurements with one or more other APs in the second region. By assigning different channels to each subset of APs in two or more non-overlapping regions, the computing device 100 can minimize interference between ranging measurements performed in different regions. It should be understood that each channel selected for each non-overlapping region (e.g., the first channel, the second channel) may correspond to any one or more suitable frequency bands according to any one or more suitable standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard.
[0039] In some examples, channel selection for each subset of APs in a non-overlapping region may include having the computing device 100 select the same channel for two or more non-overlapping regions when the distance between them is greater than a minimum threshold distance. The minimum threshold distance may correspond to the distance between two regions where ranging measurements performed by APs in each of the two regions on the same channel are free from interference (or substantially free from interference). The minimum threshold distance may be calculated by the computing device 100 or predetermined by the device (e.g., computing device 100) or a user. Furthermore, the minimum threshold distance may correspond to an acoustic particle discharge (PD) threshold between two or more APs. For example, the computing device 100 may select a first channel for a first subset of APs in a first region and a first channel for a second subset of APs in a second region, where the distance between the first and third regions is greater than or equal to the minimum threshold distance. By assigning the same channel to each subset of APs in two or more non-overlapping regions only when the distance between the regions is greater than the minimum threshold distance, the computing device 100 can minimize interference between ranging measurements performed in different regions.
[0040] Selecting channels for a subset of APs in the area may include selecting channels that have not yet been used for ranging by computing device 100 (among multiple available channels for the subset of APs in the area). That is, at box 315, the channel selected for the subset of APs in the area may be a channel for which computing device 100 has not yet initiated ranging measurements between the subset of APs to generate ranging results (as described below with respect to box 320).
[0041] In some examples, computing device 100 may randomly select one of a plurality of available channels for each subset of APs in a non-overlapping region. In other examples, computing device 100 may select one of the plurality of available channels for each subset of APs based on a predetermined order for selecting the channels. This order may be predetermined by the device (e.g., computing device 100) or by a user.
[0042] At box 320, method 300 may include, for each non-overlapping region, initiating ranging measurements among subsets of APs within that region to generate ranging results, wherein ranging measurements of the non-overlapping regions are performed in parallel. (See reference) Figure 1 The computing device 100 coordinates the ranging initiation instruction 126 to initiate ranging measurements between AP subsets in each non-overlapping region when executed by the processing resource 110, in order to generate ranging results. The ranging measurements of AP subsets in non-overlapping regions are executed in parallel.
[0043] When at least a portion of the ranging measurements between subsets of APs in two regions are performed simultaneously, ranging measurements between subsets of APs in two non-overlapping regions can be performed in parallel. For example, at block 320, method 300 may include a first ranging measurement initiated by computing device 100 between a first subset of APs in a first region to generate a first ranging result, and a second ranging measurement initiated by computing device 100 between a second subset of APs in a second region to generate a second ranging result, wherein the first ranging measurement and the second ranging measurement are performed in parallel.
[0044] Initiating ranging measurements between AP subsets (e.g., first AP subset, second AP subset) on selected channels (e.g., first channel, second channel) for a subset of APs can include configuring the AP subsets by computing device 100 to perform ranging measurements using the channel bandwidth on the selected channels. For example, computing device 100 can configure a first AP subset in a first region to perform ranging measurements using a channel bandwidth of 80 MHz in the selected first channel. It should be understood that computing device 100 can configure AP subsets in a region to perform ranging measurements using channel bandwidths of 20 MHz, 40 MHz, 80 MHz, 160 MHz, or any suitable channel bandwidth on the selected channels. Furthermore, initiating ranging measurements between AP subsets can include configuring the AP subsets by computing device 100 to perform ranging measurements using an antenna chain. Configuring an AP subset to perform ranging measurements using an antenna chain can include computing device 100 selecting an antenna (in one or more antennas of the AP) for each AP in the AP subset to perform ranging measurements. Furthermore, initiating ranging measurements on a subset of APs may include configuring one or more AP subsets by computing device 100 to perform ranging measurements using transmitted effective isotropic radiated power (EIRP). For example, computing device 100 may configure APs in a first AP subset in a first region to perform ranging measurements using 100% of the AP's available power (i.e., Pmax) of the transmitted EIRP. It should be understood that computing device 100 may configure each AP in the AP subset to perform ranging measurements using 100% (Pmax), 90%, 75% of the transmitted EIRP, or any other suitable percentage of the AP's available power.
[0045] Each ranging measurement between AP subsets (e.g., a first ranging measurement, a second ranging measurement) may include FTM, RTT, Time of Arrival (ToA), Time of Flight (ToF), Angle of Arrival (AoA), RSSI, Short Guard Interval (SGI), Long Guard Interval (LGI), Channel State Information (CSI), or combinations thereof, between one or more pairs of APs in the AP subset. It should be understood that ranging measurements between AP subsets can have any suitable format. Furthermore, ranging measurements between AP subsets can be performed sequentially. For example, ranging measurements may be performed between the first pair of APs in the AP subset, and then between the second pair of APs in the AP subset. Each ranging result may indicate the ranging measurement between one or more pairs of APs in the AP subset. It should be understood that each ranging result can have any suitable format. For example, the ranging result of an AP subset may be indicated by (e.g., included therein) one or more data packets sent by one or more APs in the AP subset.
[0046] At box 325, method 300 may include receiving ranging results from a subset of APs (in non-overlapping regions) by computing device 100. (See reference) Figure 1 The computing device 100 may include instructions for receiving ranging results from a subset of access points (APs). It should be understood that the ranging results received by the computing device 100 may have any suitable format. For example, the ranging results of the AP subset may be indicated by (e.g., included therein) one or more data packets received by the computing device 100.
[0047] At box 330, method 300 may include determining whether ranging has been performed on all available channels for each AP subset in each non-overlapping region. At box 330, if it is determined that ranging has not been performed on all available channels for each AP subset in each non-overlapping region, method 300 returns to box 315 to select another channel on which ranging has not yet been performed between AP subsets for each AP subset in each non-overlapping region. Conversely, at box 330, if it is determined that ranging has been performed on all available channels for each AP subset in each non-overlapping region, method 300 proceeds to box 335.
[0048] For example, computing device 100 can determine whether ranging is performed on a third channel for a first subset of APs in a first region. Based on the determination that ranging is not performed on a third channel for a first subset of APs in the first region, computing device 100 can select a third channel for the first subset of APs in the first region (at box 315) and then initiate a third ranging measurement between the first subset of APs on the third channel to generate a third ranging result, wherein the third ranging measurement is performed in parallel with other ranging measurements (e.g., a fourth ranging measurement) for a subset of APs in a different region (e.g., for a second subset of APs in a second region) (at box 320). Furthermore, in such an example, computing device 100 can receive the third ranging result (at box 325) and perform ranging determination based on all available channels for each subset of APs in each non-overlapping region (at box 330), resolving the location of multiple APs in the network based at least on the first ranging result, the second ranging result, and the third ranging result (as described below with respect to box 335).
[0049] At box 335, method 300 may include resolving the locations of multiple APs based on (e.g., in response to) ranging results. (See reference) Figure 1 The computing device 100, AP location resolution instructions 128 may include instructions for resolving the locations of multiple APs based on (e.g., in response to) receiving ranging results.
[0050] For example, at block 335, method 300 may include resolving the locations of multiple APs based on (e.g., in response to) receiving a first ranging result and a second ranging result. Furthermore, in the example above, where computing device 100 determines that ranging was not performed on a first subset of APs in a first region on a third channel and initiates a third ranging measurement between the first subset of APs on the third channel to generate a third ranging result, computing device 100 may resolve the locations of multiple APs in the network based at least on the first ranging result, the second ranging result, and the third ranging result.
[0051] Determining the location of multiple access points (APs) may include estimating the AP locations (e.g., coordinates) on an AP map (e.g., a map of relative AP locations on a visual floor plan) based on ranging results. Techniques for resolving AP locations based on ranging results (e.g., FTM) are further described in the following patent applications, which are incorporated herein by reference.
[0052] U.S. Application Serial No. 16 / 831,213, entitled “AUTOMATICLOCATION OF ACCESS POINTS”, filed on March 26, 2020, in the name of inventors Vikram Raghu, Eldad Perahia, Sachin Ganu, Sai Pradeep Venkatraman, and Chuck Lukaszewski, is hereby jointly assigned.
[0053] U.S. Application Serial No. 17 / 218,309, entitled “HANDLING FINE TIMING MEASUREMENT REQUESTS”, filed on March 31, 2021, in the name of inventors Amogh Guruprasad Deshmukh, Eldad Perahia, Gaurav Patwardhan, and Sachin Ganu, and hereby jointly assigned.
[0054] The U.S. Application Serial No. 17 / 229,954, entitled “FINE TIMING MEASUREMENTS IN ENTERPRISE DEPLOYMENTS USING BANDWIDTH CHANNEL,” filed on April 14, 2021, in the name of inventors Omar El Ferkouss, Andre Beaudin, and Sachin Ganu, is hereby jointly assigned.
[0055] U.S. Application Serial No. 17 / 337,679, entitled “AUTOMATIC LOCATION OF ACCESS POINTS IN A NETWORK”, filed on June 3, 2021, in the name of inventors Sachin Ganu, Chuck Lukaszewski, Gaurav Patwardhan, Eldad Perahia, Vikram Raghu, and Stuart Wal Strickland, is hereby jointly assigned.
[0056] In the event of a conflict between an incorporated application and this disclosure, this specification includes definitions and controls.
[0057] In this manner, the example computing device 100 provides coordinated ranging between APs in a network. For example, the computing device 100 can assign multiple APs to non-overlapping areas based on neighbor adjacency information received from multiple APs, wherein a first subset of the multiple APs is assigned to a first area of the non-overlapping area and a second subset of the multiple APs is assigned to a second area of the non-overlapping area, thereby assigning adjacent (adjacent) APs to non-overlapping areas to initiate effective coordinated ranging between APs. Furthermore, the computing device 100 can initiate a first ranging measurement between a first subset of APs on a first channel to generate a first ranging result, and initiate a second ranging measurement between a second subset of APs on a second channel to generate a second ranging result, wherein the first and second ranging measurements are performed in parallel, thereby reducing call time overhead by reducing the call time required to complete the ranging measurement between APs. Moreover, by assigning different channels (e.g., the first channel, the second channel) to each non-overlapping area (e.g., the first area, the second area), the computing device 100 can minimize interference between the communications of APs in different areas when APs in different areas perform coordinated ranging measurements.
[0058] In some examples, method 300 may include the computing device 100 determining for each non-overlapping area whether ranging has been performed on all available channels (e.g., first channel, second channel, third channel) for a subset of APs in that area. Based on (e.g., in response to) the determination that ranging has not been performed on all available channels, method 300 may include the computing device 100 selecting another channel for that area (on which ranging has not yet been performed) and initiating a ranging measurement between the subset of APs in the area on the other channel to generate additional ranging results. Furthermore, at block 325, method 300 may include receiving the additional ranging results, wherein the locations of multiple APs are resolved based on the additional ranging results.
[0059] For example, computing device 100 may initiate a first ranging measurement between a first subset of APs on a first channel to generate a first ranging result, and initiate a second ranging measurement between a second subset of APs on a second channel to generate a second ranging result. In such an example, method 300 may further include computing device 100 determining whether ranging is performed on a third channel for the first subset of APs (at block 330). Based on the determination that ranging is not performed on a third channel for the first subset of APs, method 300 may include computing device 100 selecting a third channel for a first area (when method 300 returns to block 315). Furthermore, in such an example, method 300 may include computing device 100 initiating a third ranging measurement between the first subset of APs on a third channel to generate a third ranging result, and computing device 100 receiving the third ranging result (at block 325), wherein resolving the locations of multiple APs (e.g., at block 330) is based on the third ranging result.
[0060] In this way, Figure 1 Example computing device 100 (and Figure 3 Method 300) can ensure that ranging measurements are performed on APs in each non-overlapping region of all available channels of AP, thereby improving the reliability (e.g., accuracy) of ranging measurements performed by APs.
[0061] refer to Figure 4 Some examples present flowcharts depicting a method 400 for coordinated ranging between APs in a network. (See below for reference.) Figure 1 The computing device 100 described herein is used to describe the execution of method 400, but any suitable computing device for executing method 400 can be used. Furthermore, the implementation of method 400 is not limited to such an example. Although method blocks 405 to 420 are shown in method 400, method 400 may include other actions described herein. Furthermore, although the blocks are shown in sequence, Figure 4 The boxes depicted in the diagram can be executed in any suitable order and at any time. Furthermore, one or more boxes of method 400 can be executed in combination with one or more boxes of methods 300, 500, 600, 800, 900, or 1000. Additionally, some boxes shown in method 400 may be omitted without departing from the spirit and scope of this disclosure.
[0062] At block 405, method 400 may include receiving a list of access points (APs) in a network by computing device 100. The AP list may correspond to multiple APs in the network, and computing device 100 may send or receive one or more communication signals 170 for these APs via one or more communication paths 160 to perform coordinated ranging between the APs. That is, the AP list may correspond to multiple APs in the network that are capable of ranging. It should be understood that the AP list received by computing device 100 may have any suitable format. For example, the AP list in the network may be indicated by (e.g., included in) one or more data packets received by computing device 100.
[0063] At box 410, method 400 may include, based on (e.g., in response to) receiving a list of APs in the network, the computing device 100 determining whether label information is available for each AP in the AP list. At box 410, if it is determined that the label information is available for the AP, method 400 continues, and the computing device 100 receives the AP's neighbor adjacency information (including the label information) (as described above with respect to box 305 of method 300). Conversely, at box 410, if it is determined that the label information is not available for the AP, method 400 proceeds to box 415.
[0064] At box 415, method 400 may include, based on (e.g., in response to) receiving a list of APs in the network, the computing device 100 determining for each AP in the AP list whether a neighbor adjacency matrix is available for the AP. For example, as Figure 4 As shown, based on the determination (at box 410) that the tag information indicates an AP is unavailable, at box 415, method 400 may include the computing device 100 determining whether the neighbor adjacency matrix is available for the AP. At box 415, if it is determined that the neighbor adjacency matrix is available for the AP, method 400 continues to receive the AP's neighbor adjacency information (including the neighbor adjacency matrix) from the computing device 100 (as described above in box 305 regarding method 300). Conversely, at box 410, if it is determined that the neighbor adjacency matrix is unavailable for the AP, method 400 returns to box 405 to receive a (new) list of APs in the network. Method 400 may return to box 405 to receive a list of APs in the network after a predetermined time period (e.g., 5 seconds, 1 minute, etc.) has elapsed.
[0065] At box 420, based on (e.g., in response to) receiving a list of APs in the network (as described above with respect to one or more of boxes 405, 410, or 415), method 400 may include receiving neighbor adjacency information for multiple APs in the network. Box 420 may include the same or similar steps as described above with respect to box 305 of method 300.
[0066] In this way, Figure 1Example computing device 100 (and Figure 4 Method 400) receives neighbor adjacency information of multiple APs in the network, which can be used to perform coordinated ranging between APs (e.g., as described above with respect to method 300), and when such neighbor adjacency information is unavailable, selects another group of APs in the network to perform coordinated ranging.
[0067] refer to Figure 5 Some examples present flowcharts depicting a method 500 for coordinated ranging between APs in a network. (See below for reference.) Figure 1 The computing device 100 described herein is used to describe the execution of method 500, but any suitable computing device for executing method 500 can be used. Furthermore, the implementation of method 500 is not limited to such an example. Although method blocks 505 to 530 are shown in method 500, method 500 may include other actions described herein. Furthermore, although the blocks are shown in sequence, Figure 5 The boxes depicted in the method 500 can be executed in any suitable order and at any time. Furthermore, one or more boxes of method 500 can be executed in combination with one or more boxes of methods 300, 400, 600, 800, 900, or 1000. Additionally, some boxes shown in method 500 may be omitted without departing from the spirit and scope of this disclosure.
[0068] At box 505, method 500 may include assigning multiple APs to non-overlapping areas. Box 505 may include the same or similar steps as described above with respect to box 310 of method 300.
[0069] At box 510, method 500 may include, for each non-overlapping region, initiating ranging measurements among subsets of APs in that region to generate ranging results, wherein the ranging measurements of the non-overlapping regions are performed in parallel. Box 510 may include the same or similar steps as described above with respect to box 320 of method 300.
[0070] At box 515, method 500 may include the computing device 100 determining whether to perform ranging measurements (for a subset of APs in a non-overlapping region) for a threshold amount of links of multiple APs in the network.
[0071] The link threshold amount of multiple APs can correspond to the link threshold ratio of multiple APs in the network. For example, method 500 may include determining, by computing device 100, whether ranging measurements are performed on all AP subsets (e.g., first AP subset, second AP subset) in all non-overlapping areas (e.g., first area, second area) for the link threshold ratio between multiple AP pairs in the network. The link threshold ratio can correspond to the ratio of the number of communication links between multiple AP pairs in the network for which ranging measurements are performed to the total number of available communication links between multiple APs in the network. At block 515, if it is determined that no ranging measurement between AP subsets is performed for the link threshold amount, method 500 proceeds to block 520. Conversely, if it is determined that ranging measurements are performed for the link threshold amount, method 500 proceeds to block 525.
[0072] At box 520, method 500 may include increasing the size of the area to include a larger subset of APs. That is, at box 520, method 500 may include increasing the size of the area to include a subset of APs in the existing area as well as other APs among multiple APs. In some examples, at box 520, the size of the area may be increased by a predetermined increment relative to the size of the existing area. For example, the size of the area may be increased by a percentage of the total area of the existing area, such as ten percent (10%). Furthermore, the size of the area can be increased by adding areas corresponding to regular shapes (e.g., rectangles, circles, etc.) or irregular shapes to the existing area. In some examples, the shape of the added area added to the existing area may correspond to one or more partitions (e.g., rooms) of a building.
[0073] At block 525, method 500 may include initiating ranging measurements between APs for each lost communication link to generate ranging results. Block 525 may include steps similar to those described above with respect to block 320 of method 300. The lost communication links may correspond to available communication links in a subset of APs for which ranging measurements have not yet been performed at block 320 of method 300. The ranging results for each lost communication link may be received by computing device 100 in a manner similar to that described with respect to block 325 of method 300.
[0074] At block 530, based on (e.g., in response to) ranging measurements performed between APs for one or more lost communication links, method 500 may include resolving the locations of multiple APs. Block 530 may include the same or similar steps as described above with respect to block 335 of method 300. For example, at block 530, the locations of multiple APs may be resolved for any one or more lost communication links at block 525 of method 500 based on both one or more ranging results generated by computing device 100 at block 320 of method 300 and one or more ranging results generated by computing device 100.
[0075] In this way, Figure 1 Example computing device 100 (and Figure 5 Method 500 can improve the reliability (e.g., accuracy) of the computing device 100 in resolving AP locations. For example, when no ranging measurement is performed for a threshold number of links (at box 520), the computing device 100 can increase the size of the area to include a larger subset of APs and can perform ranging measurements for any one or more lost communication links between APs in the network during coordinated ranging between APs (at box 525), thereby ensuring that the ranging measurements take into account a sufficient number of links between APs to generate reliable (e.g., accurate) ranging results, which can then be used to accurately resolve the location of APs in the network (at box 530).
[0076] refer to Figure 6 Some examples present flowcharts depicting a method 600 for coordinated ranging between APs in a network. (See below for reference.) Figure 1 The computing device 100 described herein is used to describe the execution of method 600, but any suitable computing device for executing method 600 can be used. Furthermore, the implementation of method 600 is not limited to such an example. Although method blocks 605 to 635 are shown in method 600, method 600 may include other actions described herein. Furthermore, although the blocks are shown in sequence, Figure 6 The boxes depicted in the method can be executed in any suitable order and at any time. Furthermore, one or more boxes of method 600 can be executed in combination with one or more boxes of methods 300, 400, 500, 800, 900, or 1000. Additionally, some boxes shown in method 600 may be omitted without departing from the spirit and scope of this disclosure.
[0077] At block 605, method 600 may include enabling ranging measurements of multiple APs in the network by computing device 100. By enabling ranging measurements of the multiple APs, computing device 100 can then initiate ranging measurements between the multiple APs (as described above with respect to block 320 of method 300). The enabling and disabling of ranging measurements by computing device 100 can be implemented as a toggle that can be set to on or off automatically or manually (e.g., in response to input from a user). Computing device 100 can be configured (e.g., encoded with instructions executable by at least one processing resource 100) to include the toggle.
[0078] At box 610, method 600 may include receiving ranging results from multiple APs by computing device 100. In some examples, box 610 may include the same or similar steps as box 325 of method 300 to receive ranging results from multiple APs by computing device 100.
[0079] At box 615, method 600 may include verifying the ranging result by computing device 100. The ranging result may be verified based on one or more of methods 800, 900, or 1000, as further described below.
[0080] At box 620, method 600 may include determining, by computing device 100, whether the ranging result meets an accuracy threshold. For example, the accuracy threshold may correspond to a deviation threshold between the ranging results of a pair of APs in a subset of APs in the region (as described below). Figure 7 (As described in method 700). At box 620, if it is determined that the ranging result meets an accuracy threshold (e.g., the ranging result of a pair of APs in a subset of APs in the area is within a deviation threshold), method 600 proceeds to box 625. Conversely, at box 620, if it is determined that the ranging result does not meet an accuracy threshold (e.g., the ranging result of a pair of APs in a subset of APs in the area is outside a deviation threshold), method 600 returns to box 605. After a predetermined time period (e.g., 5 seconds, 1 minute, etc.) has elapsed, method 600 may return to box 605 to enable ranging measurements for multiple APs in the network.
[0081] At box 625, method 600 may include disabling ranging measurements for multiple APs in the network by computing device 100. As noted above with respect to box 605, enabling and disabling ranging measurements by computing device 100 may be implemented as a toggle that can be set to on or off.
[0082] At box 630, method 600 may include detecting the network topology of the network by computing device 100. The network topology may indicate devices connected to the network (e.g., computing device 100, AP, client devices, etc.) and the connections between these devices (e.g., communication links).
[0083] At box 635, method 600 may include determining whether a network topology change has occurred. For example, a network topology change can be detected when one or more devices (e.g., APs) are added to the network, one or more devices (e.g., APs) are removed from service in the network (e.g., shut down, fail), one or more devices (e.g., APs) change location in the network, or a combination thereof. At box 635, if a network topology change is determined, method 600 returns to box 605 (i.e., re-enables ranging measurement). Conversely, at box 635, if a network topology change is determined not to have occurred, method 600 returns to box 630 to determine whether a subsequent network topology change has occurred. Method 600 may return to box 605 to determine whether a network topology change has subsequently occurred after a predetermined time period (e.g., 5 seconds, 1 minute, etc.) has elapsed.
[0084] In this way, when coordinated ranging between APs generates ranging results that meet the accuracy threshold, Figure 1 Example computing device 100 (and Figure 6 Method 600) can disable ranging of APs in the network and re-enable ranging of APs when the network topology changes (and continue to check for changes in network topology), thereby providing effective coordinated ranging between APs in consideration of network topology changes.
[0085] System / Computing System
[0086] Figure 2 This is a block diagram of example system 200, which includes a computing device for coordinating ranging among access points (APs) in a network. System 200 includes computing device 100 connected to network 205 (as described above regarding...). Figure 1 (As described). Furthermore, system 200 includes a plurality of network devices 210 connected to network 205. Network devices 210 include a plurality of network devices 212-1 to 212-a (a first subset of network devices 210), network devices 214-1 to 214-b (a second subset of network devices 210), and network devices 216-1 to 216-c (a third subset of network devices 210), where a, b, and c are integers and represent the total number of network devices 212-1 to 212-a, network devices 214-1 to 214-b, and network devices 216-1 to 216-c. It should be understood that any suitable number of network devices 210 (and any suitable subset of network devices 210) can be connected to network 205.
[0087] exist Figure 2 In the example, network 205 may 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, etc., or combinations thereof. As used herein, "wide area network" or "WAN" may include, for example, wired WANs, wireless WANs, hybrid WANs, software-defined WANs (SD-WANs), or combinations thereof. Furthermore, network 205 may include one or more cellular networks using one or more mobile communication standards (e.g., 3G, 4G, 5G, etc.). It should be understood that system 200 may include any one or more suitable types of network 205. Furthermore, although... Figure 2 A single computing device 100 is shown connected to network 205, but it should be understood that any suitable number of computing devices (in addition to computing device 100) can be connected to network 205.
[0088] exist Figure 2In the example, each network device 210 includes a radio (not shown) for communicating with computing device 100, with one or more other network devices 210, or a combination thereof. The one or more radios can generate signals in one or more frequency bands, process signals in one or more frequency bands, or a combination thereof. The one or more radios of network device 210 can operate on any one or more suitable frequency bands and conform to any one or more suitable types of wireless communication standards now known or hereafter developed. For example, according to the IEEE 802.11ac and / or 802.11ax standards, the one or more radios of network device 210 can operate on one or more channels in the 2.4 GHz and / or 5 GHz frequency bands. Furthermore, each network device 210 may include one, two, or any other suitable number of radio devices.
[0089] exist Figure 2 In the examples described herein, each network device 210 can communicate with one or more client devices (e.g., communication devices) connected to the network device. For example, one or more communication devices, such as laptops, desktop computers, mobile devices, and / or other wireless devices, can connect to one or more network devices 210. Each network device 210 can communicate with one or more client devices via radio. In the examples described herein, "mobile device" means a device carried and / or worn by a user. For example, a mobile device can be a telephone (e.g., a smartphone), a tablet, a personal digital assistant (PDA), smart glasses and / or wrist-worn devices (e.g., a smartwatch), and other types of mobile devices.
[0090] exist Figure 2 In the example, computing device 100 can be configured to receive one or more network requests 150 via one or more network paths 140 to establish communication with one or more network devices 210 (as described above regarding...). Figure 1 (As described above). For example, computing device 100 can receive a signal containing network request 150 from network 205 (as described above regarding...). Figure 1 (As described).
[0091] exist Figure 2 In the example, computing device 100 can be configured to send or receive one or more communication signals 170 via one or more communication paths 160 to establish communication with one or more network devices 210 (as described above regarding...). Figure 1 (As described).
[0092] exist Figure 2In the examples described herein, network device 210 can participate in any network data transmission operation, including but not limited to switching, routing, bridging, or combinations thereof. Furthermore, one or more network devices 210 may include a wireless access point (WAP). In the examples described herein, “WAP” generally refers to a receiving point of any known or convenient wireless access technology, which may subsequently become known. Specifically, the term WAP is not intended to be limited to WAPs conforming to the IEEE 802.11 standard. WAPs are generally used as electronic devices adapted to allow wireless devices to connect to wired networks via various communication standards. A WAP may include any necessary hardware components for performing the invention disclosed herein, including but not limited to: processors, memory, display devices, input devices, communication devices, etc. It should be understood that network device 210 may include any suitable type of network device manufactured by any one or more suitable manufacturers.
[0093] exist Figure 2 In the example, computing device 100 is configured (e.g., encoded with non-transitory machine-readable instructions executable by at least one processing resource 110) to execute AP neighbor adjacency information reception instruction 122, AP area allocation instruction 124, coordinated ranging initiation instruction 126, and AP location resolution instruction 128, as described above regarding Figure 1 As described.
[0094] For example, computing device 100 can be configured to receive neighbor adjacency information of network device 210 in network 205. Based on (e.g., in response to) the received neighbor adjacency information, computing device 100 can be configured to assign network device 210 to non-overlapping area 220. For example, as Figure 2 As shown, computing device 100 can allocate network devices 212-1 to 212-a (i.e., a first subset of network devices 210) to a first region 222, network devices 214-1 to 214-b (i.e., a second subset of network devices 210) to a second region 224, and network devices 216-1 to 216-c (i.e., a third subset of network devices 210) to a third region 226. Although Figure 2 The illustration shows three zones 222, 224 and 226, but it should be understood that zone 220 may include two, ten, fifty or any suitable number of zones, and each zone may include two, ten, fifty or any suitable number of network devices 210.
[0095] Furthermore, the computing device 100 can be configured to select a channel for a subset of APs in each non-overlapping region 220. For example, the computing device can select a first channel for network devices 212-1 to 212-a in a first region 222 and a second channel for network devices 214-1 to 214-b in a second region 224, wherein the first channel is different from the second channel. The first region 222 and the second region 224 can be close to each other (or directly adjacent) such that the distance between the first region 222 and the second region 224 is less than a minimum threshold distance 230.
[0096] Furthermore, computing device 100 can be configured to initiate ranging measurements between network devices 210 in each region 220 to generate ranging results, wherein the ranging measurements are performed in parallel. For example, computing device 100 can initiate a first ranging measurement between network devices 212-1 to 212-a on a first channel to generate a first ranging result, and initiate a second ranging measurement between network devices 214-1 to 214-b on a second channel to generate a second ranging result, wherein the first and second ranging measurements are performed in parallel. Based on (e.g., in response to) the first and second ranging results, computing device 100 can be configured to resolve the location of network devices 210.
[0097] In this way, Figure 2Example system 200 provides coordinated ranging for network devices 210 in network 205. For example, computing device 100 may assign network devices 210 to non-overlapping regions 220 based on neighbor adjacency information received from network devices 210, wherein a first subset 212-1 to 212-a of network devices is assigned to a first region 222 and a second subset 214-1 to 214-b of network devices is assigned to a second region 224, thereby assigning a subset of neighboring (adjacent) network devices 210 to non-overlapping regions 220, which can be used to perform effective coordinated ranging among network devices 210. Furthermore, the computing device 100 can initiate a first ranging measurement between a first subset 212-1 to 212-a of network devices on a first channel to generate a first ranging result, and initiate a second ranging measurement between a second subset 214-1 to 214-b of network devices on a second channel to generate a second ranging result, wherein the first and second ranging measurements are performed in parallel, thereby reducing call time overhead by reducing the call time required to complete the ranging measurement between network devices 210. Additionally, when the distance between two areas (e.g., first area 222, second area 224) is less than a minimum threshold distance (e.g., minimum threshold distance 230), the computing device 100 can initiate coordinated ranging measurements for areas on different channels (e.g., first channel, second channel) to minimize interference between network devices in different areas.
[0098] Furthermore, computing device 100 can be configured to select a first channel for network devices 216-1 to 216-c within a third region 226. The distance between the first region 222 and the third region 226 is greater than or equal to a minimum threshold distance 230. Additionally, computing device 100 can be configured to initiate a third ranging measurement between network devices 216-1 to 216-c on the first channel to generate a third ranging result, wherein the third ranging measurement is performed in parallel with the first and second ranging measurements. Based on (e.g., in response to) the third ranging result, computing device 100 can be configured to resolve the location of network device 210.
[0099] In this way, Figure 2 The example system can ensure that when coordinated ranging measurements are performed by network device 210 in two or more non-overlapping regions (e.g., first region 222, third region 223) on the same channel, the distance between such regions is greater than or equal to a minimum threshold distance (e.g., minimum threshold distance 230) to prevent interference between ranging measurements of network device 210 in each of the two or more non-overlapping regions, thereby improving the reliability (e.g., accuracy) of coordinated ranging.
[0100] Figure 7This is a block diagram of an example computer system 700 in which various embodiments described herein can be implemented for coordinated ranging between access points in a network.
[0101] The computer system 700 includes a bus 705 or other communication mechanism for transmitting information, and at least one hardware processor 710 coupled to the bus 705 for processing information. For example, the at least one hardware processor 710 may be at least one general-purpose microprocessor.
[0102] The computer system 700 also includes a main memory 715, such as random access memory (RAM), cache, other dynamic storage devices, or combinations thereof, coupled to a bus 705 for storing information and one or more instructions to be executed by at least one processor 710. The main memory 715 can also be used to store temporary variables or other intermediate information during the execution of one or more instructions to be executed by at least one processor 710. In some examples, one or more instructions may include an AP neighbor adjacency information reception instruction 122, an AP area allocation instruction 124, a coordinated ranging initiation instruction 126, and an AP location resolution instruction 128 (as described above regarding...). Figure 1-6 One or more of the above, used to verify ranging results between APs in the network (as described below) Figure 8-10 (as described above), or a combination thereof. Such one or more instructions, when stored on a storage medium accessible to at least one processor 710, present the computer system 700 as a dedicated machine customized to perform the operations specified in one or more instructions.
[0103] The computer system 700 may also include a read-only memory (ROM) 720 or other static storage device coupled to a bus 705 for storing one or more instructions to be executed by at least one processor 710. In some examples, one or more instructions may include an AP neighbor adjacency information reception instruction 122, an AP area allocation instruction 124, a coordinated ranging initiation instruction 126, and an AP location resolution instruction 128 (as described above regarding...). Figures 1 to 6 One or more of the above, used to verify ranging results between APs in the network (as described below) Figures 8 to 10 (as described above), or a combination thereof. Such one or more instructions, when stored on a storage medium accessible to at least one processor 710, present the computer system 700 as a dedicated machine customized to perform the operations specified in one or more instructions.
[0104] The computer system 700 may also include information and one or more instructions for at least one processor 710. At least one storage device 725, such as a disk, optical disk, or USB thumb drive (flash drive), or a combination thereof, may be provided and coupled to bus 705 for storing information and one or more instructions. In some examples, one or more instructions may include an AP neighbor adjacency information receiving instruction 122, an AP area allocation instruction 124, a coordinated ranging initiation instruction 126, and an AP location resolution instruction 128 (as described above regarding...). Figures 1 to 6 One or more of the above, used to verify ranging results between APs in the network (as described below) Figures 8 to 10 (as stated above), or a combination thereof.
[0105] The computer system 700 may also include a display 730 coupled to a bus 705 for displaying graphical output to a user. The computer system 700 may also include an input device 735, such as a keyboard, camera, microphone, or combinations thereof, coupled to the bus 705 to provide input from the user. The computer system 700 may also include cursor control 740, such as a mouse, pointer, stylus, or combinations thereof, coupled to the bus 705 to provide input from the user.
[0106] The computer system 700 may also include at least one network interface 745, such as a network interface controller (NIC), a network adapter, or a combination thereof, which is coupled to a bus 705 for connecting the computer system 700 to at least one network.
[0107] Generally, as used herein, the terms "component," "system," "database," etc., can refer to logic implemented in hardware or firmware, or to a set of software instructions that may have entry and exit points, written in a programming language such as, for example, Java, C, or C++. Software components can be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It should be understood that software components can be invoked from other components or themselves, and / or can be invoked based on (e.g., in response to) detected events or interrupts. Software components configured to execute on a computing device can be provided on computer-readable media, such as optical discs, digital video discs, flash drives, magnetic disks, or any other tangible media, or as digital downloads (and may be originally stored in a compressed or installable format that requires installation, decompression, or decryption before execution). Such software code can be stored, in part or in whole, on a storage device executing the computing device for execution by the computing device. Software instructions can be embedded in firmware, such as EPROM. It should also be understood that hardware components may consist of connected logic units, such as gates and flip-flops, and / or may consist of programmable units, such as programmable gate arrays or processors.
[0108] Computer system 700 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic, which, in combination with the computer system, enable computer system 700 to become a dedicated machine or to be programmed thereto. According to one embodiment, the techniques herein are executed by computer system 700 based on (e.g., in response to) at least one processor 710 executing one or more sequences of one or more instructions contained in main memory 715. Such one or more instructions may be read into main memory 715 from another storage medium, such as at least one storage device 725. Execution of the one or more instruction sequences contained in main memory 715 causes at least one processor 710 to perform the processing steps described herein. In alternative embodiments, hardwired circuitry may be used instead of software instructions or in combination with software instructions.
[0109] Verification of distance measurement
[0110] refer to Figure 8 Some examples present flowcharts depicting a method 800 for verifying ranging results between APs in a network. (See below for reference.) Figure 1The computing device 100 described herein is used to describe the execution of method 800, but any suitable computing device for executing method 800 can be used. Furthermore, the implementation of method 800 is not limited to such an example. Although method blocks 805 to 825 are shown in method 800, method 800 may include other actions described herein. Furthermore, although the blocks are shown in sequence, Figure 8 The boxes depicted in the diagram can be executed in any suitable order and at any time. Furthermore, one or more boxes of method 800 can be executed in combination with one or more boxes of methods 300, 400, 500, 600, 900, or 1000. Additionally, some boxes shown in method 800 may be omitted without departing from the spirit and scope of this disclosure.
[0111] At block 805, method 800 may include initiating ranging measurements between a pair of APs on a channel (e.g., a first channel) to generate ranging results for the pair of APs on the channel. Block 805 may include the same or similar steps as described above with respect to block 320 of method 300. Specifically, the ranging results for a pair of APs on the channel may be determined by initiating ranging measurements between a subset of APs in each non-overlapping area to generate ranging results, wherein the ranging measurements for the non-overlapping areas are performed in parallel (as described above with respect to block 320 of method 300). That is, each ranging result for a subset of APs on the channel may include the ranging results for one or more pairs of APs in that subset of APs on the channel. Furthermore, method 800 may include (by computing device 100) receiving the ranging results for a pair of APs on the channel (in the same or similar manner as described above with respect to block 325 of method 300).
[0112] At box 810, method 800 may include determining whether the ranging result meets an accuracy threshold. Specifically, at box 810, method 800 may include determining whether the ranging result meets an accuracy threshold for a pair of APs in a subset of APs.
[0113] The accuracy threshold can correspond to a deviation threshold for the ranging results of one or more pairs of APs in a network. For example, after the computing device initiates a ranging measurement between a pair of APs on a channel to generate a ranging result (at box 805), the computing device 100 can determine for this pair of APs whether the ranging result for this pair of APs is within the deviation threshold for multiple APs in the network. It should be understood that the deviation threshold can be set to any suitable value. For example, for one or more pairs of APs in a network, the deviation threshold can be set to 20 ns relative to the average RTT measurement. At box 810, if it is determined that the ranging result for this pair of APs meets the accuracy threshold (e.g., within the deviation threshold), method 800 proceeds to box 815. Conversely, at box 810, if it is determined that the ranging result for this pair of APs does not meet the accuracy threshold (e.g., outside the deviation threshold), method 800 proceeds to box 820.
[0114] At block 815, method 800 may include assigning a first weight to the ranging results of the pair of APs by computing device 100. At block 820, method 800 may include assigning a second weight to the ranging results of the pair of APs by computing device 100, wherein the second weight is less than the first weight.
[0115] A given weight (e.g., a first weight, a second weight) assigned to the ranging results of a pair of APs may include a numerical value multiplied by the ranging results of that pair of APs. In some examples, the first weight and the second weight may correspond to binary values. For example, the first weight may have a value of 1, while the second weight may have a value of 0. In such an example, when computing device 100 assigns a second weight of 0 to the ranging results of a pair of APs, the ranging results of this pair of APs are not considered (i.e., ignored) when computing device 100 resolves the locations of multiple APs in the network based on the ranging results of multiple APs (e.g., as described above in box 335 regarding method 300). In other examples, the first weight and / or the second weight may correspond to non-binary values. For example, the first weight may have a binary value of 1, while the second weight may have a non-binary value of 0.5. It should be understood that the weights assigned to the ranging results of a pair of APs may have any suitable values.
[0116] At box 825, based on weights assigned to the ranging results (e.g., a first weight, a second weight), method 800 may include resolving the locations of multiple APs. Box 825 may include the same or similar steps as described above with respect to box 335 of method 300.
[0117] In this way, Figure 1 Example computing device 100 (and Figure 8Method 800 can improve the reliability (e.g., accuracy) of ranging results used to perform automatic localization of APs in a network by validating the ranging results. For example, computing device 100 can improve the reliability (e.g., accuracy) of computing device 100 to resolve the locations of multiple APs in the network based on the ranging results by assigning smaller weights (e.g., weights of 0) to the ranging results of a pair of APs that fall outside a bias threshold (in box 820). That is, computing device 100 can give smaller weights (e.g., ignore) to the ranging results between a pair of APs, which would otherwise distort the location estimation of multiple APs in the network.
[0118] refer to Figure 9 Some examples present flowcharts depicting a method 900 for verifying ranging results between APs in a network. (See below for reference.) Figure 1 The computing device 100 described herein is used to describe the execution of method 900, but any suitable computing device for executing method 900 can be used. Furthermore, the implementation of method 900 is not limited to such an example. Although method blocks 905 to 925 are shown in method 900, method 900 may include other actions described herein. Furthermore, although the blocks are shown in sequence, Figure 9 The boxes depicted in the method 900 can be executed in any suitable order and at any time. Furthermore, one or more boxes of method 900 can be executed in combination with one or more boxes of methods 300, 400, 500, 600, 800, or 1000. Additionally, some boxes shown in method 900 may be omitted without departing from the spirit and scope of this disclosure.
[0119] At block 905, method 900 may include initiating ranging measurements between a pair of APs on a channel (e.g., a first channel) to generate ranging results for the pair of APs on the channel. Block 905 may include the same or similar steps as described above with respect to block 320 of method 300. Specifically, the ranging results for a pair of APs on the channel may be determined by initiating ranging measurements between subsets of APs in each non-overlapping region to generate ranging results, wherein the ranging measurements for the non-overlapping regions are performed in parallel (as described above with respect to block 320 of method 300). That is, each ranging result for a subset of APs on the channel may include the ranging results for one or more pairs of APs in that subset of APs on the channel. Furthermore, method 900 may include (by computing device 100) receiving the ranging results for a pair of APs on the channel (in the same or similar manner as described above with respect to block 335 of method 300).
[0120] At block 910, method 900 may include determining, by computing device 100, whether the ratio of successful ranging measurements to the total ranging measurements of the pair of APs meets an accuracy threshold. At block 910, if it is determined that the ratio of successful ranging measurements to the total ranging measurements between the pair of APs meets the accuracy threshold, method 900 proceeds to block 915. Conversely, at block 910, if it is determined that the ratio of successful ranging measurements to the total ranging measurements between the pair of APs does not meet the accuracy threshold, method 900 proceeds to block 920.
[0121] An accuracy threshold can correspond to the ratio of successful ranging measurements to total ranging measurements, for example, 0.5, 0.75, 0.95, etc. When the ratio of successful ranging measurements to total ranging measurements is greater than or equal to the threshold ratio, the computing device 100 can determine that the ratio meets the accuracy threshold. For example, at block 910, method 900 may include determining whether the ratio of successful ranging measurements to total ranging measurements for a pair of APs is greater than or equal to 0.75. In such an example, when the ratio for the pair of APs is greater than or equal to 0.75 (i.e., the accuracy threshold is met), the computing device 100 can determine that the ranging result for the pair of APs is reliable. Conversely, in such an example, when the ratio for the pair of APs is less than 0.75 (i.e., less than the accuracy threshold), the computing device 100 can determine that the ranging result is unreliable (or less reliable). It should be understood that the accuracy threshold can correspond to 0.5, 0.75, 0.95, or any suitable ratio.
[0122] At block 915, method 900 may include assigning a first weight to the ranging results of the pair of APs by computing device 100. At block 920, method 900 may include assigning a second weight to the ranging results of the pair of APs by computing device 100, wherein the second weight is less than the first weight.
[0123] As described above with respect to method 800, the given weights assigned to the ranging results (e.g., a first weight, a second weight) include the numerical value multiplied by the ranging results. As described above with respect to method 800, it should be understood that any suitable value can be used to assign weights to the ranging results.
[0124] At box 925, based on weights (e.g., a first weight, a second weight) assigned to the ranging results of the pair of APs, method 900 may include resolving the locations of multiple APs. Box 925 may include the same or similar steps as described above with respect to box 335 of method 300.
[0125] In this way, Figure 1 Example computing device 100 (and Figure 9Method 900 can improve the reliability (e.g., accuracy) of ranging results used to perform automatic localization of APs in a network by validating the ranging results. For example, computing device 100 can assign smaller weights (e.g., zero weight) to the ranging results of a pair of APs for which the ratio of successful ranging measurements to total ranging measurements does not meet an accuracy threshold (at box 920), thereby increasing the reliability (e.g., accuracy) of computing device 100 in resolving the location of multiple APs in the network based on the ranging results (at box 925). That is, computing device 100 can give smaller weights (e.g., ignore) to the ranging results between a pair of APs, which would otherwise distort the location estimation of the APs.
[0126] refer to Figure 10 Some examples present flowcharts depicting a method 1000 for verifying ranging results between APs in a network. (See below for reference.) Figure 1 The computing device 100 described herein is used to describe the execution of method 1000, but any suitable computing device for executing method 1000 can be used. Furthermore, the implementation of method 1000 is not limited to such an example. Although method blocks 1005 to 1025 are shown in method 1000, method 1000 may include other actions described herein. Furthermore, although the blocks are shown in sequence, Figure 10 The boxes depicted in the diagram can be executed in any suitable order and at any time. Furthermore, one or more boxes of method 1000 can be executed in combination with one or more boxes of methods 300, 400, 500, 600, 800, or 900. Additionally, some boxes shown in method 1000 may be omitted without departing from the spirit and scope of this disclosure.
[0127] At block 1005, method 1000 may include initiating a first ranging measurement between a first AP and a second AP (i.e., a pair of APs) on a channel by computing device 100 to generate a first ranging result. The first ranging measurement may correspond to a round-trip time (RTT) measurement performed by the first AP between the first AP and the second AP on the channel. Furthermore, the first ranging measurement may correspond to channel state information (CSI) between the first AP and the second AP on the channel. Block 1005 may include the same or similar steps as described above with respect to block 320 of method 300. Specifically, the first ranging result of the first AP and the second AP on the channel may be determined by initiating ranging measurements between a subset of APs in each non-overlapping region to generate the first ranging result, wherein the ranging measurements in the non-overlapping regions are performed in parallel (as described above with respect to block 320 of method 300). That is, the ranging result of the AP subset on the channel may include the first ranging result of the first AP and the second AP on the channel. In addition, method 1000 may include (by computing device 100) receiving first ranging results of the first AP and the second AP on the channel (in the same or similar manner as described above with respect to box 325 of method 300).
[0128] At block 1010, method 1000 may include initiating a second ranging measurement between a first AP and a second AP (i.e., a pair of APs) on the channel by computing device 100 to generate a second ranging result. The second ranging measurement may correspond to an RTT measurement performed by the second AP between the first AP and the second AP on the channel. Furthermore, the second ranging measurement may correspond to CSI between the first AP and the second AP on the channel. Block 1010 may include the same or similar steps as described above with respect to block 320 of method 300. Specifically, the second ranging result of the first AP and the second AP on the channel may be determined by initiating ranging measurements between a subset of APs in each non-overlapping region to generate a ranging result, wherein the ranging measurements in the non-overlapping regions are performed in parallel (as described above with respect to block 320 of method 300). That is, the ranging result of the AP subset on the channel may include the second ranging result of the first AP and the second AP on the channel. In addition, method 1000 may include (by computing device 100) receiving second ranging results of the first AP and the second AP on the channel (in the same or similar manner as described above with respect to box 325 of method 300).
[0129] As used herein, RTT (also known as round-trip time or ping time) corresponds to the time it takes for a signal (e.g., a data packet) to travel through the network from its origin (e.g., a first network device) to its destination (e.g., a second network device) and serves as an acknowledgment that the signal will return to its origin. RTT measurements can be based on propagation delay, processing delay, queuing delay, encoding delay, or a combination thereof. It should be understood that RTT can be calculated based on any suitable technology according to any one or more suitable protocols (e.g., Transmission Control Protocol).
[0130] As used herein, CSI refers to the known channel characteristics of a wireless signal between a transmitter and a receiver (e.g., between a first access point and a second access point). CSI is used to determine how a wireless signal propagates between the transmitter and receiver and represents the combined effects of scattering, fading, and power attenuation of the transmitted wireless signal over distance.
[0131] At block 1015, method 1000 may include determining, by computing device 100, whether the difference between a first ranging result and a second ranging result satisfies an accuracy threshold. For example, at block 1015, method 1000 may include determining, by computing device 100, whether the difference between a first RTT measurement (based on a first ranging measurement performed by a first AP between a first AP and a second AP) and a second RTT measurement (based on a second ranging measurement performed by a second AP between a first AP and a second AP) satisfies an accuracy threshold. Furthermore, at block 1015, method 1000 may include determining, by computing device 100, whether the difference between a first CSI measurement (based on a first ranging measurement performed by a first AP between a first AP and a second AP) and a second CSI measurement (based on a second ranging measurement performed by a second AP between a first AP and a second AP) satisfies an accuracy threshold. The accuracy threshold may correspond to a deviation threshold between RTT measurements, CSI measurements, or a combination thereof. For example, the deviation threshold between the first RTT measurement and the second RTT measurement may be set to 20 ns. At box 1015, if it is determined that the difference between the first ranging result and the second ranging result meets an accuracy threshold (e.g., the difference between the first RTT and the second RTT measurements is within a 20 ns deviation threshold), then method 1000 proceeds to box 1025. Conversely, at box 1015, if it is determined that the difference between the first ranging result and the second ranging result does not meet an accuracy threshold (e.g., the difference between the first RTT and the second RTT measurements is not within a 20 ns deviation threshold), then method 1000 proceeds to box 1020.
[0132] At box 1020, method 1000 may include a distance measurement by computing device 100 selecting one of a first distance measurement result and a second distance measurement result based on a verification criterion.
[0133] In some examples, the validation criteria may be based on the ratio of successful ranging measurements to total ranging measurements for each ranging measurement (e.g., a first ranging measurement, a second ranging measurement). For example, at block 1020, method 1000 may include determining, by computing device 100, the ratio of successful ranging measurements to total ranging measurements for a first ranging measurement, and determining, by computing device 100, the ratio of successful ranging measurements to total ranging measurements for a second ranging measurement, wherein the selected ranging result corresponds to the higher of the ratios of successful ranging measurements to total ranging measurements between the first and second ranging measurements.
[0134] In some examples, the verification criteria may be based on the deviation of each ranging measurement (e.g., a first ranging measurement, a second ranging measurement) from a deviation threshold (e.g., a standard deviation) of ranging measurements between one or more pairs of APs in a network. For example, at block 1020, method 1000 may include determining, by computing device 100, the deviation of a first ranging measurement from the standard deviation of ranging measurements between a plurality of APs in a network, and determining, by computing device 100, the deviation of a second ranging measurement from the standard deviation, wherein the selected ranging result corresponds to one of the first and second ranging measurements having a lower deviation.
[0135] In some examples, the verification criteria may be based on the RSSI of each ranging measurement (e.g., a first ranging measurement, a second ranging measurement). For example, at block 1020, method 1000 may include determining the RSSI of a first ranging measurement by computing device 100, and determining the RSSI of a second ranging measurement by computing device 100, wherein the selected ranging result corresponds to one of the first and second ranging measurements with a stronger RSSI.
[0136] In some examples, the verification criteria may correspond to the RTT measurement for each ranging measurement (e.g., first ranging measurement, second ranging measurement). For example, at block 1020, method 1000 may include the computing device 100 selecting a ranging result corresponding to one of the first and second ranging measurements having a lower (shorter) RTT measurement. The ranging measurement with the lower RTT measurement may have a greater likelihood of indicating a direct line of sight (LOS) (i.e., an unobstructed path) between the first and second APs, and is therefore more likely to generate a more accurate ranging result.
[0137] In some examples, the verification criteria may correspond to the CSI measurement for each ranging measurement (e.g., first ranging measurement, second ranging measurement). For example, at block 1020, method 1000 may include the computing device 100 selecting a ranging result that corresponds to the CSI measurement in the first ranging measurement and the second ranging measurement indicating a direct LOS between the first AP and the second AP (e.g., rather than an obstructed or reflected path between the first AP and the second AP), thus making it more likely to generate a more accurate ranging result.
[0138] At box 1025, based on the selected ranging results, method 1000 may include resolving the locations of multiple APs by computing device 100. Box 1025 may include the same or similar steps as described above with respect to box 335 of method 300.
[0139] In this way, Figure 1 Example computing device 100 (and Figure 10 Method 1000 can improve the reliability (e.g., accuracy) of ranging results used to perform automatic location of APs in a network by validating the ranging results. For example, when there are discrepancies between ranging results (first ranging result, second ranging result) from a pair of APs (first AP, second AP), computing device 100 can select one of the ranging results to resolve the location of multiple APs in the network based on a validation criterion that will identify the ranging result of the more likely inaccurate AP pair (e.g., the ranging result that is more likely to correspond to an obstructed line of sight between the first AP and the second AP). That is, computing device 100 can give less weight (e.g., ignore) to the ranging results between a pair of APs, which would otherwise distort the location estimation of multiple APs in the network.
[0140] In the examples described herein, the term "Wi-Fi" is intended to encompass any type of wireless communication conforming to any IEEE 802.11 standard (whether 802.11ac, 802.11ax, 802.11a, 802.11n, 802.11ad, 802.11ay, etc.). The term "Wi-Fi" is currently used by Wi-Fi... Issued. Anything powered by Wi-Fi Products tested and approved as "Wi-Fi Certified" (registered trademark) are certified to be interoperable, even if they come from different manufacturers. Users of "Wi-Fi Certified" (registered trademark) products can use any brand of WAP device with any other brand of client hardware that is also certified. However, generally, any Wi-Fi product using the same radio frequency band (e.g., the 60 GHz band of 802.11ad or 802.11ay) can be used with any other product, even if such a product is not "Wi-Fi Certified". The term "Wi-Fi" is further intended to cover future versions and / or variations of the aforementioned communication standards. Each of the foregoing standards is incorporated herein by reference.
[0141] In the examples described herein, the term "non-transitory media" and similar terms refer to any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. Non-transitory media can include non-volatile media and / or volatile media. Non-volatile media include, for example, optical discs or magnetic disks. Volatile media include, for example, dynamic memory. Common forms of non-transitory machine-readable media include, for example, floppy disks, floppy disks, hard disks, solid-state drives, magnetic tape or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with a perforated pattern, RAM, PROMs and EPROMs, FLASH-EPROMs, NVRAMs, any other memory chips or cassettes, and their network versions.
[0142] Non-transient media differ from transmission media, but can be used in conjunction with them. Transmission media participate in the transfer of information between non-transient media. Examples of transmission media include coaxial cables, copper wires, and optical fibers. Transmission media can also take the form of sound waves or light waves, such as those generated during radio wave and infrared data communication.
[0143] The terminology used herein is for the purpose of describing exemplary embodiments only and is not intended to be limiting. As used herein, unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “the” are intended to also include the plural forms. As used herein, the term “a plurality” is defined as two or more. As used herein, the term “another” is defined as at least a second or more. As used herein, the term “coupled” is defined as a connection, whether a direct connection without any intermediate element or an indirect connection with at least one intermediate element, unless otherwise stated. Two elements may be coupled mechanically, electrically, or communicatively through a communication channel, pathway, network, or system. The term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items. It should also be understood that although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms, as these terms are only used to distinguish one element from another unless otherwise stated or indicated by the context. As used herein, the term “comprising” means including but not limited to. In certain circumstances, the presence of expansive words and phrases such as “one or more,” “at least,” “but not limited to,” or other similar phrases should not be interpreted as implying an intention or demand for the use of the narrow sense in situations where such expansive words may not exist.
[0144] While this technology may be susceptible to various modifications and alternatives, the examples discussed above are shown by way of example only. It should be understood that these techniques are not intended to be limited to the specific examples disclosed herein. In fact, this technology includes all alternatives, modifications, and equivalents falling within the true spirit and scope of the appended claims.
Claims
1. A method for coordinating distance measurement, comprising: The computing device receives neighbor adjacency information from multiple access points (APs) in the network. Based on the neighbor adjacency information, the computing device assigns the plurality of APs to non-overlapping areas, wherein a first subset of the plurality of APs is assigned to a first area of the non-overlapping areas, and a second subset of the plurality of APs is assigned to a second area of the non-overlapping areas. The computing device initiates a first ranging measurement on the first channel among the first subset of APs to generate a first ranging result; The computing device initiates a second ranging measurement on the second channel between the second AP subsets to generate a second ranging result, wherein the first ranging measurement and the second ranging measurement are executed in parallel; The computing device receives the first ranging result and the second ranging result; as well as Based on the first ranging result and the second ranging result, the computing device analyzes the locations of the multiple APs.
2. The method according to claim 1, comprising: The computing device determines whether ranging is performed on a third channel for the first AP subset in the first region; Based on the determination that the ranging was not performed on the third channel for the first AP subset in the first region, the computing device initiates a third ranging measurement between the first AP subset on the third channel to generate a third ranging result. The locations of the multiple APs are analyzed based on the third ranging result.
3. The method according to claim 1, wherein receiving the neighbor adjacency information of the plurality of APs in the network includes: The computing device receives a list of access points (APs) in the network, wherein the AP list includes the plurality of APs; For each AP in the AP list, the computing device receives the AP's tag information; as well as Based on the label information of each AP in the AP list, the computing device determines that the plurality of APs are coplanar with each other; The neighbor adjacency information includes the label information for each AP in the AP list.
4. The method according to claim 1, wherein receiving the neighbor adjacency information of the plurality of APs includes: The computing device receives a list of access points (APs) in the network, wherein the AP list includes the plurality of APs; The computing device receives the neighbor adjacency matrix of the AP in the AP list, wherein the neighbor adjacency matrix is based on radio frequency (RF) neighborhood discovery performed by the AP; as well as Based on the neighbor adjacency matrix of the APs in the AP list, the computing device determines that the multiple APs are in the same RF neighborhood; The neighbor adjacency information of the plurality of APs includes the neighbor adjacency matrix of the AP in the AP list.
5. The method of claim 1, wherein assigning the plurality of APs to the non-overlapping area is based on the Received Signal Strength Indicator (RSSI) of the plurality of APs, wherein the neighbor adjacency information includes the RSSI.
6. The method of claim 1, wherein assigning the plurality of APs to the non-overlapping region comprises: The computing device selects a different channel for each of the non-overlapping regions, wherein a first channel is selected for the first region and a second channel is selected for the second region.
7. The method of claim 5, wherein initiating the first ranging measurement comprises: The computing device configures the bandwidth and antenna chain on the first channel for each AP in the first AP subset for the first ranging measurement.
8. The method according to claim 1, comprising: The computing device determines whether the first ranging measurement and the second ranging measurement are performed for a threshold ratio of links between the plurality of APs, wherein the threshold ratio of links corresponds to the ratio between the number of communication links between the plurality of AP pairs performing ranging measurements in the network and the total number of available communication links between the plurality of APs in the network; Based on the determination that the threshold ratio for the link was not performed by the first ranging measurement and the second ranging measurement, the computing device allocates a third subset of the APs to the first area, wherein the third subset of the APs includes the first AP subset and at least one other AP among the plurality of APs; The computing device initiates a third ranging measurement between the third subset of APs on the first channel to generate a third ranging result; as well as The computing device receives the third ranging result; The location of the AP is determined based on the third ranging result.
9. The method according to claim 1, comprising: The computing device determines whether the first ranging measurement and the second ranging measurement are performed for a threshold ratio of links between the plurality of APs, wherein the threshold ratio of links corresponds to the ratio between the number of communication links between the plurality of AP pairs performing ranging measurements in the network and the total number of available communication links between the plurality of APs in the network; Based on the determination performed by the threshold ratio of the first ranging measurement and the second ranging measurement for the link, the computing device initiates additional ranging measurements between the pairs of APs on the first channel for each pair of APs in the first AP subset for which the first ranging measurement was not performed, to generate additional ranging results. as well as The additional ranging result is received by the computing device; The location of the multiple APs is determined based on the additional ranging results.
10. The method according to claim 1, comprising: The computing device assigns a third subset of the plurality of APs to a third region, wherein the distance between the first region and the third region is greater than a minimum threshold distance; The computing device initiates a third ranging measurement on the first channel among the third AP subset to generate a third ranging result, wherein the third ranging measurement is performed in parallel with the first ranging measurement; as well as The computing device receives the third ranging result; The location of the multiple APs is determined based on the third ranging result.
11. The method according to claim 1, comprising: The computing device determines whether the ranging results of paired APs in the first AP subset meet the accuracy threshold. Based on the determination that the ranging results meet the accuracy threshold, the computing device assigns a first weight to the ranging results of the paired APs; Based on the determination that the ranging results of the paired APs do not meet the accuracy threshold, the computing device assigns a second weight to the ranging results of the paired APs, wherein the second weight is less than the first weight; as well as The location of the plurality of APs is determined based on the weights of the ranging results assigned to the pairs of APs.
12. The method according to claim 1, comprising: The computing device determines whether the ratio of successful ranging measurements to total ranging measurements of paired APs in the first AP subset meets an accuracy threshold. Based on the determination that the ratio meets the accuracy threshold, the computing device assigns a first weight to the ranging results of the paired APs; as well as Based on the determination that the ratio does not meet the accuracy threshold, the computing device assigns a second weight to the ranging results of the paired APs, wherein the second weight is less than the first weight; as well as The location of the plurality of APs is determined based on the weights of the ranging results assigned to the pairs of APs.
13. The method according to claim 1, comprising: The computing device determines that the difference between the first ranging result of the pair of APs in the first AP subset and the second ranging result of the pair of APs does not meet the accuracy threshold. Based on the determination that the ranging result of the paired AP does not meet the accuracy threshold, the computing device selects one of the first ranging result and the second ranging result of the paired AP based on the verification criteria. as well as The location of the multiple APs is determined based on a selected ranging result from the ranging results of the paired APs.
14. The method of claim 13, wherein the verification criterion is based on the ratio of successful ranging measurements to total ranging measurements of the first ranging result of the paired APs and the second ranging result of the paired APs.
15. The method of claim 13, wherein the verification criterion is based on the deviation of each of the first ranging results of the paired APs and the second ranging results of the paired APs.
16. The method of claim 13, wherein the verification criteria are based on the Received Signal Strength Indicator (RSSI), Round-Trip Time (RTT) measurement, or Channel State Information (CSI) measurement for each of the first ranging result and the second ranging result of the paired APs.
17. A computing device, comprising: processor; as well as A non-transitory machine-readable storage medium, including instructions executable by the processor to perform the following operations: Receive neighbor adjacency information from multiple access points (APs) in the network; Based on the neighbor adjacency information, the multiple APs are assigned to non-overlapping areas, wherein a first subset of the multiple APs is assigned to a first area of the non-overlapping areas and a second subset of the multiple APs is assigned to a second area of the non-overlapping areas. Initiate a first ranging measurement between the first subset of APs on the first channel to generate a first ranging result; Initiate a second ranging measurement between the second subset of APs on the second channel to generate a second ranging result, wherein the first ranging measurement and the second ranging measurement are performed in parallel; Receive the first ranging result and the second ranging result; as well as Based on the first ranging result and the second ranging result, the locations of the multiple APs are analyzed.
18. The computing device of claim 17, wherein the instructions include instructions for performing the following operations: Determine whether the first ranging measurement is performed for a threshold ratio of links between the first AP subsets in the first region; Based on the determination performed on the threshold ratio of the first ranging measurement for the link, for each pair of APs in the first AP subset for which the first ranging measurement has not yet been performed, additional ranging measurements are initiated between the pairs of APs on the first channel to generate additional ranging results; and Receive the additional ranging results; in, The location of the multiple APs is determined based on the additional ranging results.
19. The computing device of claim 17, wherein the instructions include instructions for performing the following operations: Assign a third subset of the plurality of APs to a third region, wherein the distance between the first region and the third region is greater than a minimum threshold distance; A third ranging measurement is initiated between the third AP subsets on the first channel to generate a third ranging result, wherein the third ranging measurement is performed in parallel with the first ranging measurement; as well as Receive the third ranging result; The locations of the multiple APs are analyzed based on the third ranging result.
20. A computer system comprising at least one non-transitory machine-readable storage medium, the storage medium including instructions executable by at least one processor to perform the following operations: The computing device receives neighbor adjacency information from multiple access points (APs) in the network. Based on the neighbor adjacency information, the computing device allocates a subset of the multiple APs to non-overlapping areas; The computing device initiates ranging measurements between the AP subsets in the non-overlapping region for each of the non-overlapping regions to generate ranging results, wherein the ranging measurements between the AP subsets in the non-overlapping regions are performed in parallel; The ranging result is received by the computing device; as well as Based on the ranging results, the computing device resolves the locations of the multiple APs.
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
Driving hybrid location services from WLAN stations using access points
US20130308618A1