IP Library Granted Patent US 8,832,093
Granted Patent B2
US 8,832,093 · App. 12/858,859 · Granted Sep 9, 2014

Dynamic place visibility in geo-social networking system

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 8,832,093
App. No.
12/858,859
Granted
Sep 9, 2014
Kind
B2
Abstract

In one embodiment, a user of a social networking system requests to search for a place near the user's current location. The social networking system generates a list of places near the user's current location, select a sub-set from the list of places based on visibility and activity of the user and the user's social contacts for each place in the list, and returns the sub-set to the user.

Claims (29)

1. A method comprising: maintaining, using one or more processors associated with one or more computer servers associated with a social-networking system, a social graph comprising: a plurality of user nodes, wherein each user node corresponds to a user of the social-networking system; and a plurality of edges, wherein one or more edges connect two user nodes, wherein the two user nodes correspond to two respective users of the social-networking system, and wherein the edges connecting the two user nodes represent a social contact relationship between the two users; maintaining, using the one or more processors, a data store of places in the social-networking system, each place having a corresponding web page and being associated with at least one user of the social-networking system, wherein one or more of the places has a visibility state from a plurality of visibility states operative to control the visibility of the web page corresponding to a place, the visibility state controlling visibility of the web page to users of the social-networking system; analyzing, using the one or more processors, for a first place, user activity data associated with the first place to modulate the visibility state of the first place in the data store, the user activity data being associated with one or more users of the social-networking system, wherein the plurality of visibility states operative to control the visibility of the web page corresponding to a place comprises: a first visibility state wherein the web page is visible to all users in the social-networking system; a second visibility state wherein the web page is visible only to social contacts of one or more users associated with the place; a third visibility state wherein the web page is visible only to a creator of the place; and a fourth visibility state wherein the web page is hidden from all users of the social-networking system; setting an initial visibility state of the first place; updating a visibility score of the first place based on the user activity data associated with the first place; and updating the visibility state of the first place based at least on the visibility score of the first place.

2. The method of claim 1 , wherein updating the visibility state of the first place based at least on the visibility score of the first place comprises: if the visibility score is above a threshold value, then: incrementing the visibility state of the first place.

3. The method of claim 1 , wherein:

updating the visibility state of the first place based at least on the visibility score of the first place comprises:

if the visibility score is below a threshold value, then:

decrementing the visibility state of the first place.

4. The method of claim 1 further comprising:

receiving a request, wherein the request includes a user identifier associated with a user and a geographic location;

accessing a data store of user profile information to identify a set of one or more direct social contacts of the requesting user;

accessing the data store of places to identify a set of one or more nearby places within the one or more nearby places are within a threshold distance from the geographic location;

selecting a sub-set of the set of one or more nearby places based on the visibility state for each place and one or more users associated with each place; and

providing the selected sub-set of the set of one or more nearby places to the requesting user.

5. The method of claim 4 wherein the request further includes a character string and wherein the accessing the data store of places comprises matching the character string to one or more place identifiers each corresponding to one or more places stored in the data store.

6. The method of claim 5 wherein the matching the character string to place identifiers corresponding to places stored in the data store comprises determining a partial match between the character string and each place identifier.

7. The method of claim 1 wherein the user activity data associated with the first place comprises tagging other users in connection with a check-in to the first place.

8. An apparatus comprising: a memory; one or more processors; a program comprising computer-readable instructions operative, when executed, to cause the one or more processors to: maintain a social graph comprising: a plurality of user nodes, wherein each user node corresponds to a user of the social-networking system; and a plurality of edges, wherein one or more edges connect two user nodes, wherein the two user nodes correspond to two respective users of the social-networking system, and wherein the edges connecting the two user nodes represent a social contact relationship between the two users; access a data store of places in the social-networking system, each place having a corresponding web page and being associated with at least one user of the social-networking system, wherein one or more of the places has a visibility state from a plurality of visibility states operative to control the visibility of the web page corresponding a place, the visibility state controlling visibility of the web page to users of the social-networking system; and analyze, for a first place, user activity data associated with the first place to modulate the visibility state of the first place in the data store, the user activity data being associated with one or more users of the social-networking system, wherein the plurality of visibility states operative to control the visibility of the web page corresponding to a place comprises: a first visibility state wherein the web page is visible to all users in the social-networking system; a second visibility state wherein the web page is visible only to social contacts of one or more users associated with the place; a third visibility state wherein the web page is visible only to a creator of the place; and a fourth visibility state wherein the web page is hidden from all users of the social-networking system, system; wherein the program further comprises instructions operative to cause the one or more processors to: set an initial visibility state of the first place; update a visibility score of the first place based on the user activity data associated with the first place; and update the visibility state of the first place based at least on the visibility score of the first place.

9. The apparatus of claim 8 , wherein the program further comprises instructions operative to cause the one or more processors to: if the visibility score is above a threshold value, then: increment the visibility state of the first place.

10. The apparatus of claim 8 , wherein the program further comprises instructions operative to cause the one or more processors to:

if the visibility score is below a threshold value, then:

decrement the visibility state of the first place.

11. The apparatus of claim 8 wherein the program further comprises instructions operative to cause the one or more processors to:

receive a request, wherein the request includes a user identifier associated with a user and a geographic location;

access a data store of user profile information to identify a set of one or more direct social contacts of the requesting user;

access the data store of places to identify a set of one or more nearby places within the one or more nearby places are within a threshold distance from the geographic location;

select a sub-set of the set of one or more nearby places based on the visibility state for each place and one or more users associated with each place; and

provide the selected sub-set of the set of one or more nearby places to the requesting user.

12. The apparatus of claim 11 wherein the request further includes a character string and wherein, to access the data store of places, the program further comprises instructions operative to cause the one or more processors to match the character string to one or more place identifiers each corresponding to one or more places stored in the data store.

13. The apparatus of claim 12 wherein, to match the character string to place identifiers corresponding to places stored in the data store, the program comprises instructions operative to cause the one or more processors to determine a partial match between the character string and each place identifier.

14. The apparatus of claim 8 wherein the user activity data associated with the first place comprises tagging other users in connection with a check-in to the first place.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2010
From: REDSTONE, JOSHUA; GERTZFIELD, BENJAMIN J.; SHARON, EYAL M.; NARAYANAN, SRINIVASA P.; HUI, DANIEL JENG-PING
To: FACEBOOK INC
Reel/Frame 024939/0125 →