IP Library Granted Patent US 10,412,076
Granted Patent B2
US 10,412,076 · App. 15/282,666 · Granted Sep 10, 2019

Identifying users based on federated user identifiers

Inventors: Mehul S. Parikh (Fremont, CA); Marc Christian Saba (Palo Alto, CA); Li Zhou (Campbell, CA); Yimin Song (Sunnyvale, CA)
Assignee: Facebook, Inc.
H04L63/0815
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,412,076
App. No.
15/282,666
Granted
Sep 10, 2019
Kind
B2
Abstract

An online system receives a variety of identifiers associated with a user of the online system and generates a federated list of identifiers for the user that includes each of the received identifiers. Identifiers may be browser identifiers, device identifiers, Internet protocol address, personally identifiable information, or a user identifier of a different online system. For each identifier in the federated list of identifiers, the online system generates metadata information such as a confidence score indicating a degree of certainty that the identifier can be used to accurately identify the user of the online system. The online system aggregates features associated with the identifiers in the federated list of identifiers to generate a comprehensive user profile of the user and uses the comprehensive user profile to better serve the user.

Claims (45)

1. A method comprising:

receiving, by an online system, a plurality of identifiers associated with a user of the online system, the identifiers including at least a device identifier, a first user account identifier for the online system, and a second user account identifier for a partner system different from the online system;

determining that each identifier in the received plurality of identifiers has not been previously received by the online system;

generating a federated list of identifiers associated with the user comprising the plurality of identifiers;

for each identifier in the federated list of identifiers, generating metadata information associated with the identifier, the metadata information indicating a likelihood that the identifier can be used to identify the user from a set of users of the partner system;

storing the federated list of identifiers and the generated metadata information for each identifier in the federated list of identifiers;

in response to receiving an additional identifier associated with the user and in response to the federated list of identifiers not already including the additional identifier, updating the federated list of identifiers associated with the user to include the additional identifier; and

aggregating features describing the user from user accounts associated with the identifiers in the federated list of identifiers that are associated with an above-threshold likelihood that the identifier can be used to identify the user to generate a comprehensive user profile that includes features from the device associated with the device identifier, the online system, and the partner system.

2. The method of claim 1 , wherein each identifier in the federated list of identifiers associated with the user is one of an online system user identifier, a browser identifier, a cookie identifier, a device identifier, a partner identifier, personally identifiable information identifying the user, a user identifier of a different online system that identifies the user, and an Internet protocol address.

3. The method of claim 1 , wherein generating metadata information associated with each identifier further comprises generating a confidence score, a weight, a timestamp, identifier connections, and a frequency of events.

4. The method of claim 3 , wherein the confidence score of an identifier indicates a degree of certainty that the identifier can be used to accurately identify the user of the online system.

5. The method of claim 4 , wherein the confidence score of the identifier is determined based on the frequency of events associated with the identifier, wherein a higher frequency of events correlates to a higher confidence score of the identifier.

6. The method of claim 3 , wherein the weight of an identifier represents importance of the identifier relative to other identifiers in the federated list of identifiers.

7. The method of claim 1 , wherein the federated list of identifiers is represented by an identifier graph that includes connections between pairs of identifiers in the federated list of identifiers, and wherein each identifier in the federated list of identifiers is stored by the online system as a key-value pair.

8. The method of claim 7 , wherein the identifier graph includes at least one connection between an online system user identifier that identifies the user of the online system and the at least one identifier received from the partner system.

9. The method of claim 1 , wherein aggregating features associated with the identifiers in the federated list of identifiers comprises:

for each identifier in the federated list of identifiers, extracting features associated with the identifier from a user profile of the online system and from a user profile of the partner system, each extracted feature representing a characteristic of the user; and

aggregating the extracted features to generate the comprehensive profile of the user.

10. The method of claim 1 further comprising:

generating the comprehensive user profile for the user of the online system comprising the aggregated features describing the user; and

storing, by the online system, the generated comprehensive user profile.

11. The method of claim 10 further comprising:

selecting a content item to be presented to the user of the online system based on the aggregated features describing the user included in the generated comprehensive user profile; and

providing the content item for viewing by the user of the online system.

12. A non-transitory computer-readable medium comprising computer program instructions, the computer program instructions when executed by a processor of a computer device causes the processor to perform the steps including:

receiving, by an online system, a plurality of identifiers associated with a user of the online system, the identifiers including at least a device identifier, a first user account identifier for the online system, and a second user account identifier for a partner system different from the online system;

determining that each identifier in the received plurality of identifiers has not been previously received by the online system;

generating a federated list of identifiers associated with the user comprising the plurality of identifiers;

for each identifier in the federated list of identifiers, generating metadata information associated with the identifier, the metadata information indicating a likelihood that the identifier can be used to identify the user from a set of users of the partner system;

storing the federated list of identifiers and the generated metadata information for each identifier in the federated list of identifiers;

in response to receiving an additional identifier associated with the user and in response to the federated list of identifiers not already including the additional identifier, updating the federated list of identifiers associated with the user to include the additional identifier; and

aggregating features describing the user from user accounts associated with the identifiers in the federated list of identifiers that are associated with an above-threshold likelihood that the identifier can be used to identify the user to generate a comprehensive user profile that includes features from the device associated with the device identifier, the online system, and the partner system.

13. The non-transitory computer-readable storage medium of claim 12 , wherein each identifier in the federated list of identifiers associated with the user is one of an online system user identifier, a browser identifier, a cookie identifier, a device identifier, a partner identifier, personally identifiable information identifying the user, a user identifier of a different online system that identifies the user, and an Internet protocol address.

14. The non-transitory computer-readable storage medium of claim 12 , wherein generating metadata information associated with each identifier further comprises generating a confidence score, a weight, a timestamp, identifier connections, and a frequency of events.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the confidence score of an identifier indicates a degree of certainty that the identifier can be used to accurately identify the user of the online system.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the confidence score of the identifier is determined based on the frequency of events associated with the identifier, wherein a higher frequency of events correlates to a higher confidence score of the identifier.

17. The non-transitory computer-readable storage medium of claim 12 , wherein the federated list of identifiers is represented by an identifier graph that includes connections between pairs of identifiers in the federated list of identifiers, and wherein each identifier in the federated list of identifiers is stored by the online system as a key-value pair.

18. The method of claim 17 , wherein the identifier graph includes at least one connection between an online system user identifier that identifies the user of the online system and the at least one identifier received from the partner system.

19. The non-transitory computer-readable storage medium of claim 12 , wherein aggregating features associated with the identifiers in the federated list of identifiers comprises:

for each identifier in the federated list of identifiers, extracting features associated with the identifier from a user profile of the online system and from a user profile of the partner system, each extracted feature representing a characteristic of the user; and

aggregating the extracted features to generate the comprehensive profile of the user.

20. The non-transitory computer-readable storage medium of claim 12 , further comprising computer instructions that, when executed by a processor of a computer device, causes the processor to perform the steps including:

generating the comprehensive user profile for the user of the online system comprising the aggregated features describing the user;

selecting a content item to be presented to the user of the online system based on the aggregated features describing the user included in the generated comprehensive user profile; and

providing the content item for viewing by the user of the online system.

Assignments (2)
CHANGE OF NAME Recorded Dec 30, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058600/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2016
From: PARIKH, MEHUL S.; SABA, MARC CHRISTIAN; ZHOU, LI; SONG, YIMIN
To: FACEBOOK, INC.
Reel/Frame 040406/0078 →
Continuity (1)
Related Publication 20180097800A1 · Apr 5, 2018