IP Library Granted Patent US 9,171,063
Granted Patent B2
US 9,171,063 · App. 13/799,772 · Granted Oct 27, 2015

Short-term hashes

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 9,171,063
App. No.
13/799,772
Granted
Oct 27, 2015
Kind
B2
Abstract

In one embodiment, a server receives a search query; the server determines search terms based on the received search query, each search term including a prefix and a suffix; for each of the search term, the server generates a first binary number based on the each search term's prefix and suffix, and accesses and retrieves search results of the each search term from data stores by hashing the first binary number; the server also aggregates search results of the respective search terms.

Claims (51)

1. A method comprising:

by one or more computing devices, 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, the nodes comprising:

a first node corresponding to a first user associated with an online social network; and

a plurality of second nodes that each correspond to an object associated with the online social network, each object being of a particular object type;

by one or more computing devices, receiving a search query from the first user;

by one or more computing devices, determining one or more search terms based on the received search query, each search term comprising a prefix and a suffix, wherein each prefix corresponds to an edge type and an object type of the social graph, and wherein each suffix corresponds to a particular node of the plurality of nodes;

by one or more computing devices, for each of the search terms:

generating a first binary number based on the each search term's prefix and suffix; and

accessing and retrieving one or more search results of the each search term from one or more data stores by hashing the first binary number, wherein each search result corresponds to a node of the plurality of second nodes; and

by one or more computing devices, aggregating search results of the respective search terms.

2. The method of claim 1 , wherein the generating a first binary number based on the each search term's prefix and suffix further comprises, by one or more computing devices:

generating a second binary number based on the prefix;

generating a third binary number based on the particular object type of the object that corresponds to the node corresponding to the suffix; and

generating the first binary number by concatenating the second and the third binary numbers.

3. The method of claim 2 , wherein a length of the third binary number is determined based on the object type of the suffix.

4. The method of claim 1 , wherein the object corresponds to a user, a concept, or a map tile.

5. The method of claim 1 , wherein a social-networking system comprises the computing devices and the data stores.

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

access 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, the nodes comprising:

a first node corresponding to a first user associated with an online social network; and

a plurality of second nodes that each correspond to an object associated with the online social network, each object being of a particular object type;

receive a search query from the first user;

determine one or more search terms based on the received search query, each search term comprising a prefix and a suffix, wherein each prefix corresponds to an edge type and an object type of the social graph, and wherein each suffix corresponds to a particular node of the plurality of nodes;

for each of the search terms:

generate a first binary number based on the each search term's prefix and suffix; and

access and retrieve one or more search results of the each search term from one or more data stores by hashing the first binary number, wherein each search result corresponds to a node of the plurality of second nodes; and

aggregate search results of the respective search terms.

7. The media of claim 6 , wherein to generate a first binary number based on the each search term's prefix and suffix further comprising, the software is operable when executed to:

generate a second binary number based on the prefix;

generate a third binary number based on the particular object type of the object that corresponds to the node corresponding to the suffix; and

generate the first binary number by concatenating the second and the third binary numbers.

8. The media of claim 7 , wherein a length of the third binary number is determined based on the object type of the suffix.

9. The media of claim 7 , wherein the object corresponds to a user, a concept, or a map tile.

10. The media of claim 6 , wherein a social-networking system comprises the computing devices and the data stores.

11. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

access 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, the nodes comprising:

a first node corresponding to a first user associated with an online social network; and

a plurality of second nodes that each correspond to an object associated with the online social network, each object being of a particular object type;

receive a search query from the first user;

determine one or more search terms based on the received search query, each search term comprising a prefix and a suffix, wherein each prefix corresponds to an edge type and an object type of the social graph, and wherein each suffix corresponds to a particular node of the plurality of nodes;

for each of the search terms:

generate a first binary number based on the each search term's prefix and suffix; and

access and retrieve one or more search results of the each search term from one or more data stores by hashing the first binary number, wherein each search result corresponds to a node of the plurality of second nodes; and

aggregate search results of the respective search terms.

12. The system of claim 11 , wherein to generate a first binary number based on the each search term's prefix and suffix further comprising, the processors are operable when executed the instructions to:

generate a second binary number based on the prefix;

generate a third binary number based on the particular object type of the object that corresponds to the node corresponding to the suffix; and

generate the first binary number by concatenating the second and the third binary numbers.

13. The system of claim 12 , wherein a length of the third binary number is determined based on the object type of the suffix.

14. The system of claim 11 , wherein the object corresponds to a user, a concept, or a map tile.

15. The system of claim 11 , wherein a social-networking system comprises the computing devices and the data stores.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →