IP Library Granted Patent US 10,693,828
Granted Patent B2
US 10,693,828 · App. 15/790,798 · Granted Jun 23, 2020

Presenting contacts to a social networking system user based on user interactions with additional users and with groups

Inventors: Aleksandar Ilic (Palo Alto, CA); Chuang Wu (Fremont, CA); Peter Henry Martinazzi (Huntington Beach, CA); Ziqing Mao (Mountain View, CA)
Assignee: Facebook, Inc.
H04L51/32H04L51/14
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,693,828
App. No.
15/790,798
Granted
Jun 23, 2020
Kind
B2
Abstract

A social networking system selects a set of contacts for presentation to a user of the social networking system. A contact is an additional user or a group of users maintained by the social networking system. To select the set of contacts, the social networking system generates scores associated with additional users of the social networking system and groups of users based on interactions between the user and various additional users and between the user and groups of users. Based on the scores associated with additional users and with groups of users, the social networking system selects a set of contacts from the additional users and the groups of users. Information identifying the set of contacts is communicated from the social networking system to a client device for presentation to the user.

Claims (36)

1. A method comprising:

storing, for a viewing user of an online system, first interactions and second interactions, each first interaction being between the viewing user and a plurality of individual user contacts of the viewing user, each second interaction being between the viewing user and a group contact of a plurality of group contacts, each individual user contact being a user of the online system and each group contact including a plurality of users of the online system;

determining a plurality of first scores based on the first interactions and a plurality of second scores based on the second interactions, each of the plurality of first scores corresponding to a score for an individual user contact and each of the plurality of second scores corresponding to a score for a contact group;

ranking the plurality of individual user contacts and the plurality of group contacts in a single ranking based at least in part on the determined first scores and the determined second scores, the single ranking including at least one individual user contact and at least one group contact ranked relative to each other based on the first interactions and the second interactions;

selecting a threshold number of the plurality of ranked individual user contacts and the plurality of ranked group contacts from the single ranking as suggested contacts for presentation to the viewing user, wherein the suggested contacts include at least one individual user contact and at least one group contact; and

providing information describing an order of the suggested contacts in the single ranking to a client device of the viewing user, the client device displaying the suggested contacts to the viewing user in an interface of a messaging application.

2. The method of claim 1 , wherein the first interactions are selected from a group consisting of: initiating transmission of a message to the individual user contact via the interface associated with the messaging application, initiating transmission of a response to a message received from the individual user contact via the interface associated with the messaging application, and any combination thereof.

3. The method of claim 1 , wherein the second interactions are selected from a group consisting of: initiating transmission of a message to the group contact via the interface associated with the messaging application, initiating transmission of a response to a message received from the group contact via the interface associated with the messaging application, and any combination thereof.

4. The method of claim 1 , providing the threshold number of selected individual user contacts and one or more groups to the client device of the viewing user includes providing an image for each suggested contact.

5. The method of claim 1 , wherein the first score associated with the individual user contact is further based at least in part on one or more selected from a group consisting of: an indication of whether the individual user contact is accessing the online system, a type of client device used by the individual user contact to access the online system, and any combination thereof.

6. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:

store, for a viewing user of an online system, first interactions and second interactions, each first interaction being between the viewing user and a plurality of individual user contacts of the viewing user, each second interaction being between the viewing user and a group contact of a plurality of group contacts, each individual user contact being a user of the online system and each group contact including a plurality of users of the online system;

determine a plurality of first scores based on the first interactions and a plurality of second scores based on the second interactions, each of the plurality of first scores corresponding to a score for an individual user contact and each of the plurality of second scores corresponding to a score for a contact group;

rank the plurality of individual user contacts and the plurality of group contacts in a single ranking based at least in part on the determined first scores and the determined second scores, the single ranking including at least one individual user contact and at least one group contact ranked relative to each other based on the first interactions and the second interactions;

select a threshold number of the plurality of ranked individual user contacts and the plurality of ranked group contacts from the single ranking as suggested contacts for presentation to the viewing user, wherein the suggested contacts include at least one individual user contact and at least one group contact; and

provide information describing an order of the suggested contacts in the single ranking to a client device of the viewing user, the client device displaying the suggested contacts to the viewing user in an interface of a messaging application.

7. The computer program product of claim 6 , wherein the one or more first interactions are selected from a group consisting of: initiating transmission of a message to the individual user contact via the interface associated with the messaging application, initiating transmission of a response to a message received from the individual user contact via the interface associated with the messaging application, and any combination thereof.

8. The computer program product of claim 6 , wherein the one or more second interactions are selected from a group consisting of: initiating transmission of a message to the group contact via the interface associated with the messaging application, initiating transmission of a response to a message received from the group contact via the interface associated with the messaging application, and any combination thereof.

9. The computer program product of claim 6 , providing the threshold number of selected individual user contacts and one or more groups to the client device of the viewing user includes providing an image for each suggested contact.

10. The computer program product of claim 6 , wherein the first score associated with the individual user contact is further based at least in part on one or more selected from a group consisting of: an indication of whether the individual user contact is accessing the online system, a type of client device used by the individual user contact to access the online system, and any combination thereof.

11. A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:

store, for a viewing user of an online system, first interactions between the viewing user and a plurality of individual user contacts of the online system through a messaging application of the online system;

store, for the viewing user, second interactions between the viewing user and a plurality of group contacts of the online system, each group contact including a plurality of individual user contacts through the messaging application of the online system;

determine a user interaction score for each of the plurality individual user contacts, the user interaction score indicating a likelihood of the user interacting with an individual user contact of the plurality of individual user contacts based at least in part on first interactions of the first interactions between the viewing user and the individual user contact;

determine a group contact interaction score for each of the plurality of group contacts, the group interaction score indicating a likelihood of the user interacting with a group contact of the plurality of group contacts based at least in part on second interactions between the viewing user and the group contact;

select one or more of the plurality of individual user contacts and one or more of the plurality of group contacts to present to the viewing user as suggested contacts for the messaging application based at least in part in part on the user interaction score for each of the plurality of individual user contacts and the group interaction score for each of the plurality of group contacts, wherein selecting the one or more suggested contacts comprises:

ranking the plurality of individual user contacts and the plurality of groups into a single ranking of contracts based at least in part on the user interaction score for each of the plurality individual user contacts and the group interaction score for each of the plurality of group contacts; and

selecting the one or more suggested contacts from a top threshold number of contacts from the single ranking; and

communicate information describing an order of the suggested contacts in the single ranking to a client device for presentation to the viewing user in an interface of the messaging application that presents information associated with contacts, information with a contact initiating communication with the content via the online system when accessed.

12. The computer program product of claim 11 , wherein selecting the one or more suggested contacts based at least in part in part on the user interaction score for each of the plurality individual user contacts and the group interaction score for each of the plurality of group contacts comprises:

select a contact as an individual user contact or a group contact having at least a threshold position in the single ranking.

13. The computer program product of claim 11 , wherein an interaction between the user and an individual user contact is selected from a group consisting of: initiating transmission of a message to the individual user contact via the interface associated with the messaging application, initiating transmission of a response to a message received from the individual user contact via the interface associated with the messaging application, and any combination thereof.

14. The computer program product of claim 11 , wherein an interaction between the viewing user and a group contact is selected from a group consisting of: initiating transmission of a message to the group contact via the interface associated with the messaging application, initiating transmission of a response to a message received from the group contact via the interface associated with the messaging application, and any combination thereof.

15. The computer program product of claim 11 , wherein selecting the one or more suggested contacts based at least in part in part on the user interaction score for each of the plurality individual user contacts and the group interaction score for each of the plurality of group contacts comprises:

determining an order of the one or more suggested contacts based on the user interaction score for each of the plurality individual user contacts and the group interaction score for each of the plurality of group contacts.

16. The computer program product of claim 11 , wherein the score associated with the individual user contact is further based at least in part on one or more selected from a group consisting of: an indication of whether the individual user contact is accessing the online system, a type of client device used by the individual user contact to access the online system, and any combination thereof.

Assignments (2)
CHANGE OF NAME Recorded Nov 18, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058897/0824 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR MAO, ZIGING PREVIOUSLY RECORDED ON REEL 035397 FRAME 0764. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 6, 2018
From: ILIC, ALEKSANDAR; WU, CHUANG; MARTINAZZI, PETER HENRY; MAO, ZIQING
To: FACEBOOK, INC.
Reel/Frame 046732/0823 →