WO2009098695A2 - Proximity-based presence notification of social network participants - Google Patents

Proximity-based presence notification of social network participants Download PDF

Info

Publication number
WO2009098695A2
WO2009098695A2 PCT/IL2009/000144 IL2009000144W WO2009098695A2 WO 2009098695 A2 WO2009098695 A2 WO 2009098695A2 IL 2009000144 W IL2009000144 W IL 2009000144W WO 2009098695 A2 WO2009098695 A2 WO 2009098695A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
identity information
buddy list
social
hash function
Prior art date
Application number
PCT/IL2009/000144
Other languages
French (fr)
Other versions
WO2009098695A3 (en
Inventor
Vadim Drabkin
Roy Friedman
Gabrial Kliot
Original Assignee
Technion Research & Development Foundation Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Technion Research & Development Foundation Ltd. filed Critical Technion Research & Development Foundation Ltd.
Publication of WO2009098695A2 publication Critical patent/WO2009098695A2/en
Publication of WO2009098695A3 publication Critical patent/WO2009098695A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS

Definitions

  • This invention relates to communications and messaging systems. More particularly, this invention relates to proximity-based networking communications.
  • Social networks enable users to define social groups on the Internet, which include their buddies or friends. Social networks provide facilities for interchange of information among members or participants, and may provide an option to publicize the information outside the social groups. Social networking information typically includes basic personal facts, and possibly a photograph, collectively known as an optional personal profile. Extended information may also be intercommunicated, including free-text expressions, images, computer applications, and the like.
  • Each member of a social network can view the status of his buddies, including their exported information. Modern social networks also push changes to the personal information of members to their buddies. In general, social networks require connectivity to the Internet. Once on-line, a member may see his buddies, sometimes with an indicator of their on-line status.
  • Internet-based social networking is integrated with proximity-based communication.
  • a software application executing in a first communications device uses a proximity-based wireless communications protocol to detect physical proximity of a compatible second communications device.
  • a communication channel is established between the first and second devices using the proximity-based wireless communications protocol.
  • Information, previously taken from a common social networking site, is exchanged between the devices, enabling a determination that a social relationship exists between their respective users.
  • An alert is issued to at least one of the users indicating the presence of the other user, and a social communication session may thereupon be established therebetween.
  • Proximity-based communication enables direct communication between nearby devices, and even the creation of infrastructure-independent (multiple hop) ad-hoc networks.
  • Embodiments of the invention can be used to implement a localized presence service, which notifies a user whenever one of his friends or buddies is nearby, i.e., within operational range of the proximity-based communication equipment.
  • Ad-hoc arrangements among proximity-based communication devices may allow sharing information and files among users, and playing data-intensive and real-time multiplayer games.
  • devices may establish communication using a point-to-point mode wireless protocol, such as the Bluetooth protocol or the ad hoc mode of the WiFi protocol, using a WiMAX (Worldwide Interoperability for Microwave Access) protocol, using an ultra-wideband (UWB) protocol, or using a local access point protocol, such as the infrastructure mode of the WiFi protocol (also called the access point mode).
  • a point-to-point mode wireless protocol such as the Bluetooth protocol or the ad hoc mode of the WiFi protocol
  • WiMAX Worldwide Interoperability for Microwave Access
  • UWB ultra-wideband
  • a local access point protocol such as the infrastructure mode of the WiFi protocol (also called the access point mode).
  • the communications devices used in embodiments of the present invention may comprise any mobile or fixed information devices, e.g., a mobile internet device, a laptop computer, ultra-mobile personal computer (UMPC), personal digital assistant (PDA), mobile telephone, or a desktop computer, so long as the device is provided with- proximity-based wireless communications capabilities.
  • UMPC ultra-mobile personal computer
  • PDA personal digital assistant
  • the service provided by the software application is sometimes referred to herein as a "proximity-based communications service.”
  • the software application in the communications device is linked to a social networking web site, typically via the Internet (either over a wireless or wired connection), and exploits existing buddy lists of the social network. It is an advantage of some aspects of the invention that it is unnecessary for users to define new buddy lists in addition to those they already maintain on a social networking site. Nor are their social network buddies burdened by a requirement to actively migrate to a proximity-detection service. Rather, the communications device integrates seamlessly with an existing social network, or even a plurality of social networks concurrently, to obtain buddy identifications and such information concerning the buddy as may be available to the user as a member of the social network.
  • the proximity-based communications service analyzes their buddy lists and determines that Alice and Bob are buddies on a social networking web site. If appropriate permissions are set, the service notifies one or both of the users that the other is in physical proximity, and the users may decide to begin a direct communication session with one another using the proximity-based wireless communication facility, and/or to arrange a face-to-face meeting. In some embodiments of the present invention, the proximity-based communications service notifies users who are not already buddies that they share a mutual buddy, and therefore may desire to communicate with one another.
  • the proximity-based communications service further analyzes Alice's and Bob's buddy lists and determines that although Alice and Bob are not buddies, they have a common buddy, Crystal. If appropriate permissions are set, the proximity-based communications service may alert Alice and Bob and suggest an introduction, based on their common acquaintance, Crystal. It is noted that Crystal need not be in physical proximity to Alice and Bob in order to make the introduction.
  • This mutual-friend based identification of potential acquaintances may be useful, for example, for introducing professionals with common acquaintances who happen to meet in a location such as an airport lounge or trade show, or for freshmen students who would like to become acquainted with their peers.
  • this technique may be useful for social network dating.
  • the term "dating" is used herein broadly to mean matching parties and should be understood as encompassing both romantic dating and professional business dating, such as finding job applicants, or identifying employees of the same company.
  • the proximity-based communications service described herein may nevertheless be of value for them.
  • Presence notifications and the possibility of new introductions of members based on common acquaintances enhance connectivity among social networking participants, who might otherwise be unaware of one another. For example, in the case of Alice, Bob, and Crystal mentioned above, following an interchange resulting from the presence notification, Alice and Bob may decide to include one another on their respective buddy lists.
  • a method for social communication including: downloading from a social networking site, by a first user device having a first user, a buddy list of the first user; using a proximity-based wireless communication protocol, receiving, by the first user device from a second user device, identity information with respect to a second user of the second user device; identifying by the first user device, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issuing, by the first user device to the first user, an alert regarding the identified social connection.
  • the identity information includes a user ID of the second user on the social networking site, and identifying the social connection includes finding that the user ID of the second user is included on the downloaded buddy list.
  • the buddy list of the first user is a first buddy list
  • the identity information includes a second buddy list of the second user on the social networking site
  • identifying the social connection includes finding a common occurrence of a member of the social networking site on the first and second buddy lists, the member different from both the first and second users.
  • the buddy list includes a plurality of member IDs
  • receiving the identity information includes receiving at least one output identity information value of a one-way function having the identity information as input
  • identifying the social connection includes performing the one-way function on the member IDs to generate respective output member values
  • identifying the social connection responsively to the comparison of the at least one output identity information value and the output member values.
  • the one-way function is a hash function
  • receiving the at least one output identity information value includes receiving the at least one output identity information value of the hash function having the identity information as input
  • performing the one-way function on the member IDs includes performing the hash function on the member IDs to generate the respective output member values.
  • the hash function is a cryptographic hash function
  • receiving the at least one output identity information value includes receiving the at least one output identity information value of the cryptographic hash function having the identity information as input
  • performing the hash function on the member IDs includes performing the cryptographic hash function on the member IDs to generate the respective output member values
  • receiving the identify information using the proximity- based wireless communication protocol includes receiving the identify information using a proximity-based wireless communication protocol selected from the group consisting of: a Bluetooth protocol, a WiFi ad hoc mode protocol, a WiFi infrastructure mode protocol, a WiMAX protocol, and an ultra-wideband (UWB) protocol.
  • downloading the buddy list includes downloading the buddy list from the social networking site using an API provided by the social networking site.
  • downloading the buddy list includes sending one or more requests (such as HTTP requests) to the social networking site, and parsing respective returned Web pages.
  • receiving the identity information does not include receiving the identity information via the social networking site.
  • receiving the identify information includes receiving one or more attributes of the second user, and identifying the social connection includes comparing the attributes to one or more criteria specified by the first user.
  • a computer software product for social communication between first and second computing devices including a tangible computer-readable storage medium in which computer program instructions are stored, which instructions, when executed by the first computing device, cause the first computing device to download, from a social networking site, a buddy list of a first user of the first computing device; receive, using a proximity-based wireless communication protocol, from the second computing device, identity information with respect to a second user of the second computing device; identify, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issue an alert to the first user regarding the identified social connection.
  • apparatus for social communication with a wireless communications device including: a first wireless proximity-based communications interface; a second wide-area network (WAN) interface; and a processor, configured to download, from a social networking site, via the second interface, a buddy list of a first user of the apparatus; receive, via the first interface, using a proximity-based wireless communication protocol, from the wireless communications device, identity information with respect to a second user of the wireless communications device; identify, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issue an alert to the first user regarding the identified social connection.
  • WAN wide-area network
  • Fig. 1 is a pictorial diagram of a system that is constructed and operative in accordance with a disclosed embodiment of the invention
  • Fig. 2 is a flow chart of a method of proximity-based presence notification of social networking participants in accordance with a disclosed embodiment of the invention
  • Fig. 3 is a flow chart of a method of proximity-based presence notification of social networking participants in accordance with an alternate embodiment of the invention.
  • aspects of the present invention may be embodied in software programming code, which is typically maintained in permanent storage, such as a computer readable medium.
  • software programming code may be stored on a client or a server.
  • the software programming code may be embodied on any of a variety of known tangible media for use with a data processing system, such as a diskette, hard drive, or CD-ROM.
  • the code may be distributed on such media, or may be distributed to users from the memory or storage of one computer system over a network of some type to storage devices on other computer systems for use by users of such other systems.
  • each user device performing the techniques described herein downloads, via the Internet, a client software application that performs the techniques described herein.
  • Fig. 1 is a pictorial diagram of a system 10, which is constructed and operative in accordance with a disclosed embodiment of the invention.
  • a plurality of user devices 12, 14, 16, 18 are shown.
  • User devices 12, 16 are realized as laptop computers.
  • User device 14 is a mobile telephone.
  • User device 18 is a fixed device, such as a desktop personal computer.
  • the user devices are all equipped with proximity-based wireless communications interfaces 19 (shown only in device 12, for clarity of illustration), which provide short-range wireless proximity communications capabilities, e.g., using the WiFi, Bluetooth, WiMAX, and/or UWB protocols.
  • System 10 may comprise any number of user devices, which can be realized as many combinations of different types of fixed and mobile information devices.
  • a wide-area data network 24 which is typically the public Internet, such as over a public wireless communication' network, e.g., a cellular network.
  • the user devices connect to the data network via respective wide-area network (WAN) interfaces 21 (shown only in device 12, for clarity of illustration).
  • WAN interfaces 21 may communicate with the WAN wirelessly (e.g., via a public cellular network) or over a wired connection.
  • WAN interfaces 21 may communicate with the WAN wirelessly (e.g., via a public cellular network) or over a wired connection.
  • the proximity-based communications services provided by embodiments of the present invention do not require the devices to be constantly connected to network 24; sporadic connectivity is sufficient.
  • a social networking web site 26 operated by a social networking organization is also connected to data network 24.
  • Web site 26 is a conventional web site, operated by a social networking organization, which maintains lists of registrants and buddy lists, often as encoded identifiers.
  • the buddy lists of web site 26 are downloaded to user devices 12, 14, 16 (typically, with sporadic updates).
  • user devices 12, 14, 16 typically, with sporadic updates.
  • social networking site identifiers, and suitable software the users no longer need to be connected to the Internet to perform the proximity-based communications service described herein, because this service operates using proximity- based wireless communication facilities, rather than over the Internet.
  • Directional ranges of the proximity-based communications facility in user device 16 are represented by ellipses 20, 22. While not shown in Fig.
  • Ellipse 20 includes user devices 12, 14, 16.
  • user device 16 can sense the proximity of user devices 12, 14.
  • each of user devices 12, 14, 16 is able to detect the others when they are within range of its proximity-based communications facilities.
  • user devices 16, 18 cannot detect one another using their proximity-based communications facilities, as they are too distant from one another.
  • their proximity- based communications facilities could be blocked, for example by intervening structural iron in a building.
  • ellipse 22 does not encompass user device 18.
  • Fig. 2 is a flow chart of a method of proximity- based presence notification of social networking participants in accordance with a disclosed embodiment of the invention.
  • the method is described with respect to an individual user device. However, in practice it is typically performed concurrently by a large number of user devices, for example the user devices shown in Fig. 1.
  • the method determines, inter alia, whether a social relationship or connection exists between users of two wirelessly-enabled user devices that are in physical proximity to one another, the social relationship having been established using a buddy list taken from a common social networking service or web site.
  • the method is typically performed by a client software application installed on each client device, as described hereinabove.
  • the method includes two portions: a buddy list download portion 25, and a proximity determination and alert portion 27. After portion 25 is performed a first time, the two portions of the method are typically performed generally in parallel with one another. Each portion is typically performed in an infinite loop so long as the client software application is running in the user device.
  • Buddy list download portion 25 begins at an initial step 28, at which the user device connects to the Internet.
  • a social networking site is accessed over the Internet connection established at step 28.
  • the user of the user device is a prior registrant of the social networking site.
  • the user device downloads the user's buddy list from the social networking site (the buddy list typically comprises respective IDs of the buddy assigned by the social networking site, rather than the actual names of the buddies), as well as the user's own ID.
  • the user device downloads the buddy list by sending an HTTP request to the social networking site that requests the buddy list, and receiving the buddy list in response to the HTTP request.
  • the user device appears to be an Internet browser.
  • the social networking site returns a Web page, which the user device parses the Web page to extract the buddy list information from the Web page.
  • the user device first logs into the social networking site using the user's ID and password for the site, using another HTTP request.
  • the user device utilizes an API offered by the social networking site that includes a method to receive the buddy list.
  • some social networking sites offer such an API to enable the development of third-party applications.
  • the buddy list includes additional related information downloaded from the social networking sites, such as permissions associated with each buddy.
  • permissions may define specific users or types of other users with whom the user is willing to communicate or share profile or other information, or to whom the user is willing to be visible.
  • the list of permissions may comprise a list of exclusions. It is noted that there is no need for tight integration between the client software application running on the user device and the social networking application running on the social networking server.
  • control now proceeds to a decision step 34, where it is determined whether more social networking sites need to be contacted. If the determination at decision step 34 is affirmative, then control returns to step 30, and an additional buddy list is downloaded. If the determination at decision step 34 is negative, the current iteration of buddy list download portion 25 is complete. Alternatively, instead of downloading the buddy lists from multiple social networking sites in series, some or all of the social networking sites are accessed in parallel.
  • Buddy list download portion 25 is repeated sporadically when a connection to the
  • portion 25 After portion 25 has been performed the first time, during subsequent performances of portion 25 the entire buddy list may be again downloaded, or only updates to the buddy list may be downloaded, such as if the social network's API supports such updating.
  • typically buddy list download portion 25 is performed some time in advance of proximity detection. Once they are completed, it is not necessary that the user device or any other devices that may be in proximity to the user device be connected to the Internet. All subsequent steps can be effected using the proximity-based communications facilities of the devices.
  • Proximity determination and alert portion 27 is performed generally in parallel with buddy list download portion 25, as mentioned above.
  • Portion 27 begins at a decision step 36, at which the client software application running in the user device determines whether another user device having a compatible proximity-based communications facility is within operational range.
  • the client application software concludes that no other devices are within operational range of the user device, and the method returns to the beginning of determination and alert portion 27, such that the portion is repeated in an infinite loop while the client software application is running in the user device.
  • control proceeds to an ID information exchange step 40, at which a communications channel is established between the user device and the detected device using their proximity-based communications facilities.
  • establishing the communications channel includes establishing a session between the devices, while for other applications, the communications channel is sessionless.
  • the user device and the detected device exchange identify information that enables at least one of the respective client software applications running in the devices to determine whether the users of the two devices are registered as buddies on the common social networking site, at step 44 described hereinbelow.
  • the user device transmits the user's social networking ID to the detected device via the proximity-based wireless communication facility.
  • the detected device also sends the buddy identifier of the other user to the user's device, such as if the detected device also generally simultaneously detected the user's device.
  • social networking site identifications and buddy lists are received by the user device from the detected device, and may even be mutually exchanged between the user device and the detected device.
  • control proceeds to a buddy decision step 44, where at least one of the user device or detected device determines whether the users of the user device and detected device are buddies.
  • the detected device receives the user ID transmitted at step 40, and checks whether the ID is included in the buddy list of the user of the detected device, which was downloaded from the social networking site at download step 32. If the identifier is found on the list, the detected device determines that the two users are registered as buddies on the common social networking site.
  • control proceeds to an alert step 46. It is concluded that the users of the user device and the detected device are indeed buddies, and a private communication session may be established therebetween. Assuming that appropriate permissions have been set by the parties, a presence alert is issued to one or both of the users.
  • the detected device may be commanded to issue a presence alert to its user. Responsively to the alert, the users may decide to open a direct communication channel between themselves, or to hold a face-to-face meeting. For example, the users may use the direct communication channel for chatting, sharing information and files, and/or playing a game. Control then returns to decision step 36.
  • Fig. 3 is a flow chart of a method of proximity- based presence notification of social networking participants in accordance with an alternate embodiment of the invention. This embodiment is similar to the first embodiment, except as described hereinbelow. Steps of the method not described hereinbelow are performed as the like numbered steps described hereinabove with reference to Fig. 2.
  • the user device transmits the entire buddy list of the user to the detected device.
  • the user device downloaded this buddy list from the social networking site at download step 32.
  • the detected device checks whether the two users are buddies, as described hereinabove with reference to Fig.
  • step 44 If the determination at decision step 44 is affirmative, then control proceeds to step 46, as in the previous embodiment.
  • control proceeds to a mutual buddy decision step 48.
  • the detected device determines whether the buddy lists of the user device and detected device have a buddy in common. This can be done by detecting an intersection of the sets of buddies in the two buddy lists. If the determination at mutual buddy decision step 48 is affirmative, then an indirect social relationship may exist between the users of the user device and the detected device, based on a common acquaintance.
  • Control proceeds to step 46, and, assuming suitable permissions are set, a presence alert is issued to one or both of the users, and the two users may decide to open a direct communication channel between themselves, or hold a face-to-face meeting. For example, the two users may already be acquainted with one another, even though their buddy lists did not yet reflect this relationship. Alternatively, the two users may not be acquainted with one another, but may wish to meet one another because of the identified mutual acquaintance.
  • the user device transmits a list of attributes of the user downloaded by the user device from the social networking site at download step 32.
  • the attributes may include interests, age, gender, city of residence, and/or country of residence.
  • the client software application infers interests based on one or more of the attributes.
  • the detected device checks whether the two users share a common attribute (such as a common interest).
  • the detected device compares the attributes received from the user device to one or more criteria regarding desired attributes specified by the user of the detected device, either by specifying the criteria directly to the client software application running on the detected device, or via the social networking site.
  • the users of the user device and the detected device may wish to become acquainted, based on their common attribute, such as common interest.
  • a presence alert is issued to one or both of the users.
  • the presence alert may include an identification of the common attribute (e.g., the common interest), the ID of the other user, and/or a profile or other information about the other user.
  • the two users may decide to communicate or physically meet, or request additional information before doing so.
  • a standard representation is defined for attributes common to different social networking sites.
  • the client software application translates attributes received in each specific social network's representation, e.g., using the network's API, to the standard representation.
  • Use of such a standard representation enables attribute matching between members of different social networks who have common attributes, such as common interests.
  • this technique may be useful for a dating application between members of different social networks, in which case the match is between the common representation of each user's attributes and other user's specified target attributes.
  • the methods of Fig. 2 or Fig. 3 are performed without transmitting the real social network IDs of the users or their buddy lists.
  • the client software applications apply a oneway function to the IDs, and the devices share the output values of the one-way function at ID information exchange step 40, and perform the comparison(s) at buddy decision step 44 between the output values of the one-way function rather than the IDs themselves. Because the function is one-way, neither the devices nor any other devices that may be in proximity are able to derive the actual IDs from the output values of the function (unless the device already knows the ID, in which case the device determines the ID based on the output value by performing a reverse look-up).
  • the one-way function comprises a one-way cryptographic hash function, such as a Secure Hash Algorithm (SHA) function, e.g., SHA-I or SHA-O, or MD-5.
  • SHA Secure Hash Algorithm
  • the use of a hash function ensures that the probability of a collision of values is low, so that there is a negligible likelihood of users mistakenly identifying one another as buddies based on the hash values.
  • the user device applies the one-way function to the social networking ID of the user, and transmits the output value to the detected device.
  • the detected device applies the same one-way function to the IDs on the buddy list the detected device downloaded at download step 32, and compares the received output value to the output values of the IDs on the buddy list to determine whether there is a match.
  • the user device and/or the detected device apply the one-way functions to the IDs beforehand, such as during buddy list download portion 25 of the method.
  • the user device applies the one-way function to the social networking IDs of the user and the IDs of the users on the user's buddy list, and transmits the output values to the detected device.
  • the detected device applies the same oneway function to the IDs on the buddy list the detected device downloaded at download step 32, and compares the received output value to the output values of the IDs in the buddy list to determine whether there is a match.
  • the detected device applies the same one-way function to the IDs on the buddy list the detected device downloaded at download step 32, checks for overlap between the output values and the output values received from the user device.
  • the user device and/or the detected device apply the one-way functions to the IDs beforehand, such as during buddy list download portion 25 of the method.
  • the user device may apply the one-way function to the attributes, such as interests, of the user of the user device, and transmits the output values to the detected device.
  • the proximity-based matching service described herein is offered by an Internet social networking site that desires to increase its popularity, or by a mobile communication network that desires to increase its revenues by attracting clients or increasing the number of calls placed by buddies communicating with one another.
  • the service may be offered for a one-time or a monthly fee, or for a per- buddy-found fee.
  • the service may be offered by commercial entities placing communication devices at their locations such that users who approach their locations and have an interest in their goods or services are notified.
  • the service may generate revenues from advertisements, for example targeted advertisement based on location, attributes and/or interests (as expressed in the user profile), intersection of interests between a user and his/her nearby buddies, and/or location.
  • a user's “buddy list” is a list of people ("buddies"), or identifiers (IDs) of such people, with whom the user has some type of relationship.
  • the buddies may be friends, coworkers, professional contacts, or other acquaintances.

Abstract

A method is provided for social communication, including downloading from a social networking site (26), by a first user device (12) having a first user, a buddy list of the first user. Using a proximity-based wireless communication protocol, the first user device (12) receives, from a second user device (14), identity information with respect to a second user of the second user device (14). The first user device (12) identifies, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user. The first user device (12) issues an alert to the first user regarding the identified social connection. Other embodiments are also described.

Description

PROXIMITY-BASED PRESENCE NOTIFICATION OF SOCIAL NETWORK
PARTICIPANTS
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority from U.S. Provisional Application No. 61/027,059, filed February 8, 2008, which is assigned to the assignee of the present application and herein incorporated by reference.
FIELD OF THE INVENTION
This invention relates to communications and messaging systems. More particularly, this invention relates to proximity-based networking communications.
BACKGROUND OF THE INVENTION
Social networks enable users to define social groups on the Internet, which include their buddies or friends. Social networks provide facilities for interchange of information among members or participants, and may provide an option to publicize the information outside the social groups. Social networking information typically includes basic personal facts, and possibly a photograph, collectively known as an optional personal profile. Extended information may also be intercommunicated, including free-text expressions, images, computer applications, and the like.
Each member of a social network can view the status of his buddies, including their exported information. Modern social networks also push changes to the personal information of members to their buddies. In general, social networks require connectivity to the Internet. Once on-line, a member may see his buddies, sometimes with an indicator of their on-line status.
Concurrently with the proliferation of social networks, proximity-based communication hardware has become ubiquitous in computer equipment and other communications devices. For instance, nearly every laptop sold today comes preinstalled with short-range wireless communications facilities, which use, for example, the Wi-Fi protocol (IEEE 802.11) or the Bluetooth® protocol. Both of these technologies enable direct communication, either with an access point, or with another corresponding device that is within the technology's transmission range. SUMMARY OF THE INVENTION
According to some embodiments of the invention, Internet-based social networking is integrated with proximity-based communication. A software application executing in a first communications device uses a proximity-based wireless communications protocol to detect physical proximity of a compatible second communications device. A communication channel is established between the first and second devices using the proximity-based wireless communications protocol. Information, previously taken from a common social networking site, is exchanged between the devices, enabling a determination that a social relationship exists between their respective users. An alert is issued to at least one of the users indicating the presence of the other user, and a social communication session may thereupon be established therebetween.
New mobile telephone models typically support the Bluetooth protocol and increasingly the WiFi protocol as well. It is expected that in the next few years most, if not all, mobile telephones will be preinstalled with proximity communication capabilities. Proximity-based communication enables direct communication between nearby devices, and even the creation of infrastructure-independent (multiple hop) ad-hoc networks. Embodiments of the invention can be used to implement a localized presence service, which notifies a user whenever one of his friends or buddies is nearby, i.e., within operational range of the proximity-based communication equipment. Ad-hoc arrangements among proximity-based communication devices may allow sharing information and files among users, and playing data-intensive and real-time multiplayer games. In embodiments of the present invention, devices may establish communication using a point-to-point mode wireless protocol, such as the Bluetooth protocol or the ad hoc mode of the WiFi protocol, using a WiMAX (Worldwide Interoperability for Microwave Access) protocol, using an ultra-wideband (UWB) protocol, or using a local access point protocol, such as the infrastructure mode of the WiFi protocol (also called the access point mode).
The communications devices used in embodiments of the present invention may comprise any mobile or fixed information devices, e.g., a mobile internet device, a laptop computer, ultra-mobile personal computer (UMPC), personal digital assistant (PDA), mobile telephone, or a desktop computer, so long as the device is provided with- proximity-based wireless communications capabilities. The service provided by the software application is sometimes referred to herein as a "proximity-based communications service."
The software application in the communications device is linked to a social networking web site, typically via the Internet (either over a wireless or wired connection), and exploits existing buddy lists of the social network. It is an advantage of some aspects of the invention that it is unnecessary for users to define new buddy lists in addition to those they already maintain on a social networking site. Nor are their social network buddies burdened by a requirement to actively migrate to a proximity-detection service. Rather, the communications device integrates seamlessly with an existing social network, or even a plurality of social networks concurrently, to obtain buddy identifications and such information concerning the buddy as may be available to the user as a member of the social network.
Assume, for example, that two users, Alice and Bob, are buddies and are in proximity to one another. The proximity-based communications service analyzes their buddy lists and determines that Alice and Bob are buddies on a social networking web site. If appropriate permissions are set, the service notifies one or both of the users that the other is in physical proximity, and the users may decide to begin a direct communication session with one another using the proximity-based wireless communication facility, and/or to arrange a face-to-face meeting. In some embodiments of the present invention, the proximity-based communications service notifies users who are not already buddies that they share a mutual buddy, and therefore may desire to communicate with one another. To continue the example above, the proximity-based communications service further analyzes Alice's and Bob's buddy lists and determines that although Alice and Bob are not buddies, they have a common buddy, Crystal. If appropriate permissions are set, the proximity-based communications service may alert Alice and Bob and suggest an introduction, based on their common acquaintance, Crystal. It is noted that Crystal need not be in physical proximity to Alice and Bob in order to make the introduction. This mutual-friend based identification of potential acquaintances may be useful, for example, for introducing professionals with common acquaintances who happen to meet in a location such as an airport lounge or trade show, or for freshmen students who would like to become acquainted with their peers. Alternatively, this technique may be useful for social network dating. The term "dating" is used herein broadly to mean matching parties and should be understood as encompassing both romantic dating and professional business dating, such as finding job applicants, or identifying employees of the same company.
While social networking web organizations play a mostly passive role in the proximity-based communications service described herein, the proximity-based communications service described herein may nevertheless be of value for them. Presence notifications and the possibility of new introductions of members based on common acquaintances enhance connectivity among social networking participants, who might otherwise be unaware of one another. For example, in the case of Alice, Bob, and Crystal mentioned above, following an interchange resulting from the presence notification, Alice and Bob may decide to include one another on their respective buddy lists.
There is therefore provided, in accordance with an embodiment of the present invention, a method for social communication, including: downloading from a social networking site, by a first user device having a first user, a buddy list of the first user; using a proximity-based wireless communication protocol, receiving, by the first user device from a second user device, identity information with respect to a second user of the second user device; identifying by the first user device, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issuing, by the first user device to the first user, an alert regarding the identified social connection.
In an embodiment, the identity information includes a user ID of the second user on the social networking site, and identifying the social connection includes finding that the user ID of the second user is included on the downloaded buddy list.
In an embodiment, the buddy list of the first user is a first buddy list, the identity information includes a second buddy list of the second user on the social networking site, and identifying the social connection includes finding a common occurrence of a member of the social networking site on the first and second buddy lists, the member different from both the first and second users.
In an embodiment, the buddy list includes a plurality of member IDs, receiving the identity information includes receiving at least one output identity information value of a one-way function having the identity information as input, and identifying the social connection includes performing the one-way function on the member IDs to generate respective output member values, and identifying the social connection responsively to the comparison of the at least one output identity information value and the output member values. For some applications, the one-way function is a hash function, receiving the at least one output identity information value includes receiving the at least one output identity information value of the hash function having the identity information as input, and performing the one-way function on the member IDs includes performing the hash function on the member IDs to generate the respective output member values. Typically, the hash function is a cryptographic hash function, receiving the at least one output identity information value includes receiving the at least one output identity information value of the cryptographic hash function having the identity information as input, and performing the hash function on the member IDs includes performing the cryptographic hash function on the member IDs to generate the respective output member values For some applications, receiving the identify information using the proximity- based wireless communication protocol includes receiving the identify information using a proximity-based wireless communication protocol selected from the group consisting of: a Bluetooth protocol, a WiFi ad hoc mode protocol, a WiFi infrastructure mode protocol, a WiMAX protocol, and an ultra-wideband (UWB) protocol. For some applications, downloading the buddy list includes downloading the buddy list from the social networking site using an API provided by the social networking site. Alternatively, downloading the buddy list includes sending one or more requests (such as HTTP requests) to the social networking site, and parsing respective returned Web pages. Further alternatively, receiving the identity information does not include receiving the identity information via the social networking site.
For some applications, receiving the identify information includes receiving one or more attributes of the second user, and identifying the social connection includes comparing the attributes to one or more criteria specified by the first user.
There is further provided, in accordance with an embodiment of the present invention, a computer software product for social communication between first and second computing devices, the product including a tangible computer-readable storage medium in which computer program instructions are stored, which instructions, when executed by the first computing device, cause the first computing device to download, from a social networking site, a buddy list of a first user of the first computing device; receive, using a proximity-based wireless communication protocol, from the second computing device, identity information with respect to a second user of the second computing device; identify, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issue an alert to the first user regarding the identified social connection.
There is still further provided, in accordance with an embodiment of the present invention, apparatus for social communication with a wireless communications device, the apparatus including: a first wireless proximity-based communications interface; a second wide-area network (WAN) interface; and a processor, configured to download, from a social networking site, via the second interface, a buddy list of a first user of the apparatus; receive, via the first interface, using a proximity-based wireless communication protocol, from the wireless communications device, identity information with respect to a second user of the wireless communications device; identify, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issue an alert to the first user regarding the identified social connection.
BRIEF DESCRIPTION OF THE DRAWINGS 20
For a better understanding of the present invention, reference is made to the detailed description of the invention, by way of example, which is to be read in conjunction with the following drawings, wherein like elements are given like reference numerals, and wherein: Fig. 1 is a pictorial diagram of a system that is constructed and operative in accordance with a disclosed embodiment of the invention;
Fig. 2 is a flow chart of a method of proximity-based presence notification of social networking participants in accordance with a disclosed embodiment of the invention; and Fig. 3 is a flow chart of a method of proximity-based presence notification of social networking participants in accordance with an alternate embodiment of the invention.
DETAILED DESCRD?TION OF THE INVENTION In the following description, numerous specific details are set forth in order to provide a thorough understanding of the various principles of the present invention. It will be apparent to one skilled in the art, however, that not all these details are necessarily always needed for practicing the present invention. In this instance, well-known circuits, control logic, and the details of computer program instructions for conventional algorithms and processes have not been shown in detail in order not to obscure the general concepts unnecessarily.
Aspects of the present invention may be embodied in software programming code, which is typically maintained in permanent storage, such as a computer readable medium. In a client/server environment, such software programming code may be stored on a client or a server. The software programming code may be embodied on any of a variety of known tangible media for use with a data processing system, such as a diskette, hard drive, or CD-ROM. The code may be distributed on such media, or may be distributed to users from the memory or storage of one computer system over a network of some type to storage devices on other computer systems for use by users of such other systems. Typically, each user device performing the techniques described herein downloads, via the Internet, a client software application that performs the techniques described herein.
System Architecture
Turning now to the drawings, reference is initially made to Fig. 1, which is a pictorial diagram of a system 10, which is constructed and operative in accordance with a disclosed embodiment of the invention. A plurality of user devices 12, 14, 16, 18 are shown. User devices 12, 16 are realized as laptop computers. User device 14 is a mobile telephone. User device 18 is a fixed device, such as a desktop personal computer. The user devices are all equipped with proximity-based wireless communications interfaces 19 (shown only in device 12, for clarity of illustration), which provide short-range wireless proximity communications capabilities, e.g., using the WiFi, Bluetooth, WiMAX, and/or UWB protocols. System 10 may comprise any number of user devices, which can be realized as many combinations of different types of fixed and mobile information devices. Typically, user devices 12, 14, 16 are connected to a wide-area data network 24, which is typically the public Internet, such as over a public wireless communication' network, e.g., a cellular network. The user devices connect to the data network via respective wide-area network (WAN) interfaces 21 (shown only in device 12, for clarity of illustration). WAN interfaces 21 may communicate with the WAN wirelessly (e.g., via a public cellular network) or over a wired connection. As described hereinbelow, the proximity-based communications services provided by embodiments of the present invention do not require the devices to be constantly connected to network 24; sporadic connectivity is sufficient. A social networking web site 26 operated by a social networking organization is also connected to data network 24. Web site 26 is a conventional web site, operated by a social networking organization, which maintains lists of registrants and buddy lists, often as encoded identifiers. In the arrangement of Fig. 1, the buddy lists of web site 26 are downloaded to user devices 12, 14, 16 (typically, with sporadic updates). However, once the users of the user devices have registered with the social networking organization, and have downloaded buddy lists, social networking site identifiers, and suitable software, the users no longer need to be connected to the Internet to perform the proximity-based communications service described herein, because this service operates using proximity- based wireless communication facilities, rather than over the Internet. Directional ranges of the proximity-based communications facility in user device 16 are represented by ellipses 20, 22. While not shown in Fig. 1 in the interest of clarity, the operational ranges of user devices 12, 14 are similar. Ellipse 20 includes user devices 12, 14, 16. Thus user device 16 can sense the proximity of user devices 12, 14. As the operational ranges of the other user devices are similar, each of user devices 12, 14, 16 is able to detect the others when they are within range of its proximity-based communications facilities. However, user devices 16, 18 cannot detect one another using their proximity-based communications facilities, as they are too distant from one another. Alternatively, even if user devices 16, 18 were in physical proximity, their proximity- based communications facilities could be blocked, for example by intervening structural iron in a building. In any case, ellipse 22 does not encompass user device 18. Direct buddy embodiment
Reference is now made to Fig. 2, which is a flow chart of a method of proximity- based presence notification of social networking participants in accordance with a disclosed embodiment of the invention. The method is described with respect to an individual user device. However, in practice it is typically performed concurrently by a large number of user devices, for example the user devices shown in Fig. 1. The method determines, inter alia, whether a social relationship or connection exists between users of two wirelessly-enabled user devices that are in physical proximity to one another, the social relationship having been established using a buddy list taken from a common social networking service or web site. The method is typically performed by a client software application installed on each client device, as described hereinabove.
The method includes two portions: a buddy list download portion 25, and a proximity determination and alert portion 27. After portion 25 is performed a first time, the two portions of the method are typically performed generally in parallel with one another. Each portion is typically performed in an infinite loop so long as the client software application is running in the user device.
Buddy list download portion 25 begins at an initial step 28, at which the user device connects to the Internet. Next, at a social network access step 30, a social networking site is accessed over the Internet connection established at step 28. The user of the user device is a prior registrant of the social networking site. Then at download step 32, the user device downloads the user's buddy list from the social networking site (the buddy list typically comprises respective IDs of the buddy assigned by the social networking site, rather than the actual names of the buddies), as well as the user's own ID. For some applications, the user device downloads the buddy list by sending an HTTP request to the social networking site that requests the buddy list, and receiving the buddy list in response to the HTTP request. To the social networking site, the user device appears to be an Internet browser. The social networking site returns a Web page, which the user device parses the Web page to extract the buddy list information from the Web page. (Typically, the user device first logs into the social networking site using the user's ID and password for the site, using another HTTP request.) Alternatively, the user device utilizes an API offered by the social networking site that includes a method to receive the buddy list. For example, some social networking sites offer such an API to enable the development of third-party applications. Optionally, the buddy list includes additional related information downloaded from the social networking sites, such as permissions associated with each buddy. Such permissions may define specific users or types of other users with whom the user is willing to communicate or share profile or other information, or to whom the user is willing to be visible. The list of permissions may comprise a list of exclusions. It is noted that there is no need for tight integration between the client software application running on the user device and the social networking application running on the social networking server.
It is not uncommon for the user of the user device to participate in multiple social networking sites. To accommodate this practice, control now proceeds to a decision step 34, where it is determined whether more social networking sites need to be contacted. If the determination at decision step 34 is affirmative, then control returns to step 30, and an additional buddy list is downloaded. If the determination at decision step 34 is negative, the current iteration of buddy list download portion 25 is complete. Alternatively, instead of downloading the buddy lists from multiple social networking sites in series, some or all of the social networking sites are accessed in parallel.
Buddy list download portion 25 is repeated sporadically when a connection to the
Internet is available. After portion 25 has been performed the first time, during subsequent performances of portion 25 the entire buddy list may be again downloaded, or only updates to the buddy list may be downloaded, such as if the social network's API supports such updating.
As mentioned above, typically buddy list download portion 25 is performed some time in advance of proximity detection. Once they are completed, it is not necessary that the user device or any other devices that may be in proximity to the user device be connected to the Internet. All subsequent steps can be effected using the proximity-based communications facilities of the devices.
Proximity determination and alert portion 27 is performed generally in parallel with buddy list download portion 25, as mentioned above. Portion 27 begins at a decision step 36, at which the client software application running in the user device determines whether another user device having a compatible proximity-based communications facility is within operational range.
If the determination at decision step 36 is negative, the client application software concludes that no other devices are within operational range of the user device, and the method returns to the beginning of determination and alert portion 27, such that the portion is repeated in an infinite loop while the client software application is running in the user device.
If, on the other hand, the determination at decision step 36 is affirmative, then control proceeds to an ID information exchange step 40, at which a communications channel is established between the user device and the detected device using their proximity-based communications facilities. For some applications, establishing the communications channel includes establishing a session between the devices, while for other applications, the communications channel is sessionless. The user device and the detected device exchange identify information that enables at least one of the respective client software applications running in the devices to determine whether the users of the two devices are registered as buddies on the common social networking site, at step 44 described hereinbelow. For some applications, the user device transmits the user's social networking ID to the detected device via the proximity-based wireless communication facility. Optionally, the detected device also sends the buddy identifier of the other user to the user's device, such as if the detected device also generally simultaneously detected the user's device. For some applications, social networking site identifications and buddy lists are received by the user device from the detected device, and may even be mutually exchanged between the user device and the detected device. After completion of step 40, control proceeds to a buddy decision step 44, where at least one of the user device or detected device determines whether the users of the user device and detected device are buddies. For some applications, the detected device receives the user ID transmitted at step 40, and checks whether the ID is included in the buddy list of the user of the detected device, which was downloaded from the social networking site at download step 32. If the identifier is found on the list, the detected device determines that the two users are registered as buddies on the common social networking site.
If the determination at decision step 44 is affirmative, then control proceeds to an alert step 46. It is concluded that the users of the user device and the detected device are indeed buddies, and a private communication session may be established therebetween. Assuming that appropriate permissions have been set by the parties, a presence alert is issued to one or both of the users. Optionally, the detected device may be commanded to issue a presence alert to its user. Responsively to the alert, the users may decide to open a direct communication channel between themselves, or to hold a face-to-face meeting. For example, the users may use the direct communication channel for chatting, sharing information and files, and/or playing a game. Control then returns to decision step 36.
If the determination at decision step 44 is negative, then it cannot be demonstrated that the users of the user device and the detected device have any connection or social relationship. No alerts are issued. Control returns directly to decision step 36.
Mutual Buddy Embodiment
Reference is now made to Fig. 3, which is a flow chart of a method of proximity- based presence notification of social networking participants in accordance with an alternate embodiment of the invention. This embodiment is similar to the first embodiment, except as described hereinbelow. Steps of the method not described hereinbelow are performed as the like numbered steps described hereinabove with reference to Fig. 2.
At ID information exchange step 40, in addition to transmitting the user's social networking ID, the user device transmits the entire buddy list of the user to the detected device. As mentioned above, the user device downloaded this buddy list from the social networking site at download step 32. At buddy decision step 44, the detected device checks whether the two users are buddies, as described hereinabove with reference to Fig.
2. If the determination at decision step 44 is affirmative, then control proceeds to step 46, as in the previous embodiment.
However, if the determination at decision step 44 is negative, then control proceeds to a mutual buddy decision step 48. At this step, the detected device determines whether the buddy lists of the user device and detected device have a buddy in common. This can be done by detecting an intersection of the sets of buddies in the two buddy lists. If the determination at mutual buddy decision step 48 is affirmative, then an indirect social relationship may exist between the users of the user device and the detected device, based on a common acquaintance. Control proceeds to step 46, and, assuming suitable permissions are set, a presence alert is issued to one or both of the users, and the two users may decide to open a direct communication channel between themselves, or hold a face-to-face meeting. For example, the two users may already be acquainted with one another, even though their buddy lists did not yet reflect this relationship. Alternatively, the two users may not be acquainted with one another, but may wish to meet one another because of the identified mutual acquaintance.
After performing mutual buddy decision step 46, or if the determination at decision step 48 is negative, control returns to decision step 36. In an embodiment of the present invention, at ID information exchange step 40, in addition to transmitting the user's social networking ID, and instead of or in addition to transmitting the entire buddy list of the user, the user device transmits a list of attributes of the user downloaded by the user device from the social networking site at download step 32. For example, the attributes may include interests, age, gender, city of residence, and/or country of residence. Alternatively, the client software application infers interests based on one or more of the attributes. The detected device checks whether the two users share a common attribute (such as a common interest). This can be done by detecting an intersection of the set of attributes of the user of the user device, and a set of attributes of the user of the detected device, which is downloaded from the social networking site at download step 32. Alternatively, the detected device compares the attributes received from the user device to one or more criteria regarding desired attributes specified by the user of the detected device, either by specifying the criteria directly to the client software application running on the detected device, or via the social networking site. In either case, if a match is found, the users of the user device and the detected device may wish to become acquainted, based on their common attribute, such as common interest. Assuming suitable permissions are set, a presence alert is issued to one or both of the users. The presence alert may include an identification of the common attribute (e.g., the common interest), the ID of the other user, and/or a profile or other information about the other user. The two users may decide to communicate or physically meet, or request additional information before doing so.
For some applications, a standard representation is defined for attributes common to different social networking sites. The client software application translates attributes received in each specific social network's representation, e.g., using the network's API, to the standard representation. Use of such a standard representation enables attribute matching between members of different social networks who have common attributes, such as common interests. In particular, this technique may be useful for a dating application between members of different social networks, in which case the match is between the common representation of each user's attributes and other user's specified target attributes.
In an embodiment of the present invention, in order to preserve the users' privacy, the methods of Fig. 2 or Fig. 3 are performed without transmitting the real social network IDs of the users or their buddy lists. Instead, the client software applications apply a oneway function to the IDs, and the devices share the output values of the one-way function at ID information exchange step 40, and perform the comparison(s) at buddy decision step 44 between the output values of the one-way function rather than the IDs themselves. Because the function is one-way, neither the devices nor any other devices that may be in proximity are able to derive the actual IDs from the output values of the function (unless the device already knows the ID, in which case the device determines the ID based on the output value by performing a reverse look-up). As a result, specific user IDs are not sent between users, and anonymity regarding the social network is maintained. For some applications, the one-way function comprises a one-way cryptographic hash function, such as a Secure Hash Algorithm (SHA) function, e.g., SHA-I or SHA-O, or MD-5. The use of a hash function ensures that the probability of a collision of values is low, so that there is a negligible likelihood of users mistakenly identifying one another as buddies based on the hash values.
In this embodiment, at ID information exchange step 40 of the method of Fig. 2, the user device applies the one-way function to the social networking ID of the user, and transmits the output value to the detected device. At buddy decision step 44, the detected device applies the same one-way function to the IDs on the buddy list the detected device downloaded at download step 32, and compares the received output value to the output values of the IDs on the buddy list to determine whether there is a match. Alternatively, the user device and/or the detected device apply the one-way functions to the IDs beforehand, such as during buddy list download portion 25 of the method.
Similarly, in this embodiment, at ID information exchange step 40 of the method of Fig. 3, the user device applies the one-way function to the social networking IDs of the user and the IDs of the users on the user's buddy list, and transmits the output values to the detected device. At buddy decision step 44, the detected device applies the same oneway function to the IDs on the buddy list the detected device downloaded at download step 32, and compares the received output value to the output values of the IDs in the buddy list to determine whether there is a match. At mutual buddy decision step 48, the detected device applies the same one-way function to the IDs on the buddy list the detected device downloaded at download step 32, checks for overlap between the output values and the output values received from the user device. Alternatively, the user device and/or the detected device apply the one-way functions to the IDs beforehand, such as during buddy list download portion 25 of the method.
Furthermore, in this embodiment, the user device may apply the one-way function to the attributes, such as interests, of the user of the user device, and transmits the output values to the detected device.
In an embodiment of the present invention, the proximity-based matching service described herein is offered by an Internet social networking site that desires to increase its popularity, or by a mobile communication network that desires to increase its revenues by attracting clients or increasing the number of calls placed by buddies communicating with one another. The service may be offered for a one-time or a monthly fee, or for a per- buddy-found fee. The service may be offered by commercial entities placing communication devices at their locations such that users who approach their locations and have an interest in their goods or services are notified. The service may generate revenues from advertisements, for example targeted advertisement based on location, attributes and/or interests (as expressed in the user profile), intersection of interests between a user and his/her nearby buddies, and/or location. As used in the present application, including in the claims, a user's "buddy list" is a list of people ("buddies"), or identifiers (IDs) of such people, with whom the user has some type of relationship. The buddies may be friends, coworkers, professional contacts, or other acquaintances.
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof that are not in the prior art, which would occur to persons skilled in the art upon reading the foregoing description.

Claims

1. A method for social communication, comprising: downloading from a social networking site, by a first user device having a first user, a buddy list of the first user; using a proximity-based wireless communication protocol, receiving, by the first user device from a second user device, identity information with respect to a second user of the second user device; identifying by the first user device, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issuing, by the first user device to the first user, an alert regarding the identified social connection.
2. The method according to claim 1, wherein the identity information includes a user ID of the second user on the social networking site, and wherein identifying the social connection comprises finding that the user ID of the second user is included on the downloaded buddy list.
3. The method according to claim 1, wherein the buddy list of the first user is a first buddy list, wherein the identity information includes a second buddy list of the second user on the social networking site, and wherein identifying the social connection comprises finding a common occurrence of a member of the social networking site on the first and second buddy lists, the member different from both the first and second users.
4. The method according to any one of claims 1-3, wherein the buddy list comprises a plurality of member IDs, wherein receiving the identity information comprises receiving at least one output identity information value of a one-way function having the identity information as input, and wherein identifying the social connection comprises: performing the one-way function on the member IDs to generate respective output member values; and identifying the social connection responsively to the comparison of the at least one output identity information value and the output member values.
5. The method according to claim 4, wherein the one-way function is a hash function, wherein receiving the at least one output identity information value comprises receiving the at least one output identity information value of the hash function having the identity information as input, and wherein performing the one-way function on the member IDs comprises performing the hash function on the member IDs to generate the respective output member values.
6. The method according to claim 5, wherein the hash function is a cryptographic hash function, wherein receiving the at least one output identity information value comprises receiving the at least one output identity information value of the cryptographic hash function having the identity information as input, and wherein performing the hash function on the member IDs comprises performing the cryptographic hash function on the member IDs to generate the respective output member values.
7. The method according to claim 1, wherein receiving the identify information using the proximity-based wireless communication protocol comprises receiving the identify information using a proximity-based wireless communication protocol selected from the group consisting of: a Bluetooth protocol, a WiFi ad hoc mode protocol, a WiFi infrastructure mode protocol, a WiMAX protocol, and an ultra-wideband (UWB) protocol.
8. The method according to claim 1, wherein downloading the buddy list comprises downloading the buddy list from the social networking site using an API provided by the social networking site.
9. The method according to claim 1, wherein downloading the buddy list comprises sending one or more requests to the social networking site, and parsing respective returned Web pages.
10. The method according to claim 9, wherein the requests are HTTP requests, and wherein sending the one or more requests comprises sending the one or more HTTP requests to the social networking site.
11. The method according to claim 1, wherein receiving the identity information does not comprise receiving the identity information via the social networking site.
12. The method according to claim 1, wherein receiving the identify information comprises receiving one or more attributes of the second user, and wherein identifying the social connection comprises comparing the attributes to one or more criteria specified by the first user.
13. A computer software product for social communication between first and second computing devices, the product comprising a tangible computer-readable storage medium in which computer program instructions are stored, which instructions, when executed by the first computing device, cause the first computing device to download, from a social networking site, a buddy list of a first user of the first computing device; receive, using a proximity-based wireless communication protocol, from the second computing device, identity information with respect to a second user of the second computing device; identify, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issue an alert to the first user regarding the identified social connection.
14. The computer software product according to claim 13, wherein the identity information includes a user ID of the second user on the social networking site, and wherein the instructions, when executed by the first computing device, cause the first computing device to identify the social connection upon finding that the user ID of the second user is included on the downloaded buddy list.
15. The computer software product according to claim 13, wherein the buddy list of the first user is a first buddy list, wherein the identity information includes a second buddy list of the second user on the social networking site, and wherein the instructions, when executed by the first computing device, cause the first computing device to identify the social connection upon finding a common occurrence of a member of the social networking site on the first and second buddy lists, the member different from both the first and second users.
16. The computer software product according to any one of claims 13-15, wherein the buddy list comprises a plurality of member IDs, wherein the instructions, when executed by the first computing device, cause the first computing device to receive at least one output identity information value of a one-way function having the identity information as input, to identify the social connection by performing the one-way function on the member IDs to generate respective output member values, and to identify the social connection responsively to the comparison of the at least one output identity information value and the output member values.
17. The computer software product according to claim 16, wherein the one-way function is a hash function, and wherein the instructions, when executed by the first computing device, cause the first computing device to receive the at least one output identity information value of the hash function having the identity information as input, and to perform the hash function on the member IDs to generate the respective output member values.
18. The computer software product according to claim 17, wherein the hash function is a cryptographic hash function, and wherein the instructions, when executed by the first computing device, cause the first computing device to receive the at least one output identity information value of the cryptographic hash function having the identity information as input, and to perform the cryptographic hash function on the member IDs to generate the respective output member values.
19. Apparatus for social communication with a wireless communications device, the apparatus comprising: a first wireless proximity-based communications interface; a second wide-area network (WAN) interface; and a processor, configured to download, from a social networking site, via the second interface, a buddy list of a first user of the apparatus; receive, via the first interface, using a proximity-based wireless communication protocol, from the wireless communications device, identity information with respect to a second user of the wireless communications device; identify, responsively to a comparison of the identity information and the buddy list, a social connection between the first user and the second user; and issue an alert to the first user regarding the identified social connection.
20. The apparatus according to claim 19, wherein the identity information includes a user ID of the second user on the social networking site, and wherein the processor is configured to identify the social connection upon finding that the user ID of the second user is included on the downloaded buddy list.
21. The apparatus according to claim 19, wherein the buddy list of the first user is a first buddy list, wherein the identity information includes a second buddy list of the second user on the social networking site, and wherein the processor is configured to identify the social connection upon finding a common occurrence of a member of the social networking site on the first and second buddy lists, the member different from both the first and second users.
22. The apparatus according to any one of claims 19-21, wherein the buddy list comprises a plurality of member IDs, and wherein the processor is configured to receive at least one output identity information value of a one-way function having the identity information as input, to identify the social connection by performing the one-way function on the member IDs to generate respective output member values, and to identify the social connection responsively to the comparison of the at least one output identity information value and the output member values.
23. The apparatus according to claim 22, wherein the one-way function is a hash function, and wherein the processor is configured to receive the at least one output identity information value of the hash function having the identity information as input, and to perform the hash function on the member IDs to generate the respective output member values.
24. The apparatus according to claim 23, wherein the hash function is a cryptographic hash function, and wherein the processor is configured to receive the at least one output identity information value of the cryptographic hash function having the identity information as input, and to perform the cryptographic hash function on the member IDs to generate the respective output member values.
PCT/IL2009/000144 2008-02-08 2009-02-08 Proximity-based presence notification of social network participants WO2009098695A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2705908P 2008-02-08 2008-02-08
US61/027,059 2008-02-08

Publications (2)

Publication Number Publication Date
WO2009098695A2 true WO2009098695A2 (en) 2009-08-13
WO2009098695A3 WO2009098695A3 (en) 2010-03-11

Family

ID=40952532

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2009/000144 WO2009098695A2 (en) 2008-02-08 2009-02-08 Proximity-based presence notification of social network participants

Country Status (1)

Country Link
WO (1) WO2009098695A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2724293A1 (en) * 2011-06-24 2014-04-30 Google, Inc. Using photographs to manage groups
US9652442B1 (en) 2014-01-24 2017-05-16 Google Inc. Virtual photo wall

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050227676A1 (en) * 2000-07-27 2005-10-13 Microsoft Corporation Place specific buddy list services
US20060270419A1 (en) * 2004-05-12 2006-11-30 Crowley Dennis P Location-based social software for mobile devices
US20070030824A1 (en) * 2005-08-08 2007-02-08 Ribaudo Charles S System and method for providing communication services to mobile device users incorporating proximity determination

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050227676A1 (en) * 2000-07-27 2005-10-13 Microsoft Corporation Place specific buddy list services
US20060270419A1 (en) * 2004-05-12 2006-11-30 Crowley Dennis P Location-based social software for mobile devices
US20070030824A1 (en) * 2005-08-08 2007-02-08 Ribaudo Charles S System and method for providing communication services to mobile device users incorporating proximity determination

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2724293A1 (en) * 2011-06-24 2014-04-30 Google, Inc. Using photographs to manage groups
EP2724293A4 (en) * 2011-06-24 2014-11-26 Google Inc Using photographs to manage groups
US9652442B1 (en) 2014-01-24 2017-05-16 Google Inc. Virtual photo wall

Also Published As

Publication number Publication date
WO2009098695A3 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
US11477604B2 (en) Location-based discovery of network members
JP6348134B2 (en) Mobile ad hoc networking
JP5826288B2 (en) Method and apparatus for automatically determining a community of interest based on context information using an ad hoc mesh network
US9390396B2 (en) Bootstrapping social networks using augmented peer to peer distributions of social networking services
US8688141B2 (en) System and method for providing communication services to mobile device users incorporating proximity determination
US8260553B2 (en) Methods, apparatuses, and computer program products for providing user location information
US10334397B2 (en) Interaction tracking and organizing system
US8600360B1 (en) Method and system for connecting people in a social network
CN107533729B (en) Building a proximity social network database based on relative distance analysis of two or more operably coupled computers
US8958537B1 (en) Providing call alerts using social network data
US9661092B2 (en) Method and apparatus for providing presence information
US11678136B1 (en) Techniques for sharing a device location via a messaging system
US10834035B2 (en) Instant messaging for mobile device with offline and online mode
US20090276436A1 (en) Method, apparatus, and computer program product for providing service invitations
Namiot et al. Where Are They Now–Safe Location Sharing: A New Model for Location Sharing Services
US20110055340A1 (en) Mobile Social Networking Systems and Methods
WO2009098695A2 (en) Proximity-based presence notification of social network participants
Berberoglu Social-Aware Applications-Study on Social Context Aware Applications: Exploring Potential Usages, Defining Requirements and Understanding Issues
Namiot Location sharing without the central server
Langendorfer et al. PLASMADS: Smart mobiles meet intelligent environments
US20120102125A1 (en) Method, apparatus, and computer program product for screened communications
US20060234688A1 (en) Method and system for communicating user identification information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09709074

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09709074

Country of ref document: EP

Kind code of ref document: A2