IP Library › Granted Patent US 10,664,616
Granted Patent B2
US 10,664,616 · App. 15/925,755 · Granted May 26, 2020

Anonymization of geographic route trace data

Inventors: Morgan Herlocker (Oakland, CA); Laurier Rochon (Montreal, CA); David Michael Thompson (San Francisco, CA)
Assignee: Mapbox, Inc.
G06F21/6254G01C21/32G01S5/0027G06F16/29G01C21/34G01S19/13G01S19/42G06F2221/2111
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,664,616
App. No.
15/925,755
Granted
May 26, 2020
Kind
B2
Abstract

A trace comprising location data about a computing device is received at a mapping server, where the trace stores the location data about the computing device in an ordered set of points. The origin and destination of the trace are obscured. Then, the trace is then separated into a set of subtraces by dividing the received points of location data into a set of subtraces, and removing the links between subtraces of the set of subtraces. For example, subtraces can be divided based on size, distance, elapsed time, or features of interest present in the location data.

Claims (56)

1. A method comprising:

receiving, at a mapping server from a client device, a first trace comprising a set of location data, the location data comprising an origin point, a plurality of intermediate points, and a destination point in an ordered sequence, wherein the first trace comprises identifying information associated with the client device; and

anonymizing the first trace by:

selecting, at the mapping server, an origin section for the first trace, the origin section comprising the origin point and one or more intermediate points;

removing the origin section from the first trace;

selecting, at the mapping server, a destination section for the first trace, the destination section comprising the destination point and one or more intermediate points;

removing the destination section from the first trace; and

dividing, at the mapping server, the first trace into a plurality of subtraces, each subtrace comprising a plurality of consecutive intermediate points of the location data.

2. The method of claim 1 , wherein anonymizing the first trace further comprises:

removing, from each subtrace, location data connecting the subtrace to any other subtraces of the set of subtraces; and

storing, by the mapping server, each subtrace independently of each other subtrace in the set of subtraces.

3. The method of claim 1 , wherein removing, from each subtrace, location data connecting the subtrace to any other subtraces of the set of subtraces further comprises:

selecting, at the mapping server, an origin section for a first subtrace of the set of subtraces;

removing the origin section from the first subtrace;

selecting, at the mapping server, a destination section for the first subtrace; and

removing the destination section from the first subtrace.

4. The method of claim 1 , wherein dividing the first trace into a set of subtraces comprises randomly selecting a size for each subtrace of the set of subtraces.

5. The method of claim 4 , wherein the size of a subtrace is determined based on a measure of the time or distance associated with the subtrace.

6. The method of claim 1 , wherein anonymizing the first trace further comprises:

determining one or more features of interest in the first trace, each feature of interest associated with one or more intermediate points of the first trace;

and wherein dividing the first trace into a set of subtraces is based on the one or more features of interest.

7. The method of claim 1 , wherein each subtrace of the set of subtraces includes one or more intermediate points associated with a feature of interest.

8. The method of claim 1 , wherein each subtrace of the set of subtraces is a predetermined size.

9. The method of claim 1 , wherein selecting an origin section for the first trace further comprises:

determining a random size of the origin section.

10. The method of claim 1 , wherein the first trace comprises device metadata identifying the computing device and wherein anonymizing the first trace further comprises:

removing, at the mapping server from the first trace, the device metadata.

11. The method of claim 10 , wherein the device metadata is a device identifier of the computing device.

12. The method of claim 1 , further comprising:

receiving, at a mapping server from a client device, a plurality of traces, each trace comprising a set of location data, each set of location data comprising an origin point, a plurality of intermediate points, and a destination point in an ordered sequence;

selecting, at the mapping server, an origin section for each trace of the plurality of traces, the origin section for a trace comprising the origin point and one or more intermediate points of that trace;

removing, from each trace of the plurality of traces, the origin section;

selecting, at the mapping server, a destination section for each trace of the plurality of traces, the destination section comprising the destination point and one or more intermediate points of that trace;

removing, from each trace of the plurality of traces, the destination section; and

dividing, at the mapping server, each trace of the plurality of traces into a second plurality of subtraces, each subtrace comprising a plurality of consecutive intermediate points of the location data.

13. The method of claim 1 , further comprising:

storing, by the mapping server, each subtrace of the plurality of subtraces and the second plurality of subtraces independently of each other subtrace in the set of subtraces; and

aggregating the plurality of subtraces and the second plurality of subtraces into aggregated telemetry data.

14. The method of claim 1 , wherein dividing the first trace into a plurality of subtraces comprises dividing the first trace into a plurality of subtraces based on measures of times or distances associated with the plurality of subtraces.

15. A non-transitory computer readable storage medium comprising instructions which, when executed by a processor, cause the processor to perform the steps of:

receiving, at a mapping server from a client device, a first trace comprising a set of location data, the location data comprising an origin point, a plurality of intermediate points, and a destination point in an ordered sequence, wherein the first trace comprises identifying information associated with the client device; and

anonymizing the first trace by:

selecting, at the mapping server, an origin section for the first trace, the origin section comprising the origin point and one or more intermediate points;

removing the origin section from the first trace;

selecting, at the mapping server, a destination section for the first trace, the destination section comprising the destination point and one or more intermediate points;

removing the destination section from the first trace; and

dividing, at the mapping server, the first trace into a plurality of subtraces, each subtrace comprising a plurality of consecutive intermediate points of the location data.

16. The non-transitory computer readable storage medium of claim 15 , wherein anonymizing the first trace further comprises:

removing, from each subtrace, location data connecting the subtrace to any other subtraces of the set of subtraces; and

storing, by the mapping server, each subtrace independently of each other subtrace in the set of subtraces.

17. The non-transitory computer readable storage medium of claim 15 , wherein dividing the first trace into a set of subtraces comprises randomly selecting a size for each subtrace of the set of subtraces.

18. The non-transitory computer readable storage medium of claim 15 , wherein anonymizing the first trace further comprises:

determining one or more features of interest in the first trace, each feature of interest associated with one or more intermediate points of the first trace;

and wherein dividing the first trace into a set of subtraces is based on the one or more features of interest.

19. The non-transitory computer readable storage medium of claim 15 , wherein each subtrace of the set of subtraces is a predetermined size.

20. The non-transitory computer readable storage medium of claim 15 , wherein dividing the first trace into a plurality of subtraces comprises dividing the first trace into a plurality of subtraces based on measures of times or distances associated with the plurality of subtraces.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2019
From: HERLOCKER, MORGAN; ROCHON, LAURIER; THOMPSON, DAVID MICHAEL
To: MAPBOX, INC.
Reel/Frame 049881/0862 →
Continuity (2)
Provisional Application 62473958 · Mar 20, 2017
Related Publication 20180268168A1 · Sep 20, 2018
Cited By (1)
US 12,449,264