Location data quarantine system
First Claim
1. A computer-implemented method of quarantining user location information, comprising:
- generating, for a client device, an client ID including encrypted globally unique identifier;
receiving the client ID and an associated location;
in response to receiving the client ID and the associated location, identifying a first key for hashing the client ID;
hashing, by a processor, the client ID using the first key to generate a secure hashed client ID;
storing the secure hashed client ID and the associated location in a quarantine table associated with an expiration period for secure client IDs stored in the quarantine table;
after a predetermined period of time associated with the quarantine table, replacing the first key with a second key;
after generating the secure hashed client ID, but before the expiration period has expired for the secure hashed client ID, receiving the client ID and a second associated location;
in response to receiving the client ID and the second associated location, identifying the second key for hashing the client ID;
hashing the client ID using the second key to generate a second secure hashed client ID;
storing the second secure hashed client ID and the second associated location in the first quarantine table;
once the expiration period has expired for the secured hashed client ID, storing the associated location in long term memory without either of the client ID or the secured hashed client ID;
in response to receiving the client ID and the associated location, identifying a third key for hashing the client ID;
hashing the client ID using the third key to generate a third secure hashed client ID; and
storing the third secure hashed client ID and the associated location in a second quarantine table different from the quarantine table.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method and system of quarantining user location information receives from a user device user location information that includes personally identifiable user data and user position data associated with one or more geographic positions of the user. The user location information is temporarily stored in a quarantine data storage database for a predetermined quarantine time, during such time it can be used for various analysis. After the quarantine time, personally identifiable user data of the user location information is filtered out before the user position data is sent for long-term storage to a filtered data storage system.
31 Citations
15 Claims
-
1. A computer-implemented method of quarantining user location information, comprising:
-
generating, for a client device, an client ID including encrypted globally unique identifier; receiving the client ID and an associated location; in response to receiving the client ID and the associated location, identifying a first key for hashing the client ID; hashing, by a processor, the client ID using the first key to generate a secure hashed client ID; storing the secure hashed client ID and the associated location in a quarantine table associated with an expiration period for secure client IDs stored in the quarantine table; after a predetermined period of time associated with the quarantine table, replacing the first key with a second key; after generating the secure hashed client ID, but before the expiration period has expired for the secure hashed client ID, receiving the client ID and a second associated location; in response to receiving the client ID and the second associated location, identifying the second key for hashing the client ID; hashing the client ID using the second key to generate a second secure hashed client ID; storing the second secure hashed client ID and the second associated location in the first quarantine table; once the expiration period has expired for the secured hashed client ID, storing the associated location in long term memory without either of the client ID or the secured hashed client ID; in response to receiving the client ID and the associated location, identifying a third key for hashing the client ID; hashing the client ID using the third key to generate a third secure hashed client ID; and storing the third secure hashed client ID and the associated location in a second quarantine table different from the quarantine table. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a quarantine table having an expiration period for secure client IDs and a key value; long term memory for storing locations; a processor configured to; generate, for a client device, client ID including encrypted globally unique identifier; receive the client ID and an associated location; in response to receiving the client ID and the associated location, identifying a first key for hashing the client ID; hash the client ID using the key value to generate a secure hashed client ID; store the secure hashed client ID and the associated location in the quarantine table; after a predetermined period of time associated with the quarantine table, replace the key value with a second key value; after generating the secure hashed client ID, but before the expiration period has expired for the secure hashed client ID, receive the client ID and a second associated location; in response to receiving the client ID and the second associated location, identify the second key value for hashing the client ID; hash the client ID using the second key value to generate a second secure hashed client ID; store the second secure hashed client ID and the second associated location in the first quarantine table; once the expiration period has expired for the secured hashed client ID, storing the associated location in the long term memory without either of the client ID or the secured hashed client ID; in response to receiving the client ID and the associated location, identify a third key value for hashing the client ID; hash the client ID using the third key value to generate a third secure hashed client ID; and store the third secure hashed client ID and the associated location in a second quarantine table different from the quarantine table. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory, tangible computer-readable storage medium on which computer readable instructions of a program are stored, the instructions, when executed by a processor, cause the processor to perform a method, the method comprising:
-
in response to receiving the client ID and the associated location, identifying a first key for hashing the client ID; hashing, by a processor, the client ID using the first key to generate a secure hashed client ID; storing the secure hashed client ID and the associated location in a quarantine table associated with an expiration period for secure client IDs stored in the quarantine table; after a predetermined period of time associated with the quarantine table, replacing the first key with a second key; after generating the secure hashed client ID, but before the expiration period has expired for the secure hashed client ID, receiving the client ID and a second associated location; in response to receiving the client ID and the second associated location, identifying the second key for hashing the client ID; hashing the client ID using the second key to generate a second secure hashed client ID; storing the second secure hashed client ID and the second associated location in the first quarantine table; once the expiration period has expired for the secured hashed client ID, storing the associated location in long term memory without either of the client ID or the secured hashed client ID; in response to receiving the client ID and the associated location, identifying a third key for hashing the client ID; hashing the client ID using the third key to generate a third secure hashed client ID; and storing the third secure hashed client ID and the associated location in a second quarantine table different from the quarantine table. - View Dependent Claims (14, 15)
-
Specification