# Patent

## Title
Systems and methods for automatically locating web-based social network members

## Abstract

Systems and methods for automatically locating web-based social network members are provided. According to one embodiment, contact content including an associated GPS identifier and status for web-based social network members located at or near the same location automatically appears on a GPS-enabled device. A further exemplary system includes a GPS-enabled device configured to receive a GPS identifier and a status representing a location and a current state for a web-based social network member, a processing module that associates the received GPS-identifier and the received status, and a communications module that sends the associated GPS-identifier and status to a server comprising a web-based social network database. Contact content in a web-based social network database record in the web-based social network database is updated to include the associated GPS identifier and status for the web-based social network member.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to web-based social networks, and more particularly to systems and methods for automatically locating web-based social network members.
2. Description of Related Art
Deciding whether to contact a particular friend, classmate, or coworker often hinges on where the person is located and what that person is doing. Such a decision typically has to be made in a limited amount of time with a limited amount of information. Further, when a person arrives at a particular location, such as a park or shopping mall, they often want to know if someone else they know is also at the same location. There is thus a need for systems and methods for automatically locating web-based social network members.
SUMMARY OF THE INVENTION
Systems and methods are provided for automatically locating web-based social network members. An exemplary method includes receiving a GPS identifier into a device, receiving a status into the device, associating the GPS identifier and the status, storing a copy of the associated GPS identifier and status in a contact file on the device, and sending the associated GPS identifier and status to a server comprising a web-based social network database. Another exemplary method includes receiving across a network on a server comprising a web-based social network database, an associated GPS identifier and status for a web-based social network member, updating contact content in a web-based social network database record in the web-based social network database with the associated GPS identifier and status for the web-based social network member, and providing the contact content to a communications module for sending across the network to a device having a contact file configured to automatically store the contact content.
An exemplary system according to one embodiment comprises a device with a GPS module configured to receive a GPS identifier, a status entry screen on the device configured to receive a status, a processing module on the device configured to associate the GPS identifier and the status, a contact file on the device configured to store a copy of the associated GPS identifier and status, and a communication module on the device configured to send the associated GPS identifier and status to a server comprising a web-based social network database.
Another exemplary system includes a server comprising a web-based social network database, the server configured to receive across a network an associated GPS identifier and status for a web-based social network member, the web-based social network database including a web-based social network database record for the web-based social network member, the web-based social network database record configured to update contact content with the associated GPS identifier, and the server further configured to provide the contact content to a communications module for sending across the network to a device having a contact file configured to automatically store the contact content.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an exemplary architecture for automatically locating web-based social network members;
FIG. 2 shows a screenshot for an exemplary status screen used to transmit a status for a web-based social network member to a web-based social network database;
FIG. 3 shows a screenshot of an exemplary web-based social network database record;
FIG. 4 shows a screenshot of an exemplary contact content screen; and
FIG. 5 shows a flow chart for an exemplary method for automatically locating a web-based social network member.



DETAILED DESCRIPTION OF THE INVENTION
Systems and methods for automatically locating web-based social network members are provided. According to one embodiment, a GPS identifier is received on a GPS-enabled device that is used to query a web-based social network database. Contact content including an associated GPS identifier and status for other web-based social network members located at or near the same location automatically appears on the GPS-enabled device. A further exemplary system includes a GPS-enabled device configured to receive a GPS identifier and a status representing a location and a current state for a web-based social network member, a processing module that associates the received GPS-identifier and status, and a communications module that sends the associated GPS-identifier and status to a server comprising a web-based social network database. Contact content in a web-based social network database record in the web-based social network database is updated to include the associated GPS identifier and status for the web-based social network member.
FIG. 1 illustrates an exemplary architecture 100 for automatically locating web-based social network members. Architecture 100 comprises a server 105, a network 140, and a GPS-enabled device 145. Server 105 comprises a server location application 110 and a web-based social network database 135. Server location application 110 includes a query module 115, a privacy settings module 120, a device user settings module 125 and a device specification and optimization module 130. GPS-enabled device 145 comprises a device display 150, and a device location application 155. The device location application 155 includes a Global Positioning System (“GPS”) module 160, a processing module 165, a contact file 170, and a communication module 175.
According to one method, a member of a web-based social network having a GPS-enabled device 145 receives a GPS identifier into GPS module 160. The GPS identifier may represent a current geographic location (e.g. street address) for the member of the web-based social network. For example, a GPS identifier may be received into GPS module 160 of GPS-enabled device 145 that indicates 123 Main Street, College Town, Calif. 90210 is a current geographic location for the member. Using a keypad, touch screen, or similar mechanism on the GPS-enabled device 145, the member may enter a status, which is received by the GPS-enabled device 145. The status represents a current state for the member at or near the time the GPS identifier is received into GPS module 160. A status may include an arbitrary designation such as “at home,” “at work,” “at doctor's office,” and/or another similar arbitrary designation. A processing module 165 associates the received GPS identifier with the received status. For example, the processing module 165 might associate the received GPS identifier of 123 Main Street, College Town, Calif. 90210 with the received status of “at home.” A copy of the associated GPS identifier and status is stored in contact file 170. A communication module 175 sends the associated GPS identifier and status to server 105, where it is received. The server 105 comprises a web-based social network database 135. The web-based social network database 135 comprises a social network database record 300 (FIG. 3) for each web-based social network member. Contact content in the web-based social network database record 300 is updated to include the associated GPS identifier and status. The updated web-based social network database record may be queried by other members of the web-based social network, subject to privacy settings, as described herein.
In an alternative method, instead of receiving a GPS identifier into GPS module 160, a web-based social network member may manually enter a street address on a keypad or touchscreen of a GPS-enabled device 145 or a non GPS-enabled device. The street address is received by the GPS-enabled device 145 or the non GPS-enabled device in a manner similar to the way a GPS identifier is received by a GPS-enabled device 145. When a corresponding status is received by the GPS-enabled device 145 or the non GPS-enabled device, processing module 165 associates the received street address with the received status. Contact file 170 stores a copy of the associated street address and status, and communication module 175 sends the associated street address and status to server 105.
In a further alternative method, the GPS identifier may include information utilizing or originating from one or more of several different types of technologies that provide either fully or partially location-based information, including, without limitation, network-based triangulation as well as hybrid approaches using various GPS networks.
In an exemplary system, processing module 165 is further configured to check contact file 170 for a corresponding status if a GPS identifier is received into GPS module 160 without a corresponding status. If a corresponding status is found, it will be displayed on device display 150. If a status corresponding to a received GPS identifier is not found in contact file 170, communication module 175 sends the received GPS identifier to server 105 without the status. Query module 115 on server 105 queries web-based social network database 135 for a status associated with the GPS identifier. If a status corresponding to the GPS identifier is found in the web-based social network database 135, it is sent from server 105 to GPS-enabled device 145. Processing module 165 associates the received GPS identifier with the status, and a copy of the associated GPS identifier and status is stored in contact file 170.
In a further exemplary method, a received GPS identifier is sent by communication module 175 to server 105, regardless of whether the received GPS identifier has an associated status in contact file 170 and/or in web-based social network database 135. In response, query module 115 on server 105 queries web-based social network database 135 for contact content of other members of the web-based social network having a matching or near matching GPS identifier in their web-based social network database records 300. If one or more other members of the web-based social network are determined to have a matching or near matching GPS identifier included on their web-based social network database records 300, contact content for those other members is sent from server 105 to GPS-enabled device 145. As a result, the querying social network member learns about the other social network members located nearby.
In yet a further exemplary method, a received GPS identifier that does not have an associated status may be sent by communications module 175 to server 105, whereupon server 105 or an affiliated module may associate the GPS identifier with a status.
According to some embodiments, a privacy settings module 120 forms part of server location application 110. Based on privacy settings selected by a member of a web-based social network, privacy settings module 120 is configured to limit querying of certain associated GPS identifiers and statuses in web-based social network database 135. For example, in one embodiment, a member of a web-based social network may select privacy settings to provide their associated GPS identifier and status to only those people designated by the member as “friends” of the member.
The server location application 110 may comprise a device user settings module 125 for controlling such functions as when the server 105 communicates with the GPS-enabled device 145. For example, the device user settings module 125 can be set to direct the server 105 to communicate with the GPS-enabled device 145 during standard working hours. The device user settings module 125 can also be set to allow the server 105 to communicate with the GPS-enabled device 145 in response to certain changes in the web-based social network database 135. For example, the device user settings module 125 can be set to allow the server 105 to communicate with the GPS-enabled device 145 when a particular member of the web-based social network updates her associated GPS identifier and status in her web-based social network database record 300.
A device specification and optimization module 130 on the server location application 110 may be configured with specifications for a wide variety of GPS-enabled devices 145 communicating with the server 105. The device specification and optimization module 130 recognizes the type of GPS-enabled devices 145 being used to communicate with the server 105 and formats an associated GPS identifier and status to accommodate the specifications of the particular device 145. For example, the device specification and optimization module 130 may automatically recognize that a member of a web-based social network is using a BlackBerryTM device to communicate with the server 105. Accordingly, the device specification and optimization module 130 will format an associated GPS identifier and status sent to the device to accommodate the device display 150 of the BlackBerryTM device.
It will readily be appreciated by one of ordinary skill in the art that there are multiple possible combinations and locations for the herein described component applications and modules. For example, web-based social network database 135 may also function as part of server location application 110 and/or server 105, or as a standalone application, separate from server location application 110 and/or server 105. Further, a number of commonly known communications mechanisms can be used for a GPS-enabled device 145 to communicate with the server 105 across network 140. Network 140 may include an Internet network and/or other wireless or wired networks such as mobile device carrier networks. Further, GPS-enabled device 145 may also directly communicate with other devices similar to GPS-enabled device 145. All of these variations remain within the scope of claimed embodiments.
FIG. 2 shows a screenshot for an exemplary status screen 200. Exemplary status screen 200 is used to send a received status of a web-based social network member to a server comprising a web-based social network database 135 (FIG. 1). The exemplary status screen 200 includes a status entry box 205, instructions 210 and status selections 215. The status screen 200 typically appears on device display 150 (FIG. 1).
A status for a web-based social network member is received in status entry box 205. According to one embodiment, the status may be received via manual entry by a web-based social network member on a keypad or on a touchscreen on a GPS-enabled device 130 (FIG. 1). In a further embodiment, a status may be received from another device that is the same as or similar to GPS-enabled device 145.
In the exemplary status screen 200, instructions 210 instruct a web-based social network member to select a status from seven arbitrary status selections 215. These selections include, “[a]t home,” “[a]t the library,” “[a]t work,” “[a]t class,” “[o]ut at a party,” “sleeping,” and/or “other.” If the web-based social network member selects a status of “other,” they may be prompted to type-in an arbitrary status to represent their current state. For example, a web-based social network member selecting a status of “other” by entering selection “7” into status entry box 205 is prompted to type-in “Bar.” According to one embodiment, a GPS identifier received into GPS module 160 will be associated by processing module 165 with the received status of “Bar.” For example, a GPS identifier received into GPS module 160 may be a street address of “123 Main Street, College Town, Calif., 90120.” Accordingly, processing module 165 will associate “123 Main Street, College Town, Calif., 90120” with “Bar.” A copy of the associated GPS identifier and status (i.e. “Bar, 123 Main Street, College Town, Calif., 90120”) is stored in contact file 170, and communication module 175 sends the associated GPS identifier and status to server 105.
It will readily be appreciated by one of ordinary skill in the art that other status selections may be included in exemplary status screen 200 and remain within the scope of embodiments claimed herein.
FIG. 3 shows a screenshot of an exemplary web-based social network database record 300. The exemplary social network database record 300 is for John Smith of Harvard University. The social network database record 300 includes John Smith's contact content 305. According to various embodiments, contact content includes some or all information in web-based social network database 135. Contact content also includes expression content, such as audio/video. Audio/video is any audio, video, audiovisual, pictorial, photograph, image form, text file, and/or all variations and combinations thereof.
The contact content 305 shown in exemplary social network database record 300 includes John Smith's associated GPS identifier and status 310. In the social network database record 300, John Smith's associated GPS identifier and status 310 is “Bar, 123 Main Street, College Town, Calif. 90120.”
FIG. 4 shows a screenshot of an exemplary contact content screen 400. A contact content screen such as contact content screen 400 is displayed on the device display 150 (FIG. 1) of the GPS-enabled device 145 (FIG. 1). A social network database record such as social network database record 300 (FIG. 3) is one possible source of some or all of the contact content appearing on a contact content screen, such as exemplary contact content screen 400.
The contact content screen 400 shown in FIG. 4 is for John Smith of Harvard University. The contact content screen 400 includes some or all of John Smith's contact content 305, which includes an associated GPS identifier and status 310 for John Smith.
According to some embodiments, some or all of the contact content on the contact content screen 400 automatically populates a contact file 170 (FIG. 1) on the GPS-enabled device 145, as described in U.S. patent application Ser. No. 11/701,566 filed on Feb. 2, 2007, entitled “System and Method for Automatic Population of a Contact File with Contact Content and Expression Content,” and incorporated herein by reference.
According to further embodiments, after a GPS identifier is received into GPS module 160 of GPS-enabled device 145, communication module 175 sends the GPS identifier to server 105 (FIG. 1) to query web-based social network database 135 for corresponding contact content. If one or more other members of a web-based social network are determined to have a matching or near matching GPS identifier included in their web-based social network database records 300, contact content as seen in exemplary contact content screen 400 corresponding to those other members is sent from server 105 to GPS-enabled device 145. As a result, the querying social network member learns about the other social network members located nearby.
FIG. 5 shows a flow chart for an exemplary method 500 for automatically locating members of a web-based social network.
At step 505, GPS-enabled device 145 (FIG. 1) receives a GPS identifier into GPS module 160 (FIG. 1). In exemplary embodiments, a GPS identifier represents a street address for a web-based social network member. In a further embodiment, a GPS identifier can be entered by a web-based social network member using a keypad or touchscreen on a GPS-enabled device 145, or on a keypad or touchscreen of a device that is not GPS-enabled.
At step 510, the GPS-enabled device 145 sends the GPS identifier to server 105 (FIG. 1). According to various embodiments, communication module 170 (FIG. 1) in GPS-enabled device 145 sends the GPS identifier to the server 105.
At step 515, server 105 receives the GPS identifier across network 140 (FIG. 1) from the GPS-enabled device 145. In some embodiments, network 140 may include an Internet network and/or other wireless or wired networks such as mobile device carrier networks.
At step 520, query module 115 (FIG. 1) on server 105 queries web-based social network database 135 (FIG. 1) for contact content (including an associated GPS identifier and status) of other web-based social network members having a GPS identifier that is the same as, or closely related to the received GPS identifier.
At step 525, server 105 checks a privacy settings module 120 (FIG. 1). According to one embodiment, the privacy settings module 120 is configured to limit contact content (including an associated GPS identifier and status) sent from server 105 to GPS-enabled device 145. In an alternative embodiment, a privacy settings module 120 is configured to limit querying of web-based social network database 135.
At step 530, server 105 checks a device user settings module 125 (FIG. 1). According to some embodiments, device user settings module 125 controls such functions as when server 105 communicates with GPS-enabled device 145. In a further embodiment, device user settings module 145 is configured to direct server 105 to communicate updated contact content (including an associated GPS identifier and status) to the GPS-enabled device 145 in response to certain changes in web-based social network database 135.
At step 535, server 105 checks a device specification and optimization module 130 (FIG. 1). According to one embodiment, the device specification and optimization module 130 is configured with specifications for a wide variety of GPS-enabled devices 145 communicating with server 105. Device specification and optimization module 130 recognizes the type of GPS-enabled device 145 being used to communicate with the server 105 and formats contact content to accommodate the specifications of the GPS-enabled device 145.
At step 540, contact content (including an associated GPS identifier and status) for the other members of the web-based social network having the same or a closely related GPS identifier is sent from server 105 to GPS-enabled device 145. According to some embodiments, a number of commonly known communications mechanisms are used for server 105 to communicate across network 140 with GPS-enabled device 145.
At step 545, the GPS-enabled device 145 receives contact content (including an associated GPS identifier and status) from the server 105.
At step 550, the contact content is automatically stored in contact file 170 (FIG. 1). According to one embodiment, a contact file 170 is a component of the device location application 155 (FIG. 1) on the GPS-enabled device 145.
At step 555, the contact content is displayed on device display 150 (FIG. 1) of GPS-enabled device 145.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. For example, any of the elements associated with automatically locating web-based network members may employ any of the desired functionality set forth hereinabove. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments.

## Claims

1. A method of sharing locations of users participating in a social networking service at a geographic location, the method executed by a computer system and comprising:
receiving location information and status information from a mobile device of a first user of the social networking service, the location information representing a geographic location of the first user, the status information manually provided by the first user on an input module of the mobile device;
associating the location information with the status information of the first user in a database; and
sending the status information and the location information of the first user to a second user for display.

2. The method of claim 1, wherein the location information comprises street addresses determined by processing a wireless positioning signal detected at a sensor in the mobile device.

3. A computer server for providing a social networking service, comprising:
a database module configured to store location information in association with status information of a first user in a database responsive to receiving the location information and the status information from a mobile device of the first user, the location information representing a geographic location of the first user, the status information manually provided by the first user on an input module of the mobile device; and
a communication module configured to:
receive the location information and the status information associated with the first user from the mobile device; and
send the location information and the status information of the first user to a second user for display.

4. The server of claim 3, wherein the location information comprises street addresses determined by a sensor in the mobile device.

5. The server of claim 3, further comprising a privacy setting module configured to:
determine if the second user of the social networking service is included in a list of members selected by the first user to receive the location information and the status information; and
allowing transmission of the status information and the location information to the second user responsive to determining that the second member is included in the list.

6. The server of claim 3, further comprising a device specification and optimization module configured to:
determine specification of a computing device of the second user, the specification including at least one of a type of the computing device and display capabilities of the computing device; and
format data including at least the location information and the location information into a page of information for transmission to the computing device according to the specification of the computing device.

7. The server of claim 3, further comprising a querying module configured to retrieve the status information and the location information of the first user from the database module responsive to receiving a query from the second user.

8. A method of sharing locations of users of a social networking service, the method executed by a computer system and comprising:
receiving location information and entered information from a first user, the location information representing a geographic location of a first user of the social networking service from a mobile device of the first user, the entered information manually provided by the first provider on an input module of the mobile device;
associating the location information with the entered information of the first user in a database;
receiving a request from a second user for information associated with the geographic location;
querying the database to retrieve the entered information of the first user associated with the location information of the geographic location responsive to receiving the request; and
sending the entered information of the first user retrieved from the database to the second user for display on a computing device of the second user.

9. The method of claim 8, wherein the location information is determined by a wireless positioning signal generated at the mobile device.

10. The method of claim 8, wherein the location information is manually provided by the first user at the mobile device.

11. The method of claim 1, further comprising:
receiving a request from the second user for information associated with the geographic location; and
querying the database to retrieve the status information of the first user associated with the location information of the geographic location responsive to receiving the request.

12. The method of claim 1, wherein the second user is designated by the first user as connected to the first user in the social networking service.

13. The method of claim 1, wherein sending the status information and the location information comprises generating a page of information about the first user including the status information and the location information of the first user.

14. The method of claim 1, wherein the location information is determined by a wireless positioning signal generated at the mobile device.

15. The method of claim 1, wherein the location information is manually provided by the first user at the mobile device.

16. The method of claim 1, further comprising:
receiving location information of the second user;
determining if the first user is in proximity to the second user based on the location information of the first user and the location information of the second user; and
responsive to determining that the first user is in proximity to the second user, initiating transmission of information about the first user to the second user.

17. The server of claim 7, wherein the querying module is further configured to:
receive location information of the second user;
determine if the first user is in proximity to the second user based on the location information of the first user and the location information of the second user; and
responsive to determining that the first user is in proximity to the second user, initiate transmission of information about the first user to the second user.

18. The server of claim 3, wherein the second user is designated by the first user as connected to the first user in the social networking service.

19. The server of claim 3, wherein the communication module is further configured to send the status information and the location information in a page of information about the first user.

20. The server of claim 3, wherein the geographic location is determined by a wireless positioning signal generated at the mobile device.

21. A method of sharing locations of users participating in a social networking service at a geographic location, the method executed by a computer system and comprising:
receiving location information and status information from a device of a first user of the social networking service, the location information representing a geographic location of the first user, the status information manually provided by the first user on an input module of the device;
associating the location information with the status information of the first user in a database; and
sending the status information and the location information of the first user to a second user for display.