US20130185654A1 - Systems and methods for mapping relevant personal connections - Google Patents

Systems and methods for mapping relevant personal connections Download PDF

Info

Publication number
US20130185654A1
US20130185654A1 US13/743,895 US201313743895A US2013185654A1 US 20130185654 A1 US20130185654 A1 US 20130185654A1 US 201313743895 A US201313743895 A US 201313743895A US 2013185654 A1 US2013185654 A1 US 2013185654A1
Authority
US
United States
Prior art keywords
users
interactions
wireless
physical
level
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US13/743,895
Inventor
Parker Harris
Rajaram Satyanarayanan
Ernest J. Beffel, Jr.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Salesforce Inc
Original Assignee
Salesforce com Inc
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 Salesforce com Inc filed Critical Salesforce com Inc
Priority to US13/743,895 priority Critical patent/US20130185654A1/en
Assigned to SALESFORCE.COM, INC. reassignment SALESFORCE.COM, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HARRIS, PARKER, MR., BEFFEL, ERNEST J., JR., MR., SATYANARAYANAN, RAJARAM, MR.
Publication of US20130185654A1 publication Critical patent/US20130185654A1/en
Priority to US15/268,201 priority patent/US20170006446A1/en
Priority to US16/189,516 priority patent/US10437834B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Definitions

  • the technology disclosed relates to calculating interaction strengths for physical interactions, scheduled physical interactions and wireless interactions between users of online social networks.
  • it relates to determining direct contact or likely contact between users of online social networks based in part on their mobile communication devices. This determination can be used to score interactions that take place outside the social network for interaction strengths.
  • Online social networks have become common tools through which users interact and share information across various channels including as messages, e-mails, videos, chat rooms, blogs, etc.
  • the inherent value of an online social network is rooted in the value of a users' connections to other users and objects. Typically, most of this value is derived from actions performed and captured on the social network websites. For example, a user may actively follow, like, or comment on another user or object in order to integrate that user or object with the user's social network.
  • actions external to the online social network cannot be used to influence the relationship between users or between users and objects on an online social network.
  • the technology disclosed allows users of an online social networks to capture real-world interactions with other users and represent them on the online social network. Improved representation and analysis of inter-user relationships may result.
  • the technology disclosed relates to calculating interaction strengths for physical interactions, scheduled physical interactions and wireless interactions between users of online social networks.
  • it relates to determining direct contact or likely contact between users of online social networks based in part on their mobile communication devices. This determination can be used to score interactions that take place outside the social network for interaction strengths.
  • FIG. 1 illustrates one implementation of a graphical user interface representing a social profile associated with a user.
  • FIG. 2 illustrates one implementation of an exemplary online social network environment.
  • FIG. 3 illustrates one implementation of an example system that allows mapping of relevant personal connections.
  • FIG. 4 is a flow chart of one implementation of calculating level of physical interactions between first and second users using first and second devices operating in peer-to-peer mode.
  • FIG. 5 is a message exchange chart of one implementation of some elements of FIG. 4 .
  • FIG. 6 is a flow chart of one implementation of calculating level of physical interactions between first and second users using first and second devices participating in a wireless local area network.
  • FIG. 7 is a message exchange chart of one implementation of some elements of FIG. 6 .
  • FIG. 8 is a flow chart of one implementation of calculating level of wireless interactions between first and second users using first and second devices.
  • FIG. 9 is a message exchange chart of one implementation of some elements of FIG. 8 .
  • Physical and wireless interactions between users or between users and objects can be used to calculate and/or build the users' social network.
  • the frequency of interaction between users can be used to measure the interaction strength of their relationship.
  • actions external to the online social network can be used to affect the interaction strength of users in an online social network.
  • Interaction strength information can be shared to the extent allowed by settings. All social network users, or only those users who follow the first user, or only the first user can view the interaction strength on first user's profile page. Interaction strength can be based on metrics, such as the number of interactions within a defined time period (i.e., frequency), the length of interaction, and the like. This interaction strength calculation can consider interactions outside of the online social network, such as interactions observed with a CRM system. A first user's interactions with a second user recorded in the CRM system can be provided to the social network and used to determine interaction strength. In yet another implementation, interaction strength can also be based upon multiple social network interactions.
  • Physical interactions are captured based on wireless interactions between mobile communication devices of two users. Use cases for peer-to-peer communication between the respective mobile devices and simultaneous interaction with a shared access point are described. These use cases have in common physical proximity of users. The proximity of mobile communication devices is used as a proxy for user interaction or at least for shared user experiences due to physical proximity.
  • Scheduled physical interactions are captured from calendar entries, event subscriptions, sign-ins and the like that place two users at the same event.
  • the scheduled physical interactions may be analyzed when the user's respective privacy settings allow. Analysis of schedule physical interactions may be triggered by another interaction event, thereby reducing the potential intrusiveness of analyzing calendars.
  • Wireless communication interactions outside the social network can be monitored using observer software residing on respective mobile communication devices.
  • the observer software can monitor video, audio and text communications channels that are out of band from the social network.
  • connection events such as physical connection event, calendar connection event or wireless connection event can be created and stored in a database.
  • a physical connection event can be triggered by reception of a user identity token.
  • the receiving device can record the duration and strength of the signal that broadcasted the user identity token. It also can record the number of token broadcasts received and optionally their timing or continuity.
  • a calendar connection event is a memory update caused by a find or match of calendar related electronic records of two users indicating their co-attendance at an event.
  • a wireless connection event is registered at a server when two users communicate with each other outside the social network using their respective wireless devices.
  • connection events can be processed to determine connectedness scores for pairs of users. Connectedness scores can be made available to users for their own connections and to permitted viewers
  • Actions performed by a user outside the social network can be analyzed from browser cookies or the user's browser history.
  • a user can use permission levels to set the level of access to his browser history or to real-time browser actions.
  • the actions of the user can be accessed or tracked by an “observer tool.”
  • the actions of the user can be analyzed.
  • the observer tool can see that the user interacts with a number of other users or objects on the social network, regardless of whether the user is following those other users or objects on the social network. Interactions can include, but are not limited to, viewing a profile page of the user or object, commenting on a post mentioning the user or object, initiating a chat session with the user, sending a message to the user, and the like.
  • the observer tool can trigger an action to suggest that the first user follow the user or object, or the observer tool can trigger that the user or object be automatically followed by the first user based upon a configurable number of interactions.
  • a first user can meet a second user at a conference, where electronic interactions between users' respective communication devices can confirm proximity and interaction between the users. For instance, each device may broadcast identity tokens once per minute. Each device may receive ten tokens in ten minutes with a received signal strength indicator for peer-to-peer wireless channel that suggests close physical proximity. Such interactions can affect the interaction strength of the second user in the first user's social network, and vice-versa. Alternatively or additionally, calendar entries common to both the users can contribute to an interaction strength for the two users.
  • a second user can be excluded from interaction strength calculation.
  • the first user may not want to measure the extent of his or her relationship with the second user.
  • the second user provides an incentive, such as a piece of contact information, access, or other object or portion of an object to the first user, the first user may include the second user in the interaction strength calculation.
  • the technology disclosed relates to online social networks for use in a computer-implemented system.
  • the described subject matter can be implemented in the context of any computer-implemented system, such as a software-based system, a database system, a multi-tenant environment, or the like.
  • the described subject matter can be implemented in connection with two or more separate and distinct computer-implemented systems that cooperate and communicate with one another.
  • One or more implementations may be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, a computer readable medium such as a computer readable storage medium containing computer readable instructions or computer program code, or as a computer program product comprising a computer usable medium having a computer readable program code embodied therein.
  • FIG. 1 illustrates one implementation of a graphical user interface 100 representing a social profile 105 associated with a user 110 .
  • FIG. 1 illustrates the social profile 105 of user John Doe 110 on an online social network 200 such as Salesforce's Chatter.
  • the social profile 105 can include the user's name, contact information, professional information, and/or picture.
  • the social profile 105 can list other users connected with John Doe 110 including Jane Doe 112 and Jake Doe 122 .
  • the social profile 105 can include a connection review tab 106 that displays interaction strength 114 of John Doe 110 with other users such as Jane Doe 112 and Jake Doe 122 .
  • the interaction strength 114 can be based on physical interactions 113 , calendar events 115 , wireless interactions 116 , desktop history 117 , combined interactions 118 , and the like, which can be displayed as separate individual tabs.
  • the interaction strength 114 can be indicated through scoring functions, point system, meters, highlighting or other graphical enhancements, ordering, mouseovers, or indicators. In other implementations, selecting one of these tabs can open a new view or browser window elaborating the selected tab. Another example can include a list created by John Doe 110 to view his interaction strength with specific users.
  • FIG. 2 illustrates one implementation of an online social network environment 200 .
  • the users 110 and 112 of online social network environment 200 can use wireless devices 208 and 215 communicating through peer-to-peer connection 209 or simultaneously interacting with a shared access point 210 (AP) configured on a wireless local area network 211 (WLAN).
  • AP shared access point
  • WLAN wireless local area network
  • the devices 208 and 215 can include a number of components, the controlling components being processors.
  • Processors can include one or more digital signal processor (DSP), microprocessor, microcontroller, central procession unit (CPU) or graphics processing unit (GPU), application specific integrated circuit (ASIC), reduced instruction set computing (RISC) or field-programmable gate array (FPGA) or a combination of these processor types.
  • DSP digital signal processor
  • CPU central procession unit
  • GPU graphics processing unit
  • ASIC application specific integrated circuit
  • RISC reduced instruction set computing
  • FPGA field-programmable gate array
  • Processors can control the overall operations of the devices 208 and 215 . In addition to their operating system functions, they can execute software applications on the devices 208 and 215 .
  • the processors can interact with other components of the respective devices 208 and 215 such as radio frequency (RF) transceivers, device interfaces, memory units, etc.
  • RF radio frequency
  • the communication related functions of the devices 208 and 215 are performed by the RF transceivers.
  • the RF transceivers can transmit/receive RF signals through antennas 205 and 212 .
  • the RF transceivers can perform data channel-coding and spreading. In case of reception, they can convert received RF signals into baseband signals and perform de-spreading and channel decoding on the baseband signals to recover the original data.
  • RF transceivers can search for neighboring RF transceivers and perform a discovery or pairing process.
  • the RF transceivers in conjunction with the processors can—function as a signal measurement unit for determining the strength of a received signal or received signal strength indication (RSSI), implement a timer for determining the duration of a connection or broadcast, and place timestamps on the transferred signals for recording the date and time of transmission or reception.
  • RSSI received signal or received signal strength indication
  • the input/output related functions of the devices 208 and 215 are executed by device interfaces.
  • the device interfaces can comprise of various input/output sub-systems such as a display, keyboard, microphone, speaker, serial port, etc.
  • the devices 208 and 215 can include one or more device interfaces for providing users access to various system components and receiving information.
  • the memory units such as Read Only Memory (ROM), Random Access Memory (RAM), flash memory and disk drive among others, can provide persistent or volatile storage.
  • the memory units can store—micro-codes of a program for processing and controlling device operations, temporary data generated during program executions, reserved data, and data transmitted and received by the devices 208 and 215 .
  • user identity tokens 1 and 2 can be used for discovery of respective users 110 and 112 of the online social network 200 .
  • user identity tokens 1 and 2 can include encrypted data unique to users 110 and 112 .
  • the user identity tokens 1 and 2 can include the social identities of the users 110 and 112 setup on the online social network 200 .
  • the server 225 can generate encrypted “user identifier keys” unique to the users of online social network 200 .
  • Users 110 and 112 can anonymously broadcast their user identifier tokens 1 and 2 or user identifier keys to identify other users of the online social network 200 .
  • Other authentication protocols can be implemented.
  • Short-range communication systems such as Bluetooth, Near Field Communication (NFC), RFID, Z-Wave, ZigBee, etc. can establish peer-to-peer (P2P) connection 209 between devices that are in close physical proximity of each other.
  • P2P connection 209 devices 208 and 215 , when within transmission range of each other, broadcast user identity tokens 1 and 2 .
  • P2P passive or connectionless mode one of the devices can initiate the broadcast, and other can behave as a receiver without pairing.
  • P2P active mode in which the devices are paired or have built a connection, both devices 208 and 215 can transmit and receive identity tokens 1 and 2 .
  • WLAN 211 such as Wi-Fi
  • devices 208 and 215 can operate in broadcast (connectionless) or connected modes.
  • broadcasting devices 208 and 215 connected to a shared AP 210 can be presumed to be in close proximity.
  • Tokens can, for instance, be broadcast to MAC address or to another MAC or IP address of a defined network segment scope. Broadcasting to a MAC address is supported by IPv4 and IEEE 802.11. In IPv6, multicasting takes the place of broadcasting.
  • Tokens can be embedded in recognized broadcast message types.
  • One example of a broadcast protocol is Internet Control Message Protocol, which is implemented in both IPv4 and IPv6.
  • ICMP messages of various types could be used or a new type chosen from the reserved range of type codes.
  • Another example of a broadcast protocol supported by IPv4 is the address resolution protocol (ARP).
  • Query messages can be used to scan a WLAN segment 211 . From responses to a query, a list of unique media access control (MAC) addresses of connected devices can be compiled.
  • MAC media access control
  • NDP neighborhood discovery protocol
  • the devices 208 and 215 can broadcast ARP messages or user identity tokens 1 and 2
  • the AP can forward the broadcasts to other connected devices.
  • multiple APs covering a single location such as a large meeting room, can be relay broadcasts as a group or can be treated as a single AP.
  • the devices 208 and 215 Upon receiving user identity tokens, the devices 208 and 215 can store the tokens in their local memory units and automatically or manually upload them to server 225 connected to an identity token database 222 .
  • the server 225 can use identity tokens individually or in aggregate to create a physical connection event in the connection event database 221 .
  • the system or users 110 and 112 can set a threshold or timeout limit to help the mobile devices aggregate physical connection events resulting from successive reception of the same user identity token.
  • a threshold or timeout limit to help the mobile devices aggregate physical connection events resulting from successive reception of the same user identity token.
  • user identity tokens with higher counts, lengthier timestamps readings, or greater received signal strengths indications (RSSI) can indicate sustained and close proximity of two devices.
  • the devices 208 and 215 may aggregate received user identity tokens to determine a timestamp duration.
  • failure to receive a user identity token from a broadcasting device within a pre-set time window can cause the receiving device to close and summarize a connection event.
  • the devices 208 and 215 may forward the batch of collected user identity tokens and associated metadata including timestamp durations and RSSI values to the server 225 .
  • the devices 208 and 215 can indicate the quality of a transmission as “strong” or “average” based on the number of collected user identity tokens and the associated metadata values.
  • the quality of a broadcast can indicate close proximity of the broadcasting device and be used by the sever 255 for interaction strength calculation.
  • aggregation of subsequent user identity tokens can be limited by the server.
  • the aggregated physical connection events and corresponding calendar connection events can be used to calculate a level of physical interactions (explained later).
  • the calculated level of physical interactions can be depicted through an interaction strength metric on the social profile 105 of John Doe 110 .
  • the social profile 105 can be accessed from a browser 255 running on the computing device 235 and being tracked by an observer tool 245 .
  • the browser 255 can be Chrome, Internet Explorer, Firefox, Safari, etc. or the like that is capable of sending and receiving information to and from the server 225 .
  • the server 225 can apply a filter to calendar connection events and received user identity tokens for identifying particular events or user properties desired by the users 110 and 112 .
  • the devices 208 and 215 can use Bluetooth technology, which can include an identification phase and a pairing phase.
  • the identification phase the broadcasting device 208 can set a frequency-hopping pattern, to which the device 215 can synchronize its signals.
  • the pairing phase the device 208 and 215 can transmit low power short-range RF signals and broadcast user identity tokens 1 and 2 .
  • tokens can be received and processed without pairing in a connectionless mode.
  • the devices 208 and 215 can use NFC for ultra-short-range communication and replace the identification phase of the Bluetooth technology with a simple tap between the devices 208 and 215 .
  • antennas 205 and 212 can function as windings of a transformer to generate high power ultra-short-range RF signals for broadcasting user identity tokens 1 and 2 .
  • the devices 208 and 215 can participate in the WLAN 211 through Wi-Fi, via an AP 210 that broadcasts a Wi-Fi signal usable over a medium-range area.
  • the AP 210 can generate a list of devices connected to it along with their MAC address, names, format, Internet Protocol (IP), etc.
  • IP Internet Protocol
  • the devices 208 and 215 can then use the user identity tokens to filter those devices from the list whose users are in the same online social network environment as those of devices 208 and 215 .
  • FIG. 3 illustrates one implementation of an example system 300 that allows mapping of relevant personal connections.
  • the components are configured to operate within an execution environment hosted by a device and/or multiple devices, as in a distributed execution environment.
  • Exemplary computing devices can include desktop computers, servers, networking devices, notebook, computers, PDAs, mobile phones, digital image capture devices and the like.
  • the wireless devices 208 and 215 and computing devices 1 and 2 can be communicatively coupled to one another via network 315 .
  • the network 315 may be any network or combination of networks of devices that communicate with one another.
  • network 315 can be any one or any combination of Local Area Network (LAN), Wide Area Network (WAN), telephone network, wireless network, point-to-point network, star network, token ring network, hub network, or other appropriate configuration including the Internet.
  • LAN Local Area Network
  • WAN Wide Area Network
  • telephone network wireless network
  • point-to-point network point-to-point network
  • star network token ring network
  • hub network or other appropriate configuration including the Internet.
  • the calendar entries store 301 can store the calendar entries, event subscriptions, and sign-ins of the users 110 and 112 , which are matched in the calendar engine 305 to create or capture calendar connection events after locating a scheduled physical connection by finding a coincidence of scheduling, registration or check-in information in electronic records of the users 110 and 112 .
  • the calendar connection event can correspond to information stored with the physical connection event in time or location. If the timestamp and location recordings related to a physical connection event matches the time and venue entries associated with a scheduled connection event, then the two connection events can be presumed to correspond to each other.
  • connection events can be further stored in the calendar events store 309 .
  • the social network engine 310 can provide online social applications that store the social profiles of the users 110 and 112 .
  • the interaction engine 319 can calculate the level of physical interaction between the users 110 and 112 by matching the corresponding physical and calendar connection events.
  • the user profile database 320 can include the user identity tokes 1 , 2 , and 3 of users 110 and 112 .
  • FIG. 4 is a flow chart 400 of one implementation of calculating a level of physical interactions between first user 110 using first device 208 and second user 112 using second device 215 communicating via P2P connection 209 .
  • Other implementations may perform the steps in different orders and/or with different, fewer or additional steps than the ones illustrated in FIG. 4 . Multiple steps can be combined in some implementations.
  • this flowchart is described with reference to the system that carries out a method. The system is not necessarily part of the method.
  • first and second devices 208 and 215 broadcast short-range RF signals at step 407 .
  • the user identity tokens 1 and 2 of respective users 110 and 112 that include users' social identities are broadcasted through the broadcast signals at step 415 . If the users are members of the online social network 200 , a physical connection event is registered in the connection event database 221 at step 417 .
  • the timestamps of the first and last reception of user identity tokens 1 and 2 can be used to record the broadcast durations.
  • the RSSI values of the broadcasts can be recorded at step 427 , quantifying the quality of broadcasts with each devices 208 and 215 .
  • the presumption of contact or likely contact between the users 110 and 112 is narrowed based on the broadcast durations and RSSI values, with longer broadcasts and higher RSSI values suggesting greater proximity between users 110 and 112 .
  • the electronic records of the users 110 and 112 pertaining to calendar entries, event subscriptions, sign-ins and the like that place two users at the same event are matched at step 437 .
  • a find or a match creates a calendar connection event in the connection event database 221 at step 445 .
  • the connectedness of aggregated physical connection events with calendar connection events is optionally confirmed at step 447 on the basis of their respective time and location fields.
  • the connectedness confirmation is approved by the users 110 and 112 at step 455 to ensure that they actually attended the events whose calendar entries and the like created the calendar connection events.
  • a level of physical interaction between the users 110 and 112 is calculated by the interaction engine 319 based on the aggregated physical connection events and the corresponding calendar connection events.
  • filtering mechanisms are implemented to the calendar connection events and received user identity tokens 1 and 2 for identifying particular events or user properties.
  • the social profiles of the users 110 and 112 are modified on the online social network 200 through an interaction strength metric using scoring functions, point systems, meters, graphical enhancements, etc.
  • FIG. 5 is a message exchange chart 500 of one implementation of some elements of FIG. 4 .
  • first device 208 sends the user identity token 1 of the first user 110 to second device 215 .
  • the second device 215 relays the received user identity token 1 to the server 225 at exchange 534 , which stores it in the identity token database 221 and identifies the user associated with it.
  • second device 215 transmits the user identity token 2 of the second user 112 to first device 208 .
  • the first device 208 relays it to the server 225 for the same “social identity analysis” as at exchange 534 .
  • the RSSI values and broadcast durations are reported to the server 225 at exchanges at 563 and 565 .
  • the server 225 sends the connectedness confirmation inquiry to the users 110 and 112 via their respective devices 208 and 215 .
  • the users 110 and 112 then approve the connectedness confirmation at exchanges 585 and 587 .
  • the server 225 sends the level of physical interactions between the users 110 and 112 calculated by interaction engine 319 to the respective devices 208 and 215 at exchanges 595 and 597 .
  • FIG. 6 is a flow chart 600 of one implementation of calculating a level of physical interactions between first user 110 using first device 208 and second user 112 using second device 215 communicating via WLAN 211 .
  • Other implementations may perform the steps in different orders and/or with different, fewer or additional steps than the ones illustrated in FIG. 6 . Multiple steps can be combined in some implementations.
  • this flowchart is described with reference to the system that carries out a method. The system is not necessarily part of the method.
  • the first and second devices 208 and 215 wirelessly discover other proximate devices.
  • This discovery can be connectionless or connected, as between wireless devices, each of which is connected to AP 210 at step 607 .
  • a MAC-based ARP scan can be part of the discovery.
  • the devices 208 and 215 optionally can broadcast user identity tokens 1 and 2 to just those devices whose users are members of the online social network 200 . If first user identity token 1 being broadcasted by first device 208 confirms the membership of user 110 in the online social network 200 , then it is collected by first device 215 at step 615 .
  • the second device 215 broadcasts a second user identity token 2 , which is filtered against the profiles stored in the user profile database 320 by the server 225 to confirm that the second user 112 is a member of the online social network 200 .
  • the connection event database 221 With the reception of the user identity tokens, physical connection events are registered in the connection event database 221 at step 617 .
  • the timestamps of the first and last reception of user identity tokens 1 and 2 are used to record the broadcast durations.
  • the RSSI values of the broadcasts are recorded at step 627 , quantifying the quality of broadcasts with each devices 208 and 215 .
  • the presumption of contact or likely contact between the users can be narrowed based on the broadcast durations and RSSI values, with longer broadcasts and higher RSSI values suggesting greater proximity between users.
  • the electronic records of the users pertaining to calendar entries, event subscriptions, sign-ins and the like that place two users at the same event are matched at step 637 .
  • a find or a match creates a calendar connection event in the connection event database 221 at step 645 .
  • the connectedness of aggregated physical connection events with calendar connection events confirmed at step 647 on the basis of their respective time and location fields.
  • the connectedness confirmation is approved by the users 110 and 112 at step 655 to ensure that they actually attended the events whose calendar entries and the like created the calendar connection events.
  • a level of physical interaction between the users is calculated by the interaction engine 319 based on the aggregated physical connection events and the corresponding calendar connection events.
  • filtering mechanisms are implemented to the calendar connection events and received user identity tokens for identifying particular events or user properties.
  • the social profiles of the users are modified on the online social network 200 through an interaction strength metric using scoring functions, point systems, meters, graphical enhancements and the like.
  • FIG. 7 is a message exchange chart 700 of one implementation of some elements of FIG. 6 .
  • the first device 208 sends a device discovery request to AP 210 at exchange 702 .
  • the AP 210 reports a list of devices discovered on its network to the first device 208 at exchange 706 , including the second device 215 .
  • the first device 208 sends the first user identity token 1 to the second device 215 at exchange 707 .
  • the second device 215 relays the first user identity token 1 to the server 225 at exchange 709 .
  • it can check if the user 110 associated with the first identity token 1 is a member of the online social network 200 . If the server 225 confirms that user 110 is a member of the online social network 200 , then the second device 215 broadcasts the second user identity token 2 to the first device 208 at exchange 713 .
  • the first device 208 forwards the second identity token to the server 225 at exchange 718 to make the same identity check done by second device 215 at exchange 710 .
  • the RSSI values and broadcast durations are reported to the server 225 at exchanges at 719 and 721 .
  • the server 225 sends the connectedness confirmation inquiry to the users 110 and 112 .
  • the users 110 and 112 then approve the connectedness confirmation at exchanges 728 and 730 .
  • the server 225 sends the level of physical interactions calculated by interaction engine 319 to the devices 208 and 215 at exchanges 733 and 734 .
  • the concept of calculating a level of physical interactions between users can be further explained through an example scenario of a Dreamforce conference.
  • the users 110 and 112 of the online social network 200 using devices 208 and 215 can enable Bluetooth, NFC, or Wi-Fi in their respective devices while attending Dreamforce conference.
  • the users 110 and 112 can then broadcast their user identity tokens when their devices are within the transmission range of the enabled wireless network.
  • the devices 208 and 215 can assign timestamps to the received user identity tokens and track the duration and RSSI values of the broadcast, which can be uploaded to the server 225 to create a physical connection event in the on-demand database 221 .
  • the users 110 and 112 can again exchange their user identity tokens when their devices are within the transmission range of the enabled wireless network and create another physical connection event. If the aggregation of physical connection events crosses the pre-defined threshold counter due to repeated reception of the same user identity token, the users 110 and 112 can exchange the electronic records stored in their respective devices 208 and 215 such as social profiles, social check-ins, calendar entries, event subscriptions, etc.
  • the calendar engine 305 can match the calendar related electronic records to find any events co-attended by the users 110 and 112 and create a calendar connection event.
  • the aggregated physical connection events and corresponding calendar connection events can then be used to calculate a level of physical interactions between the users 110 and 112 , which can be depicted through an interaction strength metric on Chatter, Facebook, or Twitter profiles of the users 110 and 112 .
  • the server 225 can request the users 110 and 112 to confirm the connectedness between the aggregated physical connection events and corresponding calendar connection events. In some implementations, the server 225 can apply a filter to the calendar connection events and received user identity tokens for identifying particular events such as an important internal meetings or user properties like similar work backgrounds, professional titles, etc.
  • the devices 208 and 215 can establish wireless communications across various channels including audio, video, and text.
  • the devices 208 and 215 can communicate with each other over cellular networks including code division multiple-access (CDMA), global system for mobile communications (GSM), Enhanced Data GSM Environment (EDGE), long-term evolution (LTE), etc.
  • CDMA code division multiple-access
  • GSM global system for mobile communications
  • EDGE Enhanced Data GSM Environment
  • LTE long-term evolution
  • the devices 208 and 215 can establish a wireless local area network (LAN) such as Wi-Fi, personal area network like Bluetooth or NFC, etc.
  • LAN wireless local area network
  • Wi-Fi personal area network like Bluetooth or NFC, etc.
  • Other communication protocols can also be implemented.
  • the first user 110 can interact with a second user 112 on Chatter, but can interact more heavily with the second user 112 on Facebook or Twitter, or in a social gaming environment such as that provided by Zynga, or can physically or proximally interact with the second user 112 as evidenced by common check-ins on Foursquare or other location-based social networking systems.
  • interaction strength can also be based upon one or more physical interactions that also implement features common to mobile communication devices, such as smartphones, tablet computers, etc.
  • the observer tool 245 can track wireless interactions between the users 110 and 112 via the devices 208 and 215 . It can extract user activity history from web browsers, call logs, applications cache, memory units, etc. to identify—the users in the interaction, the channel communication of the interaction, and the duration of the interaction. This information can then be sent to the server 225 , which is in communication with the devices 208 and 215 to create connection events. The server 225 can then calculate a level of wireless interactions based on one or more wireless connection events that can be used to modify the social profiles of users 110 and 112 through an interaction strength metric.
  • FIG. 8 is a flow chart 800 of one implementation of calculating a level of wireless interactions between first user 110 and second user 112 communicating via first device 208 and second device 215 .
  • Other implementations may perform the steps in different orders and/or with different, fewer or additional steps than the ones illustrated in FIG. 8 . Multiple steps can be combined in some implementations.
  • this flowchart is described with reference to the system that carries out a method. The system is not necessarily part of the method.
  • a wireless connection is established between the devices 208 and 215 over audio, video, text communication channel.
  • the observer tool 245 and a timer is activated to track and time wireless interactions between the users 110 and 112 via the devices 208 and 215 at step 815 .
  • the duration of the connection is recorded at step 825 using the timer and the channel of communication is recorded at step 835 .
  • the wireless interactions are filtered at step 845 based on the length and type of the interaction.
  • a gradation is applied to audio, video, text interactions, with video interactions being “strongest”, audio interactions “average” and text interactions “weakest.”
  • the length of the interactions and amount of data transferred during an interaction is considered during gradation.
  • wireless connection event is created at step 855 , which is stored in the connection event database 221 .
  • interaction engine 329 calculates a level of wireless interactions based on the number and gradation of wireless connection events.
  • the social profiles of the users 110 and 112 are modified using an interaction strength metric based on the calculated level of wireless interactions.
  • FIG. 9 is a message exchange chart 900 of one implementation of some elements of FIG. 8 .
  • users 110 and 112 interact across a voice communication channel and the duration of the interaction is reported to the server 225 at exchange 909 .
  • the first wireless connection event is created at exchange 919 .
  • an audio interaction and its duration are recorded at exchanges 925 and 939 to create the second wireless connection event at exchange 949 .
  • a text interaction between the users 110 and 112 is recorded and its duration is reported to the server 225 at exchange 969 . Consequently, the third wireless connection event is created at exchange 929 .
  • the server 225 calculates a wireless interactions level at exchange 989 on the basis of the count and gradation of received wireless connection events, which is reported to the devices 208 and 215 at exchange 992 .
  • the observer tool 245 can track interactions between the users 110 and 112 made through voice calls, SMSs, and Skype video calls along with their durations. The observer tool 245 can then upload the tracked interactions to the remote server 225 , with each upload creating a wireless connection event in the server 225 . Using the number and gradation of wireless connection events, the interaction engine 319 can calculate a level of wireless interactions between the users 110 and 112 . As a result, the Chatter, Facebook, or Twitter profiles of the users 110 and 112 can be modified using a interaction strength metric based on the calculated level of wireless interactions.
  • a system for calculating real-world user interactions between first and second users connected in an online social environment that includes a processor and code stored in memory coupled to the processor, which when executed on a processor creates a physical connection event stored in memory that represents contact or likely contact between the first and second users when first and second wireless devices carried by the first and second users establish a peer-to-peer relationship using a direct wireless channel, calculates a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events, updates the level of physical interactions in memory, and modifies social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
  • the system can further include physical connection event to record a duration of connection via the direct wireless channel and a pattern of received signal strength during the connection via the direct wireless channel. It can include the contact or likely contact being filtered by duration of connection and strength of received signal when multiple direct wireless channels are simultaneously active.
  • the system can further include code stored in memory coupled to the processor, which when executed on a processor further locates a scheduled physical connection by finding a coincidence of scheduling, registration or check-in information in electronic records of the first and second users, creating a calendar connection event, and including in the calculating of the level of physical interactions between the first and second users an aggregation of the plurality of physical connection events.
  • the system can further include code stored in memory coupled to the processor, which when executed on a processor further confirms interaction strength of the physical connection event based on the calendar connection event, wherein the calendar connection event corresponds in at least time or location to information stored with the physical connection event.
  • the system can further include code stored in memory coupled to the processor, which when executed on a processor further applies a filtering mechanism to the calendar connection event to identify scheduling, registration or check-in information in electronic records of the second user that meets criteria set by the first user.
  • the system can further include code stored in memory coupled to the processor, which when executed on a processor further receives from at least one of the first and second users a response to a query confirming connectedness of the physical connection event. It can include the first and second devices that are configured to automatically exchange user identity tokens that are meaningful to an interaction server cooperating with the online social environment.
  • the system can further include code stored in memory coupled to the processor, which when executed on a processor further receives from at least one of the first and second wireless devices at least one user identity token received in an automatic exchange. It can include the privacy of the user identity tokens to be limited by user selectable privacy criteria.
  • the system can further include code stored in memory coupled to the processor, which when executed on a processor further applies a filtering mechanism to the user identity tokens to identify user identity information of the second user that meets criteria set by the first user.
  • implementations may include a non-transitory computer readable storage medium storing instructions executable by a processor to constitute a system as described above.
  • implementations may include a method performed by the system as described above.
  • a system for calculating real-world user interactions between first and second users connected in an online social environment that includes a processor and code stored in memory coupled to the processor, which when executed on a processor creates a physical connection event stored in memory that represents contact or likely contact between the first and second users using first and second wireless devices sharing a common wireless local area network access point, calculates a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events, updates the level of physical interactions in memory, and modifies social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
  • implementations may include a non-transitory computer readable storage medium storing instructions executable by a processor to constitute a system as described above.
  • implementations may include a method performed by the system as described above.
  • a system for calculating wireless user interactions between first and second users using wireless devices that includes a processor and code stored in memory coupled to the processor, which when executed on a processor activates an observer tool to track at least an interaction between the first and second users via the first and second wireless devices across at least a video, audio, or text communication channel, creates a wireless connection event stored in memory that represents wireless interactions between the first and second users via first and second wireless devices, calculates a level of wireless interactions between the first and second users including at least aggregating plurality of wireless connection events, updates the level of wireless interactions in memory, and, modifies social profiles of the first and second users using an interaction strength metric based on the level of wireless interactions
  • the system can further include wireless interactions that are filtered by a duration of interaction and the type of communication channel used for the interaction.

Abstract

The technology disclosed relates to calculating interaction strengths for physical interactions, scheduled physical interactions and wireless interactions between users of online social networks. In particular, it relates to determining direct contact or likely contact between users of online social networks based in part on their mobile communication devices. This determination can be used to score interactions that take place outside the social network for interaction strengths.

Description

    RELATED APPLICATION
  • This application claims the benefit of U.S. Provisional Patent Application No. 61/579,098, entitled, “Systems and Methods for Mapping Relevant Personal Connections,” filed on 17 Jan. 2012. The provisional application is hereby incorporated by reference for all purposes.
  • BACKGROUND
  • The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to implementations of the claimed inventions.
  • The technology disclosed relates to calculating interaction strengths for physical interactions, scheduled physical interactions and wireless interactions between users of online social networks. In particular, it relates to determining direct contact or likely contact between users of online social networks based in part on their mobile communication devices. This determination can be used to score interactions that take place outside the social network for interaction strengths.
  • Online social networks have become common tools through which users interact and share information across various channels including as messages, e-mails, videos, chat rooms, blogs, etc. The inherent value of an online social network is rooted in the value of a users' connections to other users and objects. Typically, most of this value is derived from actions performed and captured on the social network websites. For example, a user may actively follow, like, or comment on another user or object in order to integrate that user or object with the user's social network. Currently, actions external to the online social network cannot be used to influence the relationship between users or between users and objects on an online social network.
  • User interactions outside of the context of an online social network are not captured or represented in a meaningful way by the social network. For instance, a physical interaction with another user such as attending a meeting and conversing, or collectively viewing a presentation, contributes to a social network. However, there may not be any explicit interaction through the social network, resulting in online social networks not being able to capture such real-world interactions.
  • An opportunity arises to provide users of an online social network with mechanisms and methods for mapping connections with other relevant users of the online social network. In particular, the technology disclosed allows users of an online social networks to capture real-world interactions with other users and represent them on the online social network. Improved representation and analysis of inter-user relationships may result.
  • SUMMARY
  • The technology disclosed relates to calculating interaction strengths for physical interactions, scheduled physical interactions and wireless interactions between users of online social networks. In particular, it relates to determining direct contact or likely contact between users of online social networks based in part on their mobile communication devices. This determination can be used to score interactions that take place outside the social network for interaction strengths.
  • Other aspects and advantages of the present invention can be seen on review of the drawings, the detailed description and the claims, which follow.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The included drawings are for illustrative purposes and serve only to provide examples of possible structures and process operations for one or more implementations of this disclosure. These drawings in no way limit any changes in form and detail that may be made by one skilled in the art without departing from the spirit and scope of this disclosure. A more complete understanding of the subject matter may be derived by referring to the detailed description and claims when considered in conjunction with the following figures, wherein like reference numbers refer to similar elements throughout the figures.
  • FIG. 1 illustrates one implementation of a graphical user interface representing a social profile associated with a user.
  • FIG. 2 illustrates one implementation of an exemplary online social network environment.
  • FIG. 3 illustrates one implementation of an example system that allows mapping of relevant personal connections.
  • FIG. 4 is a flow chart of one implementation of calculating level of physical interactions between first and second users using first and second devices operating in peer-to-peer mode.
  • FIG. 5 is a message exchange chart of one implementation of some elements of FIG. 4.
  • FIG. 6 is a flow chart of one implementation of calculating level of physical interactions between first and second users using first and second devices participating in a wireless local area network.
  • FIG. 7 is a message exchange chart of one implementation of some elements of FIG. 6.
  • FIG. 8 is a flow chart of one implementation of calculating level of wireless interactions between first and second users using first and second devices.
  • FIG. 9 is a message exchange chart of one implementation of some elements of FIG. 8.
  • DETAILED DESCRIPTION
  • The following detailed description is made with reference to the figures. Sample implementations are described to illustrate the technology disclosed, not to limit its scope, which is defined by the claims. Those of ordinary skill in the art will recognize a variety of equivalent variations on the description that follows.
  • Physical and wireless interactions between users or between users and objects can be used to calculate and/or build the users' social network. For example, the frequency of interaction between users can be used to measure the interaction strength of their relationship. In some implementations, actions external to the online social network can be used to affect the interaction strength of users in an online social network.
  • Interaction strength information can be shared to the extent allowed by settings. All social network users, or only those users who follow the first user, or only the first user can view the interaction strength on first user's profile page. Interaction strength can be based on metrics, such as the number of interactions within a defined time period (i.e., frequency), the length of interaction, and the like. This interaction strength calculation can consider interactions outside of the online social network, such as interactions observed with a CRM system. A first user's interactions with a second user recorded in the CRM system can be provided to the social network and used to determine interaction strength. In yet another implementation, interaction strength can also be based upon multiple social network interactions.
  • Physical interactions are captured based on wireless interactions between mobile communication devices of two users. Use cases for peer-to-peer communication between the respective mobile devices and simultaneous interaction with a shared access point are described. These use cases have in common physical proximity of users. The proximity of mobile communication devices is used as a proxy for user interaction or at least for shared user experiences due to physical proximity.
  • Scheduled physical interactions are captured from calendar entries, event subscriptions, sign-ins and the like that place two users at the same event. The scheduled physical interactions may be analyzed when the user's respective privacy settings allow. Analysis of schedule physical interactions may be triggered by another interaction event, thereby reducing the potential intrusiveness of analyzing calendars.
  • Wireless communication interactions outside the social network can be monitored using observer software residing on respective mobile communication devices.
  • The observer software can monitor video, audio and text communications channels that are out of band from the social network.
  • In each of these use cases, connection events such as physical connection event, calendar connection event or wireless connection event can be created and stored in a database. A physical connection event can be triggered by reception of a user identity token. The receiving device can record the duration and strength of the signal that broadcasted the user identity token. It also can record the number of token broadcasts received and optionally their timing or continuity. Similarly, a calendar connection event is a memory update caused by a find or match of calendar related electronic records of two users indicating their co-attendance at an event. Likewise, a wireless connection event is registered at a server when two users communicate with each other outside the social network using their respective wireless devices.
  • Moreover, the connection events can be processed to determine connectedness scores for pairs of users. Connectedness scores can be made available to users for their own connections and to permitted viewers
  • Actions performed by a user outside the social network can be analyzed from browser cookies or the user's browser history. A user can use permission levels to set the level of access to his browser history or to real-time browser actions. For purposes of this example, the actions of the user can be accessed or tracked by an “observer tool.”
  • Once the observer tool is activated, either by the user or an administrator having sufficient privileges, the actions of the user can be analyzed. The observer tool can see that the user interacts with a number of other users or objects on the social network, regardless of whether the user is following those other users or objects on the social network. Interactions can include, but are not limited to, viewing a profile page of the user or object, commenting on a post mentioning the user or object, initiating a chat session with the user, sending a message to the user, and the like. If the first user is not following or is otherwise not connected to the user or object with which he or she is interacting, the observer tool can trigger an action to suggest that the first user follow the user or object, or the observer tool can trigger that the user or object be automatically followed by the first user based upon a configurable number of interactions.
  • In one example, a first user can meet a second user at a conference, where electronic interactions between users' respective communication devices can confirm proximity and interaction between the users. For instance, each device may broadcast identity tokens once per minute. Each device may receive ten tokens in ten minutes with a received signal strength indicator for peer-to-peer wireless channel that suggests close physical proximity. Such interactions can affect the interaction strength of the second user in the first user's social network, and vice-versa. Alternatively or additionally, calendar entries common to both the users can contribute to an interaction strength for the two users.
  • In another example, a second user can be excluded from interaction strength calculation. The first user may not want to measure the extent of his or her relationship with the second user. However, if the second user provides an incentive, such as a piece of contact information, access, or other object or portion of an object to the first user, the first user may include the second user in the interaction strength calculation.
  • The technology disclosed relates to online social networks for use in a computer-implemented system. The described subject matter can be implemented in the context of any computer-implemented system, such as a software-based system, a database system, a multi-tenant environment, or the like. Moreover, the described subject matter can be implemented in connection with two or more separate and distinct computer-implemented systems that cooperate and communicate with one another. One or more implementations may be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, a computer readable medium such as a computer readable storage medium containing computer readable instructions or computer program code, or as a computer program product comprising a computer usable medium having a computer readable program code embodied therein.
  • Social Profile
  • FIG. 1 illustrates one implementation of a graphical user interface 100 representing a social profile 105 associated with a user 110. In particular, FIG. 1 illustrates the social profile 105 of user John Doe 110 on an online social network 200 such as Salesforce's Chatter. The social profile 105 can include the user's name, contact information, professional information, and/or picture. In addition, the social profile 105 can list other users connected with John Doe 110 including Jane Doe 112 and Jake Doe 122.
  • In some implementations, the social profile 105 can include a connection review tab 106 that displays interaction strength 114 of John Doe 110 with other users such as Jane Doe 112 and Jake Doe 122. The interaction strength 114 can be based on physical interactions 113, calendar events 115, wireless interactions 116, desktop history 117, combined interactions 118, and the like, which can be displayed as separate individual tabs. The interaction strength 114 can be indicated through scoring functions, point system, meters, highlighting or other graphical enhancements, ordering, mouseovers, or indicators. In other implementations, selecting one of these tabs can open a new view or browser window elaborating the selected tab. Another example can include a list created by John Doe 110 to view his interaction strength with specific users.
  • Online Social Network
  • FIG. 2 illustrates one implementation of an online social network environment 200. The users 110 and 112 of online social network environment 200 can use wireless devices 208 and 215 communicating through peer-to-peer connection 209 or simultaneously interacting with a shared access point 210 (AP) configured on a wireless local area network 211 (WLAN).
  • The devices 208 and 215 can include a number of components, the controlling components being processors. Processors can include one or more digital signal processor (DSP), microprocessor, microcontroller, central procession unit (CPU) or graphics processing unit (GPU), application specific integrated circuit (ASIC), reduced instruction set computing (RISC) or field-programmable gate array (FPGA) or a combination of these processor types. Processors can control the overall operations of the devices 208 and 215. In addition to their operating system functions, they can execute software applications on the devices 208 and 215. The processors can interact with other components of the respective devices 208 and 215 such as radio frequency (RF) transceivers, device interfaces, memory units, etc.
  • The communication related functions of the devices 208 and 215 are performed by the RF transceivers. The RF transceivers can transmit/receive RF signals through antennas 205 and 212. For transmission, the RF transceivers can perform data channel-coding and spreading. In case of reception, they can convert received RF signals into baseband signals and perform de-spreading and channel decoding on the baseband signals to recover the original data.
  • Additionally, RF transceivers can search for neighboring RF transceivers and perform a discovery or pairing process. The RF transceivers in conjunction with the processors can—function as a signal measurement unit for determining the strength of a received signal or received signal strength indication (RSSI), implement a timer for determining the duration of a connection or broadcast, and place timestamps on the transferred signals for recording the date and time of transmission or reception.
  • The input/output related functions of the devices 208 and 215 are executed by device interfaces. The device interfaces can comprise of various input/output sub-systems such as a display, keyboard, microphone, speaker, serial port, etc. In some implementations, the devices 208 and 215 can include one or more device interfaces for providing users access to various system components and receiving information.
  • The memory units such as Read Only Memory (ROM), Random Access Memory (RAM), flash memory and disk drive among others, can provide persistent or volatile storage. In some implementations, the memory units can store—micro-codes of a program for processing and controlling device operations, temporary data generated during program executions, reserved data, and data transmitted and received by the devices 208 and 215.
  • User Identity Tokens
  • Snippets of data, referred to as “user identity tokens” 1 and 2 can be used for discovery of respective users 110 and 112 of the online social network 200. In some implementations, user identity tokens 1 and 2 can include encrypted data unique to users 110 and 112. In addition, the user identity tokens 1 and 2 can include the social identities of the users 110 and 112 setup on the online social network 200. In other implementations, the server 225 can generate encrypted “user identifier keys” unique to the users of online social network 200. Users 110 and 112 can anonymously broadcast their user identifier tokens 1 and 2 or user identifier keys to identify other users of the online social network 200. Other authentication protocols can be implemented.
  • Short-range communication systems such as Bluetooth, Near Field Communication (NFC), RFID, Z-Wave, ZigBee, etc. can establish peer-to-peer (P2P) connection 209 between devices that are in close physical proximity of each other. During a P2P connection 209, devices 208 and 215, when within transmission range of each other, broadcast user identity tokens 1 and 2. In P2P passive or connectionless mode, one of the devices can initiate the broadcast, and other can behave as a receiver without pairing. In P2P active mode, in which the devices are paired or have built a connection, both devices 208 and 215 can transmit and receive identity tokens 1 and 2.
  • WLAN 211 such as Wi-Fi, can connect the devices 208 and 215 to AP 210 using medium range signals. During WLAN connection 211, devices 208 and 215 can operate in broadcast (connectionless) or connected modes. In a broadcast mode, broadcasting devices 208 and 215 connected to a shared AP 210 can be presumed to be in close proximity. Tokens can, for instance, be broadcast to MAC address or to another MAC or IP address of a defined network segment scope. Broadcasting to a MAC address is supported by IPv4 and IEEE 802.11. In IPv6, multicasting takes the place of broadcasting. Tokens can be embedded in recognized broadcast message types. One example of a broadcast protocol is Internet Control Message Protocol, which is implemented in both IPv4 and IPv6. ICMP messages of various types could be used or a new type chosen from the reserved range of type codes. Another example of a broadcast protocol supported by IPv4 is the address resolution protocol (ARP). Query messages can be used to scan a WLAN segment 211. From responses to a query, a list of unique media access control (MAC) addresses of connected devices can be compiled. In IPv6, the neighborhood discovery protocol (NDP) specifies a variety of multicast message types that could be adapted for transmitting identity token information. When the devices 208 and 215 can broadcast ARP messages or user identity tokens 1 and 2, the AP can forward the broadcasts to other connected devices. In some implementations, multiple APs covering a single location, such as a large meeting room, can be relay broadcasts as a group or can be treated as a single AP.
  • Connection Events
  • Upon receiving user identity tokens, the devices 208 and 215 can store the tokens in their local memory units and automatically or manually upload them to server 225 connected to an identity token database 222. The server 225 can use identity tokens individually or in aggregate to create a physical connection event in the connection event database 221.
  • In some implementations, the system or users 110 and 112 can set a threshold or timeout limit to help the mobile devices aggregate physical connection events resulting from successive reception of the same user identity token. In aggregated physical connection events resulting from reception of multiple user identity tokens, user identity tokens with higher counts, lengthier timestamps readings, or greater received signal strengths indications (RSSI) can indicate sustained and close proximity of two devices.
  • Aggregation can be performed on the devices 208 and 215, the server 225, or both. For instance, the devices 208 and 215 may aggregate received user identity tokens to determine a timestamp duration. In some implementations, failure to receive a user identity token from a broadcasting device within a pre-set time window can cause the receiving device to close and summarize a connection event. After a timeout duration without receiving further user identity tokens, the devices 208 and 215 may forward the batch of collected user identity tokens and associated metadata including timestamp durations and RSSI values to the server 225. The devices 208 and 215 can indicate the quality of a transmission as “strong” or “average” based on the number of collected user identity tokens and the associated metadata values. The quality of a broadcast can indicate close proximity of the broadcasting device and be used by the sever 255 for interaction strength calculation. In other implementations, aggregation of subsequent user identity tokens can be limited by the server.
  • The aggregated physical connection events and corresponding calendar connection events can be used to calculate a level of physical interactions (explained later). The calculated level of physical interactions can be depicted through an interaction strength metric on the social profile 105 of John Doe 110. The social profile 105 can be accessed from a browser 255 running on the computing device 235 and being tracked by an observer tool 245. The browser 255 can be Chrome, Internet Explorer, Firefox, Safari, etc. or the like that is capable of sending and receiving information to and from the server 225. In some implementations, the server 225 can apply a filter to calendar connection events and received user identity tokens for identifying particular events or user properties desired by the users 110 and 112.
  • In some implementations, the devices 208 and 215 can use Bluetooth technology, which can include an identification phase and a pairing phase. During the identification phase, the broadcasting device 208 can set a frequency-hopping pattern, to which the device 215 can synchronize its signals. In the pairing phase, the device 208 and 215 can transmit low power short-range RF signals and broadcast user identity tokens 1 and 2. Alternatively, tokens can be received and processed without pairing in a connectionless mode.
  • In other implementations, the devices 208 and 215 can use NFC for ultra-short-range communication and replace the identification phase of the Bluetooth technology with a simple tap between the devices 208 and 215. In case of NFC, antennas 205 and 212 can function as windings of a transformer to generate high power ultra-short-range RF signals for broadcasting user identity tokens 1 and 2.
  • In other implementations, the devices 208 and 215 can participate in the WLAN 211 through Wi-Fi, via an AP 210 that broadcasts a Wi-Fi signal usable over a medium-range area. In response to a MAC address based ARP scan initiated by devices 208 and 215, the AP 210 can generate a list of devices connected to it along with their MAC address, names, format, Internet Protocol (IP), etc. The devices 208 and 215 can then use the user identity tokens to filter those devices from the list whose users are in the same online social network environment as those of devices 208 and 215.
  • FIG. 3 illustrates one implementation of an example system 300 that allows mapping of relevant personal connections. In FIG. 3, the components are configured to operate within an execution environment hosted by a device and/or multiple devices, as in a distributed execution environment. Exemplary computing devices can include desktop computers, servers, networking devices, notebook, computers, PDAs, mobile phones, digital image capture devices and the like. The wireless devices 208 and 215 and computing devices 1 and 2 can be communicatively coupled to one another via network 315. The network 315 may be any network or combination of networks of devices that communicate with one another. For example, network 315 can be any one or any combination of Local Area Network (LAN), Wide Area Network (WAN), telephone network, wireless network, point-to-point network, star network, token ring network, hub network, or other appropriate configuration including the Internet.
  • The calendar entries store 301 can store the calendar entries, event subscriptions, and sign-ins of the users 110 and 112, which are matched in the calendar engine 305 to create or capture calendar connection events after locating a scheduled physical connection by finding a coincidence of scheduling, registration or check-in information in electronic records of the users 110 and 112. The calendar connection event can correspond to information stored with the physical connection event in time or location. If the timestamp and location recordings related to a physical connection event matches the time and venue entries associated with a scheduled connection event, then the two connection events can be presumed to correspond to each other.
  • The connection events can be further stored in the calendar events store 309. The social network engine 310 can provide online social applications that store the social profiles of the users 110 and 112. The interaction engine 319 can calculate the level of physical interaction between the users 110 and 112 by matching the corresponding physical and calendar connection events. The user profile database 320 can include the user identity tokes 1, 2, and 3 of users 110 and 112.
  • Physical Interactions Level
  • FIG. 4 is a flow chart 400 of one implementation of calculating a level of physical interactions between first user 110 using first device 208 and second user 112 using second device 215 communicating via P2P connection 209. Other implementations may perform the steps in different orders and/or with different, fewer or additional steps than the ones illustrated in FIG. 4. Multiple steps can be combined in some implementations. For convenience, this flowchart is described with reference to the system that carries out a method. The system is not necessarily part of the method.
  • As explained above, when in close proximity with each other, first and second devices 208 and 215 broadcast short-range RF signals at step 407. The user identity tokens 1 and 2 of respective users 110 and 112 that include users' social identities are broadcasted through the broadcast signals at step 415. If the users are members of the online social network 200, a physical connection event is registered in the connection event database 221 at step 417. At step 425, the timestamps of the first and last reception of user identity tokens 1 and 2 can be used to record the broadcast durations. The RSSI values of the broadcasts can be recorded at step 427, quantifying the quality of broadcasts with each devices 208 and 215. At step 435, the presumption of contact or likely contact between the users 110 and 112 is narrowed based on the broadcast durations and RSSI values, with longer broadcasts and higher RSSI values suggesting greater proximity between users 110 and 112. The electronic records of the users 110 and 112 pertaining to calendar entries, event subscriptions, sign-ins and the like that place two users at the same event are matched at step 437. A find or a match creates a calendar connection event in the connection event database 221 at step 445.
  • As explained above, the connectedness of aggregated physical connection events with calendar connection events is optionally confirmed at step 447 on the basis of their respective time and location fields. The connectedness confirmation is approved by the users 110 and 112 at step 455 to ensure that they actually attended the events whose calendar entries and the like created the calendar connection events. At step 457, a level of physical interaction between the users 110 and 112 is calculated by the interaction engine 319 based on the aggregated physical connection events and the corresponding calendar connection events.
  • Following this, at steps 465 and 467, filtering mechanisms are implemented to the calendar connection events and received user identity tokens 1 and 2 for identifying particular events or user properties. At step 475, the social profiles of the users 110 and 112 are modified on the online social network 200 through an interaction strength metric using scoring functions, point systems, meters, graphical enhancements, etc.
  • FIG. 5 is a message exchange chart 500 of one implementation of some elements of FIG. 4. At exchange 532, first device 208 sends the user identity token 1 of the first user 110 to second device 215. The second device 215 relays the received user identity token 1 to the server 225 at exchange 534, which stores it in the identity token database 221 and identifies the user associated with it. At exchange 553, second device 215 transmits the user identity token 2 of the second user 112 to first device 208. The first device 208 relays it to the server 225 for the same “social identity analysis” as at exchange 534. The RSSI values and broadcast durations are reported to the server 225 at exchanges at 563 and 565. At exchanges 565 and 575, the server 225 sends the connectedness confirmation inquiry to the users 110 and 112 via their respective devices 208 and 215. The users 110 and 112 then approve the connectedness confirmation at exchanges 585 and 587. Following this, the server 225 sends the level of physical interactions between the users 110 and 112 calculated by interaction engine 319 to the respective devices 208 and 215 at exchanges 595 and 597.
  • FIG. 6 is a flow chart 600 of one implementation of calculating a level of physical interactions between first user 110 using first device 208 and second user 112 using second device 215 communicating via WLAN 211. Other implementations may perform the steps in different orders and/or with different, fewer or additional steps than the ones illustrated in FIG. 6. Multiple steps can be combined in some implementations. For convenience, this flowchart is described with reference to the system that carries out a method. The system is not necessarily part of the method.
  • As explained above, the first and second devices 208 and 215 wirelessly discover other proximate devices. This discovery can be connectionless or connected, as between wireless devices, each of which is connected to AP 210 at step 607. In some implementations, a MAC-based ARP scan can be part of the discovery. To reduce potential intrusiveness, the devices 208 and 215 optionally can broadcast user identity tokens 1 and 2 to just those devices whose users are members of the online social network 200. If first user identity token 1 being broadcasted by first device 208 confirms the membership of user 110 in the online social network 200, then it is collected by first device 215 at step 615. Also at step 615, The second device 215 broadcasts a second user identity token 2, which is filtered against the profiles stored in the user profile database 320 by the server 225 to confirm that the second user 112 is a member of the online social network 200. With the reception of the user identity tokens, physical connection events are registered in the connection event database 221 at step 617. At step 625, the timestamps of the first and last reception of user identity tokens 1 and 2 are used to record the broadcast durations. The RSSI values of the broadcasts are recorded at step 627, quantifying the quality of broadcasts with each devices 208 and 215.
  • At step 635, the presumption of contact or likely contact between the users can be narrowed based on the broadcast durations and RSSI values, with longer broadcasts and higher RSSI values suggesting greater proximity between users. The electronic records of the users pertaining to calendar entries, event subscriptions, sign-ins and the like that place two users at the same event are matched at step 637. A find or a match creates a calendar connection event in the connection event database 221 at step 645.
  • As explained above, the connectedness of aggregated physical connection events with calendar connection events confirmed at step 647 on the basis of their respective time and location fields. The connectedness confirmation is approved by the users 110 and 112 at step 655 to ensure that they actually attended the events whose calendar entries and the like created the calendar connection events. At step 657, a level of physical interaction between the users is calculated by the interaction engine 319 based on the aggregated physical connection events and the corresponding calendar connection events. Following this, at steps 665 and 667, filtering mechanisms are implemented to the calendar connection events and received user identity tokens for identifying particular events or user properties. At step 675, the social profiles of the users are modified on the online social network 200 through an interaction strength metric using scoring functions, point systems, meters, graphical enhancements and the like.
  • FIG. 7 is a message exchange chart 700 of one implementation of some elements of FIG. 6. Optionally, the first device 208 sends a device discovery request to AP 210 at exchange 702. The AP 210 reports a list of devices discovered on its network to the first device 208 at exchange 706, including the second device 215.
  • Using the AP MAC address of the second device 215 obtained from the discovery report, the first device 208 sends the first user identity token 1 to the second device 215 at exchange 707. The second device 215 relays the first user identity token 1 to the server 225 at exchange 709. Optionally, it can check if the user 110 associated with the first identity token 1 is a member of the online social network 200. If the server 225 confirms that user 110 is a member of the online social network 200, then the second device 215 broadcasts the second user identity token 2 to the first device 208 at exchange 713. The first device 208 forwards the second identity token to the server 225 at exchange 718 to make the same identity check done by second device 215 at exchange 710. The RSSI values and broadcast durations are reported to the server 225 at exchanges at 719 and 721. At exchanges 722 and 725, the server 225 sends the connectedness confirmation inquiry to the users 110 and 112. The users 110 and 112 then approve the connectedness confirmation at exchanges 728 and 730. Following this, the server 225 sends the level of physical interactions calculated by interaction engine 319 to the devices 208 and 215 at exchanges 733 and 734.
  • The concept of calculating a level of physical interactions between users can be further explained through an example scenario of a Dreamforce conference. The users 110 and 112 of the online social network 200 using devices 208 and 215 can enable Bluetooth, NFC, or Wi-Fi in their respective devices while attending Dreamforce conference. The users 110 and 112 can then broadcast their user identity tokens when their devices are within the transmission range of the enabled wireless network. The devices 208 and 215 can assign timestamps to the received user identity tokens and track the duration and RSSI values of the broadcast, which can be uploaded to the server 225 to create a physical connection event in the on-demand database 221.
  • Further on, while attending another event like a training workshop, the users 110 and 112 can again exchange their user identity tokens when their devices are within the transmission range of the enabled wireless network and create another physical connection event. If the aggregation of physical connection events crosses the pre-defined threshold counter due to repeated reception of the same user identity token, the users 110 and 112 can exchange the electronic records stored in their respective devices 208 and 215 such as social profiles, social check-ins, calendar entries, event subscriptions, etc.
  • Following this, the calendar engine 305 can match the calendar related electronic records to find any events co-attended by the users 110 and 112 and create a calendar connection event. The aggregated physical connection events and corresponding calendar connection events can then be used to calculate a level of physical interactions between the users 110 and 112, which can be depicted through an interaction strength metric on Chatter, Facebook, or Twitter profiles of the users 110 and 112.
  • In some implementations, the server 225 can request the users 110 and 112 to confirm the connectedness between the aggregated physical connection events and corresponding calendar connection events. In some implementations, the server 225 can apply a filter to the calendar connection events and received user identity tokens for identifying particular events such as an important internal meetings or user properties like similar work backgrounds, professional titles, etc.
  • Observer Tool
  • The devices 208 and 215 can establish wireless communications across various channels including audio, video, and text. For example, the devices 208 and 215 can communicate with each other over cellular networks including code division multiple-access (CDMA), global system for mobile communications (GSM), Enhanced Data GSM Environment (EDGE), long-term evolution (LTE), etc. Similarly, the devices 208 and 215 can establish a wireless local area network (LAN) such as Wi-Fi, personal area network like Bluetooth or NFC, etc. Other communication protocols can also be implemented.
  • For example, the first user 110 can interact with a second user 112 on Chatter, but can interact more heavily with the second user 112 on Facebook or Twitter, or in a social gaming environment such as that provided by Zynga, or can physically or proximally interact with the second user 112 as evidenced by common check-ins on Foursquare or other location-based social networking systems. In other implementations, interaction strength can also be based upon one or more physical interactions that also implement features common to mobile communication devices, such as smartphones, tablet computers, etc.
  • The observer tool 245 can track wireless interactions between the users 110 and 112 via the devices 208 and 215. It can extract user activity history from web browsers, call logs, applications cache, memory units, etc. to identify—the users in the interaction, the channel communication of the interaction, and the duration of the interaction. This information can then be sent to the server 225, which is in communication with the devices 208 and 215 to create connection events. The server 225 can then calculate a level of wireless interactions based on one or more wireless connection events that can be used to modify the social profiles of users 110 and 112 through an interaction strength metric.
  • FIG. 8 is a flow chart 800 of one implementation of calculating a level of wireless interactions between first user 110 and second user 112 communicating via first device 208 and second device 215. Other implementations may perform the steps in different orders and/or with different, fewer or additional steps than the ones illustrated in FIG. 8. Multiple steps can be combined in some implementations. For convenience, this flowchart is described with reference to the system that carries out a method. The system is not necessarily part of the method.
  • At step 805, a wireless connection is established between the devices 208 and 215 over audio, video, text communication channel. Following this, the observer tool 245 and a timer is activated to track and time wireless interactions between the users 110 and 112 via the devices 208 and 215 at step 815. The duration of the connection is recorded at step 825 using the timer and the channel of communication is recorded at step 835. The wireless interactions are filtered at step 845 based on the length and type of the interaction. In some implementations, a gradation is applied to audio, video, text interactions, with video interactions being “strongest”, audio interactions “average” and text interactions “weakest.” In other implementations, the length of the interactions and amount of data transferred during an interaction is considered during gradation. As a result, wireless connection event is created at step 855, which is stored in the connection event database 221. At step 865, interaction engine 329 calculates a level of wireless interactions based on the number and gradation of wireless connection events. At step 875, the social profiles of the users 110 and 112 are modified using an interaction strength metric based on the calculated level of wireless interactions.
  • FIG. 9 is a message exchange chart 900 of one implementation of some elements of FIG. 8. At exchange 905, users 110 and 112 interact across a voice communication channel and the duration of the interaction is reported to the server 225 at exchange 909. As a result, the first wireless connection event is created at exchange 919. Similarly, an audio interaction and its duration are recorded at exchanges 925 and 939 to create the second wireless connection event at exchange 949. Likewise, at exchange 955 a text interaction between the users 110 and 112 is recorded and its duration is reported to the server 225 at exchange 969. Consequently, the third wireless connection event is created at exchange 929. The server 225 calculates a wireless interactions level at exchange 989 on the basis of the count and gradation of received wireless connection events, which is reported to the devices 208 and 215 at exchange 992.
  • In a non-limiting example, the observer tool 245 can track interactions between the users 110 and 112 made through voice calls, SMSs, and Skype video calls along with their durations. The observer tool 245 can then upload the tracked interactions to the remote server 225, with each upload creating a wireless connection event in the server 225. Using the number and gradation of wireless connection events, the interaction engine 319 can calculate a level of wireless interactions between the users 110 and 112. As a result, the Chatter, Facebook, or Twitter profiles of the users 110 and 112 can be modified using a interaction strength metric based on the calculated level of wireless interactions.
  • Some Particular Implementations
  • In one implementation, a system is described for calculating real-world user interactions between first and second users connected in an online social environment that includes a processor and code stored in memory coupled to the processor, which when executed on a processor creates a physical connection event stored in memory that represents contact or likely contact between the first and second users when first and second wireless devices carried by the first and second users establish a peer-to-peer relationship using a direct wireless channel, calculates a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events, updates the level of physical interactions in memory, and modifies social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
  • This system and other implementations of the technology disclosed can each optionally include one or more of the following features and/or features described in connection with additional systems disclosed. In the interest of conciseness, the combinations of features disclosed in this application are not individually enumerated and are not repeated with each base set of features. The reader will understand how features identified in this section can readily be combined with sets of base features identified as implementations.
  • The system can further include physical connection event to record a duration of connection via the direct wireless channel and a pattern of received signal strength during the connection via the direct wireless channel. It can include the contact or likely contact being filtered by duration of connection and strength of received signal when multiple direct wireless channels are simultaneously active.
  • The system can further include code stored in memory coupled to the processor, which when executed on a processor further locates a scheduled physical connection by finding a coincidence of scheduling, registration or check-in information in electronic records of the first and second users, creating a calendar connection event, and including in the calculating of the level of physical interactions between the first and second users an aggregation of the plurality of physical connection events.
  • The system can further include code stored in memory coupled to the processor, which when executed on a processor further confirms interaction strength of the physical connection event based on the calendar connection event, wherein the calendar connection event corresponds in at least time or location to information stored with the physical connection event.
  • The system can further include code stored in memory coupled to the processor, which when executed on a processor further applies a filtering mechanism to the calendar connection event to identify scheduling, registration or check-in information in electronic records of the second user that meets criteria set by the first user.
  • The system can further include code stored in memory coupled to the processor, which when executed on a processor further receives from at least one of the first and second users a response to a query confirming connectedness of the physical connection event. It can include the first and second devices that are configured to automatically exchange user identity tokens that are meaningful to an interaction server cooperating with the online social environment.
  • The system can further include code stored in memory coupled to the processor, which when executed on a processor further receives from at least one of the first and second wireless devices at least one user identity token received in an automatic exchange. It can include the privacy of the user identity tokens to be limited by user selectable privacy criteria.
  • The system can further include code stored in memory coupled to the processor, which when executed on a processor further applies a filtering mechanism to the user identity tokens to identify user identity information of the second user that meets criteria set by the first user.
  • Other implementations may include a non-transitory computer readable storage medium storing instructions executable by a processor to constitute a system as described above. Yet another implementation may include a method performed by the system as described above.
  • In another implementation, a system is described for calculating real-world user interactions between first and second users connected in an online social environment that includes a processor and code stored in memory coupled to the processor, which when executed on a processor creates a physical connection event stored in memory that represents contact or likely contact between the first and second users using first and second wireless devices sharing a common wireless local area network access point, calculates a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events, updates the level of physical interactions in memory, and modifies social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
  • Other implementations may include a non-transitory computer readable storage medium storing instructions executable by a processor to constitute a system as described above. Yet another implementation may include a method performed by the system as described above.
  • In another implementation, a system is system for calculating wireless user interactions between first and second users using wireless devices that includes a processor and code stored in memory coupled to the processor, which when executed on a processor activates an observer tool to track at least an interaction between the first and second users via the first and second wireless devices across at least a video, audio, or text communication channel, creates a wireless connection event stored in memory that represents wireless interactions between the first and second users via first and second wireless devices, calculates a level of wireless interactions between the first and second users including at least aggregating plurality of wireless connection events, updates the level of wireless interactions in memory, and, modifies social profiles of the first and second users using an interaction strength metric based on the level of wireless interactions
  • This system and other implementations of the technology disclosed can each optionally include one or more additional features described.
  • The system can further include wireless interactions that are filtered by a duration of interaction and the type of communication channel used for the interaction.
  • While the present invention is disclosed by reference to the preferred implementations and examples detailed above, it is to be understood that these examples are intended in an illustrative rather than in a limiting sense. It is contemplated that modifications and combinations will readily occur to those skilled in the art, which modifications and combinations will be within the spirit of the invention and the scope of the following claims.
  • What is claimed is:

Claims (25)

1. A system for calculating real-world user interactions between first and second users connected in an online social environment, the system including:
a processor;
code stored in memory coupled to the processor, which when executed on a processor:
creates a physical connection event stored in memory that represents contact or likely contact between the first and second users when first and second wireless devices carried by the first and second users establish a peer-to-peer relationship using a direct wireless channel;
calculates a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events;
updates the level of physical interactions in memory; and
modifies social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
2. The system of claim 1, wherein the physical connection event records a duration of connection via the direct wireless channel.
3. The system of claim 1, wherein the physical connection event records a pattern of received signal strength during the connection via the direct wireless channel.
4. The system of claim 1, wherein the contact or likely contact is filtered by duration of connection and strength of received signal when multiple direct wireless channels are simultaneously active.
5. The system of claim 1, wherein the code stored in memory coupled to the processor, which when executed on a processor further locates a scheduled physical connection by finding a coincidence of scheduling, registration or check-in information in electronic records of the first and second users, creating a calendar connection event, and including in the calculating of the level of physical interactions between the first and second users an aggregation of the plurality of physical connection events.
6. The system of claim 5, wherein the code stored in memory coupled to the processor, which when executed on a processor further confirms interaction strength of the physical connection event based on the calendar connection event, wherein the calendar connection event corresponds in at least time or location to information stored with the physical connection event.
7. The system of claim 5, wherein the code stored in memory coupled to the processor, which when executed on a processor further applies a filtering mechanism to the calendar connection event to identify scheduling, registration or check-in information in electronic records of the second user that meets criteria set by the first user.
8. The system of claim 1, wherein the code stored in memory coupled to the processor, which when executed on a processor further receives from at least one of the first and second users a response to a query confirming connectedness of the physical connection event.
9. The system of claim 1, wherein the first and second devices are configured to automatically exchange user identity tokens that are meaningful to an interaction server cooperating with the online social environment.
10. The system of claim 9, wherein the code stored in memory coupled to the processor, which when executed on a processor further receives from at least one of the first and second wireless devices at least one user identity token received in an automatic exchange.
11. The system of claim 9, wherein privacy of the user identity tokens is limited by user selectable privacy criteria.
12. The system of claim 10 wherein the code stored in memory coupled to the processor, which when executed on a processor further applies a filtering mechanism to the user identity tokens to identify user identity information of the second user that meets criteria set by the first user.
13. A system for calculating real-world user interactions between first and second users connected in an online social environment, the system including:
a processor;
code stored in memory coupled to the processor, which when executed on a processor:
creates a physical connection event stored in memory that represents contact or likely contact between the first and second users using first and second wireless devices sharing a common wireless local area network access point;
calculates a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events;
updates the level of physical interactions in memory; and
modifies social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
14. A system for calculating wireless user interactions between first and second users using wireless devices, the system including:
a processor;
code stored in memory coupled to the processor, which when executed on a processor:
activates an observer tool to track at least an interaction between the first and second users via the first and second wireless devices across at least a video, audio, or text communication channel;
creates a wireless connection event stored in memory that represents wireless interactions between the first and second users via first and second wireless devices;
calculates a level of wireless interactions between the first and second users including at least aggregating plurality of wireless connection events;
updates the level of wireless interactions in memory; and
modifies social profiles of the first and second users using an interaction strength metric based on the level of wireless interactions.
15. The system of claim 14, wherein the wireless interactions are filtered by a duration of interaction and type of communication channel used for the interaction.
16. A method of calculating real-world user interactions between first and second users connected in an online social environment, the method including:
creating a physical connection event stored in memory that represents contact or likely contact between the first and second users when first and second wireless devices carried by the first and second users share information via a peer-to-peer direct wireless channel;
calculating a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events;
updating the level of physical interactions in memory; and
modifying social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
17. The method of claim 16, further including locating a scheduled physical connection by finding a coincidence of scheduling, registration or check-in information in electronic records of the first and second users, creating a calendar connection event, and including in the calculating of the level of physical interactions between the first and second users an aggregation of the plurality of physical connection events.
18. The method of claim 17, further including confirming interaction strength of the physical connection event based on the calendar connection event, wherein the calendar connection event corresponds in at least time or location to information stored with the physical connection event.
19. The method of claim 17, further including applying a filtering mechanism to the calendar connection event to identify scheduling, registration or check-in information in electronic records of the second user that meets criteria set by the first user.
20. The method of claim 16, wherein the first and second devices are configured to automatically exchange user identity tokens that are meaningful to an interaction server cooperating with the online social environment.
21. A method of calculating real-world user interactions between first and second users connected in an online social environment, the method including:
creating a physical connection event stored in memory that represents contact or likely contact between the first and second users using first and second wireless devices sharing a common wireless local area network access point;
calculating a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events;
updating the level of physical interactions in memory; and
modifying social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
22. A method of calculating wireless user interactions between first and second users using wireless devices, the method including:
activating an observer tool to track at least an interaction between the first and second users via the first and second wireless devices across at least a video, audio, or text communication channel;
creating a wireless connection event stored in memory that represents wireless interactions between the first and second users via first and second wireless devices;
calculating a level of wireless interactions between the first and second users including at least aggregating plurality of wireless connection events;
updating the level of wireless interactions in memory; and
modifying social profiles of the first and second users using an interaction strength metric based on the level of wireless interactions.
23. An article of manufacture that includes processor readable storage with processor executable code for calculating real-world user interactions between first and second users connected in an online social environment, including:
a logic, which when executed on a processor:
creates a physical connection event stored in memory that represents contact or likely contact between the first and second users when first and second wireless devices carried by the first and second users establish a peer-to-peer relationship using a direct wireless channel;
calculates a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events;
updates the level of physical interactions in memory; and
modifies social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
24. An article of manufacture that includes processor readable storage with processor executable code for calculating real-world user interactions between first and second users connected in an online social environment, including:
a logic, which when executed on a processor:
creates a physical connection event stored in memory that represents contact or likely contact between the first and second users using first and second wireless devices sharing a common wireless local area network access point;
calculates a level of physical interactions between the first and second users including at least aggregating the plurality of physical connection events;
updates the level of physical interactions in memory; and
modifies social profiles of the first and second users using an interaction strength metric based on the level of physical interactions.
25. An article of manufacture that includes processor readable storage with processor executable code for calculating wireless user interactions between first and second users using wireless devices, including:
a logic, which when executed on a processor:
activates an observer tool to track at least an interaction between the first and second users via the first and second wireless devices across at least a video, audio, or text communication channel;
creates a wireless connection event stored in memory that represents wireless interactions between the first and second users via first and second wireless devices;
calculates a level of wireless interactions between the first and second users including at least aggregating plurality of wireless connection events;
updates the level of wireless interactions in memory; and
modifies social profiles of the first and second users using an interaction strength metric based on the level of wireless interactions.
US13/743,895 2012-01-17 2013-01-17 Systems and methods for mapping relevant personal connections Abandoned US20130185654A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/743,895 US20130185654A1 (en) 2012-01-17 2013-01-17 Systems and methods for mapping relevant personal connections
US15/268,201 US20170006446A1 (en) 2012-01-17 2016-09-16 Displaying aggregated connection data using a database system
US16/189,516 US10437834B2 (en) 2012-01-17 2018-11-13 Displaying aggregated connection data using a database system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261579098P 2012-01-17 2012-01-17
US13/743,895 US20130185654A1 (en) 2012-01-17 2013-01-17 Systems and methods for mapping relevant personal connections

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/268,201 Continuation US20170006446A1 (en) 2012-01-17 2016-09-16 Displaying aggregated connection data using a database system

Publications (1)

Publication Number Publication Date
US20130185654A1 true US20130185654A1 (en) 2013-07-18

Family

ID=48780876

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/743,895 Abandoned US20130185654A1 (en) 2012-01-17 2013-01-17 Systems and methods for mapping relevant personal connections
US15/268,201 Abandoned US20170006446A1 (en) 2012-01-17 2016-09-16 Displaying aggregated connection data using a database system
US16/189,516 Active US10437834B2 (en) 2012-01-17 2018-11-13 Displaying aggregated connection data using a database system

Family Applications After (2)

Application Number Title Priority Date Filing Date
US15/268,201 Abandoned US20170006446A1 (en) 2012-01-17 2016-09-16 Displaying aggregated connection data using a database system
US16/189,516 Active US10437834B2 (en) 2012-01-17 2018-11-13 Displaying aggregated connection data using a database system

Country Status (1)

Country Link
US (3) US20130185654A1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095700A1 (en) * 2012-07-29 2014-04-03 Verint Systems Ltd. System and method for passive decoding of social network activity using replica database
US20140219194A1 (en) * 2013-02-01 2014-08-07 Apple Inc. Management of multiple radio links for wireless peer-to-peer communication
US20150099469A1 (en) * 2013-10-06 2015-04-09 Steven Wayne Goldstein Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US20150222699A1 (en) * 2014-02-04 2015-08-06 Dell Products L.P. Local connection and sharing system
US20150324752A1 (en) * 2013-03-12 2015-11-12 Google Inc. Combine local offers, social network, and calendar to provide personalized experience for consumers
US20160034461A1 (en) * 2014-07-31 2016-02-04 Linkedin Corporation Connection insights widget
US20160065630A1 (en) * 2014-08-29 2016-03-03 Linkedin Corporation Anticipatory contextual notifications
US9280596B2 (en) 2010-07-01 2016-03-08 Salesforce.Com, Inc. Method and system for scoring articles in an on-demand services environment
US20160094963A1 (en) * 2014-09-30 2016-03-31 Linkedin Corporation Facilitating social networking service connections based on mobile device validated calendar data
US20170149771A1 (en) * 2015-11-25 2017-05-25 Microsoft Technology Licensing, Llc. Automated device discovery of pairing-eligible devices for authentication
US10140368B2 (en) * 2014-03-28 2018-11-27 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for generating a recommendation page
US10437834B2 (en) 2012-01-17 2019-10-08 Salesforce.Com, Inc. Displaying aggregated connection data using a database system
US11310236B2 (en) * 2018-11-29 2022-04-19 International Business Machines Corporation Deriving confidence scores based on device sharing
US11323815B2 (en) * 2018-12-14 2022-05-03 Google Llc Graphical user interface indicator for broadcaster presence
US11490259B2 (en) * 2018-07-30 2022-11-01 Tappter Limited System and methods for verifying user connections

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8675847B2 (en) 2007-01-03 2014-03-18 Cisco Technology, Inc. Scalable conference bridge
CN104469256B (en) 2013-09-22 2019-04-23 思科技术公司 Immersion and interactive video conference room environment
US10291597B2 (en) 2014-08-14 2019-05-14 Cisco Technology, Inc. Sharing resources across multiple devices in online meetings
US10542126B2 (en) 2014-12-22 2020-01-21 Cisco Technology, Inc. Offline virtual participation in an online conference meeting
US9948786B2 (en) 2015-04-17 2018-04-17 Cisco Technology, Inc. Handling conferences using highly-distributed agents
US10291762B2 (en) 2015-12-04 2019-05-14 Cisco Technology, Inc. Docking station for mobile computing devices
US10574609B2 (en) 2016-06-29 2020-02-25 Cisco Technology, Inc. Chat room access control
US10592867B2 (en) 2016-11-11 2020-03-17 Cisco Technology, Inc. In-meeting graphical user interface display using calendar information and system
US10516707B2 (en) 2016-12-15 2019-12-24 Cisco Technology, Inc. Initiating a conferencing meeting using a conference room device
US10515117B2 (en) 2017-02-14 2019-12-24 Cisco Technology, Inc. Generating and reviewing motion metadata
US9942519B1 (en) 2017-02-21 2018-04-10 Cisco Technology, Inc. Technologies for following participants in a video conference
US10440073B2 (en) 2017-04-11 2019-10-08 Cisco Technology, Inc. User interface for proximity based teleconference transfer
US10375125B2 (en) * 2017-04-27 2019-08-06 Cisco Technology, Inc. Automatically joining devices to a video conference
US10404481B2 (en) 2017-06-06 2019-09-03 Cisco Technology, Inc. Unauthorized participant detection in multiparty conferencing by comparing a reference hash value received from a key management server with a generated roster hash value
US10375474B2 (en) 2017-06-12 2019-08-06 Cisco Technology, Inc. Hybrid horn microphone
US10477148B2 (en) 2017-06-23 2019-11-12 Cisco Technology, Inc. Speaker anticipation
US10516709B2 (en) 2017-06-29 2019-12-24 Cisco Technology, Inc. Files automatically shared at conference initiation
US10706391B2 (en) 2017-07-13 2020-07-07 Cisco Technology, Inc. Protecting scheduled meeting in physical room
US10091348B1 (en) 2017-07-25 2018-10-02 Cisco Technology, Inc. Predictive model for voice/video over IP calls
US10771621B2 (en) 2017-10-31 2020-09-08 Cisco Technology, Inc. Acoustic echo cancellation based sub band domain active speaker detection for audio and video conferencing applications
US20200210507A1 (en) * 2018-12-28 2020-07-02 John Jacob System for determining interaction outcomes between individuals
US20240028653A1 (en) * 2022-07-22 2024-01-25 Rovi Guides, Inc. Systems and methods for selecting supplemental content for a user based on a helping user's behavior

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060046709A1 (en) * 2004-06-29 2006-03-02 Microsoft Corporation Proximity detection using wireless signal strengths
US20090157473A1 (en) * 2007-12-18 2009-06-18 Att Knowledge Ventures L.P. System and method for sending targeted marketing data using proximity data
US20110072052A1 (en) * 2008-05-28 2011-03-24 Aptima Inc. Systems and methods for analyzing entity profiles
US20110213785A1 (en) * 2010-02-26 2011-09-01 Telefonaktiebolaget L M Ericsson (Publ) Social Data Ranking and Processing
US20110238755A1 (en) * 2010-03-24 2011-09-29 Hameed Khan Proximity-based social networking
US20110276396A1 (en) * 2005-07-22 2011-11-10 Yogesh Chunilal Rathod System and method for dynamically monitoring, recording, processing, attaching dynamic, contextual and accessible active links and presenting of physical or digital activities, actions, locations, logs, life stream, behavior and status
WO2012129771A1 (en) * 2011-03-29 2012-10-04 Nokia Corporation Method and apparatus for creating an ephemeral social network
US20120271722A1 (en) * 2011-04-25 2012-10-25 Yun-Fang Juan Top Friend Prediction for Users in a Social Networking System
US20130046770A1 (en) * 2011-08-19 2013-02-21 Erick Tseng Sending Notifications About Other Users With Whom A User is Likely to Interact
US20130066821A1 (en) * 2011-03-04 2013-03-14 Foursquare Labs, Inc. System and method for providing recommendations with a location-based service

Family Cites Families (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649104A (en) 1993-03-19 1997-07-15 Ncr Corporation System for allowing user of any computer to draw image over that generated by the host computer and replicating the drawn image to other computers
US5608872A (en) 1993-03-19 1997-03-04 Ncr Corporation System for allowing all remote computers to perform annotation on an image and replicating the annotated image on the respective displays of other comuters
US7991347B1 (en) 1994-04-07 2011-08-02 Data Innovation Llc System and method for accessing set of digital data at a remote site
US5577188A (en) 1994-05-31 1996-11-19 Future Labs, Inc. Method to provide for virtual screen overlay
US7181758B1 (en) 1994-07-25 2007-02-20 Data Innovation, L.L.C. Information distribution and processing system
GB2300991B (en) 1995-05-15 1997-11-05 Andrew Macgregor Ritchie Serving signals to browsing clients
EP0777885A2 (en) 1995-06-09 1997-06-11 Koninklijke Philips Electronics N.V. Method for enabling a user to fetch a specific information item from a set of information items, and a system for carrying out such a method
US5715450A (en) 1995-09-27 1998-02-03 Siebel Systems, Inc. Method of selecting and presenting data from a database using a query language to a user of a computer system
US5821937A (en) 1996-02-23 1998-10-13 Netsuite Development, L.P. Computer method for updating a network design
US5831610A (en) 1996-02-23 1998-11-03 Netsuite Development L.P. Designing networks
US5873096A (en) 1997-10-08 1999-02-16 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
US6604117B2 (en) 1996-03-19 2003-08-05 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
WO1998038583A1 (en) 1997-02-26 1998-09-03 Siebel Systems, Inc. Method of determining visibility to a remote database client of a plurality of database transactions having variable visibility strengths
AU6336698A (en) 1997-02-26 1998-09-29 Siebel Systems, Inc. Distributed relational database
AU6440398A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions
WO1998038762A2 (en) 1997-02-26 1998-09-03 Siebel Systems, Inc. Determining visibility to a remote database client
EP1021775A4 (en) 1997-02-26 2005-05-11 Siebel Systems Inc Method of determining the visibility to a remote databaseclient of a plurality of database transactions using simplified visibility rules
EP1019807B1 (en) 1997-02-27 2017-04-05 Siebel Systems, Inc. Method of migrating to a successive level of a software distribution incorporating local modifications
AU6336798A (en) 1997-02-27 1998-09-29 Siebel Systems, Inc. Method of synchronizing independently distributed software and database schema
JP2001513926A (en) 1997-02-28 2001-09-04 シーベル システムズ,インコーポレイティド Partially replicated distributed database with multiple levels of remote clients
US5983227A (en) 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US6169534B1 (en) 1997-06-26 2001-01-02 Upshot.Com Graphical user interface for customer information management
US6560461B1 (en) 1997-08-04 2003-05-06 Mundi Fomukong Authorized location reporting paging system
US5918159A (en) 1997-08-04 1999-06-29 Fomukong; Mundi Location reporting satellite paging system with optional blocking of location reporting
US6236978B1 (en) 1997-11-14 2001-05-22 New York University System and method for dynamic profiling of users in one-to-one applications
US20020059095A1 (en) 1998-02-26 2002-05-16 Cook Rachael Linette System and method for generating, capturing, and managing customer lead information over a computer network
US6732111B2 (en) 1998-03-03 2004-05-04 Siebel Systems, Inc. Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US6772229B1 (en) 2000-11-13 2004-08-03 Groupserve, Inc. Centrifugal communication and collaboration method
US6161149A (en) 1998-03-13 2000-12-12 Groupserve, Inc. Centrifugal communication and collaboration method
US5963953A (en) 1998-03-30 1999-10-05 Siebel Systems, Inc. Method, and system for product configuration
CA2341871A1 (en) 1998-08-27 2000-03-09 Upshot Corporation A method and apparatus for network-based sales force management
AU6410699A (en) 1998-10-13 2000-05-01 Chris Cheah Method and system for controlled distribution of information over a network
US6601087B1 (en) 1998-11-18 2003-07-29 Webex Communications, Inc. Instant document sharing
US6393605B1 (en) 1998-11-18 2002-05-21 Siebel Systems, Inc. Apparatus and system for efficient delivery and deployment of an application
US6728960B1 (en) 1998-11-18 2004-04-27 Siebel Systems, Inc. Techniques for managing multiple threads in a browser environment
WO2000033235A1 (en) 1998-11-30 2000-06-08 Siebel Systems, Inc. State models for monitoring processes
WO2000033226A1 (en) 1998-11-30 2000-06-08 Siebel Systems, Inc. Smart scripting call centers
JP2002531900A (en) 1998-11-30 2002-09-24 シーベル システムズ,インコーポレイティド Assignment manager
AU2035600A (en) 1998-11-30 2000-06-19 Siebel Systems, Inc. Development tool, method, and system for client server appications
US7356482B2 (en) 1998-12-18 2008-04-08 Alternative Systems, Inc. Integrated change management unit
US6574635B2 (en) 1999-03-03 2003-06-03 Siebel Systems, Inc. Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers objects and components
US20020072951A1 (en) 1999-03-03 2002-06-13 Michael Lee Marketing support database management method, system and program product
US6288717B1 (en) 1999-03-19 2001-09-11 Terry Dunkle Headline posting algorithm
US6907566B1 (en) 1999-04-02 2005-06-14 Overture Services, Inc. Method and system for optimum placement of advertisements on a webpage
US7698160B2 (en) 1999-05-07 2010-04-13 Virtualagility, Inc System for performing collaborative tasks
US8095413B1 (en) 1999-05-07 2012-01-10 VirtualAgility, Inc. Processing management information
US6411949B1 (en) 1999-08-12 2002-06-25 Koninklijke Philips Electronics N.V., Customizing database information for presentation with media selections
US6621834B1 (en) 1999-11-05 2003-09-16 Raindance Communications, Inc. System and method for voice transmission over network protocols
US6535909B1 (en) 1999-11-18 2003-03-18 Contigo Software, Inc. System and method for record and playback of collaborative Web browsing session
US6671714B1 (en) 1999-11-23 2003-12-30 Frank Michael Weyer Method, apparatus and business system for online communications with online and offline recipients
US6324568B1 (en) 1999-11-30 2001-11-27 Siebel Systems, Inc. Method and system for distributing objects over a network
US6654032B1 (en) 1999-12-23 2003-11-25 Webex Communications, Inc. Instant sharing of documents on a remote server
US7136860B2 (en) 2000-02-14 2006-11-14 Overture Services, Inc. System and method to determine the validity of an interaction on a network
US6732100B1 (en) 2000-03-31 2004-05-04 Siebel Systems, Inc. Database access method and system for user role defined access
US6336137B1 (en) 2000-03-31 2002-01-01 Siebel Systems, Inc. Web client-server system and method for incompatible page markup and presentation languages
US6577726B1 (en) 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US7266502B2 (en) 2000-03-31 2007-09-04 Siebel Systems, Inc. Feature centric release manager method and system
US6434550B1 (en) 2000-04-14 2002-08-13 Rightnow Technologies, Inc. Temporal updates of relevancy rating of retrieved information in an information search system
US6665655B1 (en) 2000-04-14 2003-12-16 Rightnow Technologies, Inc. Implicit rating of retrieved information in an information search system
US7730072B2 (en) 2000-04-14 2010-06-01 Rightnow Technologies, Inc. Automated adaptive classification system for knowledge networks
US6842748B1 (en) 2000-04-14 2005-01-11 Rightnow Technologies, Inc. Usage based strength between related information in an information retrieval system
US6763501B1 (en) 2000-06-09 2004-07-13 Webex Communications, Inc. Remote document serving
WO2002005140A1 (en) 2000-07-11 2002-01-17 Launch Media, Inc. Online playback system with community bias
US7069231B1 (en) 2000-07-20 2006-06-27 Oracle International Corporation Methods and systems for defining, applying and executing customer care relationship plans
KR100365357B1 (en) 2000-10-11 2002-12-18 엘지전자 주식회사 Method for data communication of mobile terminal
US7581230B2 (en) 2001-02-06 2009-08-25 Siebel Systems, Inc. Adaptive communication application programming interface
USD454139S1 (en) 2001-02-20 2002-03-05 Rightnow Technologies Display screen for a computer
US7310687B2 (en) 2001-03-23 2007-12-18 Cisco Technology, Inc. Methods and systems for managing class-based condensation
US6829655B1 (en) 2001-03-28 2004-12-07 Siebel Systems, Inc. Method and system for server synchronization with a computing device via a companion device
US7174514B2 (en) 2001-03-28 2007-02-06 Siebel Systems, Inc. Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
US7363388B2 (en) 2001-03-28 2008-04-22 Siebel Systems, Inc. Method and system for direct server synchronization with a computing device
US20030018705A1 (en) 2001-03-31 2003-01-23 Mingte Chen Media-independent communication server
US20030206192A1 (en) 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
US6732095B1 (en) 2001-04-13 2004-05-04 Siebel Systems, Inc. Method and apparatus for mapping between XML and relational representations
US7761288B2 (en) 2001-04-30 2010-07-20 Siebel Systems, Inc. Polylingual simultaneous shipping of software
US6728702B1 (en) 2001-06-18 2004-04-27 Siebel Systems, Inc. System and method to implement an integrated search center supporting a full-text search and query on a database
US6763351B1 (en) 2001-06-18 2004-07-13 Siebel Systems, Inc. Method, apparatus, and system for attaching search results
US6782383B2 (en) 2001-06-18 2004-08-24 Siebel Systems, Inc. System and method to implement a persistent and dismissible search center frame
US6711565B1 (en) 2001-06-18 2004-03-23 Siebel Systems, Inc. Method, apparatus, and system for previewing search results
US20030004971A1 (en) 2001-06-29 2003-01-02 Gong Wen G. Automatic generation of data models and accompanying user interfaces
US6826582B1 (en) 2001-09-28 2004-11-30 Emc Corporation Method and system for using file systems for content management
US6724399B1 (en) 2001-09-28 2004-04-20 Siebel Systems, Inc. Methods and apparatus for enabling keyboard accelerators in applications implemented via a browser
US6978445B2 (en) 2001-09-28 2005-12-20 Siebel Systems, Inc. Method and system for supporting user navigation in a browser environment
US7761535B2 (en) 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
US6993712B2 (en) 2001-09-28 2006-01-31 Siebel Systems, Inc. System and method for facilitating user interaction in a browser environment
US7146617B2 (en) 2001-09-29 2006-12-05 Siebel Systems, Inc. Method, apparatus, and system for implementing view caching in a framework to support web-based applications
US8359335B2 (en) 2001-09-29 2013-01-22 Siebel Systems, Inc. Computing system and method to implicitly commit unsaved data for a world wide web application
US6901595B2 (en) 2001-09-29 2005-05-31 Siebel Systems, Inc. Method, apparatus, and system for implementing a framework to support a web-based application
US7962565B2 (en) 2001-09-29 2011-06-14 Siebel Systems, Inc. Method, apparatus and system for a mobile web client
US7289949B2 (en) 2001-10-09 2007-10-30 Right Now Technologies, Inc. Method for routing electronic correspondence based on the level and type of emotion contained therein
US7062502B1 (en) 2001-12-28 2006-06-13 Kesler John N Automated generation of dynamic data entry user interface for relational database management systems
US6804330B1 (en) 2002-01-04 2004-10-12 Siebel Systems, Inc. Method and system for accessing CRM data via voice
US7058890B2 (en) 2002-02-13 2006-06-06 Siebel Systems, Inc. Method and system for enabling connectivity to a data system
US7672853B2 (en) 2002-03-29 2010-03-02 Siebel Systems, Inc. User interface for processing requests for approval
US7131071B2 (en) 2002-03-29 2006-10-31 Siebel Systems, Inc. Defining an approval process for requests for approval
US6850949B2 (en) 2002-06-03 2005-02-01 Right Now Technologies, Inc. System and method for generating a dynamic interface via a communications network
US7437720B2 (en) 2002-06-27 2008-10-14 Siebel Systems, Inc. Efficient high-interactivity user interface for client-server applications
US8639542B2 (en) 2002-06-27 2014-01-28 Siebel Systems, Inc. Method and apparatus to facilitate development of a customer-specific business process model
US7594181B2 (en) 2002-06-27 2009-09-22 Siebel Systems, Inc. Prototyping graphical user interfaces
US20040010489A1 (en) 2002-07-12 2004-01-15 Rightnow Technologies, Inc. Method for providing search-specific web pages in a network computing environment
US7251787B2 (en) 2002-08-28 2007-07-31 Siebel Systems, Inc. Method and apparatus for an integrated process modeller
US7069497B1 (en) 2002-09-10 2006-06-27 Oracle International Corp. System and method for applying a partial page change
US9448860B2 (en) 2003-03-21 2016-09-20 Oracle America, Inc. Method and architecture for providing data-change alerts to external applications via a push service
WO2004086197A2 (en) 2003-03-24 2004-10-07 Siebel Systems, Inc. Custom common object
US7904340B2 (en) 2003-03-24 2011-03-08 Siebel Systems, Inc. Methods and computer-readable medium for defining a product model
US7406501B2 (en) 2003-03-24 2008-07-29 Yahoo! Inc. System and method for instant messaging using an e-mail protocol
WO2004086198A2 (en) 2003-03-24 2004-10-07 Siebel Systems, Inc. Common common object
US8762415B2 (en) 2003-03-25 2014-06-24 Siebel Systems, Inc. Modeling of order data
US7685515B2 (en) 2003-04-04 2010-03-23 Netsuite, Inc. Facilitating data manipulation in a browser-based user interface of an enterprise business application
US7412455B2 (en) 2003-04-30 2008-08-12 Dillon David M Software framework that facilitates design and implementation of database applications
US7620655B2 (en) 2003-05-07 2009-11-17 Enecto Ab Method, device and computer program product for identifying visitors of websites
US7409336B2 (en) 2003-06-19 2008-08-05 Siebel Systems, Inc. Method and system for searching data based on identified subset of categories and relevance-scored text representation-category combinations
US20040260659A1 (en) 2003-06-23 2004-12-23 Len Chan Function space reservation system
US7237227B2 (en) 2003-06-30 2007-06-26 Siebel Systems, Inc. Application user interface template with free-form layout
US7694314B2 (en) 2003-08-28 2010-04-06 Siebel Systems, Inc. Universal application network architecture
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7269590B2 (en) 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
US7289976B2 (en) 2004-12-23 2007-10-30 Microsoft Corporation Easy-to-use data report specification
US7747648B1 (en) 2005-02-14 2010-06-29 Yahoo! Inc. World modeling using a relationship network with communication channels to entities
US7827208B2 (en) 2006-08-11 2010-11-02 Facebook, Inc. Generating a feed of stories personalized for members of a social network
US7945653B2 (en) 2006-10-11 2011-05-17 Facebook, Inc. Tagging digital media
US9135228B2 (en) 2006-05-01 2015-09-15 Domo, Inc. Presentation of document history in a web browsing application
US8209308B2 (en) 2006-05-01 2012-06-26 Rueben Steven L Method for presentation of revisions of an electronic document
US8566301B2 (en) 2006-05-01 2013-10-22 Steven L. Rueben Document revisions in a collaborative computing environment
US7853881B1 (en) 2006-07-03 2010-12-14 ISQ Online Multi-user on-line real-time virtual social networks based upon communities of interest for entertainment, information or e-commerce purposes
US7779475B2 (en) 2006-07-31 2010-08-17 Petnote Llc Software-based method for gaining privacy by affecting the screen of a computing device
US8095531B2 (en) 2006-10-03 2012-01-10 Salesforce.Com, Inc. Methods and systems for controlling access to custom objects in a database
US7730478B2 (en) 2006-10-04 2010-06-01 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service
US8082301B2 (en) 2006-11-10 2011-12-20 Virtual Agility, Inc. System for supporting collaborative activity
US8954500B2 (en) 2008-01-04 2015-02-10 Yahoo! Inc. Identifying and employing social network relationships
US8073850B1 (en) 2007-01-19 2011-12-06 Wordnetworks, Inc. Selecting key phrases for serving contextually relevant content
US8719287B2 (en) 2007-08-31 2014-05-06 Business Objects Software Limited Apparatus and method for dynamically selecting componentized executable instructions at run time
US20090100342A1 (en) 2007-10-12 2009-04-16 Gabriel Jakobson Method and system for presenting address and mapping information
US8504945B2 (en) 2008-02-01 2013-08-06 Gabriel Jakobson Method and system for associating content with map zoom function
US9449333B2 (en) 2008-02-01 2016-09-20 Gabriel Jakobson Online advertising associated with electronic mapping systems
US8490025B2 (en) 2008-02-01 2013-07-16 Gabriel Jakobson Displaying content associated with electronic mapping systems
US8032297B2 (en) 2008-05-08 2011-10-04 Gabriel Jakobson Method and system for displaying navigation information on an electronic map
US8014943B2 (en) 2008-05-08 2011-09-06 Gabriel Jakobson Method and system for displaying social networking navigation information
US8646103B2 (en) 2008-06-30 2014-02-04 Gabriel Jakobson Method and system for securing online identities
US8510664B2 (en) 2008-09-06 2013-08-13 Steven L. Rueben Method and system for displaying email thread information
US8661056B1 (en) 2008-11-03 2014-02-25 Salesforce.Com, Inc. System, method and computer program product for publicly providing web content of a tenant using a multi-tenant on-demand database service
US8510045B2 (en) 2009-12-22 2013-08-13 Steven L. Rueben Digital maps displaying search-resulting points-of-interest in user delimited regions
US8583587B2 (en) 2010-03-08 2013-11-12 Salesforce.Com, Inc. System, method and computer program product for performing one or more actions utilizing a uniform resource locator
US8925041B2 (en) 2010-04-01 2014-12-30 Salesforce.Com, Inc. System, method and computer program product for performing one or more actions based on a determined access permissions for a plurality of users
US8566654B2 (en) 2010-08-13 2013-10-22 Salesforce.Com, Inc. Debugging site errors by an admin as a guest user in a multi-tenant database environment
US20130185654A1 (en) 2012-01-17 2013-07-18 Salesforce.Com, Inc. Systems and methods for mapping relevant personal connections
US8943002B2 (en) 2012-02-10 2015-01-27 Liveperson, Inc. Analytics driven engagement
US8756275B2 (en) 2012-02-17 2014-06-17 Zebedo Variable speed collaborative web browsing system
US8769004B2 (en) 2012-02-17 2014-07-01 Zebedo Collaborative web browsing system integrated with social networks
US8769017B2 (en) 2012-02-17 2014-07-01 Zebedo Collaborative web browsing system having document object model element interaction detection
US10037325B2 (en) * 2012-08-06 2018-07-31 Gree, Inc. Display system, display method in the system and display program for increasing a conversion rate in a social networking environment
US20150006289A1 (en) 2013-07-01 2015-01-01 Gabriel Jakobson Advertising content in regions within digital maps
US20150007050A1 (en) 2013-07-01 2015-01-01 Gabriel Jakobson Method and system for processing and displaying email thread information
US20150095162A1 (en) 2013-09-27 2015-04-02 Gabriel Jakobson Method and systems for online advertising to users using fictitious user idetities
US20150142596A1 (en) 2013-11-18 2015-05-21 Gabriel Jakobson Commercial transactions via a wearable computer with a display
US20150172563A1 (en) 2013-12-18 2015-06-18 Gabriel Jakobson Incorporating advertising content into a digital video
US9895616B2 (en) * 2015-12-18 2018-02-20 Texta, Inc. Message encryption with video game
US10469439B2 (en) * 2017-04-11 2019-11-05 Facebook, Inc. Interaction bar for real-time interactions with content on a social networking system
US11113721B2 (en) * 2017-07-25 2021-09-07 Adobe Inc. Dynamic sentiment-based mapping of user journeys

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060046709A1 (en) * 2004-06-29 2006-03-02 Microsoft Corporation Proximity detection using wireless signal strengths
US20110276396A1 (en) * 2005-07-22 2011-11-10 Yogesh Chunilal Rathod System and method for dynamically monitoring, recording, processing, attaching dynamic, contextual and accessible active links and presenting of physical or digital activities, actions, locations, logs, life stream, behavior and status
US20090157473A1 (en) * 2007-12-18 2009-06-18 Att Knowledge Ventures L.P. System and method for sending targeted marketing data using proximity data
US20110072052A1 (en) * 2008-05-28 2011-03-24 Aptima Inc. Systems and methods for analyzing entity profiles
US20110213785A1 (en) * 2010-02-26 2011-09-01 Telefonaktiebolaget L M Ericsson (Publ) Social Data Ranking and Processing
US20110238755A1 (en) * 2010-03-24 2011-09-29 Hameed Khan Proximity-based social networking
US20130066821A1 (en) * 2011-03-04 2013-03-14 Foursquare Labs, Inc. System and method for providing recommendations with a location-based service
WO2012129771A1 (en) * 2011-03-29 2012-10-04 Nokia Corporation Method and apparatus for creating an ephemeral social network
US20140012918A1 (en) * 2011-03-29 2014-01-09 Nokia Corporation Method and apparatus for creating an ephemeral social network
US20120271722A1 (en) * 2011-04-25 2012-10-25 Yun-Fang Juan Top Friend Prediction for Users in a Social Networking System
US20130046770A1 (en) * 2011-08-19 2013-02-21 Erick Tseng Sending Notifications About Other Users With Whom A User is Likely to Interact

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280596B2 (en) 2010-07-01 2016-03-08 Salesforce.Com, Inc. Method and system for scoring articles in an on-demand services environment
US10437834B2 (en) 2012-01-17 2019-10-08 Salesforce.Com, Inc. Displaying aggregated connection data using a database system
US20140095700A1 (en) * 2012-07-29 2014-04-03 Verint Systems Ltd. System and method for passive decoding of social network activity using replica database
US10298622B2 (en) * 2012-07-29 2019-05-21 Verint Systems Ltd. System and method for passive decoding of social network activity using replica database
US20140219194A1 (en) * 2013-02-01 2014-08-07 Apple Inc. Management of multiple radio links for wireless peer-to-peer communication
US9521601B2 (en) * 2013-02-01 2016-12-13 Apple Inc. Management of multiple radio links for wireless peer-to-peer communication
US20150324752A1 (en) * 2013-03-12 2015-11-12 Google Inc. Combine local offers, social network, and calendar to provide personalized experience for consumers
US20210067938A1 (en) * 2013-10-06 2021-03-04 Staton Techiya Llc Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US10405163B2 (en) * 2013-10-06 2019-09-03 Staton Techiya, Llc Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US11729596B2 (en) * 2013-10-06 2023-08-15 Staton Techiya Llc Methods and systems for establishing and maintaining presence information of neighboring Bluetooth devices
US20230096269A1 (en) * 2013-10-06 2023-03-30 Staton Techiya Llc Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US11570601B2 (en) * 2013-10-06 2023-01-31 Staton Techiya, Llc Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US20150099469A1 (en) * 2013-10-06 2015-04-09 Steven Wayne Goldstein Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US10869177B2 (en) 2013-10-06 2020-12-15 Staton Techiya, Llc Methods and systems for establishing and maintaining presence information of neighboring bluetooth devices
US10148749B2 (en) * 2014-02-04 2018-12-04 Dell Products L.P. Local connection and sharing system
US20150222699A1 (en) * 2014-02-04 2015-08-06 Dell Products L.P. Local connection and sharing system
US10140368B2 (en) * 2014-03-28 2018-11-27 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for generating a recommendation page
US20160034461A1 (en) * 2014-07-31 2016-02-04 Linkedin Corporation Connection insights widget
US9648131B2 (en) * 2014-07-31 2017-05-09 Linkedin Corporation Connection insights widget
US10372774B2 (en) * 2014-08-29 2019-08-06 Microsoft Technology Licensing, Llc Anticipatory contextual notifications
US20160065630A1 (en) * 2014-08-29 2016-03-03 Linkedin Corporation Anticipatory contextual notifications
US10375004B2 (en) * 2014-09-30 2019-08-06 Microsoft Technology Licensing, Llc Facilitating social network service connections based on mobile device validated calendar data
US20160094963A1 (en) * 2014-09-30 2016-03-31 Linkedin Corporation Facilitating social networking service connections based on mobile device validated calendar data
US9942223B2 (en) * 2015-11-25 2018-04-10 Microsoft Technology Licensing, Llc. Automated device discovery of pairing-eligible devices for authentication
US20170149771A1 (en) * 2015-11-25 2017-05-25 Microsoft Technology Licensing, Llc. Automated device discovery of pairing-eligible devices for authentication
US11490259B2 (en) * 2018-07-30 2022-11-01 Tappter Limited System and methods for verifying user connections
US11310236B2 (en) * 2018-11-29 2022-04-19 International Business Machines Corporation Deriving confidence scores based on device sharing
US11323815B2 (en) * 2018-12-14 2022-05-03 Google Llc Graphical user interface indicator for broadcaster presence

Also Published As

Publication number Publication date
US20170006446A1 (en) 2017-01-05
US10437834B2 (en) 2019-10-08
US20190188303A1 (en) 2019-06-20

Similar Documents

Publication Publication Date Title
US10437834B2 (en) Displaying aggregated connection data using a database system
US11265413B1 (en) Methods and systems for generating an ephemeral content message
US9037649B2 (en) Selecting and sharing personal user information associated with a user equipment
AU2016208348B2 (en) Mobile ad hoc networking
US8812028B2 (en) Wireless identifiers for proximity applications
US9661558B2 (en) Service constraint advertisement and discovery
US20140310349A1 (en) Method and apparatus for establishing relationships among devices and users
EP2712487A2 (en) A system and method for delivering content to a wireless station
US20160234220A1 (en) Discovery and connection to a service controller
US11323493B1 (en) Breakout session assignment by device affiliation
WO2009121027A2 (en) Creating online resources using information exchanged between paired wireless devices
JP2017538105A (en) Position determination method, position determination server, and terminal
US20150312744A1 (en) Controlled discovery
CN104123758A (en) Sign-in method and terminals
Mao et al. Mobile message board: Location-based message dissemination in wireless ad-hoc networks

Legal Events

Date Code Title Description
AS Assignment

Owner name: SALESFORCE.COM, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HARRIS, PARKER, MR.;SATYANARAYANAN, RAJARAM, MR.;BEFFEL, ERNEST J., JR., MR.;SIGNING DATES FROM 20130426 TO 20130509;REEL/FRAME:030434/0749

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION