IP Library Granted Patent US 8,495,065
Granted Patent B2
US 8,495,065 · App. 12/645,535 · Granted Jul 23, 2013

Maintaining a historical record of anonymized user profile data by location for users in a mobile environment

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 8,495,065
App. No.
12/645,535
Granted
Jul 23, 2013
Kind
B2
Abstract

A system and method are provided for maintaining a historical record of anonymized user profile data for mobile device users. In one embodiment, a central system, which includes one or more servers, operates to obtain current locations and user profiles for users of mobile devices. The central system processes the current locations and the user profiles of the users over time to maintain a historical record of anonymized user profile data by location. By anonymizing the user data, privacy of the users of the mobile devices is maintained. The central system may then use the historical record of anonymized user profile data to respond to historical requests. The historical requests may be made by users of the mobile devices, subscribers, and/or third-party services.

Claims (42)

1. A method comprising:

obtaining current locations of a plurality of users of a plurality of mobile devices, each of the plurality of users being a user of a corresponding one of the plurality of mobile devices;

obtaining user profiles of the plurality of users of the plurality of mobile devices; and

processing the current locations and the user profiles of the plurality of users for each of a plurality of successive time intervals to maintain a historical record of anonymized user profile data by location, wherein processing the current locations and the user profiles of the plurality of users for each of the plurality of successive time intervals to maintain the historical record of the anonymized user profile data by location comprises:

sorting the plurality of users into location buckets based on their current locations; and

for each time interval of the plurality of successive time intervals:

for each location bucket, anonymizing the user profiles of ones of the plurality of users in the location bucket for the time interval to provide anonymized user profile data for the location bucket for the time interval; and

storing the anonymized user profile data for the location buckets for the time interval.

2. The method of claim 1 wherein the ones of the plurality of users in the location bucket for the time interval are ones of the plurality of users having current locations within a geographic region corresponding to the location bucket and ones of the plurality of users having current locations outside the geographic region corresponding to the location bucket but which were previously within the geographic region corresponding to the location bucket during the time interval.

3. The method of claim 1 wherein user records are maintained for the plurality of users such that the user records include the user profiles of the plurality of users, and anonymizing the user profiles for the ones of the plurality of users in the location bucket comprises creating anonymous user records that are anonymized versions of corresponding user records of the ones of the plurality of users in the location bucket.

4. The method of claim 3 wherein each of the anonymous user records has a user profile that corresponds to the user profile included in the user records for a corresponding one of the ones of the plurality of users in the location bucket.

5. The method of claim 3 wherein user profile data from the user profile of each user of the ones of the plurality of users in the location bucket is distributed among two or more of the anonymous user records.

6. The method of claim 3 wherein each of the anonymous user records is not linked back to any of the ones of the plurality of users in the location bucket.

7. The method of claim 1 wherein anonymizing the user profiles of the ones of the plurality of users in the location bucket comprises combining the user profiles of the ones of the plurality of users in the location bucket to provide combined user profile data for the location bucket that is not linked back to the ones of the plurality of users in the location bucket.

8. The method of claim 1 wherein sorting the plurality of users into location buckets based on their current locations comprises:

receiving a location update for one of the plurality of users;

based on the location update, determining a location bucket corresponding to a geographic region in which the one of the plurality of users is located; and

adding the one of the plurality of users to a list of users maintained for the location bucket.

9. The method of claim 8 wherein sorting the plurality of users into location buckets based on their current locations further comprises marking the one of plurality of users as inactive in a list of users maintained for a location bucket in which the one of the plurality of users was previously located, and the method further comprises removing users marked as inactive from lists of users maintained for a plurality of location buckets at the end of each of the plurality of successive time intervals.

10. The method of claim 1 wherein storing the anonymized user profile data for the location buckets for the time interval comprises storing the anonymized user profile data for the location buckets for the time interval using a quadtree algorithm.

11. The method of claim 10 wherein storing the anonymized user profile data for the location buckets for the time interval using the quadtree algorithm comprises:

dividing a geographic area into a plurality of base quadtree nodes each including a plurality of location buckets;

processing the plurality of base quadtree nodes using the quadtree algorithm to create one or more final quadtree nodes each including at least one location bucket and at most a predefined maximum number of users in the at least one location bucket; and

storing a history object for each final quadtree node including at least a predefined minimum number of users, wherein the history object includes the anonymized user profile data for the at least one location bucket for the final quadtree node.

12. A server comprising:

a communication interface communicatively coupling the server to a plurality of mobile devices of a plurality of users via a network, each of the plurality of users being a user of a corresponding one of the plurality of mobile devices; and

a control system associated with the communication interface and adapted to:

obtain current locations of the plurality of users of the plurality of mobile devices;

obtain user profiles of the plurality of users of the plurality of mobile devices;

process the current locations and the user profiles of the plurality of users for each of a plurality of successive time intervals to maintain a historical record of anonymized user profile data by location; wherein to process the current locations and the user profiles of the plurality of users for each of the plurality of successive time intervals to maintain the historical record of the anonymized user profile data by location the control system is adapted to:

sort the plurality of users into location buckets based on their current locations; and

for each time interval of the plurality of successive time intervals:

for each location bucket, anonymize the user profiles of ones of the plurality of users in the location bucket for the time interval to provide anonymized user profile data for the location bucket for the time interval; and

store the anonymized user profile data for the location buckets for the time interval.

13. A non-transitory computer readable medium storing software for instructing a controller of a server to:

obtain current locations of a plurality of users of a plurality of mobile devices, each of the plurality of users being a user of a corresponding one of the plurality of mobile devices;

obtain user profiles of the plurality of users of the plurality of mobile devices;

process the current locations and the user profiles of the plurality of users for each of a plurality of successive time intervals to maintain a historical record of anonymized user profile data by location; wherein instructing the controller to process the current locations and the user profiles of the plurality of users for each of the plurality of successive time intervals to maintain the historical record of the anonymized user profile data by location comprises instructing the controller to:

sort the plurality of users into location buckets based on their current locations; and

for each time interval of the plurality of successive time intervals:

for each location bucket, anonymize the user profiles of ones of the plurality of users in the location bucket for the time interval to provide anonymized user profile data for the location bucket for the time interval; and

store the anonymized user profile data for the location buckets for the time interval.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2021
From: CRIA, INC.
To: STRIPE, INC.
Reel/Frame 057044/0753 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2019
From: IP3 2017, SERIES 200 OF ALLIED SECURITY TRUST I
To: CRIA, INC.
Reel/Frame 048082/0767 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2018
From: WALDECK TECHNOLOGY, LLC
To: IP3 2017, SERIES 200 OF ALLIED SECURITY TRUST I
Reel/Frame 045061/0144 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2018
From: CONCERT DEBT, LLC
To: WALDECK TECHNOLOGY, LLC
Reel/Frame 044591/0845 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2018
From: CONCERT DEBT, LLC
To: CONCERT TECHNOLOGY CORPORATION
Reel/Frame 044591/0775 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2017
From: CONCERT DEBT, LLC
To: WALDECK TECHNOLOGY, LLC
Reel/Frame 044391/0407 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2017
From: CONCERT DEBT, LLC
To: CONCERT TECHNOLOGY CORPORATION
Reel/Frame 044391/0438 →
SECURITY INTEREST Recorded Sep 1, 2015
From: CONCERT TECHNOLOGY CORPORATION
To: CONCERT DEBT, LLC
Reel/Frame 036515/0471 →
SECURITY INTEREST Recorded Sep 1, 2015
From: CONCERT TECHNOLOGY CORPORATION
To: CONCERT DEBT, LLC
Reel/Frame 036515/0495 →
SECURITY INTEREST Recorded Aug 24, 2015
From: WALDECK TECHNOLOGY, LLC
To: CONCERT DEBT, LLC
Reel/Frame 036433/0382 →
SECURITY INTEREST Recorded Aug 24, 2015
From: WALDECK TECHNOLOGY, LLC
To: CONCERT DEBT, LLC
Reel/Frame 036433/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2010
From: KOTA ENTERPRISES, LLC
To: WALDECK TECHNOLOGY, LLC
Reel/Frame 024859/0855 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2009
From: PETERSEN, STEVEN L.; CURTIS, SCOTT; JENNINGS, KENNETH; PURDY, SEAN T.
To: KOTA ENTERPRISES, LLC
Reel/Frame 023692/0839 →