IP Library Granted Patent US 10,558,673
Granted Patent B2
US 10,558,673 · App. 15/647,319 · Granted Feb 11, 2020

Techniques for prospective contact ranking of address book entries

Inventor: Han Gyul Lee (Sunnyvale, CA)
Assignee: FACEBOOK, INC.
G06F16/24578G06F16/9024H04L51/04H04L61/1564
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,558,673
App. No.
15/647,319
Granted
Feb 11, 2020
Kind
B2
Abstract

Techniques for prospective contact ranking of address book entries are described. In one embodiment, an apparatus may comprise a client front-end component operative to receive a prospective contact display prompt from a client application on a client device, the client application associated with a user account; receive an address book from the client device, the address book comprising a plurality of address book entries; and send the ordered prospective contact list to the client application on the client device; a prospective contact list component operative to determine a prospective contact list based on the address book, the prospective contact list comprising a plurality of prospective contacts; and a contact ranking component operative to determine a ranking weight for each of the plurality of prospective contacts; and generate an ordered prospective contact list by ordering the prospective contact list based on the ranking weights. Other embodiments are described and claimed.

Claims (62)

1. A computer-implemented method, comprising:

receiving a prospective contact display prompt from a client application on a client device associated with a user, the client application associated with a user account;

receiving an address book from the client device, the address book external to the client application, the address book comprising a plurality of address book entries;

determining a prospective contact list based on the address book, the prospective contact list comprising a plurality of prospective contacts;

determining a proxy messaging affinity between the user and each of the plurality of prospective contacts;

determining a ranking weight for each of the plurality of prospective contacts based at least in part on the determined proxy messaging affinity;

generating an ordered prospective contact list by ordering the prospective contact list based on the ranking weight for each of the plurality of prospective contacts; and

sending the ordered prospective contact list to the client application on the client device, and

wherein the determining of the proxy messaging affinity between the user and each of the plurality of prospective contacts comprises determining one or more existing contacts with the client application for the user account and determining a messaging affinity between the user and each of one or more linking contacts of the one or more existing contacts, and

wherein the messaging affinity between the user and each of the one or more linking contacts is used as the proxy messaging affinity between the user and each of the plurality of prospective contacts.

2. The method of claim 1 , the client application associated with a messaging system, wherein the plurality of prospective contacts selected from the plurality of address book entries based on the plurality of prospective contacts not being users of the messaging system.

3. The method of claim 1 , the client application associated with a messaging system, further comprising:

extracting a plurality of phone numbers from the plurality of address book entries; and

matching the plurality of phone numbers against user phone numbers registered with the messaging system to determine the plurality of prospective contacts, the plurality of prospective contacts determined based on the plurality of prospective contacts being associated with a plurality of prospective phone numbers from the plurality of phone numbers such that the plurality of prospective phone numbers do not match the user phone numbers registered with the messaging system.

4. The method of claim 3 , the ordered prospective contact list comprising a plurality of controls operative to initiating a phone-number-based invitation to the messaging system for the plurality of prospective contacts based on the plurality of prospective phone numbers.

5. The method of claim 1 , further comprising:

receiving a plurality of address book updates from the client device, the address book updates for the address book external to the client application, wherein each of the plurality of address book updates is associated with a reception date;

determining recency for each of the plurality of prospective contacts; and

generating the ranking weight for each of the plurality of prospective contacts based on the recency for each of the plurality of prospective contacts.

6. The method of claim 1 , wherein the determining of the proxy messaging affinity between the user and each of the plurality of prospective contacts further comprises:

determining the one or more linking contacts of the one or more existing contacts based on the one or more linking contacts having one or more address book entries for one or more linked prospective contacts of the plurality of prospective contacts; and

wherein the messaging affinity indicates, defines, or describes one or more of the following: (i) a level of interaction between the user and the respective linking contact, (ii) one or more common interests shared between the user and the respective linking contact, (iii) social-networking information related to the user and the respective linking contact, and (iv) messaging information related to the user and the respective linking contact.

7. The method of claim 6 , wherein the messaging affinity for the one or more linking contacts is based on a linear regression of a historical data set for prospective contact invitations, the linear regression optimizing for one or more of a meaningful-conversation measure and an invitation-sent measure.

8. An apparatus, comprising:

a client front-end component operative to receive a prospective contact display prompt from a client application on a client device associated with a user, the client application associated with a user account; receive an address book from the client device, the address book external to the client application, the address book comprising a plurality of address book entries; and send an ordered prospective contact list to the client application on the client device;

a prospective contact list component operative to determine a prospective contact list based on the address book, the prospective contact list comprising a plurality of prospective contacts; and

a contact ranking component operative to determine a proxy messaging affinity between the user and each of the plurality of prospective contacts; determine a ranking weight for each of the plurality of prospective contacts based at least in part on the determined proxy messaging affinity; and generate the ordered prospective contact list by ordering the prospective contact list based on the ranking weight for each of the plurality of prospective contacts, and

wherein the determination of the proxy messaging affinity between the user and each of the plurality of prospective contacts comprises a ranking information component operative to determine one or more existing contacts with the client application for the user account and determine a messaging affinity between the user and each of one or more linking contacts of the one or more existing contacts, and

wherein the messaging affinity between the user and each of the one or more linking contacts is used as the proxy messaging affinity between the user and each of the plurality of prospective contacts.

9. The apparatus of claim 8 , the client application associated with a messaging system, wherein the plurality of prospective contacts selected from the plurality of address book entries based on the plurality of prospective contacts not being users of the messaging system.

10. The apparatus of claim 8 , the client application associated with a messaging system, further comprising:

the prospective contact list component operative to extract a plurality of phone numbers from the plurality of address book entries; and match the plurality of phone numbers against user phone numbers registered with the messaging system to determine the plurality of prospective contacts, the plurality of prospective contacts determined based on the plurality of prospective contacts being associated with a plurality of prospective phone numbers from the plurality of phone numbers such that the plurality of prospective phone numbers do not match the user phone numbers registered with the messaging system.

11. The apparatus of claim 10 , the ordered prospective contact list comprising a plurality of controls operative to initiating a phone-number-based invitation to the messaging system for the plurality of prospective contacts based on the plurality of prospective phone numbers.

12. The apparatus of claim 8 , further comprising:

the client front-end component operative to receive a plurality of address book updates from the client device, the address book updates for the address book external to the client application, wherein each of the plurality of address book updates is associated with a reception date;

a ranking information component operative to determine recency for each of the plurality of prospective contacts; and

the contact ranking component operative to generate the ranking weight for each of the plurality of prospective contacts based on the recency for each of the plurality of prospective contacts.

13. The apparatus of claim 8 , wherein the determination of the proxy messaging affinity between the user and each of the plurality of prospective contacts further comprises:

determine the one or more linking contacts of the one or more existing contacts based on the one or more linking contacts having one or more address book entries for one or more linked prospective contacts of the plurality of prospective contacts; and wherein the messaging affinity indicates, defines, or describes one or more of the following: (i) a level of interaction between the user and the respective linking contact, (ii) one or more common interests shared between the user and the respective linking contact, (iii) social-networking information related to the user and the respective linking contact, and (iv) messaging information related to the user and the respective linking contact.

14. The apparatus of claim 13 , wherein the messaging affinity for the one or more linking contacts is based on a linear regression of a historical data set for prospective contact invitations, the linear regression optimizing for one or more of a meaningful-conversation measure and an invitation-sent measure.

15. At least one computer-readable storage medium comprising instructions that, when executed, cause a system to:

receive a prospective contact display prompt from a client application on a client device associated with a user, the client application associated with a user account;

receive an address book from the client device, the address book external to the client application, the address book comprising a plurality of address book entries;

determine a prospective contact list based on the address book, the prospective contact list comprising a plurality of prospective contacts;

determine a proxy messaging affinity between the user and each of the plurality of prospective contacts;

determine a ranking weight for each of the plurality of prospective contacts based at least in part on the determined proxy messaging affinity;

generate an ordered prospective contact list by ordering the prospective contact list based on the ranking weight for each of the plurality of prospective contacts; and

send the ordered prospective contact list to the client application on the client device, and

wherein the determination of the proxy messaging affinity between the user and each of the plurality of prospective contacts comprises further instructions that, when executed, cause the system to determine one or more existing contacts with the client application for the user account and determine a messaging affinity between the user and each of one or more linking contacts of the one or more existing contacts, and

wherein the messaging affinity between the user and each of the one or more linking contacts is used as the proxy messaging affinity between the user and each of the plurality of prospective contacts.

16. The computer-readable storage medium of claim 15 , the client application associated with a messaging system, wherein the plurality of prospective contacts selected from the plurality of address book entries based on the plurality of prospective contacts not being users of the messaging system.

17. The computer-readable storage medium of claim 15 , the client application associated with a messaging system, comprising further instructions that, when executed, cause a system to:

extract a plurality of phone numbers from the plurality of address book entries; and

match the plurality of phone numbers against user phone numbers registered with the messaging system to determine the plurality of prospective contacts, the plurality of prospective contacts determined based on the plurality of prospective contacts being associated with a plurality of prospective phone numbers from the plurality of phone numbers such that the plurality of prospective phone numbers do not match the user phone numbers registered with the messaging system.

18. The computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

receive a plurality of address book updates from the client device, the address book updates for the address book external to the client application, wherein each of the plurality of address book updates is associated with a reception date;

determine recency for each of the plurality of prospective contacts; and

generate the ranking weight for each of the plurality of prospective contacts based on the recency for each of the plurality of prospective contacts.

19. The computer-readable storage medium of claim 15 , wherein the determination of the proxy messaging affinity between the user and each of the plurality of prospective contacts comprises further instructions that, when executed, cause the system to:

determine the one or more linking contacts of the one or more existing contacts based on the one or more linking contacts having one or more address book entries for one or more linked prospective contacts of the plurality of prospective contacts; and

wherein the messaging affinity indicates, defines, or describes one or more of the following: (i) a level of interaction between the user and the respective linking contact, (ii) one or more common interests shared between the user and the respective linking contact, (iii) social-networking information related to the user and the respective linking contact, and (iv) messaging information related to the user and the respective linking contact.

20. The computer-readable storage medium of claim 19 , wherein the messaging affinity for the one or more linking contacts is based on a linear regression of a historical data set for prospective contact invitations, the linear regression optimizing for one or more of a meaningful-conversation measure and an invitation-sent measure.

Assignments (2)
CHANGE OF NAME Recorded May 5, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059858/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2017
From: LEE, HAN GYUL
To: FACEBOOK, INC.
Reel/Frame 044149/0253 →
Continuity (1)
Related Publication 20190018848A1 · Jan 17, 2019
Cited By (1)
US 12,598,457