Coordinated ranging between access points in a network
Patent Information
- Application Number
- DE102022109004
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-12-03
- Filing Date
- 2022-04-13
- Publication Date
- 2026-10-22
- Estimated Expiration
- 2042-04-13
AI Technical Summary
Existing methods for automatically locating access points (APs) in a wireless network are prone to errors and inefficiencies due to sequential distance measurements between AP pairs, leading to increased airtime overhead and potential interference, which can result in inaccurate positioning.
A computing device coordinates ranging between APs by assigning them to non-overlapping zones based on neighborhood information, performing distance measurements in parallel using different channels for each zone to minimize interference and reduce airtime overhead.
This approach reduces airtime overhead and interference, improving the accuracy and reliability of AP location estimation by ensuring efficient and coordinated distance measurements across the network.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application relates to a jointly filed US application entitled “RANGING BY A NETWORK DEVICE DURING A BEACON INTERVAL”, which was filed on December 2, 2021 (US Application Serial Number XX / XXX,XXX), which has the invention reference number 90958306 and is assigned to Hewlett Packard Enterprise Development LP. BACKGROUND
[0002] Generally, a wireless local area network (WLAN) can use one or more access points (APs). Communication devices such as laptops, personal computers, smartphones, etc., can connect to the WLAN to exchange data within the network. These devices can send distance requests to the one or more APs.
[0003] Distance measurement techniques such as the Fine Timing Measurement (FTM) protocol have gained importance due to the broad compatibility between access points (APs) and communication devices. The FTM protocol typically involves the exchange of messages between APs and communication devices. From these messages, a flight time, round-trip time, etc., is derived, which is used to determine the position of the communication device relative to the AP. For example, the flight time can be defined as the total time the signals take to travel from the AP to a client device (such as the communication device) and back again. From the time-of-flight information, a distance between the AP and the client device can be determined. List of characters
[0004] Various features and advantages of the invention will become apparent from the following description of exemplary embodiments of the invention, which is given with reference to the accompanying drawings, of which: Fig. Figure 1 is a block diagram of an exemplary computing device for providing a coordinated area between APs in a network. Fig. Figure 2 shows a block diagram for an example system for providing a coordinated range between APs in a network. Fig. Figure 3 is a flowchart for an example procedure for providing a coordinated area between APs in a network. Fig. Figure 4 is a flowchart of an example procedure for providing a coordinated area between APs in a network. Fig. Figure 5 is a flowchart of an example procedure for providing a coordinated area between APs in a network. Fig. Figure 6 is a flowchart of an example procedure for providing a coordinated area between APs in a network. Fig. Figure 7 is a block diagram of an example computer system in which various embodiments described herein for providing a coordinated area between APs in a network can be implemented. Fig. Figure 8 is a flowchart of an example procedure for validating distance measurement results between APs in a network. Fig. Figure 9 is a flowchart of an example procedure for validating distance measurement results between APs in a network. Fig. Figure 10 is a flowchart of an example procedure for validating distance measurement results between APs in a network. DETAILED DESCRIPTION
[0005] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and in the following description to refer to identical or similar parts. However, it is expressly understood that the drawings serve only for illustration and description. Although several examples are described in this document, modifications, adaptations, and other embodiments are possible. Accordingly, the following detailed description does not limit the disclosed examples. Instead, the proper scope of the disclosed examples can be defined by the accompanying claims.
[0006] Recently, there have been efforts to automatically locate access points (APs) within a network, for example, using a visual network map. Such automatic AP location is advantageous over manual location, as manual AP location can be error-prone. For instance, when manually locating APs within a network, the location of an AP might be measured or entered incorrectly, or an AP might be moved or taken out of service.
[0007] To support automatic access point (AP) location, APs must exchange packets with neighboring APs and then measure the round-trip time (RTT) of these packet exchanges to estimate the range of the APs to their respective neighbors. Sequentially performing distance measurements between individual AP pairs can lead to increased transmission overhead, as a significant portion of the available transmission time is used for distance measurement between APs. Therefore, there is a need for efficient AP ranging within a network that minimizes transmission overhead.
[0008] To solve these problems, the examples described here offer coordinated ranging between access points (APs) in a network. These examples allow a computer to receive neighborhood information for a large number of APs in a network and, based on this information, assign subsets of the APs to non-overlapping zones. The computer can then initiate distance measurements between the subsets of APs in each of these non-overlapping zones to generate a distance result, performing these measurements in parallel.The examples described herein can receive the distance measurement results through the computing device and, based on the distance measurement results, resolve the locations of the multitude of APs through the computing device.
[0009] In this way, the examples described here provide coordinated distance measurement between APs in a network, reducing the transmission overhead for performing the distance measurement. For example, based on received neighborhood information from a multitude of APs, the examples described herein can use a computer device to assign subsets of the multitude of APs to non-overlapping zones, thereby assigning nearby (neighboring) APs to non-overlapping zones to initiate efficient, coordinated distance measurement between the APs.Furthermore, the examples described here can, through the computing device for each of the non-overlapping zones, initiate distance measurements between the subset of APs in the zone to generate a distance measurement result, with the distance measurements between the subsets of APs in the non-overlapping zones being carried out in parallel, thereby reducing the transmission time overhead by decreasing the transmission time required to complete the distance measurements between the APs. Data processing device
[0010] Fig. Figure 1 shows a block diagram of an exemplary computing device 100 for coordinated distance measurement between APs in a network. The computing device 100 comprises at least one processing resource 110 and at least one machine-readable storage medium 120, which contains at least instructions 122 for receiving AP neighborhood information, instructions 124 for assigning AP zones, instructions 126 for initiating the coordinated distance measurement, and instructions 128 for resolving the AP location (e.g., encoded with these instructions).
[0011] In the example of Fig. 1. The computer device 100 can include a device for communicating with a multitude of access points (APs) in a network to provide coordinated ranging between the APs. For example, the computer device 100 can include a gateway router, a WLAN controller, a switch, a server, or a combination thereof. In some examples, the computer device 100 can include an AP configured to communicate with the multitude of APs in the network.
[0012] In the example of Fig. 1. The computing device 100 can perform any network data transmission operations, including but not limited to switching, routing, bridging, or a combination thereof. Furthermore, the computing device 100 can collect network operational information from various nodes of one or more networks, including network traffic load information, network topology information, network usage information, etc. Additionally, the computing device 100 can transmit commands to various nodes of the one or more networks to modify the network topology and routing to achieve various goals regarding network efficiency and effectiveness. It is understood that the computing device 100 can comprise any suitable type of computing device(s) configured to perform coordinated data collection between access points in a network.Furthermore, the computing device 100 can contain all the necessary hardware components to carry out the inventions disclosed herein, including, but not limited to: processors, memory, display devices, input devices, communication devices, etc.
[0013] In the example of Fig. 1. The computer device 100 can be configured (e.g., encoded with instructions that can be executed by at least one processing resource 110) to receive network requests 150 from a network via network path(s) 140. The network path(s) 140 can include any suitable connection(s) 142 (e.g., wired or wireless, direct or indirect, etc.) between the computer device 100 and a network. The network request(s) 150 can contain any suitable instructions to instruct the computer device 100 to perform a coordinated distance measurement between access points in a network. For example, the network request(s) 150 may contain instructions to instruct the computing device 100, instructions 122 to receive AP neighborhood information, instructions 124 to assign AP zones, instructions 126 to initiate the coordinated area, and instructions 128 to resolve the AP location.
[0014] In the examples described here, a “network path” can include a combination of hardware (e.g., interfaces, connections, etc.) and instructions (e.g., executable by a processing resource) to transmit a command (e.g., network request 150) to an external resource (e.g., server, cloud computing resource, etc.) connected to the network (e.g., receive, send).
[0015] In the example of Fig. 1. The computing device 100 can be configured (e.g., encoded with instructions that can be executed by at least one processing resource 110) to send or receive communication signals 170 via communication path(s) 160 to perform coordinated distance measurement between APs in a network. The communication path(s) 160 can include any suitable connection(s) 162 (e.g., wired or wireless, direct or indirect, etc.) between the computing device 100 and one or more network devices. The communication signal(s) 170 can contain all suitable commands for the computer device 100 to perform a coordinated distance measurement between APs in a network (e.g., to execute commands 122 to receive AP neighborhood information, commands 124 to assign AP zones, commands 126 to initiate the coordinated distance measurement, and commands 128 to resolve the AP location).
[0016] In the examples described here, a "communication path" can include a combination of hardware (e.g., interfaces, connections, etc.) and instructions (e.g., executable by a processing resource) to communicate a command to one or more network devices (e.g., to receive, send). Coordinated reception area between APs
[0017] With reference to Fig. Section 3 presents a flowchart in some examples illustrating Procedure 300 for coordinated ranging between APs in a network. Although the execution of Procedure 300 is described below with reference to Computer Facility 100, Fig. As described in Section 1, any suitable computer setup can be used to execute Procedure 300. Furthermore, the implementation of Procedure 300 is not limited to such examples. While Procedure Blocks 305 through 335 are shown in Procedure 300, Procedure 300 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Fig. The three blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 300 may be performed in combination with one or more blocks of Procedures 400, 500, 600, 700, 800, 900, or 1000. Likewise, some of the blocks shown in Procedure 300 may be omitted without altering the spirit and scope of this revelation.
[0018] In Block 305, Procedure 300 can include the reception of neighborhood information for a large number of access points in a network. Referring to Computer Device 100 of Fig. 1. Instructions 122 for receiving neighbor neighborhood information, when executed by the processing resource 110, can receive neighbor neighborhood information for the multitude of APs in the network.
[0019] The neighbor information can contain label information for one or more APs from the plurality of APs. The label information for an AP can include a floor label indicating the floor (e.g., of a building) on which the AP is located. Based on the label information for one or more APs, the procedure 300 can involve determining that one or more of the plurality of APs are coplanar to each other. For example, if the floor labels of two APs are the same, the computing device 100 can determine (based on the floor labels) that these two APs are on the same floor (and thus coplanar to each other). It is understood that the label information received by the computing device 100 for an AP can be in any suitable format.For example, the label information for an AP can be displayed by one or more data packets received by the computing device 100 (e.g., be contained in them).
[0020] Furthermore, the neighbor information for the plurality of access points (APs) can be based on a radio frequency (RF) detection process performed by one or more of the plurality of APs. Specifically, the neighbor information for the plurality of APs can include a neighbor neighborhood matrix, where each element of the neighbor neighborhood matrix indicates a neighborship between two APs of the plurality. For example, an element of the neighbor neighborhood matrix has the value "1" to indicate that two APs of the plurality are adjacent, and an element of the neighbor neighborhood matrix has the value "0" to indicate that two APs of the plurality are not adjacent. Computing device 100 can determine that two APs of the plurality are adjacent if a radio frequency (RF) signal between the two APs meets (e.g., exceeds) an RF signal strength threshold.Based on the neighbor-neighborhood matrix for two or more of the plurality of APs, the procedure 300 can include determining whether the two or more of the plurality of APs are in the same RF neighborhood to each other (e.g., on the same floor and / or coplanar to each other, close to each other, etc.). The computing device 100 can determine whether an element of the neighbor-neighborhood matrix (corresponding to two APs of the plurality of APs) satisfies a neighborhood threshold (e.g., whether the element has the value "1"). Based on (e.g., in response to) the finding that the element satisfies the neighborhood threshold, the computing device 100 can determine that the two corresponding APs are in the same HF neighborhood (e.g., on the same floor and thus coplanar to each other, in close proximity to each other, or a combination thereof).Conversely, based on the finding that the element does not meet the neighborhood threshold, the computing device 100 can determine that the two corresponding APs are not in the same RF neighborhood (e.g., they are not on the same floor and therefore not coplanar to each other, are not in close proximity to each other, or a combination thereof). It is understood that the neighbor-neighborhood matrix for the multitude of APs received by the computing device 100 can be in any suitable format. For example, the neighbor-neighborhood matrix for the multitude of APs can be represented (e.g., contained) by one or more data packets (e.g., management packets) received by the computing device 100.
[0021] In Block 310, the procedure 300 can, based on (e.g., in response to) the received neighborhood information, include assigning the multitude of APs to non-overlapping zones. Referring to computer device 100 of Fig. 1. Based on the received neighbor neighborhood information, AP zone assignment instructions 124, when executed by the processing resource 110, can assign the multitude of APs to non-overlapping zones.
[0022] Assigning the multitude of access points (APs) to non-overlapping zones can be based on a received signal strength indicator (RSSI) of the multitude of APs, with the neighbor information containing the RSSI between pairs of APs within the multitude. Each non-overlapping zone can correspond to a physical area, with one or more APs potentially located within each non-overlapping zone. In some examples, two or more non-overlapping zones may be directly adjacent, leaving no space between them. In other examples, two or more non-overlapping zones may be close to each other (but not directly adjacent), leaving a gap between them. Each non-overlapping zone can have any suitable shape, such as a regular shape like a rectangle or circle, or an irregular shape.Each non-overlapping zone can correspond to one or more subdivisions (e.g., rooms) of a building.
[0023] Assigning the plurality of APs to the non-overlapping zones can include assigning subsets of the plurality of APs to non-overlapping zones. For example, the computing device 100 can assign a first subset of the plurality of APs to a first zone of non-overlapping zones and a second subset of the plurality of APs to a second zone of non-overlapping zones. It is understood that the computing device 100 can assign subsets of the plurality of APs to two, three, ten, or any suitable number of non-overlapping zones.
[0024] In block 315, the procedure 300 can include, for each of the non-overlapping zones, the selection of a channel for a subset of APs in the zone. Referring to the computing device 100 of Fig. 1. When executed by the processing resource 110, the AP zone allocation instructions 124 can select a channel for a subset of APs in the zone for each of the non-overlapping zones.
[0025] In some examples, selecting a channel for the subset of APs in each of the non-overlapping zones may involve the computer device 100 selecting a different channel for two or more of the non-overlapping zones. For example, the computer device 100 may select a first channel for a first subset of APs in a first zone and a second channel for a second subset of APs in a second zone, with each AP in the first zone configured to use the first channel for distance measurements with one or more other APs in the first zone, and each AP in the second zone configured to use the second channel for distance measurements with one or more other APs in the second zone.By assigning a different channel to each subset of access points in two or more non-overlapping zones, the computer device 100 can minimize interference between distance measurements taken in the different zones. It is understood that each channel (e.g., first channel, second channel) selected for each of the non-overlapping zones can correspond to any suitable frequency band(s) in accordance with any suitable standard(s), e.g., the IEEE 802.11 standards (Institute of Electrical and Electronic Engineers).
[0026] In some examples, selecting a channel for the subset of APs in each of the non-overlapping zones may involve the selection of the same channel for two or more of the non-overlapping zones by the computing device 100 if the distance between the two or more non-overlapping zones is greater than a minimum threshold distance. The minimum threshold distance may correspond to a distance between two zones at which there is no interference (or essentially no interference) between distance measurements by APs in each of the two zones on the same channel. The minimum threshold distance may be calculated by the computing device 100 or specified by a device (such as the 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 can select a first channel for a first subset of APs in a first zone and select the first channel for a second subset of APs in a second zone, where the distance between a first zone and the third zone 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 zones only when the distance between the zones is greater than a minimum threshold distance, the computing device 100 can minimize interference between distance measurements taken in the different zones.
[0027] Selecting a channel for a subset of APs in a zone may involve the selection of a channel (from a multitude of available channels for the subset of APs in a zone) for which no distance measurement has yet been performed by the computing device 100. That is, in block 315, the selected channel for the subset of APs in the zone may be a channel for which the computing device 100 has not yet initiated any distance measurements between the subset of APs to generate a distance measurement result (as described below with respect to block 320).
[0028] In some examples, computer device 100 can randomly select a channel from a multitude of available channels for the subset of APs in each of the non-overlapping zones. In other examples, computer device 100 can select a channel from the multitude of available channels for each of the subset of APs based on a predetermined sequence for selecting the multitude of channels. Such a sequence can be specified by a device (e.g., computer device 100) or by a user.
[0029] In block 320, the method 300 can involve initiating distance measurements between the subset of APs in each of the non-overlapping zones to generate a distance measurement result, with the distance measurements for the non-overlapping zones being performed in parallel. Referring to computer device 100 of Fig. 1. Coordinated commands 126 to initiate distance measurement, when executed by the processing resource 110, for each of the non-overlapping zones, initiate distance measurements between the subset of APs in the zone to generate a distance measurement result, with the distance measurements for the subsets of APs in the non-overlapping zones being performed in parallel.
[0030] Distance measurements between subsets of APs in two non-overlapping zones can be performed in parallel if at least some of the distance measurements between subsets of APs in the two zones are performed simultaneously. For example, the procedure 300 in block 320 can involve the computing device 100 initiating first distance measurements between a first subset of APs in a first zone to produce a first distance measurement result, and the computing device 100 initiating second distance measurements between a second subset of APs in a second zone to produce a second distance measurement result, with the first and second distance measurements being performed in parallel.
[0031] Initiating distance measurements between a subset of APs (e.g., first subset of APs, second subset of APs) on a selected channel (e.g., first channel, second channel) for that subset of APs can involve the computing device 100 configuring the subset of APs to use a channel bandwidth on the selected channel to perform the distance measurements. For example, the computing device 100 can configure a first subset of APs in a first zone to use a channel bandwidth of 80 MHz on a selected first channel to perform the distance measurements. It is understood that the computing device 100 can configure a subset of APs in a zone to use a channel bandwidth of 20 MHz, 40 MHz, 80 MHz, 160 MHz, or any other suitable channel bandwidth on a selected channel to perform distance measurements.Furthermore, initiating distance measurements between a subset of APs can include configuring the subset of APs by the computer device 100 to use an antenna chain for distance measurements. Configuring a subset of APs to use an antenna chain for distance measurements can include selecting one of the AP's antennas (from one or more of the AP's antennas) for the computer device 100 to perform the distance measurements for each AP in the subset. Additionally, initiating distance measurements for a subset of APs can include configuring one or more of the subsets of APs by the computer device 100 to use effective isotropic radiated power (EIRP) to perform the distance measurements.For example, the computing device 100 can configure an AP of the first subset of APs in a first zone to use a transmit EIRP of 100% of the available power (i.e., Pmax) for the AP to perform the distance measurements. It is understood that the computing device 100 can configure each AP of a subset of APs to use a transmit EIRP of 100% (Pmax), 90%, 75%, or any other suitable percentage of the available power for the AP to perform the distance measurement.
[0032] Each of the distance measurements (e.g., first distance measurements, second distance measurements) between a subset of APs can include an FTM, an RTT measurement, an arrival time measurement (ToA), a time-of-flight measurement (ToF), an arrival angle measurement (AoA), an RSSI measurement, a short guard interval measurement (SGI), a long guard interval measurement (LGI), channel state information (CSI), or a combination thereof between one or more pairs of APs in the subset. It is understood that the distance measurements between the subset of APs can be in any suitable format. Furthermore, the distance measurements between a subset of APs can be performed sequentially. For example, distance measurements can be performed between a first pair of APs in a subset of APs and then between a second pair of APs in the same subset.Each distance measurement result can specify the distance measurements between one or more pairs of access points within a subset of access points. It is understood that each distance measurement result can be in any suitable format. For example, the distance measurement result for a subset of APs can be indicated by (or contained within) one or more data packets transmitted by one or more APs within the subset of APs.
[0033] In Block 325, the procedure 300 can include receiving the distance measurement results from the subgroups of APs (in the non-overlapping zones) by the computing device 100. With reference to the computing device 100 of Fig. 1. The computing device 100 can contain instructions for receiving distance measurement results from the subgroups of APs. It is understood that the distance measurement results received by the computing device 100 can be in any suitable format. For example, the distance measurement result for a subgroup of APs can be indicated by (e.g., contained within) one or more data packets received by the computing device 100.
[0034] In block 330, procedure 300 may include determining whether distance measurement is being performed on all available channels for each subset of APs in each of the non-overlapping zones. If block 330 determines that ranging has not been performed on all available channels for the subset of APs in each of the non-overlapping zones, procedure 300 returns to block 315 to select a different channel for each subset of APs in each of the non-overlapping zones on which ranging has not yet been performed. Conversely, if block 330 determines that ranging has been performed on all available channels for the subset of APs in each of the non-overlapping zones, it proceeds to block 335.
[0035] For example, the computing device 100 can determine whether ranging is being performed on a third channel for a first subset of APs in a first zone. Based on a determination that ranging is not being performed on the third channel for the first subset of APs in the first zone, the computing device 100 can select the third channel for the first subset of APs in the first zone (at block 315), then initiate third-range measurements between the first subset of APs on the third channel to generate a third-range result, with the third-range measurements being performed in parallel with other ranging measurements (e.g., fourth-range measurements) for a subset of APs in another zone (e.g., for the second subset of APs in the second zone) (in block 320).Furthermore, in such an example, the computing device 100 can receive the third distance measurement result (in block 325) and, based on a determination that the distance measurement is performed for all available channels for each subset of APs in each non-overlapping zone (in block 330), resolve the locations of the multiple APs in the network based on at least the first distance measurement result, the second distance measurement result, and the third distance measurement result (as described below with reference to block 335).
[0036] In Block 335, the procedure 300 can, based on (e.g., in response to) the distance measurement results, include resolving the locations of the multiple APs. Referring to the computer device 100 of Fig. 1. The instructions for resolving AP locations may include 128 instructions to resolve the locations of multiple APs based on (e.g., in response to) the receipt of distance measurement results.
[0037] For example, the procedure 300 in block 335 can, based on (e.g., in response to) the receipt of the first distance measurement result and the second distance measurement result, involve resolving the locations of the multiple APs. Furthermore, in the example described above, where the computing device 100 determines that the distance measurement on the third channel is not being performed for the first subset of APs in the first zone, and initiates third distance measurements between the first subset of APs on the third channel to generate a third distance measurement result, the computing device 100 can resolve the locations of the plurality of APs in the network based on at least the first distance measurement result, the second distance measurement result, and the third distance measurement result.
[0038] Resolving the locations of a multitude of access points (APs) can involve estimating their locations (e.g., coordinates) on an AP map (e.g., a map of relative AP locations on a visual floor plan) based on distance measurement results. Techniques for resolving AP locations based on distance measurement results (e.g., FTMs) are described in the following patent applications, which are hereby incorporated by reference.
[0039] US Application Serial No. 16 / 831,213, filed on March 26, 2020, on behalf of inventors Vikram Raghu, Eldad Perahia, Sachin Ganu, Sai Pradeep Venkatraman and Chuck Lukaszewski, entitled “AUTOMATIC LOCATION OF ACCESS POINTS IN A NETWORK”, is hereby jointly transferred.
[0040] US Application Serial No. 17 / 218,309, filed on March 31, 2021, on behalf of the inventors Amogh Guruprasad Deshmukh, Eldad Perahia, Gaurav Patwardhan and Sachin Ganu, entitled “HANDLING FINE TIMING MEASUREMENT REQUESTS”, which is hereby generally assigned.
[0041] US Application Serial No. 17 / 229,954, filed on April 14, 2021, on behalf of inventors Omar EI Ferkouss, Andre Beaudin, and Sachin Ganu, entitled “FINE TIMING MEASUREMENTS IN ENTERPRISE DEPLOYMENTS USING HIGH BANDWIDTH CHANNELS", which is generally assigned herein.
[0042] US Application Serial No. 17 / 337,679, filed on June 3, 2021, on behalf of the inventors Sachin Ganu, Chuck Lukaszewski, Gaurav Patwardhan, Eldad Perahia, Vikram Raghu and Stuart Wal Strickland, entitled “AUTOMATIC LOCATION OF ACCESS POINTS IN A NETWORK”, which is hereby jointly transmitted.
[0043] In the event of a conflict between the incorporated applications and the present disclosure, the present specification, including the definitions, shall prevail.
[0044] In this way, the example computer device 100 provides a coordinated area between APs in a network. For example, based on received neighborhood information from a multitude of APs, the computer device 100 can assign the multitude of APs to non-overlapping zones, with a first subset of the multitude of APs being assigned to a first zone of non-overlapping zones and a second subset of the multitude of APs being assigned to a second zone of non-overlapping zones, thereby assigning nearby (neighboring) APs to non-overlapping zones to initiate efficient coordinated distance measurement between the APs.Furthermore, the computing device 100 can initiate first distance measurements between a first subset of APs on a first channel to generate a first distance measurement result, and initiate second distance measurements between a second subset of APs on a second channel to generate a second distance measurement result, with the first and second distance measurements being performed in parallel. This reduces the transmission time overhead by decreasing the transmission time required to complete the distance measurements between the APs. Additionally, by assigning a different channel (e.g., first channel, second channel) to each of the non-overlapping zones (e.g., first zone, second zone), the computing device 100 can minimize interference between communications from APs in different zones when coordinated distance measurements are performed by APs in the different zones.
[0045] In some examples, the procedure 300 may involve the computing device 100 determining, for each of the non-overlapping zones, whether distance measurement is being performed on all available channels (e.g., first channel, second channel, third channel) for the subset of APs in the zone. Based on (e.g., in response to) the finding that distance measurement is not being performed on all available channels, the procedure 300 may involve the computing device 100 selecting another channel for the zone (for which distance measurement has not yet been performed) and initiating distance measurements between the subset of APs in the zone on the other channel to generate an additional distance measurement result.Furthermore, the procedure 300 in block 325 may include receiving the additional distance measurement result, with the resolution of the locations of the multitude of APs being based on the additional distance measurement result.
[0046] For example, the computing device 100 can initiate first distance measurements between a first subset of APs on a first channel to produce a first distance result, and initiate second distance measurements between a second subset of APs on a second channel to produce a second distance result. In such an example, the procedure 300 can further include the computing device 100 determining whether ranging is performed for a first subset of APs on a third channel (in block 330). Based on a determination that the distance measurement is not performed for the first subset of APs on the third channel, the procedure 300 can include the computing device 100 selecting the third channel for the first zone (when the procedure 300 returns to block 315).Furthermore, in such an example, the procedure 300 may include initiating third distance measurements between the first subset of APs on the third channel by the computing device 100 to generate a third distance measurement result, and receiving the third distance measurement result by the computing device 100 (in block 325), wherein resolving the locations of the multiple APs (e.g., in block 330) is based on the third distance measurement result.
[0047] In this way, the example computer device can be 100 of Fig. 1 (and the procedure 300 of Fig. 3) Ensure that distance measurements for APs are performed in each of the non-overlapping zones for all available channels for the APs, thereby improving the reliability (e.g., accuracy) of the distance measurements performed by the APs.
[0048] With reference to Fig. Section 4 presents a flowchart in some examples illustrating a procedure 400 for coordinated distance measurement between access points in a network. Although the execution of procedure 400 is described below with reference to computer equipment 100, Fig. As described in Section 1, any suitable computer setup can be used to execute Procedure 400. Furthermore, the implementation of Procedure 400 is not limited to such examples. While Procedure blocks 405 through 420 are shown in Procedure 400, Procedure 400 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Section 1 may be used in any other way. Fig. The four blocks shown in Procedure 400 may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 400 may be performed in combination with one or more blocks of Procedures 300, 500, 600, 800, 900, or 1000. Likewise, some of the blocks shown in Procedure 400 may be omitted without altering the spirit and scope of this revelation.
[0049] In Block 405, Procedure 400 may include the receiving of a list of APs in a network by the computer device 100. The list of APs may correspond to a plurality of APs in a network for which the computer device 100 can send or receive communication signals 170 over the communication path(s) 160 to perform coordinated positioning between the APs. That is, the list of APs may correspond to a plurality of APs in a network capable of distance measurement. It is understood that the list of APs received by the computer device 100 may be in any suitable format. For example, the list of APs in the network may be represented by (e.g., contained within) one or more data packets received by the computer device 100.
[0050] In block 410, based on (e.g., in response to) the receipt of the list of APs in the network, procedure 400 may include the determination by computing device 100 for each AP in the list of APs whether label information is available for the AP. In block 410, if it is determined that label information is available for the AP, procedure 400 proceeds to receive neighborhood information (including the label information) for the AP through computing device 100 (as described above with respect to block 305 of procedure 300). Conversely, in block 410, if it is determined that no label information is available for the AP, procedure 400 proceeds to block 415.
[0051] In block 415, procedure 400 may involve, based on (e.g., in response to) receiving the list of APs in the network, the computing device 100 determining for each AP in the list whether a neighbor-neighborhood matrix is available for that AP. For example, as in Fig. As shown in Figure 4, procedure 400, based on a determination (in block 410) that identification information for the AP is not available, can include, in block 415, a determination by the computing device 100 as to whether a neighbor adjacency matrix is available for the AP. If, in block 415, it is determined that the neighbor adjacency matrix is available for the AP, procedure 400 proceeds to receive neighbor adjacency information (including the neighbor adjacency matrix) for the AP from the computing device 100 (as described above with respect to block 305 of procedure 300). Conversely, if it is determined that the neighbor adjacency matrix is not available for the AP, procedure 400 returns to block 405 in block 410 to receive a (new) list of APs in the network. Method 400 can return to block 405 to receive a list of APs in the network after a predetermined time period (e.g., 5 seconds, 1 minute, etc.).) has passed.
[0052] In block 420, procedure 400, based on (e.g., in response to) receiving the list of APs in the network (as described above with respect to one or more of blocks 405, 410, or 415), may include receiving the neighbor information for the multitude of APs in the network. Block 420 may contain the same or similar steps as described above with respect to block 305 of procedure 300.
[0053] In this way, the example computer device receives 100 from Fig. 1 (and the procedure 400 of Fig. 4) Neighbor neighborhood information for a large number of APs in a network that can be used to perform a coordinated distance measurement between the APs (e.g., in a manner described above with respect to Procedure 300), and if such neighbor neighborhood information is not available, it selects another set of APs in the network to perform a coordinated distance measurement.
[0054] With reference to Fig. Figure 5 presents a flowchart illustrating a procedure 500 for coordinated distance measurement between access points in a network, using several examples. The execution of procedure 500 is described below with reference to computer equipment 100. Fig. As described in Section 1, any suitable computer setup can be used to execute Procedure 500. Furthermore, the implementation of Procedure 500 is not limited to such examples. While Procedure blocks 505 through 530 are shown in Procedure 500, Procedure 500 may also include other actions described here. Although the blocks are presented in a specific order, the actions described in Fig. The five blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 500 may be performed in combination with one or more blocks of Procedures 300, 400, 600, 800, 900, or 1000. Likewise, some of the blocks shown in Procedure 500 may be omitted without altering the spirit and scope of this revelation.
[0055] In Block 505, Procedure 500 may include the allocation of the multitude of APs to non-overlapping zones. Block 505 may include the same or similar steps as described above in relation to Block 310 of Procedure 300.
[0056] In Block 510, Procedure 500 may, for each of the non-overlapping zones, include initiating distance measurements between the subset of APs in the zone to generate a distance result, with the distance measurements for the non-overlapping zones being performed in parallel. Block 510 may contain the same or similar steps as described above with respect to Block 320 of Procedure 300.
[0057] In block 515, the procedure 500 may include the determination by the computing device 100 for the multitude of APs in the network whether the distance measurements (for the subsets of APs in the non-overlapping zones) are performed for a threshold set of connections for the multitude of APs.
[0058] The threshold set of connections for the multitude of APs can correspond to a threshold ratio of connections for the multitude of APs in the network. For example, procedure 500 can involve determining by the computing device 100 whether distance measurements are performed for all subsets of APs (e.g., first subset of APs, second subset of APs) in all non-overlapping zones (e.g., first zone, second zone) for a threshold ratio of connections between pairs of the multitude of APs in the network. The threshold ratio of connections can correspond to a ratio between the number of communication links between pairs of the multitude of APs in the network for which distance measurements are performed and the total number of available communication links between the multitude of APs in the network.If it is determined in Block 515 that the distance measurements between the subset of APs are not being performed for the threshold set of links, Procedure 500 continues to Block 520. Conversely, if it is determined that the distance measurements are being performed for the threshold set of links, Procedure 500 continues to Block 525.
[0059] In Block 520, Procedure 500 may involve enlarging the zone to include a larger subset of APs. That is, in Block 520, Procedure 500 may involve enlarging the zone to include the subset of APs in the existing zone along with other APs from the multitude of APs. In some examples, in Block 520, the size of the zone may be increased by a predetermined increment with respect to the size of the existing zone. For example, the size of the zone may be increased by a percentage, such as ten percent (10%), of the total area of the existing zone. Furthermore, the size of the zone may be increased by adding an area to the existing zone that is a regular shape, such as a rectangle, circle, etc., or an irregular shape. In some examples, the shape of the enlarged area added to the existing zone may be one or more subdivisions (e.g.,rooms) of a building.
[0060] In Block 525, Procedure 500 may include initiating distance measurements between APs for each missing communication link to generate a distance result. Block 525 may include similar steps to those described above with respect to Block 320 of Procedure 300. A missing communication link may correspond to an available communication link for a subset of APs for which no ranging measurements have yet been performed in Block 320 of Procedure 300. The distance measurement result for each missing communication link may be received by the computer device 100 in a manner similar to that described with respect to Block 325 of Procedure 300.
[0061] In Block 530, Procedure 500 may include resolving the locations of multiple APs based on (e.g., in response to) the distance measurements taken between the APs for the one or more missing communication links. Block 530 may contain the same or similar steps as described above with respect to Block 335 of Procedure 300. For example, in Block 530, the locations of multiple APs may be resolved based on both the distance measurement result(s) generated by Computing Device 100 in Block 320 of Procedure 300 and the distance measurement result(s) generated by Computing Device 100 for each missing communication link(s) in Block 525 of Procedure 500.
[0062] In this way, the example computing device can be 100 of Fig. 1 (and the procedure 500 of Fig. 5) Improve the reliability (e.g., accuracy) of the computing device 100 to determine the locations of the APs. For example, the computing device 100 can increase the size of the zone to include a larger subset of the APs if the distance measurements are not performed for a threshold set of connections (in block 520), and can perform distance measurements for each missing communication link(s) between the APs (in block 525) in a network during the coordinated distance measurement between the APs, thereby ensuring that the distance measurements take into account a sufficient number of connections between the APs to produce reliable (e.g., accurate) distance measurement results that can then be used to accurately determine the locations of the APs in the network (in block 530).
[0063] With reference to Fig. Section 6 presents a flowchart in some examples illustrating a procedure 600 for coordinated distance measurement between access points in a network. Although the execution of procedure 600 is described below with reference to computer equipment 100, Fig. As described in Section 1, any suitable computer setup can be used to execute Procedure 600. Furthermore, the implementation of Procedure 600 is not limited to such examples. While Procedure blocks 605 through 635 are shown in Procedure 600, Procedure 600 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Section 1 may be used in any other way. Fig. The six blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 600 may be performed in combination with one or more blocks of Procedures 300, 400, 500, 800, 900, or 1000. Likewise, some of the blocks shown in Procedure 600 may be omitted without altering the spirit and scope of this revelation.
[0064] In block 605, procedure 600 may include the activation of distance measurements for a plurality of access points (APs) in a network by the computing device 100. By activating distance measurements for the plurality of APs, the computing device 100 can then initiate distance measurements between the plurality of APs (as described above with reference to block 320 of procedure 300). The activation and deactivation of distance measurements by the computing device 100 may be implemented as a switch that can be turned on or off either automatically or manually (e.g., in response to input from a user). The computing device 100 may be configured (e.g., encoded with instructions that can be executed by at least one processing resource 100) to include the switch.
[0065] In block 610, procedure 600 may include the receipt of distance measurement results for the plurality of APs by the computer device 100. In some examples, block 610 may contain the same or similar steps as block 325 of procedure 300 to receive distance measurement results for the plurality of APs by the computing device 100.
[0066] In block 615, procedure 600 may include validation of the distance measurement results by computer device 100. The distance measurement results may be validated based on one or more of procedures 800, 900, or 1000, as described below.
[0067] In block 620, procedure 600 may include the determination by the computing device 100 whether the distance measurement results meet an accuracy threshold. For example, the accuracy threshold may correspond to a deviation threshold of a distance measurement result for a pair of APs of a subset of APs in a zone (as below in relation to procedure 700 in Fig. (described in section 7). If, in block 620, it is determined that the distance measurement results meet the accuracy threshold (e.g., a distance measurement result for a pair of APs in a subset of APs in a zone is within the deviation threshold), procedure 600 proceeds to block 625. Conversely, if it is determined that the distance measurement results do not meet the accuracy threshold (e.g., if a distance measurement result for a pair of APs in a subset of APs in a zone is outside the deviation threshold), procedure 600 returns to block 605 in block 620. Procedure 600 can return to block 605 to allow distance measurements for the multitude of APs in the network after a predetermined time interval (e.g., 5 seconds, 1 minute, etc.).
[0068] In block 625, procedure 600 can include disabling distance measurements for the multitude of access points in the network by computer device 100. As mentioned above in relation to block 605, enabling and disabling distance measurements by computer device 100 can be implemented as a switch that can be turned on or off.
[0069] In block 630, procedure 600 may include the detection of a network topology of the network by computer device 100. The network topology may indicate the devices (e.g., computer device 100, access points, client devices, etc.) connected to the network and the connections (e.g., communication links) between such devices.
[0070] In block 635, procedure 600 can include determining whether a network topology change has occurred. A network topology change can be detected, for example, if one or more devices (e.g., access points) are added to the network, one or more devices (e.g., access points) on the network are taken out of service (e.g., turned off, malfunction), one or more devices (e.g., access points) change location on the network, or a combination thereof. If block 635 detects that the network topology has changed, procedure 600 returns to block 605 (i.e., range measurements are reactivated). Conversely, if block 635 detects that the network topology has not changed, procedure 600 returns to block 630 to determine whether the network topology subsequently changed. Procedure 600 can return to block 605 to determine whether, after a predetermined period of time (e.g.,(5 seconds, 1 minute, etc.) a change in the network topology has occurred.
[0071] In this way, the example computer device can be 100 of Fig. 1 (and the procedure 600 of Fig. 6) Disable distance measurement by APs in a network when coordinated distance measurement between APs produces distance measurement results that meet an accuracy threshold, and re-enable distance measurement by APs when there is a change in the network topology (and continue to check for changes in the network topology), thereby providing efficient coordinated distance measurement between APs that takes changes in the network topology into account. System / Computer system
[0072] Fig. Figure 2 is a block diagram of an example system 200 with a computing device for coordinated distance measurement between access points in a network. System 200 comprises a computing device 100 (as above in relation to...). Fig. (described in Figure 1), which is connected to a network 205. Furthermore, the system 200 comprises a plurality of network devices 210 that are connected to the network 205. The network devices 210 comprise 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 a 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, respectively. It is understood that any number of network devices 210 (and any subset of network devices 210) can be connected to the network 205.
[0073] In the example of Fig. 2. The network 205 can include one or more local area networks (LANs), virtual LANs (VLANs), wireless local area networks (WLANs), virtual private networks (VPNs), wide area networks (WANs), the internet, or similar, or a combination thereof. As used here, a "wide area network" or "WAN," for example, can include a wired WAN, a wireless WAN, a hybrid WAN, a software-defined WAN (SD-WAN), or a combination thereof. Furthermore, the network 205 can include one or more cellular networks using one or more mobile communication standards (e.g., 3G, 4G, 5G, etc.). It is understood that the system 200 can include any suitable type of network(s) 205. Although in Fig. Figure 2 shows that a single computer device 100 is connected to the network 205; any suitable number of computer devices (in addition to computer device 100) can be connected to the network 205.
[0074] In the example of Fig. 2. Each of the network devices 210 contains a radio (not shown) for communicating with the computer device 100, with one or more other network devices 210, or a combination thereof. The radio(s) can generate a signal in one or more frequency bands, process a signal in one or more frequency bands, or a combination thereof. The radio(s) of the network devices 210 can operate in any suitable frequency band and conform to any suitable type of wireless communication standard known today or subsequently developed. For example, one or more radios of the network devices 210 can operate on one or more channels in the 2.4 GHz band and / or the 5 GHz band according to IEEE 802.11ac and / or 802.11ax standards. Furthermore, each of the network devices 210 can include one, two, or any other suitable number of radios.
[0075] In the example of Fig. 2. Each of the network devices 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 a laptop, a desktop computer, a mobile device, and / or other wireless devices, etc., can be connected to one or more network devices 210. Each of the network devices 210 can communicate with one or more client devices via a radio. In the examples described here, a "mobile device" refers to a device that is carried and / or worn (or can be carried) by a user. A mobile device can be, for example, a telephone (e.g., a smartphone), a tablet, a personal digital assistant (PDA), smart glasses, and / or a wrist-worn device (e.g., a smartwatch), among other types of mobile devices.
[0076] In the example of Fig. 2. The computer device 100 can be configured to receive network requests 150 via one or more network paths 140 in order to establish communication with one or more network devices 210 (as above in relation to Fig. 1 described). For example, computer device 100 can receive a signal from network 205 containing a network request 150 (as described above in relation to Fig. 1 described).
[0077] In the example of Fig. 2. The computer device 100 can be configured to send or receive communication signals 170 via communication paths 160 to establish communication with one or more network devices 210 (as above in relation to Fig. 1 described).
[0078] In the example of Fig. 2. The network devices 210 can perform any network data transmission operations, including, but not limited to, switching, routing, bridging, or a combination thereof. Furthermore, one or more network devices 210 can include a wireless access point (WAP). In the examples described here, a "WAP" generally refers to receiving points for any known or suitable wireless access technology that may later become known. In particular, the term WAP is not intended to be limited to WAPs that conform to IEEE 802.11 standards. A WAP is generally an electronic device that enables wireless devices to connect to a wired network using various communication standards.A WAP can contain all the necessary hardware components to carry out the inventions disclosed herein, including, but not limited to: processors, memory, display devices, input devices, communication devices, etc. It is understood that the network devices 210 can comprise any suitable type of network device(s) from any suitable manufacturer.
[0079] In the example of Fig. 2. The computing device 100 is configured (e.g., encoded with non-transitory, machine-readable instructions that can be executed by at least one processing resource 110) to execute instructions 122 to receive AP neighborhood information, instructions 124 to allocate AP zones, instructions 126 to initiate the coordinated area, and instructions 128 to resolve the AP location, as described above in relation to Fig. 1 described.
[0080] For example, computer device 100 can be configured to receive neighbor information for network device 210 on network 205. Based on (e.g., in response to) the received neighbor information, computer device 100 can be configured to assign network device 210 to non-overlapping zones 220. As in Fig. As shown in Figure 2, the computing device 100 can, for example, assign network devices 212-1 to 212-a (i.e., a first subset of network devices 210) to the first zone 222, assign network devices 214-1 to 214-b (i.e., a second subset of network devices 210) to the second zone 224, and assign network devices 216-1 to 216-c (i.e., a third subset of network devices 210) to the third zone 226. Although in Fig. Where three zones 222, 224 and 226 are shown, the zones 220 can comprise two, ten, fifty or any number of zones, and each zone can comprise two, ten, fifty or any number of network devices 210.
[0081] Furthermore, the computing device 100 can be configured to select a channel for the subset of APs in each of the non-overlapping zones 220. For example, the computing device can select a first channel for network devices 212-1 to 212-a in the first zone 222 and a second channel for network devices 214-1 to 214-b in the second zone 224, with the first channel being different from the second channel. The first zone 222 and the second zone 224 can be close to each other (or directly adjacent) such that the distance between the first zone 222 and the second zone 224 is less than the minimum threshold distance 230.
[0082] Furthermore, the computing device 100 can be configured to initiate distance measurements between network devices 210 in each of the zones 220 to generate distance measurement results, with the distance measurements being performed in parallel. For example, the computing device 100 can initiate initial distance measurements between network devices 212-1 to 212-a on the first channel to generate an initial distance result, and initiate second distance measurements between network devices 214-1 to 214-b on a second channel to generate a second distance result, with the first and second distance measurements being performed in parallel. Based on (e.g., in response to) the first distance measurement result and the second distance measurement result, the computing device 100 can be configured to resolve the locations of the network devices 210.
[0083] In this way, the example system offers 200 of Fig. 2 a coordinated localization of network devices 210 in the network 205. For example, the computing device 100 can assign non-overlapping zones 220 to network devices 210 based on receiving neighborhood information from network devices 210, whereby a first subset of network devices 212-1 to 212-a is assigned to the first zone 222 and a second subset of network devices 214-1 to 214-b is assigned to the second zone 224, thereby assigning subsets of nearby (neighboring) network devices 210 to non-overlapping zones 220 that can be used to perform efficient coordinated localization between network devices 210.Furthermore, the computer device 100 can initiate first distance measurements between a first subset of network devices 212-1 to 212-a on a first channel to produce a first distance measurement result, and initiate second distance measurements between a second subset of network devices 214-1 to 214-b on a second channel to produce a second distance measurement result, with the first and second distance measurements being performed in parallel, thereby reducing the transmission time overhead by decreasing the transmission time required to complete the distance measurements between network devices 210. If the distance between two zones (e.g., first zone 222, second zone 224) is less than a minimum threshold distance (e.g., minimum threshold distance 230), the computer device 100 can also perform coordinated distance measurements for the zones on different channels (e.g.,(first channel, second channel) to minimize interference between network devices in the different zones.
[0084] Furthermore, the computing device 100 can be configured to select the first channel for network devices 216-1 to 216-c in the third zone 226. A distance between the first zone 222 and the third zone 226 is greater than or equal to the minimum threshold distance 230. Additionally, the computing device 100 can be configured to initiate third distance measurements between network devices 216-1 to 216-c on the first channel to generate a third distance result, with the third distance measurements being performed concurrently with the first and second distance measurements. Based on the third distance measurement result (e.g., in response to it), the computing device 100 can be configured to resolve the locations of the network devices 210.
[0085] In this way, the example system of Fig. 2. Ensure that when coordinated distance measurements of network devices 210 are performed in two or more non-overlapping zones (e.g., first zone 222, third zone 223) on the same channel, the distance between such zones is greater than or equal to a minimum threshold distance (e.g., minimum threshold distance 230) to prevent interference between distance measurements of network devices 210 in each of the two or more non-overlapping zones, thereby improving the reliability (e.g., accuracy) of the coordinated distance measurements.
[0086] Fig. Figure 7 is a block diagram of an example computer system 700 in which various embodiments described here for coordinated distance measurements between access points in a network can be implemented.
[0087] The Computer System 700 comprises 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. The at least one hardware processor 710 could, for example, be at least one general-purpose microprocessor.
[0088] The Computer System 700 also includes main memory 715, such as random-access memory (RAM), a cache, other dynamic memory devices, or the like, or a combination thereof, connected to bus 705 to store information and one or more instructions to be executed by at least one processor 710. The main memory 715 may also be used to store temporary variables or other intermediate information during the execution of one or more instructions to be executed by at least one processor 710. In some examples, the one or more instructions may be one or more AP Neighborhood Information Receive instructions 122, AP Zone Assignment instructions 124, Coordinated Distance Measurement Initiation instructions 126, and AP Location Resolution instructions 128 (as above in relation to the Fig. described), one or more commands for validating distance measurement results between APs in a network (as described below in relation to the Fig. described) or a combination thereof. Such one or more instructions, when stored on storage media accessible to at least one Processor 710, make the Computer System 700 a special-purpose machine adapted to perform the operations specified in the one or more instructions.
[0089] The Computer System 700 may further include a read-only memory (ROM) 720 or other static storage device connected to the bus 705 to store one or more instructions to be executed by at least one processor 710. In some examples, the one or more instructions may be one or more AP Neighborhood Information Receive Instructions 122, AP Zone Assignment Instructions 124, Coordinated Distance Measurement Initiation Instructions 126, and AP Location Resolution Instructions 128 (as above in relation to the Fig. described), one or more commands for validating distance measurement results between APs in a network (as described below in relation to the Fig. described) or a combination thereof. Such one or more instructions, when stored on storage media accessible to at least one Processor 710, make the Computer System 700 a special-purpose machine adapted to perform the operations specified in the one or more instructions.
[0090] The computer system 700 can further contain information and one or more instructions for at least one processor 710. At least one storage device 725, such as a magnetic disk, an optical disk, a USB flash drive, or the like, or a combination thereof, can be provided and connected to the bus 705 to store information and one or more instructions. In some examples, the one or more instructions can be one or more instructions to receive AP neighborhood information (122), instructions to assign AP zones (124), instructions to initiate coordinated distance measurement (126), and instructions to resolve the AP location (128) (as above in relation to the Fig. described), one or more commands for validating distance measurement results between APs in a network (as described below in relation to the Fig. described) or a combination thereof.
[0091] The computer system 700 may further include a display 730 coupled to the bus 705 for displaying a graphical output to a user. The computer system 700 may further include an input device 735, such as a keyboard, camera, microphone, or similar device, or a combination thereof, connected to the bus 705 to allow input from a user. The computer system 700 may further include a cursor control 740, such as a mouse, pointer, stylus, or similar device, or a combination thereof, connected to the bus 705 to allow input from a user.
[0092] The computer system 700 may further include at least one network interface 745, such as a network interface controller (NIC), a network adapter or similar, or a combination thereof, which is connected to the bus 705 to connect the computer system 700 to at least one network.
[0093] In general, the words "component," "system," "database," and the like, as used here, can refer to logic embodied in hardware or firmware, or to a collection of software instructions that may have entry and exit points and are written in a programming language such as Java, C, or C++. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as BASIC, Perl, or Python. It is understood that software components may be invoked by other components or by themselves, and / or based on detected events or interruptions (e.g., in response to them). Software components configured to run on computer devices may be stored on a computer-readable medium, such as...Software may be provided on a compact disc, digital video disc, flash drive, magnetic disk, or other tangible medium, or as a digital download (and may initially be stored in a compressed or installable format that requires installation, decompression, or decryption before execution). Such software code may be stored partially or entirely in memory within the executing computer device for execution by the computer device. Software instructions may be embedded in firmware, such as an EPROM. It is further recognized that hardware components may consist of interconnected logic units, such as gates and flip-flops, and / or programmable units, such as programmable gate arrays or processors.
[0094] The computer system 700 can implement the techniques described herein using customer-specific hard-wired logic, one or more ASICs or FPGAs, firmware, and / or program logic which, in combination with the computer system, causes or programs the computer system 700 to be a special-purpose machine. According to one embodiment, the techniques described herein are executed by the computer system 700 based on (e.g., in response to) at least one processor 710, which executes one or more sequences of one or more instructions contained in the main memory 715. Such one or more instructions can be read into the main memory 715 from another storage medium, such as at least one storage device 725.The execution of the sequences of one or more instructions contained in main memory 715 causes at least one processor 710 to perform the process steps described here. In alternative embodiments, hardwired circuits can be used instead of, or in combination with, software instructions. Validation of distance measurements
[0095] With reference to Fig. Figure 8 presents a flowchart illustrating a procedure 800 for validating distance measurement results between access points in a network using several examples. The execution of procedure 800 is described below with reference to computer equipment 100. Fig. As described in Section 1, any suitable computer setup can be used to execute Procedure 800. Furthermore, the implementation of Procedure 800 is not limited to such examples. While Procedure Blocks 805 through 825 are shown in Procedure 800, Procedure 800 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Fig. The eight blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 800 may be performed in combination with one or more blocks of Procedures 300, 400, 500, 600, 900, or 1000. Also, some of the blocks shown in Procedure 800 may be omitted without being contrary to the spirit and scope of this revelation.
[0096] In Block 805, Procedure 800 may include initiating distance measurements between a pair of APs on a channel (e.g., the first channel) to generate a distance result 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 Procedure 300. In particular, the distance measurement result for the pair of APs on the channel may be determined by initiating a distance measurement between the subset of APs in each of the non-overlapping zones to generate a distance measurement result, with the distance measurements for the non-overlapping zones being performed in parallel (as described above with respect to Block 320 of Procedure 300).This means that each distance measurement result for a subset of APs on a channel can include a distance measurement result for one or more pairs of APs within that subset of APs on the channel. Furthermore, Procedure 800 can involve receiving (by the computer device 100) the distance measurement result for the pair of APs on the channel (in the same or a similar manner as described above with reference to Block 325 of Procedure 300).
[0097] In block 810, procedure 800 may include determining whether the distance measurement result meets an accuracy threshold. Specifically, procedure 800 in block 810 may include determining, for a pair of APs in a subset of APs, whether the distance measurement result meets an accuracy threshold for that pair of APs.
[0098] The accuracy threshold can correspond to a deviation threshold for the distance measurement result for one or more AP pairs from a plurality of APs in a network. For example, after initiating distance measurements between a pair of APs on a channel to generate a distance measurement result (in block 805), the compute device 100 can determine for the pair of APs whether the distance measurement result for the pair of APs is within the deviation threshold for a plurality of APs in a network. It is understood that the deviation threshold can be set to any suitable value. For example, the deviation threshold can be set to 20 ns from an average RTT measurement for one or more pairs of APs from a plurality of APs in a network. If, in block 810, it is determined that the distance measurement result for the AP pair meets the accuracy threshold (e.g.,If the deviation threshold is within the specified range, procedure 800 continues with block 815. Conversely, if block 810 determines that the distance measurement result for the AP pair does not meet the accuracy threshold (e.g., is outside the specified range), then procedure 800 proceeds to block 820.
[0099] In block 815, the procedure 800 may comprise the assignment of a first weight to the distance measurement result for the pair of access points by the computing device 100. In block 820, the procedure 800 may comprise the assignment of a second weight to the distance measurement result for the pair of access points by the computing device 100, the second weight being less than the first weight.
[0100] A given weight (e.g., first weight, second weight) assigned to a distance measurement result for a pair of APs may include a numerical value that is multiplied by the distance measurement result for the 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 the value one, while the second weight may have the value zero. In such an example, if Computing Device 100 assigns a second weight of zero to a distance measurement result for a pair of APs, this distance measurement result for the pair of APs will not be factored (i.e., not taken into account) when Computing Device 100 resolves the position of the plurality of APs in the network based on the distance measurement results of the plurality of APs (e.g., as described above with respect to Block 335 of Procedure 300).In other examples, the first weight and / or the second weight can correspond to non-binary values. For example, the first weight can have a binary value of one, while the second weight can have a non-binary value of 0.5. It is understood that a weight assigned to the distance measurement result for a pair of APs can have any suitable value.
[0101] In Block 825, Procedure 800 may include resolving the locations of multiple APs based on the weighting assigned to the distance measurement result (e.g., first weighting, second weighting). Block 825 may contain the same or similar steps as described above in relation to Block 335 of Procedure 300.
[0102] In this way, the example computer device can be 100 of Fig. 1 (and the procedure 800 of Fig. 8) Improve the reliability (e.g., accuracy) of distance measurement results used to perform automatic localization of APs in a network by validating the distance measurement results. For example, Computing Device 100 can assign a lower weight (e.g., a weight of zero) to a distance measurement result for a pair of APs that are outside a deviation threshold (in Block 820), thereby improving the reliability (e.g., disregarding it).
[0103] With reference to Fig. In some examples, section 9 presents a flowchart illustrating procedure 900 for validating distance measurement results between access points in a network. Although the execution of procedure 900 is described below with reference to computer equipment 100, Fig. As described in Section 1, any suitable computer setup can be used to execute Procedure 900. Furthermore, the implementation of Procedure 900 is not limited to such examples. While Procedure Blocks 905 through 925 are shown in Procedure 900, Procedure 900 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Fig. The nine blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 900 may be performed in combination with one or more blocks of Procedures 300, 400, 500, 600, 800, or 1000. Also, some of the blocks shown in Procedure 900 may be omitted without being contrary to the spirit and scope of this revelation.
[0104] In Block 905, Procedure 900 may involve initiating distance measurements between a pair of APs on a channel (e.g., the first channel) to generate a distance result for the pair of APs on the channel. Block 905 may contain the same or similar steps as described above with respect to Block 320 of Procedure 300. In particular, the distance measurement result for the pair of APs on the channel may be determined by initiating distance measurements between the subset of APs in each of the non-overlapping zones to generate a distance measurement result, with the distance measurements for the non-overlapping zones being performed in parallel (as described above with respect to Block 320 of Procedure 300). That is, each distance measurement result for a subset of APs on a channel may contain a distance measurement result for one or more pairs of APs in the subset of APs on the channel.Furthermore, Procedure 900 may involve receiving (by the computer device 100) the distance measurement result for the pair of APs on the channel (in the same or a similar manner as described above in reference to Block 335 of Procedure 300).
[0105] In block 910, procedure 900 may include the determination by the computing device 100 of whether the ratio of successful distance measurements to the total distance measurements of the distance measurement result for the pair of access points meets an accuracy threshold. If block 910 determines that the ratio of successful distance measurements to the total distance measurements between the pair of access points meets the accuracy threshold, then procedure 900 proceeds to block 915. Conversely, if block 910 determines that the ratio of successful distance measurements to the total distance measurements between the pair of access points does not meet the accuracy threshold, then procedure 900 proceeds to block 920.
[0106] The accuracy threshold can correspond to a ratio of successful distance measurements to the total distance measurements, e.g., 0.5, 0.75, 0.95, etc. The computing device 100 can determine that the ratio of successful distance measurements to the total distance measurements meets the accuracy threshold if it is greater than or equal to the threshold ratio. For example, procedure 900 in block 910 can involve the computing device 100 determining whether the ratio of successful distance measurements to the total distance measurements for a pair of APs is greater than or equal to 0.75. In such an example, if the ratio for the pair of APs is greater than or equal to 0.75 (i.e., meets the accuracy threshold), the computing device 100 can determine that the range detection result for the pair of APs is reliable.Conversely, in such an example, if 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 result of the distance measurement is unreliable (or less reliable). It is understood that the accuracy threshold can be 0.5, 0.75, 0.95, or any suitable ratio.
[0107] In block 915, the method 900 may include the computing device 100 assigning a first weight to the distance measurement result of the AP pair. In block 920, the method 900 may include the computing device 100 assigning a second weight to the distance measurement result of the AP pair, wherein the second weight is less than the first weight.
[0108] As described above with respect to Procedure 800, a given weight (e.g., first weight, second weight) assigned to a distance measurement result comprises a numerical value that is multiplied by the distance measurement result. As described above with respect to Procedure 800, any suitable value can be used for a weight assigned to a distance measurement result.
[0109] In Block 925, Procedure 900 may, based on a weighting (e.g., first weighting, second weighting) assigned to the distance measurement result of the pair of access points, include resolving the locations of the multiple access points. Block 925 may contain the same or similar steps as described above in relation to Block 335 of Procedure 300.
[0110] In this way, the example computer device can be 100 of Fig. 1 (and the procedure 900 of Fig. 9) Improve the reliability (e.g., accuracy) of distance measurement results used to perform automatic localization of APs in a network by validating the distance measurement results. For example, Computing Device 100 can assign a lower weight (e.g., a weight of zero) to a distance measurement result for a pair of APs for which a ratio of successful distance measurements to the total distance measurements does not meet an accuracy threshold (in Block 920), thereby improving the reliability (e.g., disregarding it). That is, Computing Device 100 can give a lower weight (e.g., disregard) to a distance measurement result between a pair of APs that would otherwise distort the AP location estimates.
[0111] With reference to Fig. Section 10 presents a flowchart illustrating a procedure 1000 for validating distance measurement results between access points in a network using several examples. The execution of the procedure 1000 is described below with reference to the computer setup 100. Fig. As described in Section 1, any suitable computer setup can be used to execute Procedure 1000. Furthermore, the implementation of Procedure 1000 is not limited to such examples. While Procedure blocks 1005 through 1025 are shown in Procedure 1000, Procedure 1000 may include other actions described herein. Although the blocks are presented in a specific order, the actions described in Fig. The 10 blocks shown may be performed in any suitable order and at any time. Furthermore, one or more blocks of Procedure 1000 may be performed in combination with one or more blocks of Procedures 300, 400, 500, 600, 800, or 900. Likewise, some of the blocks shown in Procedure 1000 may be omitted without this deviating from the spirit and scope of this revelation.
[0112] In Block 1005, Procedure 1000 may include the initiation of initial distance measurements between a first AP and a second AP (i.e., a pair of APs) on a channel by the computing device 100 to generate an initial distance result. The initial distance measurements may correspond to round-trip time (RTT) measurements taken by the first AP between the first AP and the second AP on the channel. Additionally, the initial distance measurements may correspond to channel state information (CSI) between the first AP and the second AP on the channel. Block 1005 may contain the same or similar steps as described above with respect to Block 320 of Procedure 300.In particular, the first distance measurement result for the first AP and the second AP on the channel can be determined by initiating distance measurement measurements between the subset of APs in each of the non-overlapping zones to generate the first distance measurement result, with the distance measurement measurements for the non-overlapping zones being performed in parallel (as described above with reference to Block 320 of Procedure 300). That is, a distance measurement result for a subset of APs on a channel can include the first distance measurement result for the first AP and the second AP on the channel. Furthermore, Procedure 1000 can include receiving (by the computing device 100) the first distance measurement result for the first AP and the second AP on the channel (in the same or a similar manner as described above with reference to Block 325 of Procedure 300).
[0113] In block 1010, procedure 1000 may involve the computing device 100 initiating second distance measurements between the first AP and the second AP (i.e., the pair of APs) on a channel to generate the second distance result. The second distance measurements may correspond to RTT measurements performed by the second AP between the first AP and the second AP on the channel. Furthermore, the second distance measurements may correspond to CSI measurements between the first AP and the second AP on the channel. Block 1010 may contain the same or similar steps as described above with respect to block 320 of procedure 300.In particular, the second distance measurement result for the first AP and the second AP on the channel can be determined by initiating distance measurement measurements between the subset of APs in each of the non-overlapping zones to generate a distance measurement result, with the distance measurement measurements for the non-overlapping zones being performed in parallel (as described above with reference to Block 320 of Procedure 300). That is, a distance measurement result for a subset of APs on a channel can include the second distance measurement result for the first AP and the second AP on the channel. Furthermore, Procedure 1000 can involve receiving (by the computing device 100) the second distance measurement result for the first AP and the second AP on the channel (in the same or a similar manner as described above with reference to Block 325 of Procedure 300).
[0114] As used here, RTT (also known as Round-Trip Delay or Ping Time) is the time it takes for a signal (e.g., a data packet) to travel across a network from a starting point (e.g., a first network device) to a destination point (e.g., a second network device) and to send an acknowledgment of that signal back to the starting point. RTT measurement can be based on propagation delay, processing delay, queuing delay, encoding delay, or a combination thereof. It is understood that RTT can be calculated using any suitable technique in accordance with one or more suitable protocols (e.g., the Transmission Control Protocol).
[0115] As used here, CSI refers to known channel characteristics of a wireless signal between a transmitter and a receiver (e.g., between a first AP and a second AP). CSI is used to determine how a wireless signal propagates between the transmitter and the receiver and represents the combined effect, e.g., of scattering, fading, and signal degradation of the transmitted wireless signal with distance.
[0116] In block 1015, the procedure 1000 may include determining by the computing device 100 whether a difference between the first distance measurement result and the second distance measurement result satisfies an accuracy threshold. For example, the procedure 1000 in block 1015 may include the computing device 100 determining whether a difference between a first RTT measurement (based on initial distance measurements taken by the first AP between the first and second APs) and a second RTT measurement (based on the second distance measurements taken by the second AP between the first and second APs) satisfies an accuracy threshold.Furthermore, the procedure 1000 in block 1015 may include the determination by the computing device 100 whether a difference between a first CSI measurement (based on initial distance measurements taken by the first AP between the first and second APs) and a second CSI measurement (based on subsequent distance measurements taken by the second AP between the first and second APs) satisfies an accuracy threshold. The accuracy threshold may be a deviation threshold between RTT measurements, CSI measurements, or a combination thereof. For example, the deviation threshold may be set to 20 ns between the first RTT measurement and the second RTT measurement. If block 1015 determines that the difference between the first distance measurement result and the second distance measurement result satisfies the accuracy threshold (e.g.,If the difference between the first and second RTT measurements is within a deviation threshold of 20 ns, procedure 1000 continues with block 1025. Conversely, if block 1015 determines that the difference between the first and second distance measurement results does not meet the accuracy threshold (e.g., the difference between the first and second RTT measurements is not within a deviation threshold of 20 ns), then procedure 1000 continues with block 1020.
[0117] In block 1020, the procedure 1000 can include the selection of one of the first and second distance measurement results by the computing device 100 on the basis of a verification criterion.
[0118] In some examples, the verification criteria may be based on a ratio of successful distance measurements to the total distance measurements for each of the distance measurements (e.g., first distance measurement measurements, second distance measurement measurements).For example, the method 1000 in block 1020 may include determining a ratio of successful distance measurements to the total distance measurements for the first distance measurements by the computing device 100 and determining a ratio of successful distance measurements to the total distance measurements for the second distance measurements by the computing device 100, wherein the selected distance measurement result corresponds either to the first distance measurements or to the second distance measurements with a higher ratio of successful distance measurements to the total distance measurements.
[0119] In some examples, the verification criteria can be based on a deviation of each of the distance measurement measurements (e.g., first distance measurement measurements, second distance measurement measurements) relative to a deviation threshold (e.g., standard deviation) of distance measurement measurements between one or more pairs of APs of a plurality of APs in a network. For example, procedure 1000 in block 1020 can involve determining a deviation of the first distance measurement measurements relative to a standard deviation of distance measurement measurements between the plurality of APs in the network by computing device 100 and determining a deviation of the second distance measurement measurements relative to the standard deviation by computing device 100, wherein the selected distance measurement result corresponds to one of the first distance measurement measurements and one of the second distance measurement measurements with a smaller deviation.
[0120] In some examples, the verification criteria can be based on an RSSI of each of the distance measurement measurements (e.g., first distance measurement measurements, second distance measurement measurements). For example, procedure 1000 in block 1020 can include determining an RSSI of the first distance measurement measurements by the computing device 100 and determining an RSSI of the second distance measurement measurements by the computing device 100, wherein the selected distance measurement result corresponds to one of the first and second distance measurement measurements with a higher RSSI.
[0121] In some examples, the verification criteria for an RTT measurement may correspond to each of the distance measurement measurements (e.g., first distance measurement measurements, second distance measurement measurements). For example, procedure 1000 in block 1020 may involve the computing device 100 selecting the distance measurement result that corresponds to one of the first distance measurement measurements and the second distance measurement measurement with a lower (shorter) RTT measurement. The distance measurement measurements with a lower RTT measurement may have a greater probability of showing a direct line of sight (LOS) (i.e., an unobstructed path) between the first AP and the second AP, and therefore may be more likely to produce more accurate distance measurement results.
[0122] In some examples, the verification criteria for a CSI measurement may correspond to each of the distance measurement measurements (e.g., first distance measurement measurements, second distance measurement measurements). For example, procedure 1000 in block 1020 may select the distance measurement result that corresponds to one of the first and second distance measurement measurements with a CSI measurement that indicates a direct line of sight (LOS) between the first and second APs (e.g., rather than an obstructed or reflected path between the first and second APs) and is therefore more likely to produce more accurate distance measurement results.
[0123] In block 1025, procedure 1000 may, based on the selected distance measurement result, include resolving the locations of the multiple APs by the computing device 100. Block 1025 may contain the same or similar steps as described above in relation to block 335 of procedure 300.
[0124] In this way, the example computer device can be 100 of Fig. 1 (and the procedure 1000 of Fig.10) Improve the reliability (e.g., the accuracy) of distance measurement results used to perform automatic localization of APs in a network by validating the distance measurement results. For example, if there is a discrepancy between the distance measurement results (first distance measurement result, second distance measurement result) from a pair of access points (first access point, second access point), the computing device 100 can select one of the distance measurement results for resolving the positions of the plurality of access points in the network based on a verification criterion (in block 1020) that identifies the distance measurement result for the pair of access points that is more likely to be inaccurate (e.g.,the distance measurement result that is more likely to correspond to an obstructed line of sight between the first access point and the second access point). That is, computing device 100 can give less weight (e.g., disregard) a distance measurement result between a pair of APs that would otherwise distort the location estimates of the multitude of APs in the network.
[0125] In the examples described here, the term "Wi-Fi" is intended to encompass any type of wireless communication that conforms to the IEEE 802.11 standards, whether 802.11ac, 802.11ax, 802.11a, 802.11n, 802.11ad, 802.11ay, etc. The term "Wi-Fi" is currently proclaimed by the Wi-Fi Alliance®. All products tested and approved by the Wi-Fi Alliance® as "Wi-Fi Certified" (a registered trademark) are certified as interoperable, even if they are from different manufacturers. A user with a "Wi-Fi Certified" product (a registered trademark) can use any WAP brand with any other brand of client hardware that is also certified. Normally, however, any Wi-Fi product that uses the same radio frequency band (e.g., the 60 GHz band for 802.11ad or 802.11ay) will work with any other, even if those products are not "Wi-Fi Certified".The term "Wi-Fi" is intended to encompass future versions and / or variations of the aforementioned communication standards. Each of the aforementioned standards is hereby included by reference.
[0126] In the examples described here, 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 both non-volatile and volatile media. Examples of non-volatile media include optical or magnetic hard disks. Examples of volatile media include dynamic memory. Common forms of non-transitory machine-readable media include floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes or other magnetic data storage media, CD-ROMs, other optical data storage media, physical media with hole patterns, RAM, PROM and EPROM, FLASH-EPROM, NVRAM, other memory chips or cartridges, and networked versions thereof.
[0127] Non-transitory media differ from transmission media but can be used in conjunction with them. Transmission media are involved in the transfer of information between non-transitory media. Examples of transmission media include coaxial cables, copper wire, and optical fibers. Transmission media can also take the form of acoustic or light waves, such as those generated in data communication via radio waves and infrared.
[0128] The terminology used here serves only to describe exemplary implementations and is not to be understood as restrictive. The singular forms "ein," "ein," and "die" used here also include the plural forms, unless the context clearly indicates otherwise. The term "plural" used here is defined as two or more than two. The term "ein Weiteres" used here is defined as at least one second or more. The term "gekoppelt" used here means, unless otherwise specified, connected, either directly without intermediaries or indirectly with at least one intermediary. Two elements can be connected mechanically, electrically, or communicatively via a communication channel, path, network, or system. The term "and / or," as used here, refers to and includes all possible combinations of one or more of the listed elements.Although the terms "first," "second," etc., are used here to describe different elements, these elements should not be restricted by these terms, since these terms are only used to distinguish one element from another unless otherwise stated or the context indicates otherwise. As used herein, the term "includes" means that it includes but is not limited to, and the term "including" means that it includes but is not limited to. The presence of expansive words and phrases such as "one or more," "at least," "but not limited to," or other similar expressions in some cases should not be understood as implying that the narrower case is intended or required in instances where such expansive phrases may be absent.
[0129] While the techniques presented here may be susceptible to various modifications and alternative forms, the examples discussed above have been presented only as examples. It is understood that the techniques are not intended to be limited to the examples disclosed herein. Indeed, the techniques presented here encompass all alternatives, modifications, and equivalents that fall within the true spirit and scope of the attached claims. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] US 16 / 831213
[0039] US 17 / 218309
[0040] US 17 / 229954
[0041] US 17 / 337679
[0042]
Claims
[1] A procedure, comprising: Receiving neighbor-neighbor information for a large number of access points (APs) in a network by a computing device; based on the neighbor-neighborhood information, the computing device assigns the plurality of APs to non-overlapping zones, with a first subset of the plurality of APs being assigned to a first zone of the non-overlapping zones and a second subset of the plurality of APs being assigned to a second zone of the non-overlapping zones; Initiating initial distance measurements between the first subset of APs on a first channel by the computing device to generate an initial distance measurement result; Initiating second distance measurements between the second subset of APs on a second channel by the computing device to generate a second distance measurement result, wherein the first distance measurements and the second distance measurements are performed in parallel; Receiving the first distance measurement result and the second distance measurement result by the calculating device; and Based on the first distance measurement result and the second distance measurement result, the computing device resolves the locations of the multitude of APs. [2] The method of claim 1, comprising: Determine, by means of the computing device, whether the distance measurement is performed on a third channel for the first subgroup of APs in the first zone; based on a determination that the distance measurement is not performed on the third channel for the first subset of APs in the first zone, initiating third distance measurements between the first subset of APs on the third channel by the computing device to generate a third distance measurement result; where the resolution of the locations of the multitude of APs is based on the third distance measurement result. [3] Method according to claim 1, wherein receiving the neighbor-neighborhood information for the plurality of APs in the network comprises: Receiving a list of APs in the network by the computing device, wherein the list of APs contains the plurality of APs; for each AP in the list of APs, receipt of identification information for the AP by the computing device; and Based on the label information for each AP in the list of APs, the computing device determines that the multitude of APs are coplanar to each other; where the neighbor information contains the label information for each AP in the list of APs. [4] Method according to claim 1, wherein receiving the neighbor-neighborhood information for the plurality of APs comprises: Receiving a list of APs in the network by the computer device, wherein the list of APs contains the plurality of APs; Receiving a neighbor-neighborhood matrix for the APs in the list of APs by the computing device, wherein the neighbor-neighborhood matrix is based on radio frequency (RF) neighbor detection performed by the APs; and Based on the neighbor-neighborhood matrix for the APs in the list of APs, the computing device determines that the majority of APs are in the same RF neighborhood; where the neighbor neighborhood information for the multitude of APs contains the neighbor neighborhood matrix for the APs in the list of APs. [5] Method according to claim 1, wherein the assignment of the multiple APs to the non-overlapping zones is based on a received signal strength indicator (RSSI) for the multiple APs, wherein the neighbor neighborhood information includes the RSSI. [6] Method according to claim 1, wherein the allocation of the plurality of APs to the non-overlapping zones comprises: Selecting a different channel for each of the non-overlapping zones by the computing device, wherein the first channel is selected for the first zone and the second channel is selected for the second zone. [7] Method according to claim 5, wherein initiating the first distance measurements comprises: Configure a bandwidth on the first channel and an antenna chain for each AP of the first subset of APs for use by the computing device for the first distance measurements. [8] The method of claim 1, comprising: Determine, by means of the calculating device, whether the first distance measurement measurements and the second distance measurement measurements are carried out for a threshold ratio of connections between the plurality of APs; based on a determination that the first distance measurement measurements and the second distance measurement measurements are not performed for the threshold ratio of connections, assigning a third subset of access devices to the first zone by the computing device, wherein the third subset of access devices includes the first subset of access devices and at least one other access device of the plurality of access devices; Initiating third distance measurements between the third subset of APs on the first channel by the computing device to generate a third distance measurement result; and Receiving the third distance measurement result by the computing device; wherein the resolution of the AP locations is based on the third distance measurement result. [9] The method of claim 1, comprising: Determine, by means of the calculating device, whether the first distance measurement measurements and the second distance measurement measurements are carried out for a threshold ratio of connections between the plurality of APs; based on a determination that the first distance measurement measurements and the second distance measurement measurements are performed for the threshold ratio of links, initiating additional distance measurement measurements between the pair of APs on the first channel by the computing device for each pair of APs of the first subset of APs for which the first distance measurement measurements are not performed, in order to generate an additional distance measurement result; and Receiving the additional distance measurement result by the computing device; where the resolution of the locations of the multitude of APs is based on the additional distance measurement result. [10] The method of claim 1, comprising: Assigning a third subset of the plurality of APs to a third zone by the computing device, wherein a distance between the first zone and the third zone is greater than a minimum threshold distance; Initiating third distance measurements between the third subset of APs on the first channel by the computing device to generate a third distance measurement result, wherein the third distance measurements are performed in parallel with the first distance measurements; and Receiving the third distance measurement result by the calculating device; where the resolution of the locations of the multitude of APs is based on the third distance measurement result. [11] The method of claim 1, comprising: Determine, using the computing device, whether the distance measurement result for a pair of APs of the first subset of APs meets an accuracy threshold; based on a determination that the distance measurement result meets the accuracy threshold, assigning a first weight to the distance measurement result for the pair of APs by the computing device; based on a determination that the distance measurement result for the pair of APs does not meet the accuracy threshold, assigning a second weight to the distance measurement result for the pair of APs by the computing device, wherein the second weight is less than the first weight; and where the resolution of the locations of the multitude of APs is based on the assigned weighting of the distance measurement result for the pair of APs. [12] The method of claim 1, comprising: Determine, by the computing device, whether a ratio of successful distance measurement measurements to the total distance measurement measurements for a distance measurement result for a pair of APs of the first subset of APs satisfies an accuracy threshold; based on a determination that the ratio meets the accuracy threshold, assigning an initial weight to the distance measurement result for the pair of APs by the computing device; and based on a determination that the ratio does not meet the accuracy threshold, assigning a second weight to the distance measurement result for the pair of APs by the computing device, the second weight being less than the first weight; and where the resolution of the locations of the multitude of APs is based on the assigned weighting of the distance measurement result for the pair of APs. [13] The method of claim 1, comprising: Determine, by means of the calculating device, that a difference between a first distance measurement result for a pair of APs of the first subgroup of APs and a second distance measurement result for the pair of APs does not meet an accuracy threshold; based on the finding that the distance measurement result for the pair of APs does not meet the accuracy threshold, the computing device selects either the first distance measurement result for the pair of APs or the second distance measurement result for the pair of APs based on a verification criterion; and where the resolution of locations of the multitude of APs is based on the selected distance measurement results for the pair of APs. [14] Method according to claim 13, wherein the verification criterion is based on a ratio of successful distance measurements to the total distance measurements for the first distance measurement result for the pair of APs and for the second distance measurement result for the pair of APs. [15] Method according to claim 13, wherein the verification criterion is based on a deviation of the first distance measurement result for the pair of APs and the second distance measurement result for the pair of APs. [16] Method according to claim 13, wherein the verification criteria are based on a received signal strength indicator (RSSI), a measurement of the round-trip time (RTT) or a measurement of the channel state information (CSI) of the first distance measurement result for the pair of APs and the second distance measurement result for the pair of APs. [17] A computing device comprising the following: a processing resource; and a non-transitory, machine-readable storage medium containing instructions that can be executed by the processing resource to: Receiving neighbor neighborhood information for a large number of access points (APs) in a network; to assign the multitude of access points to non-overlapping zones based on the neighbor-neighborhood information, wherein a first subset of the multitude of access points is assigned to a first zone of the non-overlapping zones and a second subset of the multitude of access points is assigned to a second zone of the non-overlapping zones; Initiating initial distance measurements between the first subset of APs on a first channel to generate an initial distance result; Initiating second distance measurements between the second subset of APs on a second channel to generate a second distance result, with the first distance measurements and the second distance measurements being performed in parallel; Receiving the first distance measurement result and the second distance measurement result; and Based on the first distance measurement result and the second distance measurement result, resolve the locations of the multitude of APs. [18] The computer device according to claim 17, wherein the commands comprise instructions to: to determine whether the first distance measurements are performed for a threshold ratio of connections between the first subset of APs in the first zone; based on a determination that the first distance measurement measurements are performed for the threshold ratio of links, for each pair of APs of the first subset of APs for which the first distance measurement measurements have not yet been performed, to initiate additional distance measurement measurements between the pair of APs on the first channel in order to generate an additional distance measurement result; and Receiving the additional distance measurement result; where the resolution of the locations of the multitude of APs is based on the additional distance measurement result. [19] Computer device according to claim 17, wherein the instructions comprise instructions to: Assigning a third subset of the multitude of APs to a third zone, where the distance between the first zone and the third zone is greater than a minimum threshold distance; Initiating third distance measurements between the third subset of APs on the first channel to generate a third distance measurement result, with the third distance measurements being performed in parallel to the first distance measurements; and Receiving the third distance measurement result; where the resolution of the locations of the multitude of APs is based on the third distance measurement result. [20] An article comprising at least one non-transitory, machine-readable storage medium containing instructions that can be executed by at least one processing resource to: Receiving neighbor-neighbor information for a large number of access points (APs) in a network by a computing device; Based on the neighbor-neighborhood information, the computing device assigns subsets of the multitude of APs to non-overlapping zones; Initiating distance measurements between the subset of APs in the zone by the computing device for each of the non-overlapping zones to generate a distance measurement result, wherein the distance measurements between the subsets of APs in the non-overlapping zones are carried out in parallel; Receiving the distance measurement results by the computing device; and based on the distance measurement results, the computing device resolves the locations of the multitude of APs.
Citation Information
Patent Citations
Automatic localization of access points in a network
DE102021103435A1
Method and Apparatus for Determining the Locating of Nodes in a Wireless Network
US20080240116A1
US16831213B2
US17218309B2
US17229954B2