System and method for managing an online social network
First Claim
Patent Images
1. A method comprising:
- responsive to a processing request from an application server to handle a task to determine all registered users of the online social network who are within N degrees of separation from a registered user M, executing, by one or more computing devices, the task by using a graph data structure representing a social network map, the social network map being based on relationship information stored in a database indicating which of the registered users are friends in the online social network;
for each registered user R of the online network that is connected to the registered user M;
determining, by the one or more computing devices, a degree of separation from the registered user M, the degree of separation corresponding to the shortest path between the registered user R and the registered user M; and
when the registered user R is within N degrees of separation from the registered user M, providing, by the one or more computing devices, to the application server, a user ID for the registered user R; and
for each registered user R of the online network that is not connected to the registered user M, providing, by the one or more computing devices, to the application server, an indication that the registered user R is not connected to the registered user M.
1 Assignment
0 Petitions
Accused Products
Abstract
An online social network is managed using one server for database management tasks and another server, preferably in a distributed configuration, for CPU-intensive computational tasks, such as finding a shortest path between two members or a degree of separation between two members. The additional server has a memory device containing relationship information between members of the online social network and carries out the CPU-intensive computational tasks using this memory device. With this configuration, the number of database lookups is decreased and processing speed is thereby increased.
148 Citations
20 Claims
-
1. A method comprising:
-
responsive to a processing request from an application server to handle a task to determine all registered users of the online social network who are within N degrees of separation from a registered user M, executing, by one or more computing devices, the task by using a graph data structure representing a social network map, the social network map being based on relationship information stored in a database indicating which of the registered users are friends in the online social network; for each registered user R of the online network that is connected to the registered user M; determining, by the one or more computing devices, a degree of separation from the registered user M, the degree of separation corresponding to the shortest path between the registered user R and the registered user M; and when the registered user R is within N degrees of separation from the registered user M, providing, by the one or more computing devices, to the application server, a user ID for the registered user R; and for each registered user R of the online network that is not connected to the registered user M, providing, by the one or more computing devices, to the application server, an indication that the registered user R is not connected to the registered user M. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A graph server comprising:
-
one or more processors; and a memory coupled to the processors and comprising instructions executable by the processors, the processors being operable when executing the instructions to; responsive to a processing request from an application server to handle a task to determine all registered users of the online social network who are within N degrees of separation from a registered user M, execute the task by using a graph data structure representing a social network map, the social network map being based on relationship information stored in a database indicating which of the registered users are friends in the online social network; for each registered user R of the online network that is connected to the registered user M; determine a degree of separation from the registered user M, the degree of separation corresponding to the shortest path between the registered user R and the registered user M; and when the registered user R is within N degrees of separation from the registered user M, provide to the application server, a user ID for the registered user R; and for each registered user R of the online network that is not connected to the registered user M, provide, to the application server, an indication that the registered user R is not connected to the registered user M. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
responsive to a processing request from an application server to handle a task to determine all registered users of the online social network who are within N degrees of separation from a registered user M, execute the task by using a graph data structure representing a social network map, the social network map being based on relationship information stored in a database indicating which of the registered users are friends in the online social network; for each registered user R of the online network that is connected to the registered user M; determine a degree of separation from the registered user M, the degree of separation corresponding to the shortest path between the registered user R and the registered user M; and when the registered user R is within N degrees of separation from the registered user M, provide to the application server, a user ID for the registered user R; and for each registered user R of the online network that is not connected to the registered user M, provide to the application server, an indication that the registered user R is not connected to the registered user M. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification