IP Library Granted Patent US 10,182,042
Granted Patent B2
US 10,182,042 · App. 15/650,099 · Granted Jan 15, 2019

Generating bridge match identifiers for linking identifiers from server logs

Inventors: Mahyar Salek (San Jose, CA); Philip McDonnell (Belmont, CA); Vinod Kumar Ramachandran (Santa Clara, CA); Shobhit Saxena (Sunnyvale, CA); David Owen Shanahan (Sunnyvale, CA)
Assignee: Google LLC
H04L63/06G06F21/6254H04L63/068
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,182,042
App. No.
15/650,099
Granted
Jan 15, 2019
Kind
B2
Abstract

Bridging encrypted datasets is provided. A system transmits, to a server, a first identifier vector encrypted with a first encryption that is commutative. The system receives an encrypted first identifier vector encrypted based on the first encryption and encrypted by a second encryption associated with the server. The system receives a second identifier vector encrypted based on the second encryption. The system encrypts the second identifier vector with the first encryption to generate an encrypted second identifier vector that is encrypted based on the second encryption and further encrypted based on the first encryption. The system determines a correlation count between the encrypted first identifier vector and the encrypted second identifier vector. The system generates one identifier key for both the first identifier and the second identifier. The system can provide the one identifier key for input into an application to process interactions.

Claims (44)

1. A system to bridge encrypted datasets, comprising:

a data processing system comprising one or more processors and memory, the data processing system configured to:

transmit a first identifier vector to a server, the first identifier vector encrypted with a first encryption that is commutative and comprising a first identifier, a plurality of first parameters, and a plurality of second parameters;

receive from the server, an encrypted first identifier vector comprising the first identifier vector encrypted based on the first encryption and further encrypted by a second encryption associated with the server, the second encryption commutative and different from the first encryption;

receive a second identifier vector, encrypted based on the second encryption associated with the server, the second identifier vector comprising a second identifier, a plurality of third parameters, and a plurality of fourth parameters;

encrypt the second identifier vector with the first encryption to generate an encrypted second identifier vector that is encrypted based on the second encryption and further encrypted based on the first encryption;

determine a correlation count between the encrypted first identifier vector and the encrypted second identifier vector based on a match between at least some of the plurality of first parameters and at least some of the plurality of the third parameters of the encrypted first identifier vector and between at least some of the plurality of the second parameters and at least some of the plurality of fourth parameters of the encrypted second identifier vector;

determine that the first identifier corresponds to the second identifier based on the correlation count between the first identifier vector and the second identifier vector;

generate, responsive to the determination that the first identifier corresponds to the second identifier, one identifier key for both the first identifier and the second identifier; and

provide the one identifier key for input into an application to process interactions, the one identifier key generated based on the correlation count between the encrypted first identifier vector encrypted with the first encryption and further encrypted with the second encryption, and the encrypted second identifier vector encrypted with the second encryption and further encrypted with the first encryption.

2. The system of claim 1 , wherein the second identifier vector corresponds to offline transactions processed by the server.

3. The system of claim 1 , wherein the first identifier vector corresponds to online transactions processed by the data processing system.

4. The system of claim 1 , wherein the first identifier vector corresponds to online transactions between the data processing system and a computing device comprising a digital assistant.

5. The system of claim 1 , wherein the first identifier vector corresponds to online transactions between the data processing system and a computing device configured to receive speech input.

6. The system of claim 1 , comprising:

the data processing system to use the one identifier key to determine a rate among online transactions that correspond to the first identifier and processed via the data processing system and offline interactions corresponding to the second identifier and processed via the server.

7. The system of claim 1 , comprising:

the data processing system to determine that the first identifier corresponds to the second identifier based on the correlation count between the first identifier vector and the second identifier vector above a threshold.

8. The system of claim 1 , comprising:

the data processing system to determine that a predefined time has passed since generation of the one identifier key and delete the first identifier vector and the second identifier vector, responsive to the determination that the predefined time that has passed.

9. The system of claim 1 , wherein the plurality of first parameters and the plurality of third parameters are a first type of parameter and the plurality of second parameters and the plurality of fourth parameters are a second type of parameter.

10. The system of claim 9 , wherein the first type of parameter includes location identifiers and the second type of parameter includes time stamps, the location identifiers and the time stamps each identify a location and a time of a recorded interaction.

11. The system of claim 1 , comprising:

the data processing system to determine the correlation count based on at least some of the plurality of the first parameters within a threshold distance of at least some of the plurality of the third parameters and at least some of the plurality of the second parameters within a time window of at least some of the plurality of the fourth parameters.

12. A method of bridging encrypted datasets, comprising:

transmitting, by a data processing system comprising one or more processors and memory, a first identifier vector to a server, the first identifier vector encrypted with a first encryption that is commutative and comprising a first identifier, a plurality of first parameters, and a plurality of second parameters;

receiving, by the data processing system from the server, an encrypted first identifier vector comprising the first identifier vector encrypted based on the first encryption and further encrypted by a second encryption associated with the server, the second encryption being commutative and different from the first encryption;

receiving, by the data processing system, a second identifier vector, encrypted based on the second encryption associated with the server, the second identifier vector comprising a second identifier, a plurality of third parameters, and a plurality of fourth parameters;

encrypting, by the data processing system, the second identifier vector with the first encryption to generate an encrypted second identifier vector that is encrypted based on the second encryption and further encrypted based on the first encryption;

determining, by the data processing system, a correlation count between the encrypted first identifier vector and the encrypted second identifier vector based on a match between at least some of the plurality of first parameters and at least some of the plurality of the third parameters of the encrypted first identifier vector and between at least some of the plurality of the second parameters and at least some of the plurality of fourth parameters of the encrypted second identifier vector;

determining, by the data processing system, that the first identifier corresponds to the second identifier based on the correlation count between the first identifier vector and the second identifier vector;

generating, by the data processing system, responsive to determining that the first identifier corresponds to the second identifier, one identifier key for both the first identifier and the second identifier; and

providing, by the data processing system, the one identifier key for input into an application to process interactions, the one identifier key generated based on the correlation count between the encrypted first identifier vector encrypted with the first encryption and further encrypted with the second encryption, and the encrypted second identifier vector encrypted with the second encryption and further encrypted with the first encryption.

13. The method of claim 12 , wherein the second identifier vector corresponds to offline transactions processed by the server.

14. The method of claim 12 , wherein the first identifier vector corresponds to online transactions processed by the data processing system.

15. The method of claim 12 , wherein the first identifier vector corresponds to online transactions between the data processing system and a computing device comprising a digital assistant.

16. The method of claim 12 , comprising:

using, by the data processing system, the one identifier key to determine a rate among online transactions corresponding to the first identifier and processed via the data processing system and offline interactions corresponding to the second identifier and processed via the server.

17. The method of claim 12 , comprising:

determining, by the data processing system, that the first identifier corresponds to the second identifier based on the correlation count between the first identifier vector and the second identifier vector being above a threshold.

18. The method of claim 12 , comprising:

determining, by the data processing system, that a predefined time has passed since generating the one identifier key and delete the first identifier vector and the second identifier vector, responsive to determining that the predefined time that has passed.

19. The method of claim 12 , wherein the plurality of first parameters and the plurality of third parameters are a first type of parameter and the plurality of second parameters and the plurality of fourth parameters are a second type of parameter.

20. The method of claim 19 , wherein the first type of parameter includes location identifiers and the second type of parameter includes time stamps, the location identifiers and the time stamps each identifying a location and a time of a recorded interaction.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2017
From: SALEK, MAHYAR; MCDONNELL, PHILIP; RAMACHANDRAN, VINOD KUMAR; SAXENA, SHOBHIT; SHANAHAN, DAVID OWEN
To: GOOGLE INC.
Reel/Frame 043012/0220 →
Continuity (2)
Continuation 14808634 · Jul 24, 2015
Related Publication 20170317994A1 · Nov 2, 2017