Techniques for computing location of a mobile device based on observed Wi-Fi access points
First Claim
1. A method comprising:
- receiving, at a server from one or more scanning devices, scanning data for Wi-Fi access points whose Wi-Fi signals were observed by the one or more scanning devices in a target area, wherein the one or more scanning devices each include a radio for observing the Wi-Fi signals;
identifying groups of scanning data that share a common identifier of a Wi-Fi access point;
for each group of scanning data, determining a centroid of the scanning data of the group, designating a set of scanning data of the group that exceeds a threshold distance from the centroid as having potential error, and calculating a location of the Wi-Fi access point by applying a reverse triangulation algorithm to the scanning data of the group that has not been designated as having potential error;
storing the calculated location of the Wi-Fi access point for each group of scanning data in a reference database;
receiving, by client software executing on a mobile device from an application or service on the mobile device that utilizes location readings, a request for a location of the mobile device;
obtaining, by the client software, an identity of one or more Wi-Fi access points in range of the mobile device;
computing the location of the mobile device using calculated locations of the one or more Wi-Fi access points from the reference database; and
returning, by the client software, the computed location of the mobile device to the application or service.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, scanning data is received for wireless access points whose wireless signals were observed by the one or more scanning devices in a target area. For each group of scanning data that shares a common identifier of a Wi-Fi access point, a centroid of the scanning data is determined, a set of scanning data of the group that exceeds a threshold distance from the centroid is designated as having potential error, and a location of the Wi-Fi access point is calculated. The calculated location of the Wi-Fi access point for each group of scanning data is stored in a reference database. Upon receiving a request for a location of a mobile device, an identity of one or more Wi-Fi access points in range of the mobile device is determined, and the location of the mobile device is computed using calculated locations from the reference database.
195 Citations
20 Claims
-
1. A method comprising:
-
receiving, at a server from one or more scanning devices, scanning data for Wi-Fi access points whose Wi-Fi signals were observed by the one or more scanning devices in a target area, wherein the one or more scanning devices each include a radio for observing the Wi-Fi signals; identifying groups of scanning data that share a common identifier of a Wi-Fi access point; for each group of scanning data, determining a centroid of the scanning data of the group, designating a set of scanning data of the group that exceeds a threshold distance from the centroid as having potential error, and calculating a location of the Wi-Fi access point by applying a reverse triangulation algorithm to the scanning data of the group that has not been designated as having potential error; storing the calculated location of the Wi-Fi access point for each group of scanning data in a reference database; receiving, by client software executing on a mobile device from an application or service on the mobile device that utilizes location readings, a request for a location of the mobile device; obtaining, by the client software, an identity of one or more Wi-Fi access points in range of the mobile device; computing the location of the mobile device using calculated locations of the one or more Wi-Fi access points from the reference database; and returning, by the client software, the computed location of the mobile device to the application or service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a central network server configured to receive scanning data for Wi-Fi access points whose Wi-Fi signals were observed in a target area, identify groups of scanning data that share a common identifier of a Wi-Fi access point, and for each group of scanning data, determine a centroid of the scanning data of the group, designate a set of scanning data of the group that exceeds a threshold distance from the centroid as having potential error, and calculate a location of the Wi-Fi access point by applying a reverse triangulation algorithm to the scanning data of the group that has not been designated as having potential error; a reference database configured to store the calculated location of the Wi-Fi access point for each group of scanning data; and a mobile device having client software configured to receive a request for a location of the mobile device from an application or service executing on the mobile device that utilizes location readings, identify one or more Wi-Fi access points in range of the mobile device, compute the location of the mobile device using calculated locations of the one or more Wi-Fi access points from the reference database, and return the computed location of the mobile device to the application or service. - View Dependent Claims (11)
-
-
12. A non-transitory computer-readable medium having instructions executable by one or more processors stored thereon, the instructions when executed by the one or more processors operable to:
-
process scanning data for Wi-Fi access points whose Wi-Fi signals were observed in a target area; identify groups of scanning data that share a common identifier of a Wi-Fi access point; for each group of scanning data, determine a centroid of the scanning data of the group, designate a set of scanning data of the group that exceeds a threshold distance from the centroid as having potential error, and calculate a location of the Wi-Fi access point by applying a reverse triangulation algorithm to the scanning data of the group that has not been designated as having potential error; and store the calculated location of the Wi-Fi access point for each group of scanning data in a reference database of a central network server; and distribute at least a portion of the reference database from the central network server to a mobile device that is usable by client software executing on the mobile device to compute the location of the mobile device using calculated locations from the at least the portion of reference database of one or more Wi-Fi access points that are in range of the mobile device to be returned to an application or service on the mobile device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification