8316056

Second-Order Connection Search in a Social Networking System

PublishedNovember 20, 2012
Assigneenot available in USPTO data we have
InventorsAkhil Wable
Technical Abstract

Patent Claims
12 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method comprising: receiving a textual query from a client device, the query associated with a searching user of a social networking system; identifying a set of first-order connections of the searching user, wherein the first-order connections comprise one or more other users with whom the searching user is connected in the social networking system, each of the one or more other users having an associated connections table in the social networking system, the connections table for a user comprising a set of name tokens of other users of with whom the user is connected in the social networking system, each name token having an associated user identifier of a user to which the name token corresponds; identifying a first set of second-order connections of the searching user that match the query based on the identified first-order connections, wherein the second-order connections comprise one or more other users with whom a first-order connection is connected in the social networking system, the identifying the set of second-order connections comprising: identifying one of the user identifiers of a connections table associated with the searching user; identifying a connections table for the user with which the user identifier is associated; and performing a binary search of the name tokens of the identified connections table to identify name tokens having the query as a prefix; wherein the identified set of second-order connections comprises the user identifiers associated with the identified name tokens; determining a number of first-order connections in common between the searching user and one or more of the identified second-order connections; generating a result set based at least in part on the determined number of first-order connections in common, the result set including one or more of the identified second-order connections; and providing at least a portion of the result set to the client device in response to the query.

2

2. The method of claim 1 , further comprising: receiving a second textual query from the client device, the second query consisting of the first query with the addition of one extra textual character; and identifying a second set of second-order connections of the user that match the query based on the identified first-order connections; wherein the second set of second-order connections comprises fewer users than the first set of second-order connections.

3

3. The method of claim 1 , wherein determining the number of first-order connections in common comprises: storing a list of second-order connections of the searching user, the second-order connections in the list having associated count values; and for a first one of the user identifiers associated with the identified name tokens: determining whether the first one of the user identifiers is present in the stored list; responsive to the first one of the user identifiers being present in the stored list, incrementing the count value associated with the first one of the user identifiers; and responsive to the first one of the user identifiers being absent from the stored list, adding the first one of the user identifiers to the stored list and setting the associated count value to 1.

4

4. The method of claim 1 , wherein generating the result set comprises: sorting the one or more of the identified second-order connections according to the determined number of first-order connections in common.

5

5. The method of claim 1 , wherein generating the result set comprises: removing a connection from the identified second-order connections responsive to the determined number of first-order connections in common being below a predetermined threshold.

6

6. The method of claim 1 , wherein the result set additionally comprises one or more of the identified set of first-order connections, and wherein generating the result set comprises ordering the one or more of the identified set of first-order connections in the result set before the one or more of the identified set of second-order connections.

7

7. The method of claim 1 , wherein the result set additionally comprises one or more of an application, a page, a group, and an event.

8

8. A computer-readable storage medium having executable computer program instructions embodied therein, the instructions for: receiving a query from a client device, the query associated with a searching user of a social networking system; identifying a set of first-order connections of the searching user, wherein the first-order connections comprise one or more other users with whom the searching user is connected in the social networking system, each of the one or more other users having an associated connections table in the social networking system, the connections table for a user comprising a set of name tokens of other users of with whom the user is connected in the social networking system, each name token having an associated user identifier of a user to which the name token corresponds; identifying a first set of second-order connections of the searching user that match the query based on the identified first-order connections, wherein the second-order connections comprise one or more other users with whom a first-order connection is connected in the social networking system, the identifying the set of second-order connections comprising: identifying one of the user identifiers of the connections table associated with the searching user; identifying a connections table for the user with which the user identifier is associated; and performing a binary search of the name tokens of the identified connections table to identify name tokens having the query as a prefix; wherein the identified set of second-order connections comprises the user identifiers associated with the identified name tokens; generating a result set including one or more of the identified second-order connections; and providing at least a portion of the result set to the client device in response to the query.

9

9. The computer-readable storage medium of claim 8 , the actions of the computer program instructions further comprising: determining a number of first-order connections in common between the searching user and one or more of the identified second-order connections; and ordering the one or more of the identified second-order connections in the result set based at least in part on the determined number of first-order connections in common.

10

10. The computer-readable storage medium of claim 8 , wherein generating the result set comprises: sorting the one or more of the identified second-order connections according to the determined number of first-order connections in common.

11

11. The computer-readable storage medium of claim 8 , wherein generating the result set comprises: removing a connection from the identified second-order connections responsive to the determined number of first-order connections in common being below a predetermined threshold.

12

12. A computer-implemented method comprising: storing a connections index comprising a set of connection tables, each connection table: associated with one of the users of the social networking system, and having a set of associations between a name token of a second user with whom the user is connected in the social networking system and a unique identifier of the second user on the social networking system; receiving, from a client device, a textual query associated with the user; identifying matching first-order connections of the user by: identifying, within a connection table associated with the user, a first set of the unique identifiers; identifying, as the matching first-order connections, unique identifiers from the first set of the unique identifiers having an associated name token that matches the query; identifying matching second-order connections of the user by: identifying, within connection tables associated with the first set of the unique identifiers, a set of name tokens that match the query, and identifying, as the matching second-order connections, the unique identifiers associated with the second set of matching name tokens, determining a number of first-order connections in common between the user and one or more of the identified second-order connections; identifying an object having a name matching the query, the object being one of a page, an application, a group, and an event; and providing, to the client device in response to the query, a result set including: a plurality of the matching first-order connections, a plurality of the matching second-order connections ordered based at least in part on the determined number of the identified first-order connections in common, and the identified object.

Patent Metadata

Filing Date

Unknown

Publication Date

November 20, 2012

Inventors

Akhil Wable

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SECOND-ORDER CONNECTION SEARCH IN A SOCIAL NETWORKING SYSTEM” (8316056). https://patentable.app/patents/8316056

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.