Graph Server Querying for Managing Social Network Information Flow
AssigneeFacebook, Inc.
InventorsNicholas Galbreath, Mirko Predosin
Life of this patent
Estimating the term…
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.
Claims20
A computer-implemented method comprising:
- receiving, at one or more computing systems, a query associated with a first user of a social network;
- retrieving, using one or more processors associated with the one or more computing systems, information based on the query, the information representing a user profile associated with a second user of the social network;
- determining, using the one or more processors, a profile format for the user profile based on a visibility preference of the second user;
- and
- transmitting information, based on the profile format, representing the user profile associated with the second user.
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, at the one or more computing systems, a query associated with a first user of a social network, wherein the query requests a user profile associated with a second user of the social network;
- retrieve, from a database, information representing the user profile of the second user based on the query;
- retrieve a degree of separation between the first user and the second user by accessing a social graph stored in a dedicated memory device;
- determine, using the one or more processors, a profile format for the user profile based on a visibility preference of the second user and the degree of separation between the first user and the second user;
- and
- transmit information, based on the profile format, representing the user profile associated with the second user.
A system comprising:
- a database;
- a graph server comprising:
- a dedicated memory device;
- a processor;
- and
- one or more non-transitory machine-readable storage media comprising software for causing the processor to execute instructions to:
- receive information identifying a first user of a social network and a second user of a social network;
- access a social graph stored on the dedicated memory device;
- and
- determine a degree of separation between the first user and the second user based on the social graph;
- and
- an application server comprising:
- a processor;
- and
- one or more non-transitory machine-readable storage media comprising software for causing the processor to execute instructions to:
- receive a query associated with a first user of a social network, wherein the query requests a user profile associated with a second user of the social network;
- retrieve, from the database, based on the query, information representing the user profile of the second user and information representing a visibility preference of the second user;
- retrieve, from the graph server, a degree of separation between the first user and the second user;
- determine a profile format for the user profile based on the visibility preference of the second user and the degree of separation between the first user and the second user;
- and
- transmit information, based on the profile format, representing the user profile associated with the second user.
Dependencies are inferred from the claim text.