IP Library Granted Patent US 10,216,785
Granted Patent B2
US 10,216,785 · App. 13/589,966 · Granted Feb 26, 2019

Dynamically-sorted contact information

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,216,785
App. No.
13/589,966
Granted
Feb 26, 2019
Kind
B2
Abstract

In one embodiment, a computer system accesses for a first user contact information of one or more second users. The computer system then determines one or more contemporaneous attributes of the first user, determines one or more contemporaneous attributes of each of the second users, and then dynamically sorts the contact information of the second users based at least on the contemporaneous attributes of the first user and the contemporaneous attributes of the second users. The computer system then provides the sorted contact information of the second users for display to the first user.

Claims (110)

1. A method comprising:

by one or more computing devices, accessing for a first user contact information of a plurality of second users, wherein the first and second users are users of a social-networking system comprising a graph comprising a plurality of nodes and edges connecting the nodes, the nodes comprising user nodes that each correspond to a user of the social-networking system, there being a node in the graph corresponding to the first user, there being a node in the graph corresponding to each of the second users;

by at least one of the one or more computing devices, determining a current use by the first user of an application for accessing contact information;

by at least one of the one or more computing devices, determining, for at least one of the second users, a current use by the second user of the application;

by at least one of the one or more computing devices, determining a current location of the first user and a current location of the second user;

by at least one of the one or more computing devices, determining that at least one of the second users is not a contact of the first user;

by at least one of the one or more computing devices, dynamically sorting the contact information of the second users by giving preference to contact information of:

at least one second user for whom a current use of the application occurs during a time that the second user is determined to be at the same location as the first user, and

the at least one second users determined not to be a contact of the first user;

by at least one of the one or more computing devices, re-sorting the contact information of the second users in response to a determination that at least one of:

at least one second user's current use of the application;

at least one second user's location;

the first user's current use of the application; or

the first user's location

changed by a predetermined amount; and

by at least one of the one or more computing devices, providing the contact information of the second users as sorted for display to the first user.

2. The method of claim 1 , wherein dynamically sorting the contact information of the second users is further based on one or more contemporaneous attributes of the first user, the one or more contemporaneous attributes of the first user comprising information describing one or more of the first user's:

preferences;

plans;

emotional state;

interactions with a network; or

individuals or entity in the proximity of the first user's location.

3. The method of claim 1 , wherein dynamically sorting the contact information of the second users is further based on one or more contemporaneous attributes of one or more of the second users the one or more contemporaneous attributes of each of the second users comprising information describing one or more of the second user's:

preferences;

plans;

emotional state;

interactions with a network; or

individuals or entity in the proximity of the second user's location.

4. The method of claim 2 , wherein one or more of the contemporaneous attributes of the first user are determined from express information associated with:

nodes in the graph corresponding to the first user; or

edges connected to nodes corresponding to the first user.

5. The method of claim 2 , wherein one or more of the contemporaneous attributes of the first user are determined from implicit information inferred from express information associated with:

nodes in the graph corresponding to the first user; or

edges connected to nodes corresponding to the first user.

6. The method of claim 1 , wherein dynamically sorting the contact information of the second users comprises sorting based on a degree of similarity between the use of the application by the first user and the use of the application by the second user.

7. The method of claim 1 , wherein the current use of the application by the first user and the current use of the application by the second user comprises opening the application.

8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

access for a first user contact information of a plurality of second users, wherein the first and second users are users of a social-networking system comprising a graph comprising a plurality of nodes and edges connecting the nodes, the nodes comprising user nodes that each correspond to a user of the social-networking system, there being a node in the graph corresponding to the first user, there being a node in the graph corresponding to each of the second users;

determine a current use by the first user of an application for accessing contact information;

determine, for at least one of the second users, a current use by the second user of the application;

determine a current location of the first user and a current location of the second user;

determine that one of the second users is not a contact of the first user;

dynamically sort the contact information of the second users by giving preference to contact information of:

at least one second user for whom a current use of the application occurs during a time that the second user is determined to be at the same location as the first user,

and

the at least one second users determined not to be a contact of the first user;

re-sort the contact information of the second users in response to a determination that at least one of:

at least one second user's current use of the application;

at least one second user's location;

the first user's current use of the application; or

the first user's location

changed by a predetermined amount; and

provide the contact information of the second users as sorted for display to the first user.

9. The media of claim 8 , wherein the software is further operable when executed to dynamically sort the contact information of the second users based on one or more contemporaneous attributes of the first user, the one or more contemporaneous attributes of the first user comprising information describing one or more of the first user's:

preferences;

plans;

emotional state;

interactions with a network; or

individuals or entity in the proximity of the first user's location.

10. The media of claim 8 , wherein the software is further operable when executed to dynamically sort the contact information of the second users based on one or more contemporaneous attributes of one or more of the second users, the one or more contemporaneous attributes of each of the second users comprising information describing one or more of the second user's:

preferences;

plans;

emotional state;

interactions with a network; or

individuals or entity in the proximity of the second user's location.

11. The media of claim 9 , wherein one or more of the contemporaneous attributes of the first user are determined from express information associated with:

nodes in the graph corresponding to the first user; or

edges connected to nodes corresponding to the first user.

12. The media of claim 9 , wherein one or more of the contemporaneous attributes of the first user are determined from implicit information inferred from express information associated with:

nodes in the graph corresponding to the first user; or

edges connected to nodes corresponding to the first user.

13. The media of claim 8 , wherein the software is further operable when executed to dynamically sort the contact information of the second users based at least on a degree of similarity between the use of the application by the first user and the use of the application by the second user.

14. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

access for a first user contact information of a plurality of second users, wherein the first and second users are users of a social-networking system comprising a graph comprising a plurality of nodes and edges connecting the nodes, the nodes comprising user nodes that each correspond to a user of the social-networking system, there being a node in the graph corresponding to the first user, there being a node in the graph corresponding to each of the second users;

determine a current use by the first user of an application for accessing contact information;

determine, for at least one of the second users, a current use by the second user of the application;

determine a current location of the first user and a current location of the second user;

determine that one of the second users is not a contact of the first user;

dynamically sort the contact information of the second users by giving preference to contact information of:

at least one second user for whom a current use of the application occurs during a time that the second user is determined to be at the same location as the first user,

and

the at least one second users determined not to be a contact of the first user;

re-sort the contact information of the second users in response to a determination that at least one of:

at least one second user's current use of the application;

at least one second user's location;

the first user's current use of the application; or

the first user's location

changed by a predetermined amount; and

provide the contact information of the second users as sorted for display to the first user.

15. The system of claim 14 , wherein the processors are further operable when executing the instructions to dynamically sort the contact information of the second users based on one or more contemporaneous attributes of the first user, the one or more contemporaneous attributes of the first user comprising information describing one or more of the first user's:

preferences;

plans;

emotional state;

interactions with a network; or

individuals or entity in the proximity of the first user's location.

16. The system of claim 14 , wherein the processors are further operable when executing the instructions to dynamically sort the contact information of the second users based on one or more contemporaneous attributes of one or more of the second users, the one or more contemporaneous attributes of each of the second users comprising information describing one or more of the second user's:

preferences;

plans;

emotional state;

interactions with a network; or

individuals or entity in the proximity of the second user's location.

17. The system of claim 15 , wherein one or more of the contemporaneous attributes of the first user are determined from express information associated with:

nodes in the graph corresponding to the first user; or

edges connected to nodes corresponding to the first user.

18. The system of claim 15 , wherein one or more of the contemporaneous attributes of the first user are determined from implicit information inferred from express information associated with:

nodes in the graph corresponding to the first user; or

edges connected to nodes corresponding to the first user.

19. The system of claim 14 , wherein the processors are further operable when executing the instructions to dynamically sort the contact information of the second users based at least on a degree of similarity between the use of the application by the first user and the use of the application by the second user.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2013
From: DENG, PETER XIU
To: FACEBOOK, INC.
Reel/Frame 030155/0777 →