IP Library Granted Patent US 10,652,221
Granted Patent B2
US 10,652,221 · App. 16/216,768 · Granted May 12, 2020

Generating bridge match identifiers for linking identifers 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,652,221
App. No.
16/216,768
Granted
May 12, 2020
Kind
B2
Abstract

Systems and methods of matching identifiers between multiple datasets are described herein. A system can transmit a first identifier vector to a third party server. The first identifier vector can include a first identifier, first parameters, and second parameters. The system can receive, from the third party server, the first identifier vector encrypted based on a third-party encryption. The system can receive, from the third party server, a second identifier vector encrypted based on the third-party encryption associated with the third party server. The second identifier vector can include a second identifier, third parameters, and fourth parameters. The system can determine a correlation count between the first identifier vector and the second identifier vector. The system can determine that the first identifier corresponds to the second identifier based on the correlation count. The system can generate one identifier key for both the first identifier and the second identifier.

Claims (57)

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:

obtain one identifier key for both a first identifier associated with the data processing system and a second identifier associated with a third-party server different from the data processing system, the one identifier key generated based on a correlation between an encrypted first identifier vector encrypted with a first encryption and further encrypted with a second encryption, and an encrypted second identifier vector encrypted with a second encryption and further encrypted with the first encryption;

input the one identifier key into an application to process interactions associated with the first identifier or the second identifier; and

determine, using the application and the one identifier key, a metric for 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 third-party server.

2. The system of claim 1 , comprising:

the data processing system to transmit the one identifier key to the third-party server to monitor a performance metric associated with the third-party server.

3. The system of claim 1 , comprising the data processing system to:

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

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

4. 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 third-party server.

5. The system of claim 1 , wherein the second identifier vector corresponds to offline transactions processed by the server, and wherein the first identifier vector corresponds to online transactions processed by the data processing system.

6. The system of claim 1 , comprising the data processing system to:

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

receive from the third-party server, the encrypted first identifier vector comprising the first identifier vector encrypted based on the first encryption and further encrypted by the second encryption associated with the third-party server, the second encryption commutative and different from the first encryption.

7. The system of claim 1 , comprising:

the data processing system to receive the second identifier vector encrypted based on the second encryption associated with the server, the second identifier vector comprising the second identifier, a plurality of third parameters, and a plurality of fourth parameters.

8. The system of claim 1 , comprising the data processing system to:

receive, from the third-party server, the encrypted first identifier vector comprising the first identifier vector encrypted based on the first encryption and the further encrypted based on the second encryption associated with the third-party server, the first identifier vector comprising the first identifier, a plurality of first parameters, and a plurality of second parameters;

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

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

generate, based on the encrypted first identifier vector and the encrypted second identifier vector, the one identifier key for both the first identifier and the second identifier.

9. The system of claim 8 , comprising the data processing system to:

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; and

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

10. The system of claim 9 , 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.

11. A method of bridging encrypted datasets, comprising:

obtaining, by a data processing system comprising one or more processors and memory, one identifier key for both a first identifier associated with the data processing system and a second identifier associated with a third-party server different from the data processing system, the one identifier key generated based on a correlation between an encrypted first identifier vector encrypted with a first encryption and further encrypted with a second encryption, and an encrypted second identifier vector encrypted with a second encryption and further encrypted with the first encryption;

inputting, by the data processing system, the one identifier key into an application to process interactions associated with the first identifier or the second identifier; and

determining, by the data processing system using the application and the one identifier key, a metric for 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 third-party server.

12. The method of claim 11 , comprising:

transmitting, by the data processing system, the one identifier key to the third-party server to monitor a performance metric associated with the third-party server.

13. The method of claim 11 , comprising:

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

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

14. The method of claim 11 , comprising:

using 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 third-party server.

15. The method of claim 11 , wherein the second identifier vector corresponds to offline transactions processed by the server, and wherein the first identifier vector corresponds to online transactions processed by the data processing system.

16. The method of claim 11 , comprising:

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

receiving from the third-party server, the encrypted first identifier vector comprising the first identifier vector encrypted based on the first encryption and further encrypted by the second encryption associated with the third-party server, the second encryption commutative and different from the first encryption.

17. The method of claim 11 , comprising:

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

18. The method of claim 11 , comprising:

receiving, from the third-party server, the encrypted first identifier vector comprising the first identifier vector encrypted based on the first encryption and the further encrypted based on the second encryption associated with the third-party server, the first identifier vector comprising the first identifier, a plurality of first parameters, and a plurality of second parameters;

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

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

generating, based on the encrypted first identifier vector and the encrypted second identifier vector, the one identifier key for both the first identifier and the second identifier.

19. The method of claim 18 , comprising:

determining 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 that the first identifier corresponds to the second identifier based on the correlation count between the first identifier vector and the second identifier vector; and

generating, responsive to the determination that the first identifier corresponds to the second identifier, the one identifier key for both the first identifier and the second identifier.

20. The method of claim 19 , comprising:

determining 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2020
From: SALEK, MAHYAR; MCDONNELL, PHILIP; RAMACHANDRAN, VINOD KUMAR; SAXENA, SHOBHIT; SHANAHAN, DAVID OWEN
To: GOOGLE INC.
Reel/Frame 052384/0534 →
Continuity (3)
Continuation 15650099 · Jul 14, 2017
Continuation 14808634 · Jul 24, 2015
Related Publication 20190158473A1 · May 23, 2019
Cited By (1)
US 12,341,763