AUTOMATIC LOCATION OF ACCESS POINTS IN A NETWORK

DE102021127765B4Active Publication Date: 2026-09-17HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE102021127765
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-06-03
Filing Date
2021-10-26
Publication Date
2026-09-17
Estimated Expiration
2041-10-26

AI Technical Summary

Technical Problem

The establishment and maintenance of access points in large facilities are complex due to the need for precise location determination, which is often inaccurate and labor-intensive, and the visibility of satellite signals can lead to errors in determining the location of access points.

Method used

A computing device processes GNSS signal measurements from a subset of access points to create a map of relative locations, constraining positions using translational and rotational degrees of freedom, and employs additional measurements to correct errors and ensure accurate positioning.

Benefits of technology

This method enables precise and efficient localization of access points without relying on insufficient satellite visibility, reducing errors and improving the accuracy of access point mapping in networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for resolving the locations of a plurality of access points (210), hereinafter referred to as APs, in a map of relative AP locations, comprising: Receiving (305; 505) a Global Navigation Satellite System, hereinafter referred to as GNSS, signal measurement () by a computing device (100) from a first subset of APs (210) of the plurality of APs (210) and parameters of the GNSS signal measurement, including GNSS type, signal strength, frequency, bandwidth, data rate and modulation scheme; Determining (515) by the computing device (100) that a first location estimate for an AP (210) of the plurality of APs (210) exceeds a location accuracy threshold, wherein the location accuracy threshold corresponds to at least one of the parameters of the GNSS signal measurement;Remove, based on determining that the first location estimate exceeds the threshold for location accuracy, the computing device (100) from the first subgroup of APs (210) to create a second subgroup; based on the received GNSS signal measurements of the second subgroup of APs (210), initiate a first restriction process (310) of the map of relative AP positions by the computing device (100) by at least one translational degree of freedom or one rotational degree of freedom; resolve (315) the locations of the multiple APs (210) in the map of relative AP locations by the computing device (100); determine second location estimates for the plurality of APs (210) by the computing device (100);Initiation, by the computing device (100), of a second restriction process (525) which restricts the map of relative AP locations to probable locations of the second subset of APs (210), wherein the second restriction process removes the first location estimate that exceeds a threshold in a difference between the first location estimate and the second location estimate; and determining, by the computing device (100) in response to the second restriction process, of anchor points from the second location estimates for the plurality of APs (210).
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] Setting up multiple access points (APs) in a large facility is a complex undertaking. It requires considering numerous factors to determine the optimal location for each access point. Furthermore, the planned placement of the access points may need to be adjusted if new conditions are discovered or changes occur within the facility.

[0002] Furthermore, after the access points have been installed, determining their exact location for maintenance or replacement can be difficult. The access points may be well concealed behind walls, ceilings, and other structures, requiring them to be located based on recorded information or through a search process.

[0003] The location of access points can be determined, for example, based on an access point map, provided such a map exists. However, creating an access point map is difficult and labor-intensive, and the map may be inaccurate or outdated when it is actually needed.

[0004] If a map of the access points is unavailable or unhelpful due to inaccuracies, determining the location of the access points may require alternative search methods, such as the use of a wireless sniffer or a spectrum analyzer. Searching for access points in this way is extremely time-consuming and may not be helpful if an access point is down or if a particular signal is difficult to detect and trace. List of characters

[0005] 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 computer setup for the automatic localization of access points in a network. Fig. Figure 2 shows a block diagram for an example system for the automatic localization of access points in a network. Fig. Figure 3 is a flowchart of an example of a procedure for automatically locating access points in a network. Fig. Figure 4 is a flowchart of an example of a procedure for automatically locating access points in a network. Fig. Figure 5 is a flowchart of an example of a procedure for automatically locating access points in a network. Fig. Figure 6 is a flowchart of an example of a procedure for automatically locating access points in a network. Fig. Figure 7 is a flowchart of an example of a procedure for automatically locating access points in a network. Fig. Figure 8 is a block diagram of an example computer system in which various implementations of the automatic localization of access points in a network described here can be implemented. DETAILED DESCRIPTION

[0006] Recently, efforts have been made to create maps of access point locations within a network by using one or more known access point locations. Such known access points can be called anchor points, and the position of at least three anchor points is generally required to resolve the access point locations in 3D space. For example, if a network includes access points whose locations have been partially surveyed and recorded manually, these manually surveyed access points can be used as anchor points.

[0007] Manually determining the locations of individual access points (APs) is subject to limitations and errors. For example, anchor point locations can be entered incorrectly, or anchor points can be moved or taken out of service. Errors in anchor point localization reduce the effectiveness of efforts to generate and maintain accurate AP location information for an entire facility. Furthermore, while manually locating individual anchor points is labor-intensive and error-prone, increasing the density of accurately located anchor points significantly improves the overall accuracy of all AP locations.

[0008] In a network of access points equipped with GNSS (Global Navigation Satellite) receivers, such GNSS-enabled access points can determine their own location using GNSS data and be set up as anchor points. However, the access points equipped with GNSS receivers may not have sufficient satellite signal visibility to determine their location independently. Errors in the GNSS measurements can be amplified in the location estimates of other access points that rely on them as anchor points.

[0009] To solve these problems, the examples described here offer automatic access point localization in a network. The examples described herein can, by means of a computing device, receive a GNSS signal measurement from each access point in a subset of a multitude of access points and, based on each received GNSS signal measurement, constrain a map of the relative access point locations (i.e., an AP map) by at least one translational degree of freedom or one rotational degree of freedom. The examples described here can, through the computing device, resolve the locations of multiple APs on the AP map.

[0010] In this way, the examples described here provide automatic access point localization within a network. In these examples, a computing device can, for instance, receive GNSS signal measurements from a subset of access points (GNSS-enabled access points) and, based on each received GNSS signal measurement, restrict the access map by at least one translational degree of freedom or one rotational degree of freedom, thereby increasing the reliability of these GNSS-enabled access points as anchor points in the access map. In these examples, a computer can resolve the locations of multiple APs in the AP map, thus enabling automatic access point localization within the network without the same limitations and errors that occur, for example, when satellite signal visibility is insufficient to independently and accurately determine GNSS-enabled APs as anchor points.

[0011] Fig. Figure 1 is a block diagram of an exemplary computing device 100 for the automatic localization of APs. 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 GNSS signal measurements, instructions 124 for limiting the AP map, and instructions 126 for resolving the AP location (e.g., encoded with these instructions).

[0012] In the example of Fig. 1. The computing device 100 can include a device for communicating with a multitude of access points (APs) in a network to perform automatic localization of such APs. For example, the computing device 100 can include a gateway router, a WLAN controller, a switch, a server, or a combination thereof. In some examples, the computing device 100 can include an AP configured to communicate with the multitude of APs in the network.

[0013] In the example of Fig. 1. The computer device 100 can perform any network data transmission operations, including but not limited to switching, routing, bridging, or a combination thereof. Furthermore, the computer device 100 can collect network operational information from various nodes of one or more networks, including information about network traffic load, network topology, network usage, etc. Additionally, the computer device 100 can transmit commands to various nodes of 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 computer device 100 can include any suitable type of computer device(s) for performing the automatic localization of access points in a network.Furthermore, the computing device 100 may contain all necessary hardware components for carrying out the inventions disclosed herein, including, but not limited to: processors, memory, display devices, input devices, communication equipment, etc.

[0014] In the example of Fig. 1. The computer device 100 can be configured (e.g., encoded with commands that can be executed by at least one processing resource 110) to receive network requests 150 from a network via network path(s) 140. Network path(s) 140 can include any suitable connection(s) 142 (e.g., wired or wireless, direct or indirect, etc.) between the computer device 100 and a network. The network request(s) 150 can contain any suitable instructions to direct the computer device 100 to perform automatic location of access points (APs) in a network. For example, the network request(s) 150 can contain instructions to direct the computer device 100 to perform instructions to receive GNSS signal measurements 122, instructions to restrict the AP map 124, and instructions to resolve the AP location 126.

[0015] 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 (e.g., receive, send) a command (e.g., a network request 150) to an external resource (e.g., a server, a cloud computing resource, etc.) that is connected to the network.

[0016] In the example of Fig. 1. The computer device 100 can be configured (e.g., encoded with commands that can be executed by at least one processing resource 110) to send or receive communication signals 170 over the communication path(s) 160 to perform automatic location of access points 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 computer device 100 and one or more network devices. The communication signal(s) 170 can contain any suitable instructions for the computer device 100 to perform automatic location of access points in a network (e.g., for the computer device 100 to receive instructions to receive GNSS signal measurements 122, instructions to restrict the AP map 124, and instructions to resolve the AP position 126).

[0017] 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, to send).

[0018] Fig. Figure 3 is a flowchart of an example procedure 300 for the automatic localization of APs. Although the execution of procedure 300 is described below with reference to computer device 100, other computer devices suitable for executing procedure 300 may also be used. Furthermore, the implementation of method 300 is not limited to such examples. Although only three blocks are shown in procedure 300, procedure 300 may also include other actions described here. Although the blocks are shown in a specific order, the sequence 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, or 700. Also, some of the blocks shown in Method 300 may be omitted without this being contrary to the spirit and scope of this revelation.

[0019] In the example of Fig. Block 305 receives instructions 122 for receiving GNSS signal measurements. When executed by the processing resource 110, each AP in a subset of a plurality of APs receives a GNSS signal measurement. The GNSS signal measurement received by the computing device 100 from an AP can display one or more metrics or parameters of the GNSS signal(s) received by the AP. For example, GNSS signal measurement can measure a GNSS type (e.g., Global Positioning System, Global Navigation Satellite System, Galileo, etc.), signal strength (e.g., in decibels), frequency, bandwidth, data rate, modulation scheme (e.g., binary phase-shift keying modulation), receiver noise, multipath interference, free-space path loss (SPFL), atmospheric attenuation, depolarization loss, Doppler offset, CDMA pseudorandom noise offset (PN), carrier phase, or a combination thereof of one or more GNSS signals received by the AP.Furthermore, a GNSS signal measurement received by the Computing Device 100 from an access point (AP) can display a precision dilution (DOP) or satellite geometry of signals used to estimate the AP's position. Based on the DOP or satellite geometry used to estimate the AP's position, the Computing Device 100 can determine an error level in the AP's estimated position, as well as azimuths and elevations visible to the AP. This, in turn, can reveal information about the AP's location within a structure (e.g., a building) whose boundaries and materials are known. It is understood that the measurement of the received GNSS signal may include other suitable types of metrics or parameters of the GNSS signal(s) received by the AP.The computer device 100 can receive the GNSS signal measurement from any AP via the communication path(s) 160 between the computer device 100 and the AP.

[0020] In the example of Fig. 3, based on each received GNSS signal measurement, at block 310, the AP map constraint instructions 124, when executed by the processing resource 110, constrain a map of relative AP locations (i.e., an AP map or AP constellation) by at least one translational degree of freedom or one rotational degree of freedom. As used herein, a "map of relative AP locations," "AP map," or "AP constellation" refers to a set of location estimates for the plurality of APs based on a relative frame (e.g., based on estimated distances between each of the APs) and may have up to three translational degrees of freedom and three rotational degrees of freedom. In some examples, the computer device 100 may be configured to generate the map of relative AP locations.Alternatively, the computing device can be configured to receive the map of relative AP locations from an external source (e.g., from a network via network path 140).

[0021] Furthermore, in Block 310, the AP Map 124 restriction instructions may contain instructions to determine, for each AP in the subset of APs, whether the GNSS signal measurement received by the AP meets a signal measurement criterion. As used herein, a "signal measurement criterion" refers to one or more threshold metrics or parameters of one or more received GNSS signals. The signal measurement criteria may correspond to a minimum threshold, a maximum threshold, an acceptable range of values, etc., for one or more metrics or parameters of one or more received GNSS signals. For example, the signal measurement criteria may be based on whether the AP is able to receive a GNSS signal and calculate a location estimate for the AP (i.e., whether it can accurately measure the location of the AP).to determine a GNSS fix), on the time the AP needs to determine a GNSS fix, on the number and geometric distribution of the GNSS signals received by the AP, which are used to calculate a location estimate of the AP, on an estimate of the effect(s) of multipath propagation on individual signal measurements of the GNSS signals received by the AP, or on a combination thereof.

[0022] In Block 310, based on a finding that for each of at least one AP in the subset of APs, the GNSS signal measurement received by the AP meets the signal measurement criteria, AP map restriction instructions may include 124 instructions to restrict the map of relative AP locations by three translational degrees of freedom (by designating at least one AP in the subset of APs as an anchor point). Based on the finding that for each of at least two APs in the subset of APs, the GNSS signal measurement received by the AP meets the signal measurement criteria, the AP map restriction instructions may include 124 instructions to restrict the map of relative AP positions by three translational degrees of freedom and two rotational degrees of freedom (by designating at least two APs in the subset of APs as anchor points).Based on the finding that for each of the at least three APs in the subset of APs, the GNSS signal measurement received by the AP meets the signal measurement criteria, the AP map restriction instructions can include instructions to restrict the map of relative AP locations by three translational degrees of freedom and three rotational degrees of freedom (by specifying at least three APs in the subset of APs as anchor points). In the examples described here, the map of relative AP positions can be restricted by one translational degree of freedom by excluding position estimates for one or more of the multitude of APs that lie within a given translational axis.In the examples described here, the map of relative AP positions can be restricted by a rotational degree of freedom by excluding position estimates for one or more of the multitude of APs that lie within a given rotational axis.

[0023] In the example of Fig. In Block 315, Instructions 126, which resolve AP locations, when executed by Processing Resource 110, resolve the locations of the plurality of APs on the map of relative AP locations. Resolving the locations of the plurality of APs may involve assigning a set of locations for each of the plurality of APs based on a global reference frame. The set of locations may be in accordance with a geographic coordinate system (GCS). For example, each location estimate may be a set of spherical coordinates (latitude, longitude, elevation), map coordinates projected onto a plane, Earth-centered, Earth-fixed (ECEF) Cartesian coordinates in 3-space (e.g., according to the World Geodetic System 84), or location coordinates (degrees, minutes, seconds) that are referenced to one or more known reference points (e.g., one or more of the plurality of APs, one or more other objects, etc.).A geocode is defined as a series of numbers, letters, or symbols that form a geocode, or similar, or a combination thereof. As used here, a "geocode" is a code that represents a geographic unit (location or object) and is a unique identifier of the unit that distinguishes it from others in a finite set of geographic units.

[0024] In the example of Fig. 3. The AP location resolution instructions 126 in block 315 may include instructions for receiving a local measurement (e.g., an initial local measurement) between at least two APs in the subset of APs, where the local measurement includes a fine-time measurement (FTM). The local measurement may, for example, include multidimensional scaling (MDS) applied to FTMs between at least two APs in the subset of APs. Based on the local measurement, the AP location resolution instructions 126 may include instructions for determining location estimates (e.g., initial location estimates) for the multitude of APs. In addition, the AP location determination instructions 126 may include instructions to determine whether the location estimates for the multitude of APs meet a location accuracy threshold.As used here, a "location accuracy threshold" refers to a threshold for the confidence of one or more location estimates for the plurality of access points (APs). The location accuracy threshold might be based, for example, on the probability of one or more location estimates being accurate for the plurality of APs. In some examples, the location accuracy threshold might be based on a DOP or satellite geometry of signals used in estimating the location estimates for the multiple APs, on estimated multipath effects on the location estimates for the multiple APs, on a convergence or distribution of multiple measurements taken over time by one or more of the multiple APs, or on a combination thereof.In some examples, the location accuracy threshold may be based on the agreement of location estimates (based on one or more received GNSS measurements) with known information about the environment, such as building boundaries outside which the AP cannot be located. In other examples, the location accuracy threshold may be based on the agreement of AP location estimates based on one or more received GNSS measurements with location estimates based on other measurements, such as distance or angle measurements between APs. For example, the computing device 100 can determine whether a location estimate for an AP meets the location estimate threshold by calculating the difference between (i) an initial location estimate for the AP based on received GNSS measurements from the AP (i.e.,The computer device 100 calculates (i) a location estimate (e.g., based on a specific GNSS fix) and (ii) an adjusted location estimate (e.g., an initial location estimate) for the AP based on MDS applied to FTMs between the AP and another AP in the subset of APs. Based on a determination that the difference between (i) and (ii) meets (e.g., exceeds) a difference threshold, the computer device 100 can determine that the location estimate for the AP does not meet the location estimate threshold. Furthermore, based on the determination that the difference between (i) and (ii) does not meet the difference threshold, the computer device 100 can determine that the location estimate for the AP meets the location estimate threshold.

[0025] Based on (e.g., in response to) a finding that the location estimates for the majority of APs do not meet the location accuracy threshold, AP location resolution instructions may include instructions to determine subsequent location estimates (e.g., second location estimates) for the majority of APs. Each subsequent location estimate may include a geographic coordinate, such as location coordinates (degrees, minutes, seconds), that is related to an estimated location of one or more of the multiple APs, an estimated location of another object, or the location of a known reference point (e.g., anchor point).In some examples, the computing device can determine 100 subsequent location estimates for the multitude of APs by restricting the map of relative AP locations (in a manner as described above) while removing one or more APs in the subset of APs from consideration as anchor points. For example, the computing device can remove any AP in the subset of APs from consideration as an anchor point for which a threshold exists for the difference between (i) an initial location estimate for the AP based on received GNSS measurements from the AP (i.e., based on a particular GNSS fix) and (ii) an adjusted location estimate (e.g., an initial location estimate) for the AP based on MDS applied to FTMs between the AP and another AP in the subset of APs.

[0026] In the example of Fig. 3. The instructions for restricting AP card 124 in block 310 may include instructions for receiving a subsequent local measurement (e.g., a second local measurement) between at least two APs of the plurality of APs. The subsequent local measurement may include an FTM, an RSSI (Received Signal Strength Indicator) measurement, an AoA (Angle-of-Air) measurement, an SGI (Short Guard Interval) measurement, an LGI (Long Guard Interval) measurement, a CSI (Channel State Information) measurement, or a combination thereof between at least two APs of the plurality of APs. For example, the computer device 100 may use an RSSI measurement, an SGI measurement, an LGI measurement, angle information from Wi-Fi or other signals with error sources orthogonal to FTM errors, or a combination thereof, to identify and filter erroneous out-of-line (NLOS) FTM measurements between at least two APs of the plurality of APs.In another example, the computing device 100 can determine that FTM measurements between at least two APs of the plurality of APs are affected by multipath reflections, based on the identification of a mismatch between high RSSI readings and long FTM range values ​​between the at least two APs, and assign a lower weighting factor to such FTM measurements compared to one or more other FTM measurements. For example, the computing device 100 can identify an FTM measurement between two APs from the plurality of APs that is affected by multipath reflections and assign a weighting factor of zero to such FTM measurement (i.e., eliminate such FTM measurement from consideration) when determining location estimates for the plurality of APs.In another example, the computing device 100 can use an AoA measurement between at least two APs of the plurality of APs or derive relative angles of received signals from CSI between at least two APs of the plurality of APs to construct and resolve an angle matrix to determine location estimates of the plurality of APs.

[0027] In the example of Fig. In Block 310, based on the subsequent local measurement, the instructions for restricting the AP map (124 instructions for restricting the map of relative AP locations) to probable locations of the subset of APs may include. As used herein, "probable locations of the subset of APs" may refer to location estimate(s) for each AP in the subset of APs, excluding impossible or improbable location estimate(s) for each AP. In other words, the term "probable locations of the subset of APs" may refer to location estimates for each AP in the subset of APs that contain probable location estimates for each AP. A location estimate for an AP may be considered impossible if there is a zero percent or essentially zero percent probability (e.g., ≥ 0.1%) that the AP is located there.A location estimate for an AP can be considered unlikely if there is a low probability (≤ 5 percent, ≤ 1 percent, ≤ 0.5 percent, etc.) that the AP is located there. Alternatively or additionally, a location estimate for an AP can be considered unlikely if the probability that the AP is located there is less than moderate (e.g., ≥ 40 percent, > 50 percent, etc.). A location estimate for an AP can be considered likely if there is a medium to high probability (≥ 50%, ≥ 80%, ≥ 95%, ≥ 99%, etc.) that the AP is located there. It is understood that the likely locations of the subset of APs are determined by excluding impossible or unlikely location estimates according to any suitable probability threshold (e.g., ≤ 25 percent, ≤ 10 percent, etc.).), by including probable estimates according to any suitable probability threshold (≥ 80%, ≥ 95%, ≥ 99%, etc.) or a combination thereof. In Block 315, Instructions 126 for resolving the AP location based on (e.g., in response to) restricting the map of relative AP locations to the probable locations of the subset of APs may include instructions for determining the subsequent location estimates for the multitude of APs.

[0028] In the example of Fig. 3. The AP map restriction instructions in block 310 may include instructions for receiving a subsequent local measurement (e.g., a second local measurement) for each of the at least one AP in the subset of APs. The subsequent local measurement may, for example, include a measurement of the AP's barometric pressure. The pressure measurement for each AP may be taken by a calibrated pressure sensor (i.e., one where the AP's elevation is predetermined) or an uncalibrated pressure sensor. Based on the subsequent local measurement, the AP map restriction instructions may include instructions for restricting the map of relative AP locations to probable locations of the subset of APs. In block 315, based on (e.g.,(in response to) the restriction of the map of relative AP locations to the probable locations of the subset of APs, AP location resolution instructions 126 instructions include to determine the subsequent location estimates for the majority of APs.

[0029] In the example of Fig. 3. The instructions for restricting AP map 124 in block 310 may include instructions for determining building floor information for the multiple APs. The building floor information for the multiple APs may include a floor height for one or more of the multiple APs, which can be used to deduce that one or more of the multiple APs are coplanar to each other. Determining the building floor height information for the multiple APs may include instructions for receiving a local measurement (e.g., a first local measurement) between at least one AP in the subset of APs and at least one other AP of the multiple APs.The local measurement may, for example, include an FTM, RSSI, AoA measurement, or a combination thereof, between at least one AP in the subset of APs and another AP from the plurality of APs, whereby this measurement(s) can be used to infer that one or more APs from the plurality of APs are coplanar to each other. Alternatively or additionally, the instructions for determining the building soil information for the plurality of APs may include instructions for receiving a local measurement (e.g., a first local measurement) for at least one AP in the subset of APs. The local measurement may, for example, include a building entry loss measurement, a pressure measurement, or a combination thereof for at least one AP in the subset of APs, whereby this measurement can be used to infer that one or more of the multiple APs are coplanar to each other.Based on the local measurement (which may include, for example, one or more of the local measurements described above), the AP Map Restriction Instructions 124 may include instructions for determining the building floor information for the multiple APs. Based on the building floor level information, the AP Map Restriction Instructions 124 may include instructions for restricting the map of relative AP locations by at least one rotational degree of freedom. In particular, the building floor level information for the multiple APs may be used to deduce that one or more APs are coplanar to each other and may thereby be used to eliminate at least one rotational degree of freedom in the map of relative AP positions.

[0030] In the example of Fig. Block 310 may contain the AP Map Restriction Instructions 124, which include instructions for determining building floor plan information for the multitude of APs. The building floor plan information for the multitude of APs may include a map with one or more floor plans of one or more buildings containing the multitude of APs. For example, the building floor plan information may include a graphical representation of the floor plan(s) of the building(s), such as a CAD drawing. Based on the building floor plan information, the AP Map Restriction Instructions 124 may include instructions for restricting the map of relative AP locations to likely locations of the multitude of APs.In particular, the building footprint information can be transposed into the map of relative AP locations, and the probable locations of the multitude of APs can be determined by excluding impossible or improbable location estimates for each AP that would place the AP outside the boundaries of the building footprint information, including probable location estimates for each AP that would place the AP within the boundaries of the building footprint, or a combination thereof.

[0031] In the example of Fig. Block 310 may, based on the finding that for each AP in the subset of APs, the GNSS signal measurement received by the AP does not meet the signal measurement criteria, include AP Map Restriction Instructions 124, which provide instructions for determining a derived measurement from the GNSS measurement received by each AP in the subset of APs. The derived measurement may include, for example, satellite orbit information, an estimate of building entry losses, received power, or a combination thereof, derived from the GNSS signal measurement received by an AP. Additionally, AP Map Restriction Instructions 124 may include instructions for restricting the map of relative AP locations to probable locations of the subset of APs by combining geospatial building footprint information with the derived measurement.As used herein, “geospatial building footprint information” refers to location information received by a GNSS that can be used to derive the boundaries of one or more buildings containing the majority of access points (APs). In Block 315, based on (e.g., in response to) the restriction of the possible locations of the subset of APs, the AP location resolution instructions may include instructions for determining location estimates (e.g., initial location estimates) for the plurality of APs. For example, if the derived measurement includes an estimate of building entry attenuation, it may be inferred that building entry attenuation is generally lower at locations on the edge of buildings (e.g., near windows) because the signals there cannot be obstructed by known adjacent structures.Thus, the building entry attenuation estimate can be used to exclude site estimates for each AP where the corresponding building entry attenuation measurement for the AP would be impossible or unlikely, to include site estimates for each AP where the corresponding building entry attenuation measurement would be likely, or a combination thereof.

[0032] In this way, the example computer device offers 100 of Fig. 1 (and the procedure 300 of Fig. 3) Automatic localization of access points in a network. For example, the computing device 100 can receive GNSS signal measurements from a subset of GNSS-enabled APs (in block 305) and, based on each received GNSS signal measurement, constrain a map of relative AP locations by at least one translational degree of freedom or one rotational degree of freedom (in block 310), thereby increasing the reliability of the anchor points in the map of relative AP locations. Furthermore, the computing device 100 can resolve the locations of multiple APs in the map of relative AP locations (in block 315), thereby enabling automatic localization of access points in the network without the same constraints and errors that occur, for example, when satellite signal visibility is insufficient to independently and accurately determine GNSS-enabled APs as anchor points.

[0033] Fig. Figure 2 is a block diagram of an example system 200 with a computing device for the automatic localization of APs. System 200 includes the components mentioned above in relation to... Fig. 1 described data processing device 100. In addition, the system 200 comprises a network 205 and a plurality of network devices 210. The network devices 210 comprise a plurality of first network devices 212 (i.e., a subset of the plurality of network devices 210) and a plurality of second network devices 214. Although Fig. Figure 2 shows that two first network devices 212 and two second network devices 214 are connected to the network 205 via the computer device 100, any suitable number of first network devices 212 and any suitable number of second network devices 214 can be connected to the network 205.

[0034] 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" can, for example, 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 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.

[0035] In the example of Fig. 2 Each first network device 212 includes a GNSS receiver 220 (i.e., each first network device 212 is a GNSS-enabled network device). Furthermore, each first network device 212 includes a radio (not shown) for communicating with the computer 100, one or more other first network devices 212, one or more second network devices 214, or a combination thereof. Similarly, each second network device 214 includes a radio (not shown) for communicating with the computer 100, one or more first network devices 212, one or more other second network devices 214, 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 comply with any suitable type(s) of wireless communication standards known today or developed in the future. 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.

[0036] In the example of Fig. 2. The computer device 100 can be configured to receive network requests 150 over one or more network paths 140 to establish communication with one or more network devices 210. For example, the computer device 100 can receive a signal from the network 205 containing a network request 150. The network request(s) 150 can contain any appropriate instructions to direct the computer device 100 to establish communication with one or more network devices 210 (e.g., at least instructions to receive GNSS signal measurements 122, instructions to restrict AP cards 124, and instructions to perform AP location resolution 126, as described herein).

[0037] In the example of Fig. 2. The computer device 100 can be configured to send or receive communication signals 170 via the communication path(s) 160 to establish communication with one or more network devices 210. The communication path(s) 160 can include any suitable communication link(s) 162 between the computer device 100 and the network devices 210. For example, the computer device 100 can send a communication signal 170 to one or more radios of the first network devices 212 and one or more radios of the second network devices 214, and receive a communication signal 170 from one or more radios of the first network devices 212 and one or more radios of the second network devices 214. The communication signal(s) 170 can contain any suitable instructions to direct the computer device 100 to establish communication with one or more network devices 210 (e.g.,to carry out at least instructions for receiving GNSS signal measurements 122, instructions for restricting the AP map 124, and instructions for determining the AP location 126, as described herein. ).

[0038] 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. Furthermore, one or more network devices 210 can comprise a client device. In the examples described herein, a client device can comprise a laptop, a desktop computer, a mobile device, and / or other wireless devices, although the examples of disclosure are not limited to such devices. In the examples described herein, a "mobile device" refers to a device that is carried (or can be carried) by a user. A mobile device can, for example, be a telephone (e.g., a smartphone).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.

[0039] 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 100) to execute GNSS signal measurement receive instructions 122, AP map restriction instructions 124, and AP location resolution instructions 126, as described above in relation to Fig. As described in Figure 1, for example, the computing device 100 is configured to receive a GNSS signal measurement from each of the first network devices 212 (i.e., a subset of the plurality of network devices 210). Furthermore, the computing device 100 is configured to constrain a map of the relative AP positions by at least one translational degree of freedom or one rotational degree of freedom, based on each received GNSS signal measurement. Additionally, the computing device 100 is configured to resolve the locations of the network devices 210 into the map of relative AP locations.

[0040] In the example of Fig. 2. Each first network device 212 can be configured (e.g., encoded with non-transient, machine-readable instructions that can be executed by at least one processing resource) to receive a GNSS signal from a satellite through the GNSS receiver 220. Based on (e.g., in response to) the received GNSS signal, the first network device 212 can be configured to determine a GNSS signal measurement for the first network device 212. Furthermore, the first network device 212 can be configured to transmit the GNSS signal measurement for the first network device 212 to the computer device 100.

[0041] In this way, the example system offers 200 of Fig. 2. Automatic localization of access points in a network. For example, the computing device 100 can receive GNSS signal measurements from first network devices 212 (GNSS-enabled APs) and, based on each received GNSS signal measurement, restrict a map of the relative AP locations by at least one translational degree of freedom or one rotational degree of freedom, thereby increasing the reliability of one or more first network devices 212 as anchor points in the map of relative AP locations. Furthermore, the computing device 100 can resolve the locations of the network devices 210 in the map of relative AP positions, thus enabling automatic localization of the APs in the network without the same limitations and errors that occur, for example, when the visibility of satellite signals is insufficient to independently and accurately determine one or more first network devices 212 as anchor points.

[0042] Fig. Figure 4 is a flowchart of an example procedure 400 for the automatic localization of APs. Although the execution of procedure 400 is described below with reference to computer device 100, other suitable computer devices may also be used to execute procedure 400. Furthermore, the implementation of procedure 400 is not limited to such examples. Although only eight blocks are shown in procedure 400, procedure 400 may also include other actions described here. Although the blocks are shown in a specific order, the actions described in Fig. The four blocks shown can be executed in any suitable order and at any time. Furthermore, one or more blocks of procedure 400 can be executed in combination with one or more blocks of procedures 300, 500, 600, or 700. As shown in Fig. As shown in Figure 4, Procedure 400 may, for example, include blocks 305 and 315 of Procedure 300. Likewise, some of the blocks shown in Procedure 400 may be omitted without being contrary to the spirit and scope of this revelation.

[0043] Referring to Fig. 4, in block 305, instructions 122 for receiving GNSS signal measurements, when executed by processing resource 110, receive a GNSS signal measurement from each AP in a subset of a plurality of APs (as above in relation to Fig. 3 described).

[0044] In the example of Fig. In Block 405, the AP Map Restriction Instructions 124, when executed by the processing resource 110, determine whether the GNSS signal measurement received by each AP in the subset of APs satisfies a signal measurement criterion (e.g., as described above with respect to Block 310 of Procedure 300). Specifically, the AP Map Restriction Instructions 124 in Block 405 include instructions to determine whether the GNSS signal measurement received by at least three APs in the subset of APs satisfies a signal measurement criterion. If Block 405 determines that the signal measurement criterion is met for each of the at least three APs in the subset of APs, Procedure 400 proceeds to Block 410. If, in block 405, it is determined that the signal measurement criteria are not met for each of the at least three APs in the subgroup of APs, procedure 400 continues with block 415.

[0045] In the example of Fig. 4 include the instructions for restricting AP map 124 in block 410. Instructions for restricting the map of relative AP positions by three translational degrees of freedom and three rotational degrees of freedom.

[0046] In the example of Fig. Block 415, when executed by the processing resource 110, uses AP map constraint instructions 124 to determine whether the GNSS signal measurement received by each AP in the subset of APs satisfies a signal measurement criterion (e.g., as described above with respect to block 310 of procedure 300). Specifically, in block 415, AP map constraint instructions 124 include instructions to determine whether the GNSS signal measurement received by at least two APs in the subset of APs satisfies a signal measurement criterion. If block 415 determines that the signal measurement criteria are met for each of the at least two APs in the subset of APs, procedure 400 proceeds to block 420. If, in block 415, it is determined that the signal measurement criteria are not met for each of the at least two APs in the subgroup of APs, procedure 400 continues with block 420.

[0047] In the example of Fig. 4 include the instructions for restricting AP map 124 in block 420, instructions for restricting the map of relative AP positions by three translational degrees of freedom and two rotational degrees of freedom.

[0048] In the example of Fig. In block 425, the AP map restriction instructions 124, when executed by the processing resource 110, determine whether the GNSS signal measurement received by each AP in the subset of APs satisfies a signal measurement criterion (e.g., as described above with respect to block 310 of procedure 300). Specifically, the AP map restriction instructions 124 in block 425 include instructions to determine whether the GNSS signal measurement received by at least one AP in the subset of APs satisfies a signal measurement criterion. If block 425 determines that the signal measurement criterion is met for each of the at least one AP in the subset of APs, procedure 400 proceeds to block 430. If block 425 determines that the signal measurement criteria are not met for each of the at least one AP in the subset of APs, procedure 400 proceeds to block 315.

[0049] In the example of Fig. 4 include the instructions for restricting AP map 124 in block 430 instructions for restricting the map of relative AP positions by three translational degrees of freedom.

[0050] In the example to Fig. 4, in block 315, the AP location resolution instructions 126, when executed by the processing resource 110, resolve the locations of the multiple APs in the map of relative AP locations (as above in relation to Fig. 3 described).

[0051] Fig. Figure 5 is a flowchart of an example procedure 500 for the automatic localization of APs. Although the execution of procedure 500 is described below with reference to data processing device 100, other data processing devices suitable for executing procedure 500 may also be used. Furthermore, the implementation of procedure 500 is not limited to such examples. Although only six blocks are shown in procedure 500, procedure 500 may also include other actions described here. Even though the blocks are shown 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, or 700. Also, some of the blocks shown in Procedure 500 may be omitted without being contrary to the spirit and scope of this revelation.

[0052] In the example of Fig. 5, at block 505, the AP location resolution instructions 126, when executed by the processing resource 110, receive a local measurement (i.e., a first local measurement) between at least two APs in the subset of APs, the local measurement including a fine-time measurement (FTM).

[0053] In the example of Fig. 5 include the instructions for AP location determination 126 in block 510, based on local measurement, instructions for determining location estimates (e.g. initial location estimates) for the multitude of APs.

[0054] In the example of Fig. Section 5 includes AP location resolution instruction 126 in Block 515, which provides instructions to determine whether the initial location estimates for the plurality of APs meet a location accuracy threshold. If Block 515 determines that the initial location estimates meet the location accuracy threshold, Procedure 500 terminates in Block 530; that is, the initial location estimates for the plurality of APs resolve the locations of the plurality of APs on the map of relative AP locations. If Block 515 determines that the initial location estimates do not meet the location accuracy threshold, Procedure 500 proceeds to Block 520.

[0055] In the example of Fig. 5, in block 520, the instructions to restrict AP card 124, when executed by processing resource 110, receive a subsequent local measurement (e.g., a second local measurement) from the subset of APs.

[0056] In the example of Fig. In block 525, the map of relative AP locations is restricted to the probable locations of the subset of APs by the AP map restriction instructions 124, executed by the processing resource 110. After the map of relative AP locations has been restricted to the probable locations of the subset of APs, procedure 500 transitions to (returns to) block 510. In block 510, the AP location resolution instructions 126 include, for example, instructions for determining subsequent location estimates (e.g., second location estimates, third location estimates, etc.) for the plurality of APs.

[0057] Fig. Figure 6 is a flowchart of an example procedure 600 for the automatic localization of APs. Although the execution of procedure 600 is described below with reference to computer device 100, other suitable computer devices may also be used to execute procedure 600. Furthermore, the implementation of procedure 600 is not limited to such examples. Although only six blocks are shown in procedure 600, procedure 600 may also include other actions described here. Even though the blocks are shown in a specific order, the actions described in Fig. The six blocks shown can be executed in any suitable order and at any time. Furthermore, one or more blocks of procedure 600 can be executed in combination with one or more blocks of procedures 300, 400, 500, or 700. As shown in Fig. As shown in Figure 6, Procedure 600 may, for example, contain Block 315 of Procedure 300. Likewise, some of the blocks shown in Procedure 600 may be omitted without being contrary to the spirit and scope of this revelation.

[0058] Referring to Fig. In block 605, the instructions for restricting AP map 124, when executed by processing resource 110, determine whether the building floor information of the multiple APs is known. If block 605 determines that the building floor information of the multiple APs is known, procedure 600 proceeds to block 615. If block 605 determines that the building floor information of the multiple APs is not known (i.e., unknown), then procedure 600 proceeds to block 610. Block 605 can be performed based on (e.g., in response to) a finding that the GNSS signal measurements received by at least two APs in the subset of APs satisfy a signal measurement criterion (e.g., in block 415 of procedure 400). Alternatively, block 605 can be performed based on (e.g.,Block 605 may be performed based on (e.g., as a response to) a finding that the GNSS signal measurements received by at least one AP in the subgroup of APs meet a signal measurement criterion (e.g., in Block 425 of Procedure 400). Alternatively, Block 605 may be performed based on (e.g., as a response to) a finding that the GNSS signal measurement received by each AP in the subgroup of APs does not meet a signal measurement criterion (e.g., in Block 425 of Procedure 400, in Block 705 of Procedure 700, as described below).

[0059] In the example of Fig. In block 610, AP map restriction instructions 124, when executed by processing resource 110, receive a local measurement (e.g., the first local measurement) from the subset of APs. The local measurement can be received between at least one AP in the subset of APs and at least one other AP from the plurality of APs. The local measurement can include, for example, an FTM, an RSSI measurement, an AoA measurement, or a combination thereof. Alternatively or additionally, the local measurement can be received for at least one AP in the subset of APs. The local measurement can include, for example, a pressure measurement. Based on the local measurement, the AP map restriction instructions 124 can include instructions for determining the building floor information for the plurality of APs.

[0060] In the example of Fig. 6, in block 615, the instructions to restrict AP map 124, when executed by processing resource 110, restrict the map of relative AP positions by at least one rotational degree of freedom.

[0061] In the example of Fig. In block 620, the AP map constraint instructions 124, when executed by processing resource 110, determine whether the building footprint information for the multiple APs is known. If block 620 determines that the building footprint information for the multiple APs is known, procedure 600 proceeds to block 625. If block 620 determines that the building footprint information for the multiple APs is unknown, procedure 600 continues to block 315 (as described above in relation to...). Fig. 3 described).

[0062] In the example of Fig. In block 625, the map of relative AP locations is restricted to the probable locations of the plurality of APs by the instructions to restrict AP map 124, executed by the processing resource 110. After the map of relative AP locations has been restricted to the probable locations of the subset of APs, procedure 600 continues with block 315 (as above in relation to...). Fig. 3 described).

[0063] Fig. Figure 7 is a flowchart of an example procedure 700 for the automatic localization of APs. Although the execution of procedure 700 is described below with reference to computer device 100, other suitable computer devices may also be used to execute procedure 700. Furthermore, the implementation of procedure 700 is not limited to these examples. Although only five blocks are shown in procedure 700, procedure 700 may also include other actions described here. Even though the blocks are shown in a specific order, the actions described in Fig. The 7 blocks shown can be executed in any suitable order and at any time. Furthermore, one or more blocks of procedure 700 can be executed in combination with one or more blocks of procedures 300, 400, 500, or 600. As shown in Fig. As shown in Figure 7, Procedure 600 may, for example, contain blocks 305 and 315 of Procedure 300. Likewise, some of the blocks shown in Procedure 700 may be omitted without being contrary to the spirit and scope of this revelation.

[0064] Referring to Fig. 7, at block 305, instructions 122 for receiving GNSS signal measurements, when executed by processing resource 110, receive a GNSS signal measurement from each AP in a subset of a plurality of APs (as above in relation to Fig. 3 described).

[0065] In the example of Fig. Block 705, when executed by the processing resource 110, uses AP map constraint instructions 124 to determine whether the GNSS signal measurement received by each AP in the subset of APs meets a signal measurement criterion (e.g., as described above with respect to block 310 of procedure 300). Specifically, in block 705, AP map constraint instructions 124 include instructions to determine whether the GNSS signal measurement received by each AP in the subset of APs does not meet the signal measurement criteria. If block 705 determines that the signal measurement criteria are not met for each AP in the subset of APs, procedure 700 proceeds to block 710.If block 705 determines that the signal measurement criteria are met for each of the at least one AP in the subset of APs, procedure 700 may proceed to one or more of blocks 405 (not shown), 415 (not shown) or 425 (not shown) of procedure 400.

[0066] In the example of Fig. Block 710 specifies the instructions for restricting AP map 124, when executed by the processing resource, to a derived measurement from the GNSS measurement received by each AP in the subset of APs. The derived measurement may include, for example, satellite orbit information, an estimate of building entry losses, received power, or a combination thereof.

[0067] In the example of Fig. 7, in block 715, the instructions to restrict AP map 124, when executed by the processing resource, restrict the map of relative AP locations to probable locations of the subset of APs by combining geospatial building footprint information with the derived measurement.

[0068] In the example of Fig. 7, in block 315, the AP location resolution instructions 126, when executed by the processing resource 110, resolve the locations of the multiple APs in the map of relative AP locations (as above in relation to Fig. 3 described).

[0069] Fig. Figure 8 is a block diagram of an example computer system 800 in which various embodiments described here for the automatic localization of access points can be implemented.

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

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

[0072] The Computer System 800 may further include a read-only memory (ROM) 820 or other static storage device connected to the bus 805 to store one or more instructions to be executed by at least one processor 810. In some examples, the one or more instructions include one or more GNSS signal measurement receive instructions 122, AP map restriction instructions 124, and AP location resolution instructions 126, as above in relation to the Fig. 1-7 described. Such one or more instructions, when stored on storage media accessible to at least one Processor 810, make the Computer System 800 a special machine adapted to perform the operations specified in the one or more instructions.

[0073] The Computer System 800 can also contain information and one or more instructions for at least one Processor 810. At least one storage device 825, such as a magnetic disk, an optical disk, a USB flash drive, or the like, or a combination thereof, can be provided and connected to the Bus 805 to store information and one or more instructions. In some examples, the one or more instructions include one or more GNSS Signal Measurement Receive Instructions 122, AP Map Restriction Instructions 124, and AP Location Resolution Instructions 126, as above in relation to Fig.1-7 described.

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

[0075] The Computer System 800 may also include at least one Network Interface 845, such as a Network Interface Controller (NIC), a Network Adapter or similar, or a combination thereof, connected to the Bus 805 to connect the Computer System 800 to at least one network.

[0076] 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 on the executing computer device for execution by the computer device. Software instructions may be embedded in firmware, such as an EPROM. Furthermore, the hardware components may consist of interconnected logic units such as gates and flip-flops, and / or programmable units such as programmable gate arrays or processors.

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

[0078] 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 incorporated by reference.

[0079] 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 their networked versions.

[0080] 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 sound or light waves, as generated in radio and infrared data communication.

[0081] As used herein, the term "or" can be understood in both an inclusive and an exclusive sense. Furthermore, the singular description of resources, processes, or structures is not to be understood as excluding the plural. Conditional expressions such as "may," "could," "might," or "can," unless expressly stated otherwise or understood differently in context, are generally to be understood as meaning that certain embodiments include certain features, elements, and / or steps, while other embodiments do not.

[0082] Unless explicitly stated otherwise, the terms and expressions used in this document, as well as their variations, are to be understood as open rather than restrictive. For example, the term "including" is to be understood as "including, without limitation" or similar. The term "example" is used to provide illustrative examples of the subject under discussion, not as an exhaustive or limiting list. The terms "a" or "an" are to be understood as "at least one," "one or more," or similar. The presence of expansive words and expressions such as "one or more," "at least," "but not limited to," or similar expressions in some cases is not to be understood as implying that the narrower case is intended or required when such expansive expressions are absent.

[0083] While the techniques presented here can be modified and alternatively designed in various ways, the examples given above are merely illustrative. It goes without saying 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.

Claims

[1] Method for resolving the locations of a plurality of access points (APs) in a map of relative AP locations, comprising: Receiving a GNSS (Global Navigation Satellite System) signal measurement by the computing device of each AP in a subset of the multitude of APs; based on each received GNSS signal measurement, restricting the map of relative AP positions by the computing device by at least one translational degree of freedom or one rotational degree of freedom; and Resolving the locations of multiple APs in the map of relative AP locations using the computing device. [2] Method according to claim 1, wherein restricting the map comprises the relative AP positions: Determine, by means of the computing device, for each AP in the subset of APs, whether the GNSS signal measurement received by the AP meets a signal measurement criterion; and based on the finding that for each of at least one AP in the subset of APs, the GNSS signal measurement received by the AP meets the signal measurement criteria, restricting the map of relative AP locations by the computing device by three translational degrees of freedom. [3] Method according to claim 1, wherein restricting the map comprises the relative AP positions: Determine, by means of the computing device, for each AP in the subset of APs, whether the GNSS signal measurement received by the AP meets a signal measurement criterion; and based on the finding that for each of at least two APs in the subset of APs, the GNSS signal measurement received by the AP meets the signal measurement criteria, restricting the map of relative AP locations by the computing device by three translational degrees of freedom and two rotational degrees of freedom. [4] Method according to claim 1, wherein restricting the map comprises the relative AP positions: Determine, by means of the computing device, for each AP in the subset of APs, whether the GNSS signal measurement received by the AP meets a signal measurement criterion; and based on the finding that for each of at least three APs in the subset of APs, the GNSS signal measurement received by the AP meets the signal measurement criteria, restricting the map of relative AP locations by the computing device by three translational degrees of freedom and three rotational degrees of freedom. [5] Method according to claim 1, wherein resolving the locations of the plurality of APs comprises: Receiving a first local measurement between at least two APs in the subset of APs by the computing device, wherein the first local measurement includes a fine time measurement (FTM); and Based on the initial local measurement, the computing device determines initial location estimates for the multitude of APs. [6] Method according to claim 5, wherein resolving the locations of the plurality of APs comprises: Determine, using the computing device, whether the initial location estimates for the multitude of APs meet a location accuracy threshold; and Based on the finding that the initial location estimates for the multitude of APs do not meet the location accuracy threshold, the computing device determines second location estimates for the multitude of APs. [7] Method according to claim 6, wherein determining the second location estimates for the plurality of APs comprises: Receiving a second local measurement between at least two APs in the subset of APs by the computing device, wherein the second local measurement comprises an FTM, an RSSI (Received Signal Strength Indicator) measurement, an AoA (Angle-of-Air) measurement, or a combination thereof; and based on the second local measurement, the computing device restricts the map of relative AP locations to probable locations of the subset of APs; and based on restricting the map of relative AP locations to the probable locations of the subset of APs, determining the second location estimates for the multitude of APs by the computing device. [8] Method according to claim 6, wherein determining the second location estimates for the plurality of APs comprises: Receiving a second local measurement for at least one AP in the subset of APs by the computing device, wherein the second local measurement includes a pressure measurement; and based on the second local measurement, the computing device restricts the map of relative AP locations to probable locations of the subset of APs; and based on restricting the map of relative AP locations to the probable locations of the subset of APs, determining the second location estimates for the multitude of APs by the computing device. [9] Method according to claim 5, wherein determining the second location estimates for the plurality of APs comprises: Determining building floor plan information for the multitude of access points using the computing device; based on the building floor plan information, the computing device restricts the map of relative AP locations to probable locations of the subset of APs; and based on restricting the map of relative AP locations to the probable locations of the subset of APs, determining the second location estimates for the multitude of APs by the computing device. [10] Method according to claim 1, wherein restricting the map comprises the relative AP positions: Determine, by means of the computing device, building floor information for the multitude of access points; and Based on the information about the building floors, the map of relative AP positions is restricted by the computing device by at least one rotational degree of freedom. [11] Method according to claim 10, wherein determining the building floor information for the plurality of APs comprises: Receiving a first local measurement between at least one AP in the subset of APs and at least one other AP from the plurality of APs by the computing device, wherein the first local measurement comprises a fine-time measurement (FTM), a measurement of the received signal strength indicator (RSSI), a measurement of the angle of arrival (AoA), or a combination thereof; and Based on the first local measurement, the computing device determines the building floor information for the multitude of APs. [12] Method according to claim 10, wherein determining the building floor information for the plurality of APs comprises: Receiving a first local measurement for at least one AP in the subset of APs by the computing device, wherein the first local measurement includes a pressure measurement; and Based on the first local measurement, the computing device determines the building floor information for the multitude of APs. [13] Method according to claim 10, wherein restricting the map comprises the relative AP positions: Determining building floor plan information for the multitude of access points using the computing device; Based on the building floor plan information, the computing device restricts the map of relative AP locations to probable locations of the multitude of APs. [14] Method according to claim 1, wherein restricting the map comprises the relative AP positions: Determine, by means of the computing device, for each AP in the subset of APs, whether the GNSS signal measurement received by the AP meets a signal measurement criterion; and based on the finding that for each AP in the subset of APs, the GNSS signal measurement received by the AP does not meet the signal measurement criteria, determining a derived measurement from the GNSS measurement received by each AP in the subset of APs by the computing device, wherein the derived measurement includes satellite orbital information, a building entry loss estimate, received power, or a combination thereof; and The computing device restricts the map of relative AP locations to probable locations of the subset of APs by combining geospatial building plan information with the derived measurement. [15] Method according to claim 14, wherein resolving the locations of the plurality of APs comprises: Based on restricting the map of relative AP locations to the probable locations of the subset of APs, the computing device determines initial location estimates for the multitude of APs. [16] A computing device comprising the following: a processing resource; and a non-transferable, machine-readable storage medium containing instructions that can be executed by the processing resource to: Receive a signal measurement from the Global Navigation Satellite System (GNSS) from each network device in a subset of a large number of network devices; constrain a map of relative access point (AP) locations based on each received GNSS signal measurement by at least one translational degree of freedom or one rotational degree of freedom; and resolve the locations of the multitude of network devices in the map of relative AP locations. [17] A system that includes the following: the calculating device according to claim 16; and the subset of network devices, wherein each network device in the subset of network devices includes: a GNSS receiver; a processing resource; and a non-transferable, machine-readable storage medium containing instructions that can be executed by at least one processing resource to: to receive a GNSS signal through the GNSS receiver; to determine the GNSS signal measurement for the network device based on the received GNSS signal; and Transmission of the GNSS signal measurement from the network device to the computer device. [18] The system according to claim 17, wherein each network device in the subset of network devices comprises an AP. [19] System according to claim 17, wherein at least one of the network devices in the subgroup of network devices comprises a client device. [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 a GNSS (Global Navigation Satellite System) signal measurement by the computing device from each AP in a subset of a multitude of access points (APs); based on each received GNSS signal measurement, restricting the map of relative AP positions by the computing device by at least one translational degree of freedom or one rotational degree of freedom; and Resolving the locations of the multitude of APs in the map of relative AP locations by the computing device.

Citation Information

Patent Citations

  • Distributed A-GNSS Positioning of Static Devices

    US20120306693A1

  • Apparatus, system and method of estimating a location of a mobile device

    US20180091949A1

  • Obtaining fingerprints for indoor navigation systems

    WO2019034240A1