IP Library Granted Patent US 12,484,012
Granted Patent B2
US 12,484,012 · App. 17/811,784 · Granted Nov 25, 2025

Determining locations of deployed access points

Inventors: Mohammad Zohoorian (San Francisco, CA); Christopher Wesley Wright (Scotts Valley, CA); Nagarjun Srinivasan (Sunnyvale, CA); Jie C Jiang (San Jose, CA); Kevin Friday (Los Gatos, CA); Shmuel Shaffer (Palo Alto, CA)
Assignee: Juniper Networks, Inc.
H04W64/003H04L41/0893H04W24/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,484,012
App. No.
17/811,784
Granted
Nov 25, 2025
Kind
B2
Abstract

A network management system (NMS) automatically determines locations of deployed access points (APs) in a wireless network. The system identifies clusters of APs, wherein each AP in a cluster is a member of at least one robust quad, and wherein each robust quad in the cluster has three APs in common with another robust quad in the cluster. The NMS identifies one of the plurality of clusters as a global cluster and the remaining plurality of clusters as local clusters. The NMS determines coordinates of each node in the global cluster based on the coordinates of the anchor APs in the global coordinate system. For each local cluster, the NMS transforms the coordinates of each AP from the respective local coordinate system to the global coordinate system.

Claims (73)

1 . A system comprising:

a plurality of access points (APs) configured to provide a wireless network at a site; and

a network management system comprising:

one or more processors; and

a memory comprising instructions that when executed by the one or more processors cause the one or more processors to:

based on neighbor relationships between the plurality of APs, identify a plurality of clusters of APs, wherein each AP in a cluster is a member of at least one robust quad, and wherein each robust quad in the cluster has three APs in common with another robust quad in the cluster;

determine coordinates of each AP in a global cluster of the plurality of clusters in a global coordinate system based on measured coordinates of at least three anchor APs in the global cluster;

for each of the plurality of clusters other than the global cluster, determine coordinates of each AP in the cluster in a local coordinate system associated with the cluster;

for each of the plurality of clusters other than the global cluster, transform the coordinates of each AP in the cluster from the associated local coordinate system to the global coordinate system; and

automatically invoke, based on the coordinates of one or more of the plurality of APs in the global coordinate system, one or more actions.

2 . The system of claim 1 , the memory further comprising instructions that when executed by the one or more processors cause the one or more processors to:

identify the global cluster as one of the plurality of clusters including a highest number of robust quads;

identify one of the robust quads in the global cluster as an anchor robust quad; and

define at least three APs in the anchor robust quad as anchor APs; and

generate a notification identifying the anchor APs.

3 . The system of claim 1 , the memory further comprising instructions that when executed by the one or more processors cause the one or more processors to:

for each of the plurality of clusters other than the global cluster, identify a robust quad in the cluster as an origin robust quad; and

define the associated local coordinate system for the cluster based on at least three APs in the origin robust quad.

4 . The system of claim 1 , the memory further comprising instructions that when executed by the one or more processors cause the one or more processors to:

receive data indicative of distances between two or more of the plurality of APs.

5 . The system of claim 4 , wherein the data indicative of distances between two or more APs includes round trip time (RTT) data.

6 . The system of claim 4 , the memory further comprising instructions that when executed by the one or more processors cause the one or more processors to:

determine the coordinates of each AP in the global cluster in the global coordinate system based on absolute locations of at least three anchor APs in the global cluster and the data indicative of distance measurements between APs in the global cluster.

7 . The system of claim 4 , the memory further comprising instructions that when executed by the one or more processors cause the one or more processors to:

for each of the plurality of clusters other than the global cluster, determine the coordinates of each AP in the cluster in the associated local coordinate system based on defined of at least three APs in the cluster and the data indicative of distance measurements between APs in the cluster.

8 . The system of claim 1 , wherein the actions include generating data representative of a user interface (UI) for display on a display device including user interface elements representing one or more of the plurality of APs at the site and the corresponding locations of one or more of the plurality of APs at the site.

9 . The system of claim 1 , wherein the actions include one or more of:

automatically analyzing the coordinates of one or more of the plurality of APs in the global coordinate system and generating a notification indicative of whether a deployment of one or more of the plurality of APs at the site is acceptable;

automatically adjusting transmit power of one or more of the plurality of APs based on the coordinates of the one or more of the plurality of APs; and

providing location services to one or more wireless client devices associated with the wireless network.

10 . The system of claim 1 , the memory further comprising instructions that when executed by the one or more processors cause the one or more processors to:

(a) for each of a plurality of local clusters, determine a distance between the local cluster and the global cluster;

(b) identify a nearest local cluster to the global cluster based on the determined distances;

(c) transform coordinates of APs in the nearest local cluster from an associated local coordinate system to the global coordinate system;

(d) merge the nearest local cluster with the global cluster; and

(e) repeat steps (a)-(d) until each of the plurality of local clusters has been merged with the global cluster.

11 . A method comprising:

based on neighbor relationships between a plurality of access points (APs), identifying a plurality of clusters of APs, wherein each AP in a cluster is a member of at least one robust quad, and wherein each robust quad in the cluster has three APs in common with another robust quad in the cluster;

determining coordinates of each AP in a global cluster of the plurality of clusters in a global coordinate system based on measured coordinates of at least three anchor APs in the global cluster;

for each of the plurality of clusters other than the global cluster, determining coordinates of each AP in the cluster in a local coordinate system associated with the cluster;

for each of the plurality of clusters other than the global cluster, transforming the coordinates of each AP in the cluster from the associated local coordinate system to the global coordinate system; and

automatically invoking, based on the coordinates of one or more of the plurality of APs in the global coordinate system, one or more actions.

12 . The method of claim 11 , further comprising:

identifying the global cluster as one of the plurality of clusters including a highest number of robust quads;

identifying one of the robust quads in the global cluster as an anchor robust quad; and

defining at least three APs in the anchor robust quad as anchor APs; and

generating a notification identifying the anchor APs.

13 . The method of claim 11 , further comprising:

for each of the plurality of clusters other than the global cluster, identifying a robust quad in the cluster as an origin robust quad; and

defining the associated local coordinate system for the cluster based on at least three APs in the origin robust quad.

14 . The method of claim 11 , further comprising:

receiving data indicative of distances between two or more of the plurality of APs, wherein the data indicative of distances between two or more APs includes round trip time (RTT) data.

15 . The method of claim 14 , further comprising:

determining the coordinates of each AP in the global cluster in the global coordinate system based on absolute locations of at least three anchor APs in the global cluster and the data indicative of distance measurements between APs in the global cluster.

16 . The method of claim 14 , further comprising:

for each of the plurality of clusters other than the global cluster, determining the coordinates of each AP in the cluster in the associated local coordinate system based on defined coordinates of at least three APs in the cluster and the data indicative of distance measurements between APs in the cluster.

17 . The method of claim 11 , wherein the actions include generating data representative of a user interface (UI) for display on a display device including user interface elements representing one or more of the plurality of APs at a site and the corresponding locations of one or more of the plurality of APs at the site.

18 . The method of claim 11 , wherein the actions include one or more of:

automatically analyzing the coordinates of one or more of the plurality of APs in the global coordinate system and generating a notification indicative of whether a deployment of one or more of the plurality of APs at a site is acceptable;

automatically adjusting transmit power of one or more of the plurality of APs based on the coordinates of the one or more of the plurality of APs; and

providing location services to one or more wireless client devices associated with a wireless network.

19 . The method of claim 11 , further comprising:

(a) for each of a plurality of local clusters, determining a distance between the local cluster and the global cluster;

(b) identifying a nearest local cluster to the global cluster based on the determined distances;

(c) transforming coordinates of APs in the nearest local cluster from an associated local coordinate system to the global coordinate system;

(d) merging the nearest local cluster with the global cluster; and

(e) repeating steps (a)-(d) until each of the plurality of local clusters has been merged with the global cluster.

20 . A Non-transitory computer-readable media comprising instructions that when executed by one or more processors cause the one or more processors to:

based on neighbor relationships between a plurality of access points (APs), identify a plurality of clusters of APs, wherein each AP in a cluster is a member of at least one robust quad, and wherein each robust quad in the cluster has three APs in common with another robust quad in the cluster;

determine coordinates of each AP in a global cluster of the plurality of clusters in a global coordinate system based on measured coordinates of at least three anchor APs in the global cluster;

for each of the plurality of clusters other than the global cluster, determine coordinates of each AP in the cluster in a local coordinate system associated with the cluster;

for each of the plurality of clusters other than the global cluster, transform the coordinates of each AP in the cluster from the associated local coordinate system to the global coordinate system; and

generating data representative of a user interface (UI) for display on a display device including user interface elements representing one or more of the plurality of APs at the site and the corresponding locations of one or more of the plurality of APs at the site.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBEER SHOULD BE 17811784 PREVIOUSLY RECORDED AT REEL: 060496 FRAME: 0609. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 5, 2023
From: SHAFFER, SHMUEL
To: JUNIPER NETWORKS, INC.
Reel/Frame 063860/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: SHAFFER, SHMUEL
To: JUNIPER NETWORKS, INC.
Reel/Frame 060496/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2022
From: ZOHOORIAN, MOHAMMAD; WRIGHT, CHRISTOPHER WESLEY; SRINIVASAN, NAGARJUN; JIANG, JIE C; FRIDAY, KEVIN
To: JUNIPER NETWORKS, INC.
Reel/Frame 060476/0660 →
Continuity (2)
Provisional Application 63243616 · Sep 13, 2021
Related Publication 20230080610A1 · Mar 16, 2023
References Cited (74)
US 9363784B1 · Friday et al. · 2016 [cited by applicant]
US 9729439B2 · MeLampy et al. · 2017 [cited by applicant]
US 9729682B2 · Kumar et al. · 2017 [cited by applicant]
US 9743254B2 · Friday et al. · 2017 [cited by applicant]
US 9762485B2 · Kaplan et al. · 2017 [cited by applicant]
US 9832082B2 · Dade et al. · 2017 [cited by applicant]
US 9871748B2 · Gosselin et al. · 2018 [cited by applicant]
US 9936352B2 · Sanderovich et al. · 2018 [cited by applicant]
US 9967803B2 · Friday et al. · 2018 [cited by applicant]
US 9985883B2 · MeLampy et al. · 2018 [cited by applicant]
US 10200264B2 · Menon et al. · 2019 [cited by applicant]
US 10219166B2 · Friday et al. · 2019 [cited by applicant]
US 10277506B2 · Timmons et al. · 2019 [cited by applicant]
US 10432522B2 · Kaplan et al. · 2019 [cited by applicant]
US 10634776B2 · Anholt et al. · 2020 [cited by applicant]
US 10756983B2 · Ratkovic et al. · 2020 [cited by applicant]
US 10764858B2 · Srinivasan et al. · 2020 [cited by applicant]
US 10862742B2 · Singh · 2020 [cited by applicant]
US 10958537B2 · Safavi · 2021 [cited by applicant]
US 10958585B2 · Safavi · 2021 [cited by applicant]
US 10976406B1 · Castagnoli · 2021 [cited by applicant]
US 10985969B2 · Safavi · 2021 [cited by applicant]
US 10986607B2 · Ta et al. · 2021 [cited by applicant]
US 10992543B1 · Rachamadugu et al. · 2021 [cited by applicant]
US 11075824B2 · McCulley et al. · 2021 [cited by applicant]
US 11226392B1 · Castagnoli et al. · 2022 [cited by applicant]
US 11422224B2 · Castagnoli · 2022 [cited by applicant]
US 11696092B2 · Castagnoli et al. · 2023 [cited by applicant]
US 12004045B2 · Zohoorian et al. · 2024 [cited by applicant]
US 20150045054A1 · Emadzadeh et al. · 2015 [cited by applicant]
US 20150139213A1 · Abraham et al. · 2015 [cited by applicant]
US 20170272911A1 · Agrawal et al. · 2017 [cited by applicant]
US 20200187074A1 · Wong · 2020 [cited by examiner]
US 20200209340A1 · Ylamurto et al. · 2020 [cited by applicant]
US 20200322776A1 · Pazhyannur · 2020 [cited by examiner]
US 20200403890A1 · McCulley et al. · 2020 [cited by applicant]
US 20210231435A1 · Nobayashi · 2021 [cited by applicant]
US 20210239850A1 · Castagnoli et al. · 2021 [cited by applicant]
US 20210243558A1 · Castagnoli et al. · 2021 [cited by applicant]
US 20210243559A1 · Castagnoli et al. · 2021 [cited by applicant]
US 20210243717A1 · Castagnoli et al. · 2021 [cited by applicant]
US 20210306201A1 · Wang et al. · 2021 [cited by applicant]
US 20220191647A1 · Zohoorian · 2022 [cited by examiner]
US 20230047635A1 · Friday · 2023 [cited by examiner]
US 20230069236A1 · Kozin et al. · 2023 [cited by applicant]
US 20230143729A1 · Zohoorian · 2023 [cited by examiner]
US 20230388819A1 · Lin et al. · 2023 [cited by applicant]
US 20240179168A1 · Manthiramoorthy · 2024 [cited by examiner]
US 20240267816A1 · Chorppath · 2024 [cited by examiner]
JP 4767101B2 · 2011 [cited by applicant]
KR 20170115520A · 2017 [cited by applicant]
Extended Search Report from counterpart European Application No. 22194836.7 dated Feb. 10, 2023, 7 pp. [cited by applicant]
Capkun et al., “GPS-free positioning in mobile Ad-Hoc networks”, Proceedings of the 34th Hawaii International Conference on System Sciences, vol. 9, Jan. 3, 2001, pp. 157-167. [cited by applicant]
Eren et al., “Rigidity, computation, and randomization in network localization”, IEEE INFOCOM 2004, vol. 4, Mar. 7, 2004, pp. 2673-2684. [cited by applicant]
Estrin et al., “Embedding the internet: introduction”, Communications of the ACM, vol. 43, No. 5, May 1, 2000, pp. 38-41. [cited by applicant]
Horn, “Closed-form solution of absolute orientation using unit quaternions”, Journal of the Optical Society of America A—optics Image Science and Vision, vol. 4, No. 4, Apr. 1, 1987, pp. 629-642. [cited by applicant]
Moore et al., “Robust distributed network localization with noisy range measurements”, Proceedings of the 2nd international conference on Embedded networked sensor systems, Nov. 3, 2004, pp. 50-61. [cited by applicant]
Niculescu et al., “DV Based Positioning in Ad Hoc Networks”, Telecommunication Systems, vol. 22, No. 1, Aug. 27, 2002, pp. 267-280. [cited by applicant]
Savvides et al., “On the Error Characteristics of Multihop Node Localization in Ad-Hoc Sensor Networks”, Information Processing in Sensor Networks, Apr. 22, 2003, pp. 317-332. [cited by applicant]
U.S. Appl. No. 17/303,222, filed May 24, 2021, naming inventors Safavi. [cited by applicant]
U.S. Appl. No. 63/363,353, filed Apr. 21, 2022, naming inventors Zohoorian et al. [cited by applicant]
U.S. Appl. No. 63/367,354, filed Jun. 29, 2022, naming inventors Wright et al. [cited by applicant]
Wikipedia, “Rotations and reflections in two dimensions”, 2 pp., Retrieved from the Internet on Jul. 20, 2022, from URL: https://en.wikipedia.org/wiki/Rotations_and_reflections_in_two_dimensions. [cited by applicant]
Zekavat et al., “Handbook of Position Location: Theory, Practice, and Advances”, Chapters 11, 12, and 13, John Wiley & Sons, Inc, Sep. 9, 2011, pp. 359-455. [cited by applicant]
Response to Extended Search Report dated Feb. 10, 2023, from counterpart European Application No. 22194836.7 filed Sep. 11, 2023, 20 pp. [cited by applicant]
Cai et al., “Identification and Mitigation of NLOS Based on Channel State Information for Indoor WiFi Localization”, International Conference on Wireless Communications & Signal Processing (WCSP), IEEE, Oct. 15, 2015, 5… [cited by applicant]
Choi et al., “Deep Learning Based NLOS Identification With Commodity WLAN Devices”, IEEE Transactions on Vehicular Technology, vol. 67, No. 4, IEEE, Apr. 2018, pp. 3295-3303. [cited by applicant]
Communication pursuant to Article 94(3) EPC from counterpart European Application No. 22194836.7 dated Mar. 21, 2025, 6 pp. [cited by applicant]
Han et al., “Indoor NLOS Positioning System Based on Enhanced CSI Feature with Intrusion Adaptability”, Sensors, MDPI, Feb. 22, 2020, 25 pp. [cited by applicant]
Jiokeng et al., “When FTM Discovered Music: Accurate WiFi-based Ranging in the Presence of Multipath”, IEEE, Nov. 13, 2020, 11 pp. [cited by applicant]
Wu et al., “PhaseU: Real-time LOS Identification with WiFi”, IEEE Conference on Computer Communications (INFOCOM), IEEE, Apr. 26, 2015, pp. 2038-2046. [cited by applicant]
Xiao et al., “AmpN: Real-time LOS/NLOS Identification with WiFi”, IEEE ICC 2017 Ad-Hoc and Sensor Networking Symposium, IEEE, May 21, 2017, 7 pp. [cited by applicant]
Zhou et al., “WiFi-based Indoor Line-Of-Sight Identification”, IEEE Transactions on Wireless Communications, IEEE, Jun. 22, 2015, 11 pp. [cited by applicant]
Response to Communication pursuant to Article 94(3) EPC dated Mar. 21, 2025, from counterpart European Application No. 22194836.7 filed Jul. 17, 2025, 4 pp. [cited by applicant]