IP Library Granted Patent US 9,774,594
Granted Patent B2
US 9,774,594 · App. 15/133,509 · Granted Sep 26, 2017

Anonymous cross-device linking using temporal identifiers

Inventors: Vincent Gatto (Sunnyvale, CA); Venu Vemula (San Ramon, CA); Daniil Khidekel (Berkeley, CA); Lukasz Bieniasz-Krzywiec (Sunnyvale, CA); Sissie Ling-le Hsiao (Los Altos, CA)
Assignee: Google Inc.
H04L63/0846G06Q30/0241G06Q30/0275H04L63/06H04L63/107H04L67/02H04L67/22H04W12/04
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 9,774,594
App. No.
15/133,509
Filed
Apr 20, 2016
Granted
Sep 26, 2017
Kind
B2
Art Unit
2435
USPC
726/7
Abstract

Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. Login credentials provided by a user are received when communicating through a first user device, and a temporal identifier is created for the user and provided to the first user device. Prior to expiration of the temporary key, login credentials provided by the user on a second different user device are received. The temporal identifier is re-created for the user and provided to the second different user device. A first request is received from the first or second different user device. The temporal identifier is stored and an identifier associated with the device. A second request is received from the other device. A device identifier for the first and second different user device are linked in association with the temporal identifier. The linking is used to respond to the second request.

Claims (41)

1. A method comprising:

receiving, by one or more servers, multiple different instances of a same set of login credentials of a given user from multiple different user devices of the given user during a first time period;

setting a same temporal identifier on each of the multiple different user devices to associate each of the multiple different user devices with the given user based on the same set of login credentials and a first temporary key that is valid during the first time period;

linking, in a data structure and by the one or more servers, the multiple different user devices based on each of the multiple different user devices having the same temporal identifier;

associating, by the one or more servers, interactions between the one or more servers and each of the multiple different user devices with the given user based on the linking;

receiving, during a second time period and by the one or more servers, an additional instance of the same set of login credentials from a given user device;

determining, in response to receiving the additional instance and by the one or more servers, that the first temporary key has expired; and

generating, by the one or more servers and in response to determining that the first temporary key has expired, a different temporal identifier for the given user that does not match the same temporal identifier based on a different temporary key and the same set of login credentials.

2. The method of claim 1 , wherein setting the same temporal identifier includes creating the same temporal identifier based at least in part on an identifier assigned to the given user.

3. The method of claim 1 , further comprising providing the same temporal identifier for storage on the multiple different user devices in a data structure that is indexed by the same temporal identifier.

4. The method of claim 1 , wherein at least one of the multiple different user devices is a mobile device.

5. The method of claim 1 , further comprising using the same temporal identifier for cross-device interaction tracking.

6. The method of claim 1 , wherein the same temporal identifier includes an anonymous tinyhash for differentiating multiple users of a shared device, and wherein the anonymous tinyhash is unique to a particular one of the multiple users.

7. A system, comprising:

one or more processors; and

one or more memory devices including instructions that, when executed, cause the one or more processors to perform operations comprising:

receiving multiple different instances of a same set of login credentials of a given user from multiple different user devices of the given user during a first time period;

setting a same temporal identifier on each of the multiple different user devices to associate each of the multiple different user devices with the given user based on the same set of login credentials and a first temporary key that is valid during the first time period;

linking, in a data structure, the multiple different user devices based on each of the multiple different user devices having the same temporal identifier;

associating interactions between each of the multiple different user devices with the given user based on the linking;

receiving, during a second time period, an additional instance of the same set of login credentials from a given user device;

determining, in response to receiving the additional instance, that the first temporary key has expired; and

generating, in response to determining that the first temporary key has expired, a different temporal identifier for the given user that does not match the same temporal identifier based on a different temporary key and the same set of login credentials.

8. The system of claim 7 , wherein setting the same temporal identifier includes creating the same temporal identifier based at least in part on an identifier assigned to the given user.

9. The system of claim 7 , wherein the instructions cause the one or more processors to perform operations further comprising providing the same temporal identifier for storage on the multiple different user devices in a data structure that is indexed by the same temporal identifier.

10. The system of claim 7 , wherein at least one of the multiple different user devices is a mobile device.

11. The system of claim 7 , wherein the instructions cause the one or more processors to perform operations further comprising using the same temporal identifier for cross-device interaction tracking.

12. The system of claim 7 , wherein the same temporal identifier includes an anonymous tinyhash for differentiating multiple users of a shared device, and wherein the anonymous tinyhash is unique to a particular one of the multiple users.

13. A non-transitory computer storage medium encoded with a computer program, the computer program comprising instructions that when executed by one or more processors cause the one or more processors to perform operations comprising:

receiving multiple different instances of a same set of login credentials of a given user from multiple different user devices of the given user during a first time period;

setting a same temporal identifier on each of the multiple different user devices to associate each of the multiple different user devices with the given user based on the same set of login credentials and a first temporary key that is valid during the first time period;

linking, in a data structure, the multiple different user devices based on each of the multiple different user devices having the same temporal identifier;

associating interactions between each of the multiple different user devices with the given user based on the linking;

receiving, during a second time period, an additional instance of the same set of login credentials from a given user device;

determining, in response to receiving the additional instance, that the first temporary key has expired; and

generating, in response to determining that the first temporary key has expired, a different temporal identifier for the given user that does not match the same temporal identifier based on a different temporary key and the same set of login credentials.

14. The non-transitory computer storage medium of claim 13 , wherein setting the same temporal identifier includes creating the same temporal identifier based at least in part on an identifier assigned to the given user.

15. The non-transitory computer storage medium of claim 13 , wherein the instructions cause the one or more processors to perform operations further comprising providing the same temporal identifier for storage on the multiple different user devices in a data structure that is indexed by the same temporal identifier.

16. The non-transitory computer storage medium of claim 13 , wherein at least one of the multiple different user devices is a mobile device.

17. The non-transitory computer storage medium of claim 13 , wherein the instructions cause the one or more processors to perform operations further comprising using the same temporal identifier for cross-device interaction tracking.

18. The non-transitory computer storage medium of claim 13 , wherein the same temporal identifier includes an anonymous tinyhash for differentiating multiple users of a shared device, and wherein the anonymous tinyhash is unique to a particular one of the multiple users.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2016
From: GATTO, VINCENT; VEMULA, VENU; KHIDEKEL, DANIIL; BIENIASZ-KRZYWIEC, LUKASZ; HSIAO, SISSIE LING-IE
To: GOOGLE INC.
Reel/Frame 038335/0603 →
Continuity (2)
Continuation 14015515 · Aug 30, 2013
Related Publication 20160234203A1 · Aug 11, 2016