IP Library › Granted Patent US 10,091,646
Granted Patent B2
US 10,091,646 · App. 14/502,869 · Granted Oct 2, 2018

Reduced resolution location determination for improved anonymity of user location

Inventors: Ronald K. Huang (San Jose, CA); Lukas M. Marti (Santa Clara, CA); Stephen J. Rhee (San Jose, CA); Robert Mayor (Half Moon Bay, CA); Tadaaki Shimada (San Jose, CA)
Assignee: Apple Inc.
H04W12/02G01S19/39G01S19/42G06F21/6254H04L61/609H04W8/16H04W64/00H04L63/0407H04L63/107
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,091,646
App. No.
14/502,869
Granted
Oct 2, 2018
Kind
B2
Abstract

Reduced resolution location determination for improved anonymity of a user location is disclosed. In some implementations, a first location of a computing device operating in a geographic area is determined. A population density of the geographic area is estimated. A grid overlay is generated, including a number of cells based on the estimated population density. Using the grid overlay, a second location is generated for the computing device that is less precise than the first location. The less precise second location can be used in a local search or other application to improve the anonymity of the user location.

Claims (69)

1. A method comprising:

determining a wireless access point density for a geographic area based on a number of wireless access points in the geographic area;

responsive to receiving a query by a computing device operating in the geographic area, determining a first location of the computing device operating in the geographic area;

generating a grid overlay for the geographic area, the grid overlay including a number of grid-cells having a grid-cell size, wherein the grid-cell size is determined based on the determined wireless access point density and a predetermined relation of wireless access point densities to grid-cell sizes; and

generating, using the grid overlay, a second location for the computing device that is less precise than the first location, where the second location is determined by a position coordinate of a grid-cell in the grid overlay that includes the first location of the computing device, and

where the method is performed by at least one hardware processor.

2. The method of claim 1 , where generating, using the grid overlay, the second location for the computing device that is less precise than the first location, further comprises:

determining anchor coordinates for the grid-cell in the grid overlay that includes the first location of the computing device; and

generating the second location from the anchor coordinates.

3. The method of claim 2 , where generating the second location from the anchor coordinates further comprises:

generating a random noise component; and

setting the second location coordinates equal to a sum of the anchor coordinates and the random noise component.

4. The method of claim 3 , where generating the random noise component further comprises:

generating, by a random number generator, a random number based on a Gaussian distribution; and

forming a product of the random number and a scale factor, where the scale factor constrains the second location to be within the grid-cell that includes the first location of the computing device.

5. The method of claim 1 , where determining the first location of a computing device operating in the geographic area further comprises:

determining the first location of the computing device based on geographic locations of access points operating in the geographic area.

6. The method of claim 1 , further comprising:

searching for points of interest near the first location of the computing device, the search using the second location of the computing device; and

providing search results to a client application.

7. A method comprising:

receiving, by a computing device, a location tile for a geographic area where a number of wireless access points and the computing device are operating;

determining a wireless access point density for the location tile based on the number of wireless access points in the location tile;

generating a grid overlay for the location tile having a grid-cell size, wherein the grid-cell size is determined based on the determined wireless access point density and a predetermined relation of wireless access point densities to grid-cell sizes; and

determining a reduced resolution location of the computing device using the grid overlay, where the reduced resolution location is a position coordinate of a grid-cell in the grid overlay that includes a location of the computing device.

8. The method of claim 7 , where the location tile includes locations of the access points and the method further comprises:

determining the location of the computing device based on the locations of the access points.

9. The method of claim 7 , where determining the reduced resolution location of the computing device using the grid overlay, further comprises:

setting the reduced resolution location of the computing device to anchor coordinates of the grid-cell in the grid overlay that includes the location of the computing device.

10. The method of claim 9 , where the anchor coordinates indicate a geographic location for a corner of the grid-cell.

11. The method of claim 7 , where determining the reduced resolution location of the computing device using the grid overlay, further comprises:

setting the reduced resolution location of the computing device to a sum of anchor coordinates of the grid-cell in the grid overlay that includes the location of the computing device and a random noise component.

12. The method of claim 11 , where the random noise component is constrained so that reduced resolution location is located within geographic boundaries of the grid-cell.

13. A computing device, comprising:

one or more processors;

memory coupled to the one or more processors and storing instructions, which, when executed by the one or more processors, causes the one or more processors to perform operations comprising:

determining a wireless access point density for a geographic area based on a number of wireless access points in the geographic area;

responsive to receiving a query by a computing device operating in the geographic area, determining a first location of the computing device operating in the geographic area;

generating a grid overlay for the geographic area, the grid overlay including a number of grid-cells having a grid-cell size, wherein the grid-cell size is determined based on the determined wireless access point density and a predetermined relation of wireless access point densities to grid-cell sizes; and

generating, using the grid overlay, a second location for the computing device that is less precise than the first location, where the second location is determined by a position coordinate of a grid-cell in the grid overlay that includes the first location of the computing device.

14. The computing device of claim 13 , where generating, using the grid overlay, the second location for the computing device that is less precise than the first location, further comprises:

determining anchor coordinates for the grid-cell in the grid overlay that includes the first location of the computing device; and

generating the second location from the anchor coordinates.

15. The computing device of claim 14 , where generating the second location from the anchor coordinate further comprises:

generating a random noise component; and

setting the second location coordinates equal to a sum of the anchor coordinates and the random noise component.

16. The computing device of claim 15 , where generating the random noise component further comprises:

generating, by a random number generator, a random number based on a Gaussian distribution; and

forming a product of the random number and a scale factor, where the scale factor constrains the second location to be within the grid-cell that includes the first location of the computing device.

17. The computing device of claim 13 , where determining the first location of the computing device operating in a geographic area further comprises:

determining the first location of the computing device based on geographic locations of access points operating in the geographic area.

18. The computing device of claim 13 , further comprising instructions, which, when executed by the one or more processors, causes the one or more processors to perform operations including:

searching for points of interest near the first location of the computing device, the search using the second location of the computing device; and

providing search results to a client application.

19. A computing device comprising:

one or more processors;

memory coupled to the one or more processors and storing instructions, which, when executed by the one or more processors, causes the one or more processors to perform operations comprising:

receiving, by a computing device, a location tile for a geographic area where a number of wireless access points and the computing device are operating;

determining a wireless access point density for the location tile based on the number of wireless access points in the location tile;

generating a grid overlay for the location tile having a grid-cell size, wherein the grid-cell size is determined based on the determined wireless access point density and a predetermined relation of wireless access point densities to grid-cell sizes; and

determining a reduced resolution location of the computing device using the grid overlay, where the reduced resolution location is a position coordinate of a grid-cell in the grid overlay that includes a location of the computing device.

20. The computing device of claim 19 , where the location tile includes locations of the access points and the one or more processors further include an operation of:

determining the location of the computing device based on the locations of the access points.

21. The computing device of claim 19 , where determining the reduced resolution location of the computing device using the grid overlay, further comprises:

setting the reduced resolution location of the computing device to anchor coordinates of the grid-cell in the grid overlay that includes the location of the computing device.

22. The computing device of claim 21 , where the anchor coordinates indicate a geographic location for a corner of the grid-cell.

23. The computing device of claim 19 , where determining the reduced resolution location of the computing device using the grid overlay, further comprises:

setting the reduced resolution location of the computing device to a sum of anchor coordinates of the grid-cell in the grid overlay that includes the location of the computing device and a random noise component.

24. The computing device of claim 23 , where the random noise component is constrained so that reduced resolution location is located within geographic boundaries of the grid-cell.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2014
From: HUANG, RONALD K.; MARTI, LUKAS M.; RHEE, STEPHEN J.; MAYOR, ROBERT; SHIMADA, TADAAKI
To: APPLE INC.
Reel/Frame 034507/0298 →
Continuity (2)
Provisional Application 62044176 · Aug 29, 2014
Related Publication 20160066179A1 · Mar 3, 2016