IP Library › Granted Patent US 11,449,888
Granted Patent B2
US 11,449,888 · App. 16/717,213 · Granted Sep 20, 2022

Reconciliation of disjoint user identifier spaces

Inventor: Jeffrey Winner (Los Altos, CA)
Assignee: Twitter, Inc.
G06Q30/0226G06F16/2255G06Q30/0242G06Q30/0273G06Q50/01H04L67/1095
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 11,449,888
App. No.
16/717,213
Granted
Sep 20, 2022
Kind
B2
Abstract

Two different user spaces can be mapped to each other based on one or more categories of information that are common to both. The mapping is based on hash values generated by applying the same hash function to the same information of the categories of information that identifies users in each user space.

Claims (58)

1. A method for mapping a first user space and a second user space between two computing systems, wherein each computing system maintains user identifiers for authentication and/or authorization of users interacting with that computing system, to permit delivery of content from one computing system to the other computing system for users associated with user identifiers on both computing systems, the method comprising:

determining one or more categories of information that are common to both a first user space and a second user space;

receiving a set of first user identifiers from the first user space and a first set of hash values, wherein the first set of hash values are generated from a hash function applied to first information that uniquely identifies users associated with the set of first user identifiers according to the one or more categories of information;

applying the hash function to second information that uniquely identifies users associated with a set of second user identifiers from the second user space according to the one or more categories of information;

identifying at least one common hash value that is included in both of the first set of hash values and a second set of hash values;

generating mapping information between the first user space and the second user space based on (i) the common hash value corresponding to both of a first user identifier from the set of first user identifiers and a second user identifier from the set of second user identifiers, and (ii) a portion of the one or more categories of information that corresponds to both of the first user identifier and the second user identifier and that does not uniquely identify users of either the first user space or the second user space; and

transmitting, using the mapping information, from a first computing system of the two computing systems that is associated with the first user space to a second computing system of the two computing systems that is associated with the second user space, targeted information for a user device associated with the second user identifier while maintaining anonymity of the second user identifier with respect to the first user space.

2. The method of claim 1 , wherein the mapping information includes generating a mapping table including an entry for the common hash value, its corresponding first user identifier, and its corresponding second user identifier.

3. The method of claim 1 , wherein the one or more categories of information includes at least two categories of information,

wherein each hash value of the first set of hash values is a concatenation of a hash value for each category of information of the at least two categories of information for the first information, and

wherein each hash value of the second set of hash values is a concatenation of a hash value for each category of information of the two or more categories of information for the second information.

4. The method of claim 1 , wherein the one or more categories of information includes at least two categories of information,

wherein each hash value of the first set of hash values is a subset of hash values that includes hash values for each category of information of the at least two categories of information for the first information,

wherein each hash value of the second set of hash values is a subset of hash values that includes hash values for each category of information of the two or more categories of information for the second information,

the identifying including identifying at least one common subset of hash values that is included in both of the first set of hash values and a second set of hash values.

5. The method of claim 1 , wherein the generating the mapping information further includes generating a third user identifier corresponding to the common hash value, its corresponding first user identifier, and its corresponding second user identifier.

6. The method of claim 5 , wherein the third user identifier is of the same form as the set of first user identifiers, as the set of second user identifiers, or both.

7. The method of claim 1 , wherein the mapping information is a first mapping information, further comprising:

identifying at least one non-overlapping hash value that is not included in either the first set of hash values or in the second set of hash values; and

generating a second mapping information between the first user space and the second user space based on the non-overlapping hash value.

8. The method of claim 1 , wherein the hash function is irreversible.

9. The method of claim 1 , wherein the set of user identifiers of the first user space are based on a different nomenclature than the set of user identifiers of the second user space.

10. A system for mapping a first user space and a second user space between two computing systems, wherein each computing system maintains user identifiers for authentication and/or authorization of users interacting with that computing system, to permit delivery of content from one computing system to the other computing system for users associated with user identifiers on both computing systems, the system comprising:

a processor; and

a memory configured to store instructions executable by the processor to:

determine one or more categories of information that are common to both a first user space and a second user space;

receive a set of first user identifiers from the first user space and a first set of hash values, wherein the first set of hash values are generated from a hash function applied to first information that uniquely identifies users associated with the set of first user identifiers according to the one or more categories of information;

apply the hash function to second information that uniquely identifies users associated with a set of second user identifiers from the second user space according to the one or more categories of information;

identify at least one common hash value that is included in both of the first set of hash values and a second set of hash values;

generate mapping information between the first user space and the second user space based on (i) the common hash value corresponding to both of a first user identifier from the set of first user identifiers and a second user identifier from the set of second user identifiers, and (ii) a portion of the one or more categories of information that corresponds to both of the first user identifier and the second user identifier and that does not uniquely identify users of either the first user space or the second user space; and

transmit, using the mapping information, from a first computing system of the two computing systems that is associated with the first user space to a second computing system of the two computing systems that is associated with the second user space, targeted information for a user device associated with the second user identifier while maintaining anonymity of the second user identifier with respect to the first user space.

11. The system of claim 10 , wherein the memory is further configured to store instructions executable by the processor to generate the mapping information by generating a mapping table including an entry for the common hash value, its corresponding first user identifier, and its corresponding second user identifier.

12. The system of claim 10 , wherein the memory is further configured to store instructions executable by the processor to generate the mapping information by generating a third user identifier corresponding to the common hash value, its corresponding first user identifier, and its corresponding second user identifier.

13. The system of claim 12 , wherein the third user identifier is of the same form as the set of first user identifiers, as the set of second user identifiers, or both.

14. The system of claim 10 , wherein the mapping information is a first mapping information, and wherein the memory further stores instructions executable by the processor to:

identify at least one non-overlapping hash value that is not included in either the first set of hash values or in the second set of hash values; and

generate a second mapping information between the first user space and the second user space based on the non-overlapping hash value.

15. The system of claim 10 , wherein the hash function is irreversible.

16. The system of claim 10 , further comprising a reconciliation device, wherein the processor and the memory are associated with the reconciliation device, wherein the memory further stores instructions executable by the processor to:

receive the set of first user identifiers from the first user space associated with a merchant device;

receive the set of second user identifiers from the second user space associated with a provider device; and

transmit at least a portion of the mapping information to the merchant device, the provider device, or both.

17. A non-transitory computer-readable storage medium encoded with instructions for mapping a first user space and a second user space between two computing systems, wherein each computing system maintains user identifiers for authentication and/or authorization of users interacting with that computing system, to permit delivery of content from one computing system to the other computing system for users associated with user identifiers on both computing systems such that the instructions, when executed, cause a processor to:

determine one or more categories of information that are common to both a first user space and a second user space;

receive a set of first user identifiers from the first user space and a first set of hash values, wherein the first set of hash values are generated from a hash function applied to first information that uniquely identifies users associated with the set of first user identifiers according to the one or more categories of information;

apply the hash function to second information that uniquely identifies users associated with a set of second user identifiers from the second user space according to the one or more categories of information;

identify at least one common hash value that is included in both of the first set of hash values and a second set of hash values;

generate mapping information between the first user space and the second user space based on (i) the common hash value corresponding to both of a first user identifier from the set of first user identifiers and a second user identifier from the set of second user identifiers, and (ii) a portion of the one or more categories of information that corresponds to both of the first user identifier and the second user identifier and that does not uniquely identify users of either the first user space or the second user space; and

transmit, using the mapping information, from a first computing system of the two computing systems that is associated with the first user space to a second computing system of the two computing systems that is associated with the second user space, targeted information for a user device associated with the second user identifier while maintaining anonymity of the second user identifier with respect to the first user space.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions cause the processor to generate the mapping information by generating a mapping table including an entry for the common hash value, its corresponding first user identifier, and its corresponding second user identifier.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more categories of information includes at least two categories of information,

wherein each hash value of the first set of hash values is a concatenation of a hash value for each category of information of the at least two categories of information for the first information, and

wherein each hash value of the second set of hash values is a concatenation of a hash value for each category of information of the two or more categories of information for the second information.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more categories of information includes at least two categories of information,

wherein each hash value of the first set of hash values is a subset of hash values that includes hash values for each category of information of the at least two categories of information for the first information,

wherein each hash value of the second set of hash values is a subset of hash values that includes hash values for each category of information of the two or more categories of information for the second information,

the identifying including identifying at least one common subset of hash values that is included in both of the first set of hash values and a second set of hash values.

21. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions cause the processor to generate the mapping information by generating a third user identifier corresponding to the common hash value, its corresponding first user identifier, and its corresponding second user identifier.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL 062079, FRAME 0677) Recorded Mar 3, 2026
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 075015/0574 →
RELEASE OF SECURITY INTEREST Recorded Apr 30, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 071127/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: X CORP. (F/K/A TWITTER, INC.)
Reel/Frame 070670/0857 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 062079/0677 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0001 →
SECURITY INTEREST Recorded Oct 28, 2022
From: TWITTER, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 061804/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2020
From: WINNER, JEFFREY
To: TWITTER, INC.
Reel/Frame 054519/0942 →
Continuity (2)
Continuation 14796609 · Jul 10, 2015
Related Publication 20200126106A1 · Apr 23, 2020