Graph server querying for managing social network information flow
First Claim
Patent Images
1. A computer-implemented method comprising, by one or more processors associated with one or more computing systems:
- receiving, from a client device of a first user of an online social network, a request for a user profile of a second user of the online social network;
retrieving, using the one or more processors and in response to the request, information from a user profile database, the information comprising user profile data of the second user, wherein a social graph representing the online social network comprises a plurality of nodes and edges, each node representing one of a plurality of users of the online social network, each edge representing a relationship between two of the plurality of users and establishing a degree of separation between each of the plurality of users based on the social graph, wherein the first user corresponds to a first node of the plurality of nodes and the second user corresponds to a second node of the plurality of nodes;
determining, using the one or more processors, a profile format for the user profile data of the second user based on a visibility preference of the second user and a degree of separation between the first node and the second node within the social graph, the visibility preference of the second user being included with the information retrieved from the user profile database, and the visibility preference of the second user indicating a specified degree of separation between the second node and another node at which the user is permitted to view the user profile data of the second user in a full profile format; and
sending, to the client device for display to the first user, information representing the user profile data of the second user, wherein;
if the degree of separation between the first node and the second node is less than or equal to the specified degree of separation indicated in the visibility preference of the second user, then sending the information using a full profile format; and
if the degree of separation between the first node and the second node is greater than the specified degree of separation indicated in the visibility preference of the second user, then sending the information using a mini profile format.
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.
-
Citations
20 Claims
-
1. A computer-implemented method comprising, by one or more processors associated with one or more computing systems:
-
receiving, from a client device of a first user of an online social network, a request for a user profile of a second user of the online social network; retrieving, using the one or more processors and in response to the request, information from a user profile database, the information comprising user profile data of the second user, wherein a social graph representing the online social network comprises a plurality of nodes and edges, each node representing one of a plurality of users of the online social network, each edge representing a relationship between two of the plurality of users and establishing a degree of separation between each of the plurality of users based on the social graph, wherein the first user corresponds to a first node of the plurality of nodes and the second user corresponds to a second node of the plurality of nodes; determining, using the one or more processors, a profile format for the user profile data of the second user based on a visibility preference of the second user and a degree of separation between the first node and the second node within the social graph, the visibility preference of the second user being included with the information retrieved from the user profile database, and the visibility preference of the second user indicating a specified degree of separation between the second node and another node at which the user is permitted to view the user profile data of the second user in a full profile format; and sending, to the client device for display to the first user, information representing the user profile data of the second user, wherein; if the degree of separation between the first node and the second node is less than or equal to the specified degree of separation indicated in the visibility preference of the second user, then sending the information using a full profile format; and if the degree of separation between the first node and the second node is greater than the specified degree of separation indicated in the visibility preference of the second user, then sending the information using a mini profile format. - View Dependent Claims (2, 3, 4, 5, 16, 17, 20)
-
-
6. One or more machine-readable non-transitory storage media embodying software that is operable when executed by one or more processors associated with one or more computer systems to:
-
receive, from a client device of a first user of an online social network, a request for a user profile of a second user of the online social network; retrieve, using the one or more processors and in response to the request, information from a user profile database, the information comprising user profile data of the second user, wherein a social graph representing the online social network comprises a plurality of nodes and edges, each node representing one of a plurality of users of the online social network, each edge representing a relationship between two of the plurality of users and establishing a degree of separation between each of the plurality of users based on the social graph, wherein the first user corresponds to a first node of the plurality of nodes and the second user corresponds to a second node of the plurality of nodes; determine, using the one or more processors, a profile format for the user profile data of the second user based on a visibility preference of the second user and a degree of separation between the first node and the second node within the social graph, the visibility preference of the second user being included with the information retrieved from the user profile database, and the visibility preference of the second user indicating a specified degree of separation between the second node and another node at which the user is permitted to view the user profile data of the second user in a full profile format; and send, to the client device for display to the first user, information representing the user profile data of the second user, wherein; if the degree of separation between the first node and the second node is less than or equal to the specified degree of separation indicated in the visibility preference of the second user, then send the information using a full profile format; and if the degree of separation between the first node and the second node is greater than the specified degree of separation indicated in the visibility preference of the second user, then send the information using a mini profile format. - View Dependent Claims (7, 8, 18)
-
-
9. A system comprising:
- a user profile database; and
an application server comprising;one or more computing systems; and one or more non-transitory machine-readable storage media comprising, by one or more processors associated with one or more computing systems, software for causing the one or more computing systems to execute instructions to; receive, from a client device of a first user of an online social network, a request for a user profile of a second user of the online social network; retrieve, using the one or more processors and in response to the request, information from a user profile database, the information comprising user profile data of the second user, wherein a social graph representing the online social network comprises a plurality of nodes and edges, each node representing one of a plurality of users of the online social network, each edge representing a relationship between two of the plurality of users and establishing a degree of separation between each of the plurality of users based on the social graph, wherein the first user corresponds to a first node of the plurality of nodes and the second user corresponds to a second node of the plurality of nodes; determine, using the one or more processors, a profile format for the user profile data of the second user based on a visibility preference of the second user and a degree of separation between the first node and the second node within the social graph, the visibility preference of the second user being included with the information retrieved from the user profile database, and the visibility preference of the second user indicating a specified degree of separation between the second node and another node at which the user is permitted to view the user profile data of the second user in a full profile format; and send, to the client device for display to the first user, information representing the user profile data of the second user, wherein; if the degree of separation between the first node and the second node is less than or equal to the specified degree of separation indicated in the visibility preference of the second user, then sending the information using a full profile format; and if the degree of separation between the first node and the second node is greater than the specified degree of separation indicated in the visibility preference of the second user, then sending the information using a mini profile format. - View Dependent Claims (10, 11, 12, 13, 14, 15, 19)
- a user profile database; and
Specification