IP Library Granted Patent US 10,212,689
Granted Patent B2
US 10,212,689 · App. 15/853,236 · Granted Feb 19, 2019

Generating and publishing validated location information

Inventors: Vinit Chandrakant Deshpande (San Jose, CA); Prerepa V. Viswanadham (Fremont, CA)
Assignee: Google LLC
H04W64/003H04W4/023H04W12/06H04W64/00
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 10,212,689
App. No.
15/853,236
Granted
Feb 19, 2019
Kind
B2
Abstract

A system and method for locating a network device. A location provider determines, based on location data, a location of a wireless access point. The location data includes location data from each of a plurality of network devices, wherein the location data for each network device includes the network device's location and data representative of a distance between the wireless access point and each network device. The location provider generates, based on the location of the wireless access point, location information for the wireless access point, signs the location information with a credential to form signed location information, and communicates the signed location information to the wireless access point.

Claims (96)

1. A method, comprising:

receiving, by a location provider system and from a wireless access point, initial location information including a respective location of each of a plurality of other wireless access points and data representative of respective distances between the wireless access point and each of the plurality of other wireless access points;

receiving, by the location provider system and from the plurality of other wireless access points, respective location data for each of the plurality of other wireless access points;

determining, by the location provider system and based on the initial location information received from the wireless access point and the respective location data for each of the plurality of other wireless access points, whether the initial location information is more than a threshold amount different than the respective location data for each of the plurality of other wireless access points;

responsive to determining that the initial location information is more than the threshold amount different, determining, by the location provider system, a location of the wireless access point based on the respective location data for each of the plurality of other wireless access points;

responsive to determining that the initial location information is not more than the threshold amount different, determining, by the location provider system, the location of the wireless access point based on the initial location information;

signing, by the location provider system, the location of the wireless access point with a credential to form signed location information; and

communicating, by the location provider system and to the wireless access point, the signed location information.

2. The method of claim 1 , further comprising:

responsive to determining the location of the wireless access point, generating, by the location provider system, a tuple that includes the location of the wireless access point, a token, and a source identifier,

wherein signing the location of the wireless access point comprises signing the tuple with a public key of the location provider system to form the signed location information.

3. The method of claim 1 , further comprising:

determining, by the location provider service, whether a threshold amount of time has lapsed since the location of the wireless access point was last determined;

responsive to determining that at least the threshold amount of time has elapsed since the location of the wireless access point was last determined:

receiving, by the location provider system and from the wireless access point, updated location information including a respective updated location of each of the plurality of other wireless access points and data representative of respective updated distances between the wireless access point and each of the plurality of other wireless access points;

receiving, by the location provider system and from the plurality of other wireless access points, respective updated location data for each of the plurality of other wireless access points;

determining, by the location provider system and based on the updated location information received from the wireless access point and the respective updated location data for each of the plurality of other wireless access points, whether the updated location information is more than a threshold amount different than the respective updated location data for each of the plurality of other wireless access points;

responsive to determining that the updated location information is more than the threshold amount different:

determining, by the location provider system, that the wireless access point is a malicious wireless access point; and

refraining from updating the location of the wireless access point; and

responsive to determining that the updated location information is not more than the threshold amount different:

determining, by the location provider system, an updated location for the wireless access point;

signing, by the location provider system, the updated location of the wireless access point with the credential to form signed updated location information, the signed updated location information including a time at which the location information was last updated; and

communicating, by the location provider system and to the wireless access point, the signed updated location information.

4. The method of claim 1 , wherein the data representative of respective distances between the wireless access point and each of the plurality of other wireless access points includes one or more of respective received signal strength indication information for each of the other wireless access points generated by the wireless access point or respective round trip travel time estimates between the wireless access point and each of the plurality of other wireless access points.

5. The method of claim 4 , further comprising:

determining, by the location provider system, respective distances between the wireless access point and each of the plurality of other wireless access points based on one or more of the respective received signal strength indication information for each of the other wireless access points generated by the wireless access point or the respective round trip travel time estimates between the wireless access point and each of the plurality of other wireless access points,

wherein determining the location of the wireless access point is further based on the respective distances between the wireless access point and each of the plurality of other wireless access points.

6. The method of claim 1 , wherein the location of the wireless access point includes a latitude and longitude of the wireless access point.

7. The method of claim 1 , wherein:

the initial location information further includes a basic service set identification of the wireless access point, and

the signed location information includes the basic service set identification of the wireless access points.

8. A location provider system, comprising:

a network interface that receives, from a wireless access point, initial location information including a respective location of each of a plurality of other wireless access points and data representative of respective distances between the wireless access point and each of the plurality of other wireless access points, and receives, from the plurality of other wireless access points, respective location data for each of the plurality of other wireless access points;

a memory that stores one or more modules; and

one or more processors that execute the one or more modules to:

determine, based on the initial location information received from the wireless access point and the respective location data for each of the plurality of other wireless access points, whether the initial location information is more than a threshold amount different than the respective location data for each of the plurality of other wireless access points;

responsive to determining that the initial location information is more than the threshold amount different, determine a location of the wireless access point based on the respective location data for each of the plurality of other wireless access points;

responsive to determining that the initial location information is not more than the threshold amount different, determine the location of the wireless access point based on the initial location information;

sign the location of the wireless access point with a credential to form signed location information; and

communicate, via the network interface and to the wireless access point, the signed location information.

9. The location provider system of claim 8 , wherein the one or more processors further execute the one or more modules to:

responsive to determining the location of the wireless access point, generate a tuple that includes the location of the wireless access point, a token, and a source identifier; and

sign the tuple with a public key of the location provider system to form the signed location information.

10. The location provider system of claim 8 , wherein the one or more processors further execute the one or more modules to:

determine whether a threshold amount of time has lapsed since the location of the wireless access point was last determined;

responsive to determining that at least the threshold amount of time has elapsed since the location of the wireless access point was last determined:

receive, via the network interface and from the wireless access point, updated location information including a respective updated location of each of the plurality of other wireless access points and data representative of respective updated distances between the wireless access point and each of the plurality of other wireless access points;

receive, via the network interface and from the plurality of other wireless access points, respective updated location data for each of the plurality of other wireless access points;

determine, based on the updated location information received from the wireless access point and the respective updated location data for each of the plurality of other wireless access points, whether the updated location information is more than a threshold amount different than the respective updated location data for each of the plurality of other wireless access points;

responsive to determining that the updated location information is more than the threshold amount different:

determine that the wireless access point is a malicious wireless access point; and

refrain from updating the location of the wireless access point; and

responsive to determining that the updated location information is not more than the threshold amount different:

determine an updated location for the wireless access point;

sign the updated location of the wireless access point with the credential to form signed updated location information, the signed updated location information including a time at which the location information was last updated; and

communicate, via the network interface and to the wireless access point, the signed updated location information.

11. The location provider system of claim 8 , wherein the data representative of respective distances between the wireless access point and each of the plurality of other wireless access points includes one or more of respective received signal strength indication information for each of the other wireless access points generated by the wireless access point or respective round trip travel time estimates between the wireless access point and each of the plurality of other wireless access points.

12. The location provider system of claim 11 , wherein the one or more processors further execute the one or more modules to:

determine respective distances between the wireless access point and each of the plurality of other wireless access points based on one or more of the respective received signal strength indication information for each of the other wireless access points generated by the wireless access point or the respective round trip travel time estimates between the wireless access point and each of the plurality of other wireless access points; and

determine the location of the wireless access point further based on the respective distances between the wireless access point and each of the plurality of other wireless access points.

13. The location provider system of claim 8 , wherein the location of the wireless access point includes a latitude and longitude of the wireless access point.

14. The location provider system of claim 8 , wherein:

the initial location information further includes a basic service set identification of the wireless access point, and

the signed location information includes the basic service set identification of the wireless access points.

15. A non-transitory computer-readable storage medium encoded with instructions that, when executed, cause one or more processors of a location provider system to:

receive, from a wireless access point, initial location information including a respective location of each of a plurality of other wireless access points and data representative of respective distances between the wireless access point and each of the plurality of other wireless access points;

receive, from the plurality of other wireless access points, respective location data for each of the plurality of other wireless access points;

determine, based on the initial location information received from the wireless access point and the respective location data for each of the plurality of other wireless access points, whether the initial location information is more than a threshold amount different than the respective location data for each of the plurality of other wireless access points;

responsive to determining that the initial location information is more than the threshold amount different, determine a location of the wireless access point based on the respective location data for each of the plurality of other wireless access points;

responsive to determining that the initial location information is not more than the threshold amount different, determine the location of the wireless access point based on the initial location information;

sign the location of the wireless access point with a credential to form signed location information; and

communicate, to the wireless access point, the signed location information.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:

responsive to determining the location of the wireless access point, generate a tuple that includes the location of the wireless access point, a token, and a source identifier; and

sign the tuple with a public key of the location provider system to form the signed location information.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the one or more processors to:

determine whether a threshold amount of time has lapsed since the location of the wireless access point was last determined;

responsive to determining that at least the threshold amount of time has elapsed since the location of the wireless access point was last determined:

receive, from the wireless access point, updated location information including a respective updated location of each of the plurality of other wireless access points and data representative of respective updated distances between the wireless access point and each of the plurality of other wireless access points;

receive, from the plurality of other wireless access points, respective updated location data for each of the plurality of other wireless access points;

determine, based on the updated location information received from the wireless access point and the respective updated location data for each of the plurality of other wireless access points, whether the updated location information is more than a threshold amount different than the respective updated location data for each of the plurality of other wireless access points;

responsive to determining that the updated location information is more than the threshold amount different:

determine that the wireless access point is a malicious wireless access point; and

refrain from updating the location of the wireless access point; and

responsive to determining that the updated location information is not more than the threshold amount different:

determine an updated location for the wireless access point;

sign the updated location of the wireless access point with the credential to form signed updated location information, the signed updated location information including a time at which the location information was last updated; and

communicate, to the wireless access point, the signed updated location information.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the data representative of respective distances between the wireless access point and each of the plurality of other wireless access points includes one or more of respective received signal strength indication information for each of the other wireless access points generated by the wireless access point or respective round trip travel time estimates between the wireless access point and each of the plurality of other wireless access points.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the instructions further cause the one or more processors to:

determine respective distances between the wireless access point and each of the plurality of other wireless access points based on one or more of the respective received signal strength indication information for each of the other wireless access points generated by the wireless access point or the respective round trip travel time estimates between the wireless access point and each of the plurality of other wireless access points; and

determine the location of the wireless access point further based on the respective distances between the wireless access point and each of the plurality of other wireless access points.

20. The non-transitory computer-readable storage medium of claim 15 , wherein:

the initial location information further includes a basic service set identification of the wireless access point, and

the signed location information includes the basic service set identification of the wireless access points.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2017
From: DESHPANDE, VINIT CHANDRAKANT; VISWANADHAM, PREREPA V.
To: GOOGLE INC.
Reel/Frame 044473/0781 →
CHANGE OF NAME Recorded Dec 22, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044956/0422 →
Continuity (2)
Continuation 14924771 · Oct 28, 2015
Related Publication 20180139719A1 · May 17, 2018
Cited By (1)
US 12,375,936