US10558817B2ActiveUtilityA1

Establishing a link between identifiers without disclosing specific identifying information

76
Assignee: GOOGLE INCPriority: Jan 30, 2017Filed: Jan 30, 2017Granted: Feb 11, 2020
Est. expiryJan 30, 2037(~10.6 yrs left)· nominal 20-yr term from priority
H04L 9/3239H04L 9/0643G06F 21/6227G06F 16/22G06F 21/6245
76
PatentIndex Score
3
Cited by
15
References
20
Claims

Abstract

A method for linking user identifiers. The method includes receiving, by a linking server and from a company server, a first data structure comprising entries. Each entry comprising a user tag, a first hashed user information, and a second hashed user information. The method includes receiving, by a linking server and from a partner server, a second data structure comprising entries. Each entry comprising a bridge tag, a first hashed bridge information, and a second hashed bridge information. The method includes retrieving, by the linking server and from the first data structure, a first entry of the entries and retrieving, by the linking server and from the second data structure, a first entry of the entries. The method includes linking the user tag of the first entry of the first data structure to the bridge tag of the first entry of the second data structure to generate a first linkage.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for linking user identifiers, the method comprising:
 receiving, by a linking server and from a company server, a first data structure comprising entries, each entry comprising an unhashed user tag, a first hashed user information, and a second hashed user information, each entry associated with a client device; 
 receiving, by a linking server and from a partner server, a second data structure comprising entries, each entry comprising an unhashed bridge tag, a first hashed bridge information, and a second hashed bridge information, each entry associated with a client device, wherein the first data structure is inaccessible to the partner server and the second data structure is inaccessible to the company server; 
 retrieving, by the linking server and from the first data structure, a first entry of the entries of the first data structure; 
 retrieving, by the linking server and from the second data structure, a first entry of the entries of the second data structure; 
 comparing, by the linking server, the first hashed user information of the first entry of the first data structure to the first hashed bridge information of the first entry of the second data structure; 
 linking, by the linking server and in response to determining a match, the unhashed user tag of the first entry of the first data structure to the unhashed bridge tag of the first entry of the second data structure to generate a first linkage that does not include the first hashed bridge information or the second hashed bridge information; and 
 providing, by the linking server and to the company server, the first linkage. 
 
     
     
       2. The method of  claim 1 , wherein comparing comprises:
 parsing, by the linking server, the first hashed user information of the first entry of the first data structure into a first set of characters; 
 parsing, by the linking server, the first hashed bridge information of the first entry of the second data structure into a second set of characters; and 
 comparing, by the linking server, a character from the first set of characters to a character from the second set of characters. 
 
     
     
       3. The method of  claim 1 , further comprising providing, by the linking server and to the company server, the first linkage. 
     
     
       4. The method of  claim 3 , wherein
 the linking server exists inside a clean room environment and wherein 
 the company server exists outside the clean room environment and wherein 
 the partner server exists outside the clean room environment. 
 
     
     
       5. The method of  claim 1 , further comprising:
 removing, by the linking server, the first entry of the first data structure and the first entry of the second data structure. 
 
     
     
       6. The method of  claim 1 , further comprising:
 retrieving, by the linking server and from the first data structure, a second entry of the entries of the first data structure; 
 retrieving, by the linking server and from the second data structure, a second entry of the entries of the second data structure; and 
 comparing, by the linking server, the first hashed user information of the second entry of the first data structure to the first hashed bridge information of the second entry of the second data structure. 
 
     
     
       7. The method of  claim 6 , further comprising:
 determining, by the linking server, a mismatch between the first hashed user information of the second entry of the first data structure to the first hashed bridge information of the second entry of the second data structure; and 
 comparing, by the linking server, the second hashed user information of the second entry of the first data structure to the second hashed bridge information of the second entry of the second data structure. 
 
     
     
       8. The method of  claim 1 , further comprising:
 determining, by the linking server, a mismatch between the first hashed user information of the first entry of the first data structure to the first hashed bridge information of the first entry of the second data structure; 
 retrieving, by the linking server and from the second data structure, a second entry of the entries; and 
 comparing, by the linking server, the first hashed user information of the first entry of the first data structure to the first hashed bridge information of the second entry of the second data structure. 
 
     
     
       9. The method of  claim 8 , further comprising:
 comparing, by the linking server, the second hashed user information of the first entry of the first data structure to the second hashed bridge information of the second entry of the second data structure; 
 linking, by the linking server and in response to determining a match, the unhashed user tag of the first entry of the first data structure to the unhashed bridge tag of the first entry of the second data structure to generate a first linkage; and 
 providing, by the linking server and to the company server, the first linkage. 
 
     
     
       10. A system for linking user identifiers, the system comprising a linking server having one or more processors and one or more storage devices storing instructions that, when executed by the one or more processors, cause the one or more processors to:
 receive, from a company server, a first data structure comprising entries, each entry comprising an unhashed user tag, a first hashed user information, and a second hashed user information, each entry associated with a user of a client device; 
 receive, from a partner server, a second data structure comprising entries, each entry comprising an unhashed bridge tag, a first hashed bridge information, and a second hashed bridge information, each entry associated with a user of a client device, wherein the first data structure is inaccessible to the partner server and the second data structure is inaccessible to the company server; 
 retrieve, from the first data structure, a first entry of the entries of the first data structure; 
 retrieve, from the second data structure, a first entry of the entries of the second data structure; 
 compare, the first hashed user information of the first entry of the first data structure to the first hashed bridge information of the first entry of the second data structure; link, in response to determining a match, the unhashed user tag of the first entry of the first data structure to the unhashed bridge tag of the first entry of the second data structure to generate a first linkage that does not include the first hashed bridge information or the second hashed bridge information; and 
 providing, to the company server, the first linkage. 
 
     
     
       11. The system of  claim 10 , wherein the one or more storage devices stores instructions that, when executed by the one or more processors, further cause the one or more processors to:
 parse the first hashed user information of the first entry of the first data structure into a first set of characters; 
 parse the first hashed bridge information of the first entry of the second data structure into a second set of characters; and 
 compare a character from the first set of characters to a character from the second set of characters. 
 
     
     
       12. The system of  claim 10 , wherein the one or more storage devices stores instructions that, when executed by the one or more processors, further cause the one or more processors to:
 provide, to the company server, the first linkage. 
 
     
     
       13. The system of  claim 12 , wherein
 the linking server exists inside a clean room environment; wherein the company server exists outside the clean room environment; and wherein the partner server exists outside the clean room environment. 
 
     
     
       14. The system of  claim 10 , wherein the one or more storage devices stores instructions that, when executed by the one or more processors, further cause the one or more processors to:
 remove the first entry of the first data structure and the first entry of the second data structure. 
 
     
     
       15. The system of  claim 10 , wherein the one or more storage devices stores instructions that, when executed by the one or more processors, further cause the one or more processors to:
 retrieve, from the first data structure, a second entry of the entries; 
 retrieve, from the second data structure, a second entry of the entries; and 
 compare the first hashed user information of the second entry of the first data structure to the first hashed bridge information of the second entry of the second data structure. 
 
     
     
       16. The system of  claim 15 , wherein the one or more storage devices stores instructions that, when executed by the one or more processors, further cause the one or more processors to:
 determine a mismatch between the first hashed user information of the second entry of the first data structure to the first hashed bridge information of the second entry of the second data structure; and 
 compare the second hashed user information of the second entry of the first data structure to the second hashed bridge information of the second entry of the second data structure. 
 
     
     
       17. The system of  claim 10 , wherein the one or more storage devices stores instructions that, when executed by the one or more processors, further cause the one or more processors to:
 determine a mismatch between the first hashed user information of the first entry of the first data structure to the first hashed bridge information of the first entry of the second data structure; 
 retrieve, from the second data structure, a second entry of the entries of the second data structure; and 
 compare the first hashed user information of the first entry of the first data structure to the first hashed bridge information of the second entry of the second data structure. 
 
     
     
       18. The system of  claim 17 , wherein the one or more storage devices stores instructions that, when executed by the one or more processors, further cause the one or more processors to:
 compare the second hashed user information of the first entry of the first data structure to the second hashed bridge information of the second entry of the second data structure; 
 link, in response to determining a match, the unhashed user tag of the first entry of the first data structure to the unhashed bridge tag of the first entry of the second data structure to generate a first linkage; and 
 provide, to the company server, the first linkage. 
 
     
     
       19. A method for linking user identifiers, the method comprising:
 receiving, by a linking server and from a company server, a first data structure comprising entries, each entry comprising an unhashed user tag, a first hashed user information, and a second hashed user information, each entry associated with a user of a client device; 
 receiving, by a linking server and from a partner server, a second data structure comprising entries, each entry comprising an unhashed bridge tag, a first hashed bridge information, and a second hashed bridge information, each entry associated with a user of a client device, wherein the first data structure is inaccessible to the partner server and the second data structure is inaccessible to the company server; 
 generating, by the linking server, a third data structure based on the first hashed user information of a first entry of the first data structure and the hashed bridge information of a first entry of the second data structure, the third data structure comprising a linkage between the unhashed user tag of a first entry of the first data structure to the unhashed bridge tag of a first entry of the second data structure, the third data structure does not include the first hashed bridge information or the second hashed bridge information; and 
 providing, by the linking server and to the company server, the third data structure. 
 
     
     
       20. The method of  claim 19 , wherein the first data structure comprises a first email address associated with a client device and a first phone number associated with the client device and wherein the second data structure comprises a second email address associated with the client device and a second phone number associated with the client device.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.