Approximate privacy indexing for search queries on online social networks
First Claim
Patent Images
1. A method comprising, by one or more computing devices:
- receiving from a first user of an online social network a search query;
searching one or more data stores to identify one or more objects associated with the online social network that substantially match the search query, wherein each object is associated with a privacy setting, and wherein identifying the one or more objects is based in part on identifying a percentage of objects having a privacy setting likely to make the object visible to the first user;
determining for each identified object a visibility of the object with respect to the first user, wherein;
when the object is visible to the first user, then selecting the object; and
when the object is not visible to the first user, then excluding the object; and
generating one or more search results corresponding to the search query, wherein each search result corresponds to one of the selected objects having visibility that is visible to the first user;
each search result comprising a reference to the identified object corresponding to the search result.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving from a first user of an online social network a search query, searching data stores to identify objects that match the search query, where identifying the objects is also based in part on the privacy setting for each object, determining for each identified object a visibility of the object with respect to the first user, and generating one or more search results corresponding to the search query.
27 Citations
19 Claims
-
1. A method comprising, by one or more computing devices:
-
receiving from a first user of an online social network a search query; searching one or more data stores to identify one or more objects associated with the online social network that substantially match the search query, wherein each object is associated with a privacy setting, and wherein identifying the one or more objects is based in part on identifying a percentage of objects having a privacy setting likely to make the object visible to the first user; determining for each identified object a visibility of the object with respect to the first user, wherein; when the object is visible to the first user, then selecting the object; and when the object is not visible to the first user, then excluding the object; and generating one or more search results corresponding to the search query, wherein each search result corresponds to one of the selected objects having visibility that is visible to the first user;
each search result comprising a reference to the identified object corresponding to the search result.
-
-
2. The method of claim 1, further comprising sending to the first user one or more of the search results.
-
3. The method of claim 1, further comprising filtering each excluded object from the search results.
-
4. The method of claim 1, further comprising scoring each identified object based on the privacy setting associated with the object.
-
5. The method of claim 1, further comprising scoring each identified object based on a social-graph affinity associated with the first node with respect to the identified object.
-
6. The method of claim 1, wherein the privacy setting defines a visibility of the object with respect to users accessing the online social network.
-
7. The method of claim 1, wherein identifying the one or more objects is further based in part on determining whether the privacy setting of the object is likely to make the object visible to the first user.
-
8. The method of claim 1, further comprising generating a query command based on the search query, the query command comprising one or more query constraints.
-
9. The method of claim 8, wherein:
-
the query command comprises a privacy query constraint requesting objects having a first privacy setting; and identifying the one or more objects based in part on the privacy setting for each object comprises determining whether the privacy setting of the object matches the first privacy setting.
-
-
10. The method of claim 1, further comprising:
-
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, wherein each node of the plurality of nodes corresponds to a particular object, the nodes comprising; a first node corresponding to the first user; and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network.
-
-
11. The method of claim 10, wherein the search query is a structured query comprising references to one or more selected nodes from the plurality of nodes and one or more selected edges from the plurality of edges.
-
12. The method of claim 10, wherein each search result corresponds to a node of the plurality of nodes.
-
13. The method of claim 10, wherein determining for each identified object a visibility of the object with respect to the first user comprises, for each identified object:
-
identifying a node of the plurality of nodes corresponding to the identified object; and determining whether the identified node is connected to the first node in the social graph by a series of nodes and edges that each have a visibility that is visible to the first user.
-
-
14. The method of claim 10, wherein determining for each identified object a visibility of the object with respect to the first user comprises, for each identified object:
-
identifying a node of the plurality of nodes corresponding to the identified object; and determining whether the identified node is within a threshold degree of separation from the first node in the social graph.
-
-
15. The method of claim 10, wherein the privacy setting associated with each object defines a visibility of the node corresponding to the object.
-
16. The method of claim 10, wherein the privacy setting associate with each object defines a visibility of one or more of the edges connected to the node corresponding to the object.
-
17. The method of claim 1, wherein the search query is a text query comprising one or more n-grams.
-
18. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
receive from a first user of an online social network a search query; search one or more data stores to identify one or more objects associated with the online social network that substantially match the search query, wherein each object is associated with a privacy setting, and wherein identifying the one or more objects is based in part on identifying a percentage of objects having a privacy setting likely to make the object visible to the first user; determine for each identified object a visibility of the object with respect to the first user, wherein; when the object is visible to the first user, then select the object; and when the object is not visible to the first user, then exclude the object; and generate one or more search results corresponding to the search query, wherein each search result corresponds to one of the selected objects having visibility that is visible to the first user;
each search result comprising a reference to the identified object corresponding to the search result.
-
-
19. 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;receive from a first user of an online social network a search query; search one or more data stores to identify one or more objects associated with the online social network that substantially match the search query, wherein each object is associated with a privacy setting, and wherein identifying the one or more objects is based in part on identifying a percentage of objects having a privacy setting likely to make the object visible to the first user; determine for each identified object a visibility of the object with respect to the first user, wherein; when the object is visible to the first user, then select the object; and when the object is not visible to the first user, then exclude the object; and generate one or more search results corresponding to the search query, wherein each search result corresponds to one of the selected objects having visibility that is visible to the first user;
each search result comprising a reference to the identified object corresponding to the search result.
- one or more processors; and
Specification