IP Library Granted Patent US 12666221
Granted Patent B2
US 12666221 · App. 16/795,381 · Granted Jun 23, 2026

System and method to collect device location context without the collection of raw, detailed location data at scale

Inventors: Stephen Milton (Lyons, CO); Drew Breunig (New York, NY)
Assignee: PlaceIQ, Inc.
H04W4/021G06F21/6245G06F21/6263H04W4/029H04W12/02H04W12/033G06F2221/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 12666221
App. No.
16/795,381
Granted
Jun 23, 2026
Kind
B2
Abstract

Provided is a distributed application that shifts certain server-side operations from geolocation analytics platforms to client computing devices to enhance consumer privacy and the collection and use of potentially sensitive, personal data about an individual and their mobile device.

Claims (47)

1 . A non-transitory, machine-readable medium storing instructions that when executed by one or more processors of a first mobile computing device effectuate operations comprising:

obtaining, using a client-side geolocation analytics application executed by the one or more processors of the first mobile computing device, geolocation data of the first mobile computing device and a profile of a user of the first mobile computing device;

generating a first request that identifies a first geographic area related to the geolocation data;

transmitting the first request from the first mobile computing device to a server-side geolocation analytics application via a network, wherein the first request is transmitted from the first mobile computing device to the server-side geolocation analytics application via one or more relay modules in each of a respective one or more peer mobile computing devices, wherein each of the respective one or more peer mobile computing devices is equipped with the client-side geolocation analytics application;

receiving, with the first mobile computing device, via the network, from the server-side geolocation analytics application, data comprising a subset of a global base map containing the first geographic area that was identified by the first request, wherein the subset of the global base map includes a plurality of geographic areas of places of interest in the first geographic area overlaid on the subset of the global base map, and wherein the plurality of geographic areas of the places of interest are specified in the data with a corresponding plurality of polygons that are each defined with vertices in a latitude-longitude format;

determining, with the client-side geolocation analytics application, a first subset of the plurality of places of interest having respective ones of the plurality of polygons within which the geolocation data exists;

identifying location visits by the first mobile computing device to the first subset of the plurality of places by determining, with the client-side geolocation analytics application, places at which the geolocation data of the first mobile computing device is stationary within one of the plurality of polygons corresponding to a respective one of the plurality of places of interest, identifying exposures by the first mobile computing device to the first subset of the plurality of places by determining, with the client-side geolocation analytics application, places within a threshold distance of a path of travel of the first mobile computing device;

transmitting the location visits and exposures, with the first mobile computing device, via the network, to the server-side geolocation analytics application;

wherein the location visits and exposures are transmitted to the server-side geolocation analytics application without revealing the geolocation data of the first mobile computing device.

2 . The medium of claim 1 , wherein:

each polygon is associated with designation in an ontology of places of interest indicating a type of the respective place of interest.

3 . The medium of claim 1 , wherein the operations comprise:

generating, with the client-side geolocation analytics application, a second request for data describing another geographic area that is not indicative of the geolocation of the first mobile computing device; and

sending, with the first mobile computing device, via the network, to the server-side geolocation analytics application, a second request for data describing another geographic area.

4 . The medium of claim 1 , wherein transmitting the first request comprises:

causing the first request to be routed through one or more proxy nodes in a peer-to-peer network to obfuscate a network address of the first mobile computing device.

5 . The medium of claim 1 , wherein the operations comprise:

randomly sampling from a probability distribution of geolocations; and

determining the first geographic area related to the geolocation data from the random sampling.

6 . The medium of claim 5 , wherein:

the random sampling is a pseudorandom sampling that produces fake geolocations that are not indicative of the geolocation data.

7 . The medium of claim 5 , wherein:

the probability distribution of geolocations is based on the geolocation data.

8 . The medium of claim 1 , wherein the operations comprise determining the first geographic area related to the geolocation data based on both the geolocation data and a random value.

9 . The medium of claim 1 , wherein determining a first geolocation of the geolocation data comprises:

obtaining, with the client-side geolocation analytics application, a plurality of geolocations over time measured by the first mobile computing device;

calculating, with the client-side geolocation analytics application, a centroid of the plurality of the geolocations; and

using, with the client-side geolocation analytics application, the centroid as the first geolocation.

10 . The medium of claim 1 , wherein the operations comprise:

obtaining a plurality of geolocations over time measured by the first mobile computing device; and

steps for clustering the plurality of geolocations.

11 . The medium of claim 1 , wherein the operations comprise:

steps for addressing and routing the first request.

12 . The medium of claim 1 , wherein the operations comprise:

steps for obfuscating a network address of the first mobile computing device.

13 . The medium of claim 1 , wherein the operations comprise:

steps for determining a first geolocation of the geolocation data is within a geographic area of a place of interest.

14 . A method, comprising:

obtaining, using a client-side geolocation analytics application executing on a first mobile computing device, geolocation data of the first mobile computing device and a profile of a user of the first mobile computing device;

generating a first request that identifies a first geographic area related to the geolocation data;

transmitting the first request from the first mobile computing device to a server-side geolocation analytics application via a network, wherein the first request is transmitted from the first mobile computing device to the server-side geolocation analytics application via one or more relay modules in each of a respective one or more peer mobile computing devices, wherein each of the respective one or more peer mobile computing devices is equipped with the client-side geolocation analytics application;

receiving, with the first mobile computing device, via the network, from the server-side geolocation analytics application, data comprising a subset of a global base map containing the first geographic area that was identified by the first request, wherein the subset of the global base map includes a plurality of geographic areas of places of interest in the first geographic area, and wherein the plurality of geographic areas of the places of interest are specified in the data with a corresponding plurality of polygons that are each defined with vertices in a latitude-longitude format;

determining, with the client-side geolocation analytics application, a first subset of the plurality of places of interest having respective ones of the plurality of polygons within which the geolocation data exists;

identifying location visits by the first mobile computing device to the first subset of the plurality of places by determining, with the client-side geolocation analytics application, places at which the geolocation data of the first mobile computing device is stationary within one of the plurality of polygons corresponding to a respective one of the plurality of places of interest, identifying exposures by the first mobile computing device to the first subset of the plurality of places by determining, with the client-side geolocation analytics application, places within a threshold distance of a path of travel of the first mobile computing device;

transmitting the location visits and exposures, with the first mobile computing device, via the network, to the server-side geolocation analytics application; and

updating, with the server-side geolocation analytics application, a portion of a place profile corresponding to places within the first subset of the plurality of places of interest based on the location visits and exposures, wherein the place profile comprises location visits and exposures by multiple mobile computing devices associated with profiles of multiple users that are aggregated to characterize consumer behaviors associated with people that visited a type of location over a period of time;

wherein the location visits and exposures are transmitted to the server-side geolocation analytics application without revealing the geolocation data of the first mobile computing device.