US20120047448A1 - System and method for social browsing using aggregated profiles - Google Patents
System and method for social browsing using aggregated profiles Download PDFInfo
- Publication number
- US20120047448A1 US20120047448A1 US12/769,802 US76980210A US2012047448A1 US 20120047448 A1 US20120047448 A1 US 20120047448A1 US 76980210 A US76980210 A US 76980210A US 2012047448 A1 US2012047448 A1 US 2012047448A1
- Authority
- US
- United States
- Prior art keywords
- social
- crowd
- location
- user
- locations
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0204—Market segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
- H04W8/16—Mobility data transfer selectively restricting mobility data tracking
Definitions
- the present disclosure relates to generating social crowd data for social crowds identified for a number of social locations.
- Social networking websites such as Facebook®, MySpace®, and LinkedIN® have become prolific in today's society. Further, other types of applications such as gaming applications have started to incorporate social networking features.
- a single user may typically participate in multiple social networks and multiple applications or services having social networking features in a given day or week. For example, it is common for a user to frequently participate on the Facebook® website, chat using one or more Instant Messaging (IM) applications, play an online game having a social networking feature such as chatting, etc.
- IM Instant Messaging
- users it is becoming increasingly common for users to “check in” at online media locations or activities (websites, television shows, movies, chat sessions, etc.) through the use of widgets or applications associated with sites or services like Facebook®.
- a social location is a service or application in which users participate.
- a social location is a social networking service or application or a service or application that has a social networking feature.
- a social browsing system collects social locations for a number of users over time. Using the collected social locations for the users, the social browsing system processes social crowd requests.
- the social browsing system upon receiving a social crowd request from a user device of a requesting user, for each of one or more social locations identified for the social crowd request, the social browsing system identifies a social crowd for the social location.
- the social crowd for the social location includes users currently at the social location.
- the social crowd for the social location includes users historically at the social location. In yet another embodiment, the social crowd for the social location includes both users currently and historically at the social location.
- the social crowds identified for the one or more social locations identified for the social crowd request may be filtered using one or more system-defined or user-defined filtering criteria.
- the social browsing system then generates social crowd data for the social locations based on user profiles of the users in the corresponding social crowds.
- the social crowd data includes an affinity between the requesting user and the social crowd identified for the social location.
- the social crowd data may include a number of users in the social crowd identified for the social location.
- the social crowd data is returned to the user device of the requesting user where the social crowd data may be visualized and presented to the requesting user.
- the social browsing system visualizes the social crowd data and returns the visualized social crowd data to the user device of the requesting user for presentation to the requesting user.
- the social browsing system returns the social crowd data to the user device of the requesting user.
- a social browsing client operating on the user device of the requesting user then provides a Graphical User Interface (GUI) that visualizes the social crowd data received from the social browsing system.
- GUI Graphical User Interface
- the GUI includes an icon or other representation for each of at least a subset of the social locations identified for the social crowd request. For each social location of those represented in the GUI, a visual characteristic of the corresponding representation in the GUI is controlled to be indicative of the affinity between the requesting user and the social crowd identified for the social location. In addition, another visual characteristic of the corresponding representation in the GUI may be controlled to be indicative of the number of users in the social crowd identified for the social location.
- the social browsing system provides a web interface, where the user device of the requesting user accesses the social browsing system via a web browser.
- the social browsing system processes the social crowd data generated in response to the social crowd request from the requesting user to provide a web page or similar web content that visualizes the social crowd data.
- the social browsing system then provides the web page or similar web content to the user device of the requesting user for rendering via the web browser of the user device.
- a visual characteristic of a corresponding representation in the web page or similar web content is controlled to be indicative of the affinity between the requesting user and the social crowd identified for the social location.
- another visual characteristic of the corresponding representation may be controlled to be indicative of the number of users in the social crowd identified for the social location.
- a social browsing system collects social locations for a number of users over time. Using the collected social locations for the users, the social browsing system processes social crowd requests for predicted social crowd data. In one embodiment, upon receiving a social crowd request from a user device of a requesting user, for each of one or more social locations identified for the social crowd request, the social browsing system identifies a number of social crowds for the social location over a defined historical time period. Optionally, the social crowds identified for the one or more social locations identified for the social crowd request may be filtered using one or more system-defined or user-defined filtering criteria.
- the social browsing system For each social location identified for the social crowd request, the social browsing system obtains social crowd data for the social crowds identified for the social location over the historical time period, determines a trend in the social crowd data, and generates predicted social crowd data for the social location based on the trend.
- the predicted social crowd data is returned to the user device of the requesting user where the predicted social crowd data may be visualized and presented to the requesting user.
- the social browsing system visualizes the predicted social crowd data and returns the visualized predicted social crowd data to the user device of the requesting user for presentation to the requesting user.
- FIG. 1 illustrates a system for collecting social locations of users and providing social crowd data for social locations based on user profiles of the users according to one embodiment of the present disclosure
- FIG. 2 illustrates the operation of the social browsing system of FIG. 1 to collect social locations of users over time from one or more web-based social locations according to one embodiment of the present disclosure
- FIG. 3 illustrates the operation of the social browsing system of FIG. 1 to collect social locations of users over time from user devices of the users according to one embodiment of the present disclosure
- FIG. 4 illustrates the operation of the social browsing system of FIG. 1 to process a social crowd request according to one embodiment of the present disclosure
- FIG. 5 is a flow chart illustrating a process for generating social crowd data for a number of social locations in response to a social crowd request according to one embodiment of the present disclosure
- FIG. 6 illustrates an exemplary Graphical User Interface (GUI) for presenting social crowd data to a requesting user according to one embodiment of the present disclosure
- FIG. 7 illustrates an alternative embodiment of the system of FIG. 1 wherein the social browsing system is incorporated into a social networking system
- FIG. 8 illustrates another alternative embodiment of the system of FIG. 1 wherein the social browsing system collects social locations of the users via a third-party presence system according to one embodiment of the present disclosure
- FIG. 9 is a block diagram of the social browsing system of FIG. 1 according to one embodiment of the present disclosure.
- FIG. 10 is a block diagram of the social networking system including the social browsing system of FIG. 7 according to one embodiment of the present disclosure.
- FIG. 11 is a block diagram of one of the user devices of FIGS. 1 and 7 according to one embodiment of the present disclosure.
- FIG. 1 illustrates a system 10 for providing social crowd data for social locations according to one embodiment of the present disclosure.
- a social crowd is a group of users that are currently at a social location, a group of users that were historically, or previously, at a social location during one or more defined historical periods of time, or a group of users that includes both users that are currently at a social location and users that were historically at the social location, depending on the particular implementation.
- a social location is not a geographic location. Rather, a social location is a service or application in which users participate. Similarly, a social location of a user is a service or application with which the user is participating at a particular time.
- the service or application identified as a social location is a social networking service or application, or a service or application that has a social networking feature.
- a social networking feature may be any type of feature that enables one user to interact with another user such as, for example, voice or text chatting or instant messaging, exchanging messages on a message board, sharing or exchanging media content (e.g., picture files, audio files, or video files), or the like.
- a social location may be a social networking website (e.g., Facebook®, MySpace®, or LinkedIN®), a social networking application (e.g., AIM), a media sharing application (e.g., Picasa®, Flickr®), an online game (e.g., World of Warcraft®, online card game like those through Yahoo!® Games), a website, a service or application provided on a gaming console (e.g., in game chatting on PlayStation® 3), or an online media service (e.g., Netflix® online streaming movie service).
- a social networking website e.g., Facebook®, MySpace®, or LinkedIN®
- AIM social networking application
- a media sharing application e.g., Picasa®, Flickr®
- an online game e.g., World of Warcraft®, online card game like those through Yahoo!® Games
- a website e.g., a service or application provided on a gaming console (e.g., in game chatting on PlayStation® 3
- the system 10 includes a social browsing system 12 , one or more web-based social locations 14 (generally referred to herein as web-based social locations 14 or web-based social location 14 ), and a number of user devices 16 - 1 through 16 -N (also generally referred to herein as user devices 16 or user device 16 ) having associated users 18 - 1 through 18 -N (also generally referred to herein as users 18 or user 18 ).
- the social browsing system 12 is connected to the web-based social locations 14 and the user devices 16 via a network 20 .
- the network 20 may be any type or combination of types of networks. In one embodiment, the network 20 is a distributed public network such as the Internet.
- Each of the social browsing system 12 , the web-based social locations 14 , and the user devices 16 is connected to the network 20 via a wired or wireless connection.
- the system 10 also includes an aggregate profile server 22 .
- the social browsing system 12 is preferably implemented as a physical server or group of physical servers that operate in a collaborative manner for purposes of redundancy or load-sharing.
- the social browsing system 12 includes a social location collector 24 , which is preferably implemented in software but is not limited thereto.
- the social location collector 24 operates to collect social locations of the users 18 over time and store the social locations of the users 18 in a user record repository 26 .
- the social location collector 24 may collect user activities performed by the users 18 at the social locations.
- the user record repository 26 includes a user record for each of the users 18 . More specifically, for each user 18 , the user record repository 26 includes a corresponding user record that includes a historical record of the social locations at which the user 18 has been located in the past and, optionally, timestamps defining times (e.g., dates and, optionally, times of day) that the user 18 was at the social locations.
- the user record of the user 18 may also include a historical record of user activities reported for the user 18 along with timestamps defining times at which the user 18 was performing the user activities.
- the social location collector 24 obtains a social location update for the user 18
- the social location identified by the social location update and, optionally, a timestamp defining the time at which the user 18 was at the social location are stored in the user record of the user 18 , and more specifically stored in the historical record of social locations maintained for the user 18 .
- the social location collector 24 obtains a user activity update, or report of a user activity, for the user 18
- the user activity and, optionally, a timestamp defining the time at which the user 18 was performing the user activity are stored in the user record of the user 18 , and more specifically stored in the historical record of user activities maintained for the user 18 .
- the user record of the user 18 may also include a user profile of the user 18 , where the user profile of the user 18 includes number of interests of the user 18 which may be expressed as keywords (e.g., Politics, Fishing, NC State, or the like).
- the user record of the user 18 may also include one or more user settings defined by the user 18 such as, for example, one or more filtering criteria to be used to filter social crowds, as described below.
- the social browsing system 12 also includes a request processor 28 , which is also preferably implemented in software but is not limited thereto.
- the request processor 28 operates to process social crowd requests from the users 18 . While discussed in detail below, upon receiving a social crowd request from one of the users 18 (also referred to herein as the requesting user 18 ), the request processor 28 identifies a social crowd for each of a number of social locations identified for the social crowd request and generates social crowd data for the social locations based on user profiles of users in the social crowds identified for the social locations. Optionally, the social crowds identified for the social locations may be filtered using one or more system-defined filtering criteria and/or one or more user-defined filtering criteria prior to generating the social crowd data.
- the social crowd data is returned to the user device 16 of the requesting user 18 where the social crowd data is visualized and presented to the requesting user 18 .
- the request processor 28 may visualize the social crowd data to provide corresponding web content, and provide the web content to the user device 16 of the requesting user 18 for presentation to the requesting user 18 via a web browser.
- the web-based social locations 14 are generally any type of web-based application or service.
- the web-based social locations 14 may be social networking websites (e.g., Facebook®, MySpace®, or LinkedIN®), online games (e.g., World of Warcraft®), websites (e.g., CNN.com or CBS.com), web-based media content providers (e.g., Hulu or Netflix®), or the like.
- the web-based social locations 14 are preferably hosted by one or more physical servers (not shown).
- Each web-based social location 14 includes, in this embodiment, a reporting function 30 , which is preferably implemented in software but is not limited thereto.
- the reporting function 30 generally operates to send social location updates to the social browsing system 12 for the users 18 when the users 18 are at (e.g., logged into) the web-based social location 14 . More specifically, as discussed below in detail, at least some of the users 18 are registered with the web-based social location 14 . When one of the users 18 logs into the web-based social location 14 , the reporting function 30 notifies the social browsing system 12 . In response, the social location collector 24 records the web-based social location 14 as the social location of the user 18 at that time. Note that the reporting function 30 may report logins to the social browsing system 12 as the logins occur (i.e., event-based reporting) or may report logins to the social browsing system 12 in batches (e.g., periodically).
- the reporting function 30 preferably reports both the users 18 that have logged into the web-based social location 14 and times (e.g., dates and/or times of day) that those users 18 logged into the web-based social location 14 . Also, as discussed below in detail, the reporting function 30 may also report user activities performed by the users 18 at the web-based social location 14 to the social browsing system 12 .
- the user devices 16 may be, for example, personal computers, notebook computers, tablet computers (e.g., Apple® iPad®), mobile smart phones (e.g., Apple® iPhone®), portable media players (e.g., Apple® iPod Touch®), gaming consoles (e.g., Xbox®, PS3®, or Wii®), portable gaming devices (e.g., PSP®), or the like.
- the user devices 16 - 1 through 16 -N include corresponding reporting functions 32 - 1 through 32 -N (also generally referred to herein as reporting functions 32 or reporting function 32 ) and social browsing clients 34 - 1 through 34 -N (also generally referred to herein as social browsing clients 34 or social browsing client 34 ).
- each of the user devices 16 may include one or more reporting functions 32 depending on the particular implementation.
- the reporting functions 32 are preferably implemented in software, but are not limited thereto. Further, the reporting functions 32 are preferably implemented in or as plug-ins to applications on the user devices 16 that correspond to social locations in the system 10 . However, the reporting functions 32 are not limited thereto.
- the online game World of Warcraft® may be a social location
- the reporting functions 32 for the user devices 16 of users 18 who participate in World of Warcraft® may be implemented within or as plug-ins to World of Warcraft® client applications stored on and executed by the user devices 16 of those users 18 .
- the user devices 16 may include reporting functions 32 for other applications on the user devices 16 that correspond to social locations.
- the reporting functions 32 generally operate to detect the social locations of the users 18 and report the social locations of the users 18 to the social browsing system 12 .
- the reporting functions 32 may also report activities performed by the user 18 at the social locations to the social browsing system 12 .
- the reporting functions 32 are utilized in addition to the reporting function 30 .
- the reporting functions 30 of the web-based social locations 14 report the social locations of the users 18 when the users 18 are at the web-based social locations 14 having the reporting functions 30 .
- the reporting functions 32 of the user devices 16 may then operate to report the social locations of the users 18 when the users 18 are at social locations other than the web-based social locations 14 that include the reporting functions 30 .
- the system 10 may include only the reporting functions 30 of the web-based social locations 14 or the reporting functions 32 of the user devices 16 rather than both. Further, while in this embodiment all of the user devices 16 have reporting functions 32 , the present disclosure is not limited thereto. For example, only a subset of the user devices 16 may have reporting functions 32 .
- the social browsing clients 34 - 1 through 34 -N are preferably implemented in software and include social crowd data visualization functions 36 - 1 through 36 -N (also generally referred to herein as visualization functions 36 or visualization function 36 ).
- the social browsing clients 34 operate to request and obtain social crowd data for a number of social locations from the social browsing system 12 .
- the visualization functions 36 then process the social crowd data to provide and display visualized social crowd data.
- the visualization functions 36 present graphical representations of a number of social locations where one or more visual characteristics of the graphical representations are controlled to be indicative of the social crowd data for the corresponding social locations.
- the aggregate profile server 22 in this embodiment, is a physical server or group of physical servers. As discussed below, in operation, the aggregate profile server 22 operates to combine the user profiles of the users 18 in a social crowd to provide an aggregate profile for the social crowd. The aggregate profile for the social crowd is then utilized by the social browsing system 12 to generate social crowd data for a social location for which the social crowd has been identified, as described below. It should be noted that while the aggregate profile server 22 is separate from the social browsing system 12 in this embodiment, the present disclosure is not limited thereto. In an alternative embodiment, the functionality of the aggregate profile server 22 is implemented in the social browsing system 12 .
- FIG. 2 illustrates the operation of the social browsing system 12 to collect social locations of the users 18 from the one or more web-based social locations 14 according to one embodiment of the present disclosure.
- the reporting function 30 of the web-based social location 14 detects a user login for one of the users 18 (step 100 ). For example, if the web-based social location 14 is a social networking website such as Facebook®, the user 18 may login using his username and password. Upon detecting the user login, the reporting function 30 reports the user login to the social browsing system 12 (step 102 ). In one embodiment, the user 18 is a registered user with the web-based social location 14 , and has configured his account such that login events are to be reported to the social browsing system 12 .
- the configurations include a user identifier (ID) of the user 18 for the social browsing system 12 such that social locations reported for the user 18 from multiple web-based social locations 14 and the user device 16 of the user 18 are all linked to the same user ID.
- ID user identifier
- the user 18 is preferably identified by a user ID assigned to the user 18 in the social browsing system 12 .
- the user 18 may provide usernames or other identifiers for the user 18 at the web-based social locations 14 and a username or other identifier for the user 18 at the user device 16 to the social browsing system 12 such that the social location collector 24 can correlate social locations for the user 18 reported by the web-based social locations 14 and the user device 16 of the user 18 .
- the social location collector 24 of the social browsing system 12 Upon receiving the report of the user login of the user 18 , the social location collector 24 of the social browsing system 12 stores the web-based social location 14 as the social location of the user 18 (step 104 ). For example, if the web-based social location 14 is a social networking website such as Facebook®, the social location collector 24 may store a predefined identifier for that social networking website (e.g., a URL of the social networking website) as the social location of the user 18 . In addition, when reporting the user login, the reporting function 30 may also report a time at which the user login event occurred. The social location collector 24 may then store the time at which the login event occurred as a timestamp for the social location stored in step 104 .
- a predefined identifier for that social networking website e.g., a URL of the social networking website
- the social location collector 24 may store a time at which the report of the user login is received from the reporting function 30 of the web-based social location 14 as the timestamp for the social location stored in step 104 .
- both the social location of the user 18 and the timestamp are stored in the user record of the user 18 maintained in the user record repository 26 .
- the reporting function 30 in addition to detecting and reporting the login event, the reporting function 30 also detects a user activity performed by the user 18 while at the web-based social location 14 (step 106 ).
- the types of user activities that may be detected depends on the web-based social location 14 . Different types of user activities may be performed at different types of web-based social locations 14 . For example, if the web-based social location 14 is Facebook®, the detected user activity may be, for example, “playing Farmville.”Other types of user activities may be, for example, “chatting,” “posting a message,” “viewing a photo album,” “sharing a photo album,” “watching a video/movie/TV program,” “listening to music/artist/song,” or the like.
- the reporting function 30 Upon detecting the user activity, the reporting function 30 reports the user activity to the social browsing system 12 (step 108 ), and the social location collector 24 stores the user activity and, optionally, a timestamp identifying the time at which the user 18 was performing the user activity in the user record of the user 18 (step 110 ). Note that steps 102 and 108 may alternatively be combined such that both the social location and the user activity of the user 18 are reported at the same time. From here, the process continues such that the reporting function 30 continues to detect and report user activities of the user 18 . In addition, the reporting function 30 reports logins and user activities to the social browsing system 12 for other users 18 in a similar manner.
- reporting in FIG. 2 is event-based (i.e., reporting is triggered in response to a corresponding login/user activity event), the operation of the reporting function 30 is not limited thereto.
- the reporting function 30 may collect detected user logins and user activity events over time for a number of the users 18 and report the detected user logins and user activity events to the social browsing system 12 in batches.
- FIG. 3 illustrates the operation of the social browsing system 12 to collect social locations of the users 18 from the user devices 16 according to one embodiment of the present disclosure.
- the reporting function 32 of the user device 16 of one of the users 18 detects a social location of the user 18 (step 200 ).
- the manner in which the reporting function 32 detects the social location of the user 18 varies depending on the particular implementation of the user device 16 .
- the user device 16 is a personal computer or other device having web-browsing capabilities
- the reporting function 32 may be implemented within a web-browser or as a plug-in to the web-browser of the user device 16 and may detect the social location of the user 18 by monitoring websites visited by the user 18 .
- the reporting function 32 identifies the website as the social location of the user 18 .
- the user device 16 is a personal computer or other device having web-browsing capabilities
- the reporting function 32 may be implemented within a web-browser or as a plug-in to the web-browser of the user device 16 and may detect the social location of the user 18 by monitoring websites that user 18 has logged into.
- the reporting function 32 identifies the website as the social location of the user 18 .
- the reporting function 32 may be implemented within the gaming software stored and executed by the user device 16 and may detect when the user 18 starts the gaming application. In response, the gaming application is identified as the social location of the user 18 .
- the reporting function 32 may be implemented within an application or as a plug-in to the application stored and executed by the user device 16 , where the application is a social networking application or an application having a social networking feature. The reporting function 32 may detect when the user 18 starts the social networking application or the application having a social networking feature and, in response, identify the application as the social location of the user 18 .
- the reporting function 32 may be implemented within the gaming console and may detect when the user 18 turns on the gaming console and starts playing one of a number of games that are predefined as being social locations. The reporting function 32 may then identify that game as the social location of the user 18 .
- the reporting function 32 may be implemented within a game that is playable by the gaming console, and the reporting function 32 may detect when the game is executed by the gaming console (e.g., loaded into and started by the user 18 ). That game is then identified as the social location of the user 18 .
- the user device 16 may be a set-top box enabling playback of media content from a media source such as a television service provider, Netflix®, HuluTM, CBS.com, or the like.
- the reporting function 32 may be implemented within the set-top box. The reporting function 32 may then detect the playback of media content by the user device 16 and identify the media source as the social location of the user 18 . Further, if the media source is a television service provider, the social location of the user 18 may be the particular television station (e.g., CBS, NBC, ABC, Fox, TNT, ESPN, etc.).
- the reporting function 32 Upon detecting the social location of the user 18 , the reporting function 32 reports the social location of the user 18 and, in some embodiments, a time at which the user 18 was detected as being at the social location to the social browsing system 12 (step 202 ). In response, the social location collector 24 of the social browsing system 12 stores the social location of the user 18 and, in some embodiments, a timestamp for the social location (step 204 ). If the time at which the social location was detected is provided in step 202 , then that time is used as the timestamp for the social location. Otherwise, a time at which the social location is received from the reporting function 32 of the user device 16 may be used as the timestamp for the social location.
- the reporting function 32 in addition to detecting and reporting the social location of the user 18 , the reporting function 32 also detects user activity performed by the user 18 while at the social location (step 206 ).
- the types of user activities that may be detected depends on the social location. Different types of user activities may be performed for different social locations. For example, the user activity may be “chatting,” “posting a message,” “viewing a photo album,” “sharing a photo album,” “watching a video/movie/TV program,” “listening to music/artist/song,” “playing game X,” “playing a game,” or the like.
- the reporting function 32 Upon detecting the user activity, the reporting function 32 reports the user activity to the social browsing system 12 (step 208 ), and the social location collector 24 stores the user activity and, optionally, a timestamp identifying the time at which the user 18 was performing the user activity in the user record of the user 18 (step 210 ). Note that steps 202 and 208 may alternatively be combined such that both the social location and the user activity of the user 18 are reported at the same time. From here, the process continues such that the reporting function 32 continues to detect and report the social location and user activities taken by the user 18 .
- reporting in FIG. 3 is event-based (i.e., reporting is triggered in response to detecting social location and detecting a user activity event), the operation of the reporting function 32 is not limited thereto.
- the reporting function 32 may collect detected social locations and user activity events over time for the user 18 and report the detected social locations and user activity events to the social browsing system 12 in batches.
- FIG. 4 illustrates the operation of the social browsing system 12 to generate social crowd data for a number of social locations according to one embodiment of the present disclosure.
- the social browsing system 12 first receives a social crowd request from one of the user devices 16 (step 300 ).
- the social crowd request is sent by the visualization function 36 of the user device 16 automatically or upon request by the user 18 of the user device 16 .
- the visualization function 36 sends the social crowd request to the social browsing system 12 in response to activation of a Graphical User Interface (GUI) provided by the visualization function 36 by the user 18 of the user device 16 .
- GUI Graphical User Interface
- the request processor 28 In response to the social crowd request, the request processor 28 generates social crowd data for social crowds at a number of social locations identified for the social crowd request (step 302 ).
- the social crowd request identifies one or more social locations for which social crowd data is desired.
- the user 18 of the user device 16 has preconfigured which social locations that the user 18 is interested in and those social locations are stored in the user record of the user 18 in the user record repository 26 .
- the user 18 of the user device 16 has selected one or more types of social locations (e.g., social networking services/applications, games, media sharing, or the like) in which the user 18 is interested, and the social locations identified for the social crowd request are social locations of the selected type(s).
- the social locations identified for the social crowd request may be system-defined and may be the same for all of the users 18 or may vary for different groups of the users 18 (e.g., different demographic groups).
- the social crowd data for each social location identified for the social crowd request is generated by first identifying a social crowd for the social location.
- the social crowd for the social location is a group of the users 18 that are currently at the social location, a group of the users 18 that were historically at the social location (i.e., at the social location within one or more defined historical time periods), or a group of the users 18 including those users 18 that are currently at the social location and those users 18 that were historically at the social location, depending on the particular implementation.
- an aggregate profile for the social crowd at the social location is generated.
- an affinity between the user 18 of the user device 16 (i.e., the requesting user) and the social crowd at the social location is determined.
- the social crowd data then preferably includes the affinities between the user 18 of the user device 16 and the social crowds at the social locations identified for the social crowd request.
- the social crowd data preferably includes a number of users in each of the social crowds.
- the social crowd data is not limited to including the affinities between the user 18 of the user device 16 and the social crowds and, optionally, the number of users in each of the social crowds.
- the social crowd data may additionally or alternatively include the aggregate profiles for the social crowds.
- the aggregate profile for a social crowd includes an aggregate, or merged, list of interests from the user profiles of the users 18 in the social crowd.
- the aggregate profile may include, for each interest in the aggregate profile, a number of user matches, or occurrences, of the interest among the users 18 in the social crowd or a ratio of the number of user matches for the interest to a total number of users in the social crowd.
- the social crowd data may alternatively include predicted, or future, social crowd data for the one or more social locations identified for the social crowd request. More specifically, in order to provide the predicted social crowd data for one of the social locations, the request processor 28 obtains social crowd data for the social location (e.g., an affinity between the requesting user 18 and the social crowd and the number of users in the social crowd) for a number of times or time periods in the past. For example, the request processor 28 may obtain social crowd data for the social location for each day of the last month.
- social crowd data for the social location e.g., an affinity between the requesting user 18 and the social crowd and the number of users in the social crowd
- the request processor 28 may determine a trend for the social crowd data (e.g., a trend for the affinity between the requesting user 18 and the social crowd at the social location and a trend in the number of users in the social crowd at the social location) over the last month. This trend is used to provide the predicted social crowd data (e.g., predicted affinity between the requesting user 18 and the social crowd at the social location and the number of users in the social crowd at the social location) for the social location at a desired time in the future.
- a trend for the social crowd data e.g., a trend for the affinity between the requesting user 18 and the social crowd at the social location and a trend in the number of users in the social crowd at the social location
- the request processor 28 returns the social crowd data for the social crowds identified for the social locations to the user device 16 (step 304 ).
- the visualization function 36 of the user device 16 visualizes the social crowd data and presents resulting visualized social crowd data to the user 18 at the user device 16 (step 306 ). More specifically, in the preferred embodiment, the visualization function 36 provides a GUI that includes a representation (e.g., an icon, screenshot, or the like) for each of at least a subset of the social locations identified for the social crowd request.
- a visual characteristic e.g., color, size, or the like
- a visual characteristic of the representations is controlled to be indicative of the affinity between the user 18 of the user device 16 and the social crowd at the corresponding social location (i.e., the social location represented by the representation in the GUI).
- a second visual characteristic e.g., color, size, or the like
- the GUI initially includes representations for a predefined number of the social locations identified for the social crowd request having social crowds with the highest affinities to the user 18 of the user device 16 .
- the user 18 may then be enabled to navigate the GUI to view representations for more social locations, if any.
- the GUI presented by the visualization function 36 the user 18 is enabled to quickly and easily see social locations at which other users 18 that are like him are currently located and/or have historically been located.
- the GUI provided by the visualization function 36 may enable the user 18 to go to a desired social location by, for example, selecting the representation of the desired social location in the GUI.
- the GUI may also enable the user 18 to view additional information regarding the social crowds at the social locations.
- the visualization function 36 may present, via the GUI, information regarding the social crowd at the social location such as, for example, an affinity score representing the affinity between the user 18 and the social crowd, a number that is the number of users 18 in the social crowd, the aggregate profile for the social crowd, information identifying the users 18 in the social crowd (e.g., birth names, usernames, pictures, or the like), a number that is a number of the users 18 in the social crowd that are in a social network of the user 18 , information identifying the users 18 in the social crowd that are in a social network of the user 18 , or the like.
- an affinity score representing the affinity between the user 18 and the social crowd
- a number that is the number of users 18 in the social crowd the aggregate profile for the social crowd
- FIG. 5 is a flow chart illustrating the operation of the request processor 28 of the social browsing system 12 in more detail according to one embodiment of the present disclosure.
- the request processor 28 of the social browsing system 12 receives a social crowd request from the user device 16 of a requesting user 18 (step 400 ).
- the request processor 28 then gets the next social location from one or more social locations identified for the social crowd request (step 402 ).
- the request processor 28 identifies a social crowd for the social location (step 404 ).
- the social crowd for the social location is a group of the users 18 currently at the social location.
- the request processor 28 queries the user record repository 26 for the users 18 that are currently at the social location.
- the users 18 currently at the social location may be those users 18 whose last reported social locations are the social location.
- the users 18 currently at the social location may be those users 18 whose last reported social locations are the social location and the corresponding timestamps indicate that those users 18 were at the social location during a predefined time period prior to the current time (e.g., within the last 10 minutes).
- the predefined time period prior to the current time is relatively short in order to reflect that the users 18 are “currently” at the social location.
- the users 18 may be currently at more than one social location (e.g., using Facebook® and Twitter® while watching a movie).
- the users 18 currently at the social location may be those users 18 that have been reported to be at the social location during a predefined time period prior to the current time (e.g., the last 10 minutes), as indicated by the social locations and corresponding timestamps stored in the user record of the user 18 .
- the predefined time period prior to the current time is relatively short in order to reflect that the users 18 are “currently” at the social location.
- the request processor 28 may consider the user activities reported for the users 18 in addition to the social locations reported for the users 18 . More specifically, in one embodiment, the users 18 currently at the social location may be those users 18 whose last reported social locations are the social location (or who were reported to be at the social location within a predefined time period prior to the current time such as, for example, the last two hours) and the reported user activities for those users 18 indicate that the users 18 have performed a user activity at the social location within a predefined relatively short time period prior to the current time (e.g., within the last 10 minutes).
- the users 18 currently at the social location may be those users 18 whose last reported social locations are the social location (or who were reported to be at the social location within a predefined time period prior to the current time such as, for example, the last two hours) and: (1) the corresponding timestamps indicate that those users 18 were at the social location within a predefined relatively short time period prior to the current time (e.g., within the last 10 minutes) and/or (2) the reported user activities for those users 18 indicate that the users 18 have performed a user activity at the social location within a predefined period of time relative to the current time (e.g., within the last 10 minutes).
- the social crowd for the social location is a group of the users 18 who were historically, or previously, at the social location during one or more defined historical periods of time (e.g., last Friday, all Fridays over the past six months, the last week, Apr. 1, 2010, or the like).
- the historical periods of time are preferably defined by the requesting user 18 , but may alternatively be system-defined time periods.
- the request processor 28 queries the user record repository 26 to identify the users 18 that were at the social location during the one or more historical periods of time.
- the users 18 at the social location during the one or more historical periods of time may be those users 18 having social locations and corresponding timestamps that indicate that the users 18 were at the social location during the one or more historical periods of time.
- the users 18 at the social location during the one or more historical periods of time may be those users 18 having social locations and corresponding timestamps and reported user activities and corresponding timestamps that indicate that the users 18 were at the social location during the one or more historical periods of time.
- the social crowd for the social location includes both the users 18 that are currently at the social location and the users 18 that were at the social location during one or more defined historical periods of time.
- the social crowd identified for the social location is filtered based on one or more filtering criteria (step 406 ).
- the filtering step 406 is optional.
- steps 404 and 406 are illustrated separately for clarity, it should be appreciated that steps 404 and 406 may be implemented as a single operation (e.g., a single query).
- the one or more filtering criteria preferably include one or more user-defined filtering criteria defined by the requesting user 18 . These user-defined filtering criteria may be included in the social crowd request or stored in the user record of the requesting user 18 .
- the filtering criteria may include, for example, a status criterion, a maximum degree of separation in a social network of the requesting user 18 , a user activity criterion, a physical location criterion, or a combination thereof.
- the social crowd may be filtered to remove the users 18 that are not currently online or connected to the network 20 , to remove the users 18 that have been online less than a defined threshold amount (e.g., less than one hour a day for the last week), or the like.
- the social crowd may be filtered to remove the users in the social crowd that are not within a defined maximum degree of separation, or social network distance, from the requesting user 18 in a social network (e.g., the Facebook® social network, the MySpace® social network, or the like). More specifically, in one embodiment, the user records of the users 18 include the Facebook® usernames of the users 18 .
- the request processor 28 may then query Facebook® via, for example, an Application Programming Interface (API) to determine the degree of separation between the requesting user 18 and each of the users 18 in the social crowd.
- API Application Programming Interface
- the social crowd may then be filtered to remove the users 18 that are not within the defined maximum degree of separation from the requesting user 18 .
- the defined maximum degree of separation is preferably defined by the user 18 .
- the social crowd may be filtered to remove the users 18 that are currently performing one or more defined user activities.
- the social crowd may be filtered to remove the users 18 that are not currently performing one or more defined user activities.
- the social crowd may be filtered to remove users that are not physically located within a defined geographic area.
- the defined geographic area may be a static geographic area such as, for example, a particular city, a particular zip code, a particular state, or the like.
- the defined geographic area may be a relative geographic area such as, for example, within ten miles from the requesting user 18 .
- the physical locations of the users 18 may be obtained in any suitable manner.
- the user devices 16 of the users 18 determine and report the physical locations of the user devices 16 to the social browsing system 12 as the physical locations of the users 18 .
- the user devices 16 may obtain the physical locations of user devices 16 using any suitable technology such as, for example, Global Positioning System (GPS) receivers, manual input of the physical locations by the users 18 , lookup of physical location from a remote source based on Wi-Fi® access point, or the like.
- GPS Global Positioning System
- the request processor 28 obtains an aggregate profile for the social crowd (step 408 ). More specifically, in this embodiment, the user records of the users 18 include the user profiles of the users 18 , and the request processor 28 obtains the user profiles of the users 18 in the social crowd from their user records and provides the user profiles of the users 18 in the social crowd to the aggregate profile server 22 for aggregation. In response, the request processor 28 receives the aggregate profile of the social crowd from the aggregate profile server 22 .
- the aggregate profile of the social crowd includes an aggregate list of interests from the user profiles of the users 18 in the social crowd.
- the aggregate profile of the social crowd may include a number of user matches, or occurrences, of each of the interests in the aggregate list of interests across all of the user profiles of the users 18 in the social crowd or a ratio of the number of user matches for each of the interests to a total number of users 18 in the social crowd.
- the functionality of the aggregate profile server 22 is integrated into the social browsing system 12 such that the aggregate profile of the social crowd is generated by the social browsing system 12 .
- the user profiles of the users 18 may be stored by the aggregate profile server 22 .
- the request processor 28 provides information identifying the users 18 in the social crowd to the aggregate profile server 22 .
- the aggregate profile server 22 obtains the user profiles of the users 18 in the social crowd and aggregates the user profiles of those users 18 to provide the aggregate profile of the social crowd.
- the user profiles of the users 18 may be stored by a third-party application or service (e.g., Facebook®).
- the request processor 28 may obtain the user profiles of the users 18 in the social crowd from the third-party application or service and provide the user profiles to the aggregate profile server 22 for aggregation.
- the request processor 28 may provide information identifying the users 18 in the social crowd to the aggregate profile server 22 , where the aggregate profile server 22 then obtains the user profiles of those users from the third-party service or application and aggregates the user profiles to provide the aggregate profile of the social crowd.
- the request processor 28 determines an affinity between the requesting user 18 and the social crowd based on a comparison of the aggregate profile for the social crowd and the user profile of the requesting user 18 (step 410 ).
- the affinity between the requesting user 18 and the social crowd is a function of the number of user interests in the user profile of the requesting user 18 that match interests in the aggregate profile of the social crowd.
- the affinity between the requesting user 18 and the social crowd may be the number of interests in the user profile of the requesting user 18 that match user interests in the aggregate profile of the social crowd.
- the affinity between the requesting user 18 and the social crowd may be a ratio of the number of interests in the user profile of the requesting user 18 that match user interests included in the aggregate profile of the social crowd over a total number of interests in the user profile of the requesting user 18 .
- the affinity between the requesting user 18 and the social crowd may be a percentage of the user interests in the user profile of the requesting user 18 that match interests in the aggregate profile of the social crowd.
- the affinity between the requesting user 18 and the social crowd is a function of the number of interests in the user profile of the requesting user 18 that match user interests in the aggregate profile for the social crowd and the number of user matches for the interests in the aggregate profile or the ratio of the number of user matches for the interests in the aggregate profile over the total number of users 18 in the social crowd.
- the affinity between the requesting user 18 and the social crowd may be the number of interests in the user profile of the requesting user 18 that match one or more interests in the aggregate profile for the social crowd that have the highest M user matches or ratios of user matches to total number of users.
- M may be an integer greater than or equal to 1 and may be system-defined or configurable by the requesting user 18 .
- an interest in the user profile of the requesting user 18 “matches” an interest in the aggregate profile of the social crowd if the two interests match exactly.
- an interest in the user profile of the requesting user 18 “matches” an interest in the aggregate profile of the social crowd if the two interests match to a predefined threshold degree.
- the predefined threshold degree may be system-defined or defined by the requesting user 18 .
- an ontology or similar data structure, or service providing such an ontology or data structure such as, for example, Wikipedia®, may be utilized to determine a degree of similarity between two interests.
- the ontology or data structure defines direct and indirect relationships between terms in much the same manner as a social network defines direct and indirect relationships between users.
- an ontology or similar data structure may define that “NC State University” is directly related to “Philip Rivers,” and that “Philip Rivers” is directly related to “San Diego Chargers.”
- NC State University may be said to exactly match “North Carolina State University” (0 degrees of separation), to be directly related to “Philip Rivers” (1 degree of separation), and to be indirectly related to “San Diego Chargers” (2 degrees of separation).
- the predefined threshold may be set such that two interests “match” if they are within a defined degree of separation from one another in the ontology or similar data structure.
- the request processor 28 determines whether the last social location of the one or more social locations identified for the social crowd request has been processed (step 412 ). If not, the process returns to step 402 and is repeated for the next social location. Once all of the social locations identified for the social crowd request have been processed, the request processor 28 returns social crowd data to the user device 16 of the requesting user 18 , where the social crowd data includes the affinities between the requesting user 18 and the social crowds identified for the social locations and, optionally, the number of users in each of the social crowds (step 414 ).
- an aggregate profile is first obtained for a social crowd, and then an affinity between the requesting user 18 and the social crowd is determined based on a comparison of the aggregate profile of the social crowd and the user profile of the requesting user 18 .
- the affinity between the requesting user 18 and the social crowd may be determined by directly comparing the user profile of the requesting user 18 and the user profiles of the users 18 in the social crowd. Based on the comparison, the affinity between the requesting user 18 and the social crowd may be represented as, for example, a total number of user matches for all of the interests in the user profile of the requesting user 18 across all of the user profiles of the users 18 in the social crowd.
- the affinity between the requesting user 18 and the social crowd may be represented as a percentage or ratio of the users 18 in the social crowd having user profiles that include at least one interest that matches an interest in the user profile of the requesting user 18 .
- FIG. 6 illustrates an exemplary GUI 38 provided by the visualization function 36 of the social browsing client 34 of one of the user devices 16 according to one embodiment of the present disclosure.
- the GUI 38 includes a number of representations 40 - 1 through 40 - 7 (also generally referred to herein as representations 40 or representation 40 ).
- Each representation 40 represents one of the social locations identified for a social crowd request issued by the visualization function 36 .
- color (which is represented by shading) of borders 42 - 1 through 42 - 7 (also generally referred to herein as borders 42 or border 42 ) of the representations 40 - 1 through 40 - 7 is controlled such that the color (shading) of the borders 42 - 1 through 42 - 7 is indicative of the affinity between the user 18 of the user device 16 and the social crowds identified for the social locations represented by the representations 40 - 1 through 40 - 7 .
- the affinities between the user 18 and the social crowds identified for the social locations represented by the representations 40 - 1 and 40 - 4 are low as indicated by the light shading of the borders 42 - 1 and 42 - 4
- the affinities between the user 18 and the social crowds identified for the social locations represented by the representations 40 - 2 , 40 - 5 , and 40 - 6 are moderate as indicated by the moderate shading of the borders 42 - 2 , 42 - 5 , and 42 - 6
- the affinities between the user 18 and the social crowds identified for the social locations represented by the representations 40 - 3 and 40 - 7 are high as indicated by the dark shading of the borders 42 - 3 and 42 - 7 .
- sizes of the representations 40 are controlled to be indicative of the number of users in the social crowds for the represented social locations.
- the social crowds identified for the social locations represented by the representations 40 - 1 and 40 - 7 each have a large number of users
- the social crowds identified for the social locations represented by the representation 40 - 6 has a moderate number of users
- the social crowds identified for the social locations represented by the representations 40 - 2 through 40 - 5 each have a small number of users.
- the GUI 38 also includes a user settings area 44 that enables the user 18 to configure, or define, a number of settings. More specifically, in this example, the user settings area 44 includes a slider bar 46 that enables the user 18 to configure a social distance filtering criteria that defines the maximum degree of separation to be used to filter social crowds, and a slider bar 48 that enables the user 18 to configure the online status filtering criteria to be used to filter social crowds. In addition, the user settings area 44 includes a slider bar 50 that enables the user 18 to configure a threshold degree of similarity to be used when determining the affinity between the user 18 and social crowds, as described above.
- the user settings area 44 includes radio buttons 52 - 1 through 52 - 3 (also generally referred to herein as radio buttons 52 or radio button 52 ) that enable the user 18 to identify one or more types of social locations in which the user 18 is interested.
- the radio buttons 52 shown are exemplary. Similar buttons for additional or alternative types of social locations may be included.
- the user 18 has selected the radio buttons 52 for “Social Network Services/Apps” and “Gaming Services/Apps.” As such, social crowd data is requested and returned for only social locations that are social networking services or applications or gaming services or applications.
- the user 18 may be enabled to select one or more user activities such that social crowds are filtered to remove users other than those who participate in the one or more selected user activities.
- the visualization function 36 of the user device 16 may present a representation for each of a number of social location types such as, for example, social networking services or applications, gaming services or applications, media applications or services (e.g., streaming video services, television services, or the like), media sharing applications or services, news websites, or the like.
- Visual characteristics of the representations for the social location types may be controlled to be indicative of the combined social crowd data for the corresponding social locations.
- the representation for a social location type may have a first visual characteristic that is controlled to be indicative of an average affinity between the requesting user 18 and the social crowds identified for social locations of the social location type and a second visual characteristic that is controlled to be indicative of an average number of users in the social crowds identified for the social locations of the social location type.
- the visualization function 36 of the user device 16 may present a representation for each of a number of user activities (e.g., playing a game, watching a movie, etc.). Visual characteristics of the representations may be controlled to be indicative of the combined social crowd data for the corresponding social locations. For example, for a particular user activity, the social locations at which user(s) are or have performed the user activity are identified. The crowd data for the identified social locations is then combined to provide the combined social crowd data for the user activity (e.g., average affinity, average number of users, or the like). One or more visual characteristics of the representation of the user activity in the GUI provided by the visualization function 36 may then be controlled to be indicative of the combined social crowd data for the social location.
- the visualization function 36 may further enable the user 18 to select the representation for one of the user activities in order to cause the visualization function 36 to present representations for the social locations identified for the user activity to the user 18 in a manner similar to that shown in FIG. 6 .
- FIGS. 7 and 8 illustrate alternative embodiments of the system 10 of FIG. 1 .
- FIG. 7 illustrates an alternative embodiment of the system 10 wherein the social browsing system 12 is incorporated into an existing system, which in this embodiment is a social networking system 54 hosting a social networking service (e.g., Facebook®).
- the social browsing system 12 is preferably implemented in software and the user profiles of the users 18 utilized by the social browsing system 12 are preferably user profiles of the users 18 maintained by the social networking system 54 for the social networking service.
- the system 10 of FIG. 7 is the same as and operates the same as described above.
- FIG. 8 illustrates another alternative embodiment of the system 10 of FIG. 1 .
- the social locations of the users 18 and, in some embodiments, the user activities of the users 18 are reported to a third-party presence service 56 .
- the social browsing system 12 obtains the social locations and, in some embodiments, the user activities of the users 18 from the presence service 56 .
- the reporting functions 32 of the user devices 16 report the social locations and user activities of the users 18 to the presence service 56 using a standard such as the Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE).
- SIMPLE Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions
- the Rich Presence Information Data Format which is an extension of the Presence Information Data Format (PIDF) may be used to send the social locations and user activities of the users 18 to the presence service 56 as presence information.
- the reporting function 32 may report the social location of the user 18 by providing a user ID of the user 18 recognized by the social browsing system 12 , the social location of the user 18 , and a timestamp defining a time at which the user 18 was at the social location to the presence service 56 .
- the presence service 56 may then provide this information to the social browsing system 12 automatically or as requested by the social browsing system 12 .
- the system 10 of FIG. 8 is the same as and operates the same as described above.
- FIG. 9 is a block diagram of the social browsing system 12 of FIG. 1 according to one embodiment of the present disclosure.
- the social browsing system 12 includes a controller 58 connected to memory 60 , one or more secondary storage devices 62 , and a communication interface 64 by a bus 66 or similar mechanism.
- the controller 58 is a microprocessor, digital Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), or the like.
- the controller 58 is a microprocessor, and the social location collector 24 and the request processor 28 ( FIG. 1 ) are implemented in software and stored in the memory 60 for execution by the controller 58 .
- the secondary storage devices 62 are digital data storage devices such as, for example, one or more hard disk drives.
- the user record repository 26 ( FIG.
- the communication interface 64 is a wired or wireless communication interface that communicatively couples the social browsing system 12 to the network 20 ( FIG. 1 ).
- the communication interface 64 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, or the like.
- FIG. 10 is a block diagram of the social networking system 54 hosting the social browsing system 12 of FIG. 7 according to one embodiment of the present disclosure.
- the social networking system 54 includes a controller 68 connected to memory 70 , one or more secondary storage devices 72 , and a communication interface 74 by a bus 76 or similar mechanism.
- the controller 68 is a microprocessor, digital ASIC, FPGA, or the like.
- the controller 68 is a microprocessor
- the social browsing system 12 is at least partially implemented in software stored in the memory 70 for execution by the controller 68 .
- the secondary storage devices 72 are digital data storage devices such as, for example, one or more hard disk drives.
- the communication interface 74 is a wired or wireless communication interface that communicatively couples the social networking system 54 to the network 20 ( FIG. 7 ).
- the communication interface 74 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, or the like.
- FIG. 11 is a block diagram of the one of the user devices 16 according to one embodiment of the present disclosure.
- the user device 16 includes a controller 78 connected to memory 80 , one or more secondary storage devices 82 , a communication interface 84 , and one or more user interface components 86 by a bus 88 or similar mechanism.
- the controller 78 is a microprocessor, digital ASIC, FPGA, or the like.
- the controller 78 is a microprocessor, and the reporting function 32 and the social browsing client 34 ( FIGS. 1 , 7 , and 8 ) are implemented in software and stored in the memory 80 for execution by the controller 78 .
- the one or more secondary storage devices 82 are digital storage devices such as, for example, one or more hard disk drives.
- the communication interface 84 is a wired or wireless communication interface that communicatively couples the user device 16 to the network 20 ( FIGS. 1 , 7 , and 8 ).
- the communication interface 84 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, or the like.
- the one or more user interface components 86 include, for example, a touchscreen, a display, one or more user input components (e.g., a keypad), a speaker, or the like, or any combination thereof.
- Bob launches the visualization function 36 of the social browsing client 34 on his user device 16 .
- the visualization function 36 obtains social crowd data for a number of social locations from the social browsing system 12 according to parameters, or settings, that Bob has defined (e.g., filtering criteria). Based on the social crowd data, the visualization function 36 provides graphical representations, or indicators, for each of a number of social locations where visual characteristic(s) of the graphical representations are controlled to be indicative of the social crowd data for the corresponding social locations. Bob can refine this view by modifying his settings such as, for example, selecting the type(s) of social locations in which he is interested.
- Bob may be enabled to search for social locations of a desired type such as, for example, Sports websites.
- the visualization function 36 will then modify the graphical representations presented to Bob to include only graphical representations for the desired type(s) of social locations.
- the visualization function 36 requests additional social crowd data from the social browsing system 12 as needed.
- Bob is enabled to quickly see what social locations other users like himself are currently at, have historically been at, or are predicted to be at in the future, depending on the particular implementation.
- the visualization function 36 presents graphical representations for a number of social locations that visualize the number of users in the social crowds by the sizes of the corresponding graphical representations and the affinities between Bob and the social crowds at the social locations by the color of the corresponding graphical representations.
- Bob can mouse over the graphical representations to view more detailed information regarding the type of activity, more user details, etc. By clicking on a graphical representation, Bob can go to the corresponding social locations (e.g., go to the website, launch the application, or the like).
- Bob is looking for social locations that he may want to join. More specifically, Bob is looking to become more engaged in the online social networking world.
- Bob sets the parameters in the system as follows: maximum degree of separation is set to a maximum value (i.e., all users are included—users in social crowds are not required to be directly or indirectly related to Bob in a social network), online status is set to allow any users that have been online (e.g., logged in) within the past week, match strength is set to a maximum value, and social networking sites/applications are the only desired social location type.
- the visualization function 36 of Bob's user device 16 obtains social crowd data for the appropriate social locations, visualizes the social crowd data, and presents the resulting visualized social crowd data to Bob.
- the social locations may be represented as corresponding graphical representations having sizes and colors that are controlled to be indicative of the number of users in the social crowds identified for the corresponding social locations and the affinities between Bob and the social crowds identified for the corresponding social locations.
- Bob quickly notices that his best bet is to try out Facebook® and maybe MySpace® later.
Abstract
Description
- This application claims the benefit of provisional patent application Ser. No. 61/173,625, filed Apr. 29, 2009, the disclosure of which is hereby incorporated herein by reference in its entirety.
- The present disclosure relates to generating social crowd data for social crowds identified for a number of social locations.
- Social networking websites such as Facebook®, MySpace®, and LinkedIN® have become prolific in today's society. Further, other types of applications such as gaming applications have started to incorporate social networking features. A single user may typically participate in multiple social networks and multiple applications or services having social networking features in a given day or week. For example, it is common for a user to frequently participate on the Facebook® website, chat using one or more Instant Messaging (IM) applications, play an online game having a social networking feature such as chatting, etc. Additionally, it is becoming increasingly common for users to “check in” at online media locations or activities (websites, television shows, movies, chat sessions, etc.) through the use of widgets or applications associated with sites or services like Facebook®. Because a user typically has many such opportunities to engage in social networking activities, there is a need for a system and method that enable a user to quickly and easily obtain information about other users that currently are using, have historically used, or are expected to use such applications or services. Based on this information, the user can quickly determine which application or service that he or she would like to use at that time.
- Systems and methods are disclosed for providing social crowd data for a number of social locations. A social location is a service or application in which users participate. Preferably, a social location is a social networking service or application or a service or application that has a social networking feature. In one embodiment, a social browsing system collects social locations for a number of users over time. Using the collected social locations for the users, the social browsing system processes social crowd requests. In one embodiment, upon receiving a social crowd request from a user device of a requesting user, for each of one or more social locations identified for the social crowd request, the social browsing system identifies a social crowd for the social location. In one embodiment, the social crowd for the social location includes users currently at the social location. In another embodiment, the social crowd for the social location includes users historically at the social location. In yet another embodiment, the social crowd for the social location includes both users currently and historically at the social location. Optionally, the social crowds identified for the one or more social locations identified for the social crowd request may be filtered using one or more system-defined or user-defined filtering criteria. The social browsing system then generates social crowd data for the social locations based on user profiles of the users in the corresponding social crowds. In one embodiment, for each social location, the social crowd data includes an affinity between the requesting user and the social crowd identified for the social location. In addition, for each social location, the social crowd data may include a number of users in the social crowd identified for the social location. In one embodiment, the social crowd data is returned to the user device of the requesting user where the social crowd data may be visualized and presented to the requesting user. In another embodiment, the social browsing system visualizes the social crowd data and returns the visualized social crowd data to the user device of the requesting user for presentation to the requesting user.
- In one embodiment, the social browsing system returns the social crowd data to the user device of the requesting user. A social browsing client operating on the user device of the requesting user then provides a Graphical User Interface (GUI) that visualizes the social crowd data received from the social browsing system. In one embodiment, the GUI includes an icon or other representation for each of at least a subset of the social locations identified for the social crowd request. For each social location of those represented in the GUI, a visual characteristic of the corresponding representation in the GUI is controlled to be indicative of the affinity between the requesting user and the social crowd identified for the social location. In addition, another visual characteristic of the corresponding representation in the GUI may be controlled to be indicative of the number of users in the social crowd identified for the social location.
- In another embodiment, the social browsing system provides a web interface, where the user device of the requesting user accesses the social browsing system via a web browser. In this embodiment, the social browsing system processes the social crowd data generated in response to the social crowd request from the requesting user to provide a web page or similar web content that visualizes the social crowd data. The social browsing system then provides the web page or similar web content to the user device of the requesting user for rendering via the web browser of the user device. For each of at least a subset of the social locations in the social crowd request, a visual characteristic of a corresponding representation in the web page or similar web content is controlled to be indicative of the affinity between the requesting user and the social crowd identified for the social location. In addition, another visual characteristic of the corresponding representation may be controlled to be indicative of the number of users in the social crowd identified for the social location.
- In another embodiment, a social browsing system collects social locations for a number of users over time. Using the collected social locations for the users, the social browsing system processes social crowd requests for predicted social crowd data. In one embodiment, upon receiving a social crowd request from a user device of a requesting user, for each of one or more social locations identified for the social crowd request, the social browsing system identifies a number of social crowds for the social location over a defined historical time period. Optionally, the social crowds identified for the one or more social locations identified for the social crowd request may be filtered using one or more system-defined or user-defined filtering criteria. For each social location identified for the social crowd request, the social browsing system obtains social crowd data for the social crowds identified for the social location over the historical time period, determines a trend in the social crowd data, and generates predicted social crowd data for the social location based on the trend. In one embodiment, the predicted social crowd data is returned to the user device of the requesting user where the predicted social crowd data may be visualized and presented to the requesting user. In another embodiment, the social browsing system visualizes the predicted social crowd data and returns the visualized predicted social crowd data to the user device of the requesting user for presentation to the requesting user.
- Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
- The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.
-
FIG. 1 illustrates a system for collecting social locations of users and providing social crowd data for social locations based on user profiles of the users according to one embodiment of the present disclosure; -
FIG. 2 illustrates the operation of the social browsing system ofFIG. 1 to collect social locations of users over time from one or more web-based social locations according to one embodiment of the present disclosure; -
FIG. 3 illustrates the operation of the social browsing system ofFIG. 1 to collect social locations of users over time from user devices of the users according to one embodiment of the present disclosure; -
FIG. 4 illustrates the operation of the social browsing system ofFIG. 1 to process a social crowd request according to one embodiment of the present disclosure; -
FIG. 5 is a flow chart illustrating a process for generating social crowd data for a number of social locations in response to a social crowd request according to one embodiment of the present disclosure; -
FIG. 6 illustrates an exemplary Graphical User Interface (GUI) for presenting social crowd data to a requesting user according to one embodiment of the present disclosure; -
FIG. 7 illustrates an alternative embodiment of the system ofFIG. 1 wherein the social browsing system is incorporated into a social networking system; -
FIG. 8 illustrates another alternative embodiment of the system ofFIG. 1 wherein the social browsing system collects social locations of the users via a third-party presence system according to one embodiment of the present disclosure; -
FIG. 9 is a block diagram of the social browsing system ofFIG. 1 according to one embodiment of the present disclosure; -
FIG. 10 is a block diagram of the social networking system including the social browsing system ofFIG. 7 according to one embodiment of the present disclosure; and -
FIG. 11 is a block diagram of one of the user devices ofFIGS. 1 and 7 according to one embodiment of the present disclosure. - The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
-
FIG. 1 illustrates asystem 10 for providing social crowd data for social locations according to one embodiment of the present disclosure. As used herein, a social crowd is a group of users that are currently at a social location, a group of users that were historically, or previously, at a social location during one or more defined historical periods of time, or a group of users that includes both users that are currently at a social location and users that were historically at the social location, depending on the particular implementation. As used herein, a social location is not a geographic location. Rather, a social location is a service or application in which users participate. Similarly, a social location of a user is a service or application with which the user is participating at a particular time. Preferably, the service or application identified as a social location is a social networking service or application, or a service or application that has a social networking feature. A social networking feature may be any type of feature that enables one user to interact with another user such as, for example, voice or text chatting or instant messaging, exchanging messages on a message board, sharing or exchanging media content (e.g., picture files, audio files, or video files), or the like. As a non-limiting example, a social location may be a social networking website (e.g., Facebook®, MySpace®, or LinkedIN®), a social networking application (e.g., AIM), a media sharing application (e.g., Picasa®, Flickr®), an online game (e.g., World of Warcraft®, online card game like those through Yahoo!® Games), a website, a service or application provided on a gaming console (e.g., in game chatting on PlayStation® 3), or an online media service (e.g., Netflix® online streaming movie service). - As illustrated in
FIG. 1 , thesystem 10 includes asocial browsing system 12, one or more web-based social locations 14 (generally referred to herein as web-basedsocial locations 14 or web-based social location 14), and a number of user devices 16-1 through 16-N (also generally referred to herein asuser devices 16 or user device 16) having associated users 18-1 through 18-N (also generally referred to herein asusers 18 or user 18). Thesocial browsing system 12 is connected to the web-basedsocial locations 14 and theuser devices 16 via anetwork 20. Thenetwork 20 may be any type or combination of types of networks. In one embodiment, thenetwork 20 is a distributed public network such as the Internet. Each of thesocial browsing system 12, the web-basedsocial locations 14, and theuser devices 16 is connected to thenetwork 20 via a wired or wireless connection. Thesystem 10 also includes anaggregate profile server 22. - In this embodiment, the
social browsing system 12 is preferably implemented as a physical server or group of physical servers that operate in a collaborative manner for purposes of redundancy or load-sharing. Thesocial browsing system 12 includes asocial location collector 24, which is preferably implemented in software but is not limited thereto. In general, thesocial location collector 24 operates to collect social locations of theusers 18 over time and store the social locations of theusers 18 in auser record repository 26. In addition, thesocial location collector 24 may collect user activities performed by theusers 18 at the social locations. - The
user record repository 26 includes a user record for each of theusers 18. More specifically, for eachuser 18, theuser record repository 26 includes a corresponding user record that includes a historical record of the social locations at which theuser 18 has been located in the past and, optionally, timestamps defining times (e.g., dates and, optionally, times of day) that theuser 18 was at the social locations. The user record of theuser 18 may also include a historical record of user activities reported for theuser 18 along with timestamps defining times at which theuser 18 was performing the user activities. When thesocial location collector 24 obtains a social location update for theuser 18, the social location identified by the social location update and, optionally, a timestamp defining the time at which theuser 18 was at the social location are stored in the user record of theuser 18, and more specifically stored in the historical record of social locations maintained for theuser 18. Likewise, when thesocial location collector 24 obtains a user activity update, or report of a user activity, for theuser 18, the user activity and, optionally, a timestamp defining the time at which theuser 18 was performing the user activity are stored in the user record of theuser 18, and more specifically stored in the historical record of user activities maintained for theuser 18. The user record of theuser 18 may also include a user profile of theuser 18, where the user profile of theuser 18 includes number of interests of theuser 18 which may be expressed as keywords (e.g., Politics, Fishing, NC State, or the like). The user record of theuser 18 may also include one or more user settings defined by theuser 18 such as, for example, one or more filtering criteria to be used to filter social crowds, as described below. - The
social browsing system 12 also includes arequest processor 28, which is also preferably implemented in software but is not limited thereto. In general, therequest processor 28 operates to process social crowd requests from theusers 18. While discussed in detail below, upon receiving a social crowd request from one of the users 18 (also referred to herein as the requesting user 18), therequest processor 28 identifies a social crowd for each of a number of social locations identified for the social crowd request and generates social crowd data for the social locations based on user profiles of users in the social crowds identified for the social locations. Optionally, the social crowds identified for the social locations may be filtered using one or more system-defined filtering criteria and/or one or more user-defined filtering criteria prior to generating the social crowd data. In this embodiment, the social crowd data is returned to theuser device 16 of the requestinguser 18 where the social crowd data is visualized and presented to the requestinguser 18. Alternatively, therequest processor 28 may visualize the social crowd data to provide corresponding web content, and provide the web content to theuser device 16 of the requestinguser 18 for presentation to the requestinguser 18 via a web browser. - The web-based
social locations 14 are generally any type of web-based application or service. For example, the web-basedsocial locations 14 may be social networking websites (e.g., Facebook®, MySpace®, or LinkedIN®), online games (e.g., World of Warcraft®), websites (e.g., CNN.com or CBS.com), web-based media content providers (e.g., Hulu or Netflix®), or the like. The web-basedsocial locations 14 are preferably hosted by one or more physical servers (not shown). Each web-basedsocial location 14 includes, in this embodiment, areporting function 30, which is preferably implemented in software but is not limited thereto. Thereporting function 30 generally operates to send social location updates to thesocial browsing system 12 for theusers 18 when theusers 18 are at (e.g., logged into) the web-basedsocial location 14. More specifically, as discussed below in detail, at least some of theusers 18 are registered with the web-basedsocial location 14. When one of theusers 18 logs into the web-basedsocial location 14, thereporting function 30 notifies thesocial browsing system 12. In response, thesocial location collector 24 records the web-basedsocial location 14 as the social location of theuser 18 at that time. Note that thereporting function 30 may report logins to thesocial browsing system 12 as the logins occur (i.e., event-based reporting) or may report logins to thesocial browsing system 12 in batches (e.g., periodically). For batch reporting, thereporting function 30 preferably reports both theusers 18 that have logged into the web-basedsocial location 14 and times (e.g., dates and/or times of day) that thoseusers 18 logged into the web-basedsocial location 14. Also, as discussed below in detail, thereporting function 30 may also report user activities performed by theusers 18 at the web-basedsocial location 14 to thesocial browsing system 12. - The
user devices 16 may be, for example, personal computers, notebook computers, tablet computers (e.g., Apple® iPad®), mobile smart phones (e.g., Apple® iPhone®), portable media players (e.g., Apple® iPod Touch®), gaming consoles (e.g., Xbox®, PS3®, or Wii®), portable gaming devices (e.g., PSP®), or the like. The user devices 16-1 through 16-N include corresponding reporting functions 32-1 through 32-N (also generally referred to herein as reporting functions 32 or reporting function 32) and social browsing clients 34-1 through 34-N (also generally referred to herein associal browsing clients 34 or social browsing client 34). Note that while only onereporting function 32 is illustrated for each of theuser devices 16, each of theuser devices 16 may include one or more reporting functions 32 depending on the particular implementation. The reporting functions 32 are preferably implemented in software, but are not limited thereto. Further, the reporting functions 32 are preferably implemented in or as plug-ins to applications on theuser devices 16 that correspond to social locations in thesystem 10. However, the reporting functions 32 are not limited thereto. For example, the online game World of Warcraft® may be a social location, and the reporting functions 32 for theuser devices 16 ofusers 18 who participate in World of Warcraft® may be implemented within or as plug-ins to World of Warcraft® client applications stored on and executed by theuser devices 16 of thoseusers 18. In a similar manner, theuser devices 16 may include reporting functions 32 for other applications on theuser devices 16 that correspond to social locations. - The reporting functions 32 generally operate to detect the social locations of the
users 18 and report the social locations of theusers 18 to thesocial browsing system 12. The reporting functions 32 may also report activities performed by theuser 18 at the social locations to thesocial browsing system 12. Note that, in this embodiment, the reporting functions 32 are utilized in addition to thereporting function 30. For instance, the reporting functions 30 of the web-basedsocial locations 14 report the social locations of theusers 18 when theusers 18 are at the web-basedsocial locations 14 having the reporting functions 30. The reporting functions 32 of theuser devices 16 may then operate to report the social locations of theusers 18 when theusers 18 are at social locations other than the web-basedsocial locations 14 that include the reporting functions 30. It should also be noted that in alternative embodiments, thesystem 10 may include only the reporting functions 30 of the web-basedsocial locations 14 or the reporting functions 32 of theuser devices 16 rather than both. Further, while in this embodiment all of theuser devices 16 have reporting functions 32, the present disclosure is not limited thereto. For example, only a subset of theuser devices 16 may have reporting functions 32. - The social browsing clients 34-1 through 34-N are preferably implemented in software and include social crowd data visualization functions 36-1 through 36-N (also generally referred to herein as visualization functions 36 or visualization function 36). As discussed below in more detail, the
social browsing clients 34 operate to request and obtain social crowd data for a number of social locations from thesocial browsing system 12. The visualization functions 36 then process the social crowd data to provide and display visualized social crowd data. For example, as discussed below in detail, in one embodiment, the visualization functions 36 present graphical representations of a number of social locations where one or more visual characteristics of the graphical representations are controlled to be indicative of the social crowd data for the corresponding social locations. - The
aggregate profile server 22, in this embodiment, is a physical server or group of physical servers. As discussed below, in operation, theaggregate profile server 22 operates to combine the user profiles of theusers 18 in a social crowd to provide an aggregate profile for the social crowd. The aggregate profile for the social crowd is then utilized by thesocial browsing system 12 to generate social crowd data for a social location for which the social crowd has been identified, as described below. It should be noted that while theaggregate profile server 22 is separate from thesocial browsing system 12 in this embodiment, the present disclosure is not limited thereto. In an alternative embodiment, the functionality of theaggregate profile server 22 is implemented in thesocial browsing system 12. -
FIG. 2 illustrates the operation of thesocial browsing system 12 to collect social locations of theusers 18 from the one or more web-basedsocial locations 14 according to one embodiment of the present disclosure. As illustrated, thereporting function 30 of the web-basedsocial location 14 detects a user login for one of the users 18 (step 100). For example, if the web-basedsocial location 14 is a social networking website such as Facebook®, theuser 18 may login using his username and password. Upon detecting the user login, thereporting function 30 reports the user login to the social browsing system 12 (step 102). In one embodiment, theuser 18 is a registered user with the web-basedsocial location 14, and has configured his account such that login events are to be reported to thesocial browsing system 12. Preferably, the configurations include a user identifier (ID) of theuser 18 for thesocial browsing system 12 such that social locations reported for theuser 18 from multiple web-basedsocial locations 14 and theuser device 16 of theuser 18 are all linked to the same user ID. When reporting the login event to thesocial browsing system 12, theuser 18 is preferably identified by a user ID assigned to theuser 18 in thesocial browsing system 12. Alternatively, theuser 18 may provide usernames or other identifiers for theuser 18 at the web-basedsocial locations 14 and a username or other identifier for theuser 18 at theuser device 16 to thesocial browsing system 12 such that thesocial location collector 24 can correlate social locations for theuser 18 reported by the web-basedsocial locations 14 and theuser device 16 of theuser 18. - Upon receiving the report of the user login of the
user 18, thesocial location collector 24 of thesocial browsing system 12 stores the web-basedsocial location 14 as the social location of the user 18 (step 104). For example, if the web-basedsocial location 14 is a social networking website such as Facebook®, thesocial location collector 24 may store a predefined identifier for that social networking website (e.g., a URL of the social networking website) as the social location of theuser 18. In addition, when reporting the user login, thereporting function 30 may also report a time at which the user login event occurred. Thesocial location collector 24 may then store the time at which the login event occurred as a timestamp for the social location stored in step 104. Alternatively, thesocial location collector 24 may store a time at which the report of the user login is received from thereporting function 30 of the web-basedsocial location 14 as the timestamp for the social location stored in step 104. Preferably, both the social location of theuser 18 and the timestamp are stored in the user record of theuser 18 maintained in theuser record repository 26. - In this embodiment, in addition to detecting and reporting the login event, the
reporting function 30 also detects a user activity performed by theuser 18 while at the web-based social location 14 (step 106). The types of user activities that may be detected depends on the web-basedsocial location 14. Different types of user activities may be performed at different types of web-basedsocial locations 14. For example, if the web-basedsocial location 14 is Facebook®, the detected user activity may be, for example, “playing Farmville.”Other types of user activities may be, for example, “chatting,” “posting a message,” “viewing a photo album,” “sharing a photo album,” “watching a video/movie/TV program,” “listening to music/artist/song,” or the like. Upon detecting the user activity, thereporting function 30 reports the user activity to the social browsing system 12 (step 108), and thesocial location collector 24 stores the user activity and, optionally, a timestamp identifying the time at which theuser 18 was performing the user activity in the user record of the user 18 (step 110). Note that steps 102 and 108 may alternatively be combined such that both the social location and the user activity of theuser 18 are reported at the same time. From here, the process continues such that thereporting function 30 continues to detect and report user activities of theuser 18. In addition, thereporting function 30 reports logins and user activities to thesocial browsing system 12 forother users 18 in a similar manner. - Note that while the reporting in
FIG. 2 is event-based (i.e., reporting is triggered in response to a corresponding login/user activity event), the operation of thereporting function 30 is not limited thereto. In an alternative embodiment, thereporting function 30 may collect detected user logins and user activity events over time for a number of theusers 18 and report the detected user logins and user activity events to thesocial browsing system 12 in batches. -
FIG. 3 illustrates the operation of thesocial browsing system 12 to collect social locations of theusers 18 from theuser devices 16 according to one embodiment of the present disclosure. As illustrated, thereporting function 32 of theuser device 16 of one of theusers 18 detects a social location of the user 18 (step 200). The manner in which thereporting function 32 detects the social location of theuser 18 varies depending on the particular implementation of theuser device 16. For example, if theuser device 16 is a personal computer or other device having web-browsing capabilities, thereporting function 32 may be implemented within a web-browser or as a plug-in to the web-browser of theuser device 16 and may detect the social location of theuser 18 by monitoring websites visited by theuser 18. When theuser 18 navigates to a new website, which may be any website or one of a number of predefined websites identified by theuser 18 or thesocial browsing system 12 as being social locations, thereporting function 32 identifies the website as the social location of theuser 18. As another example, if theuser device 16 is a personal computer or other device having web-browsing capabilities, thereporting function 32 may be implemented within a web-browser or as a plug-in to the web-browser of theuser device 16 and may detect the social location of theuser 18 by monitoring websites thatuser 18 has logged into. When theuser 18 logs into a new website (e.g., logs into Facebook® or Netflix® online), which may be any website that theuser 18 is registered with or one of a number of predefined websites that theuser 18 is registered with and that have been identified by theuser 18 or thesocial browsing system 12 as being social locations, thereporting function 32 identifies the website as the social location of theuser 18. - As another example, if the
user device 16 is a personal computer or similar device capable of running a computer-based gaming application (e.g., World of Warcraft® client software), thereporting function 32 may be implemented within the gaming software stored and executed by theuser device 16 and may detect when theuser 18 starts the gaming application. In response, the gaming application is identified as the social location of theuser 18. As yet another example, if theuser device 16 is a personal computer, smart phone, or similar device capable of running applications, thereporting function 32 may be implemented within an application or as a plug-in to the application stored and executed by theuser device 16, where the application is a social networking application or an application having a social networking feature. Thereporting function 32 may detect when theuser 18 starts the social networking application or the application having a social networking feature and, in response, identify the application as the social location of theuser 18. - As another example, if the
user device 16 is a gaming console, thereporting function 32 may be implemented within the gaming console and may detect when theuser 18 turns on the gaming console and starts playing one of a number of games that are predefined as being social locations. Thereporting function 32 may then identify that game as the social location of theuser 18. As another example, if theuser device 16 is a gaming console, thereporting function 32 may be implemented within a game that is playable by the gaming console, and thereporting function 32 may detect when the game is executed by the gaming console (e.g., loaded into and started by the user 18). That game is then identified as the social location of theuser 18. - As yet another example, the
user device 16 may be a set-top box enabling playback of media content from a media source such as a television service provider, Netflix®, Hulu™, CBS.com, or the like. Thereporting function 32 may be implemented within the set-top box. Thereporting function 32 may then detect the playback of media content by theuser device 16 and identify the media source as the social location of theuser 18. Further, if the media source is a television service provider, the social location of theuser 18 may be the particular television station (e.g., CBS, NBC, ABC, Fox, TNT, ESPN, etc.). - Upon detecting the social location of the
user 18, thereporting function 32 reports the social location of theuser 18 and, in some embodiments, a time at which theuser 18 was detected as being at the social location to the social browsing system 12 (step 202). In response, thesocial location collector 24 of thesocial browsing system 12 stores the social location of theuser 18 and, in some embodiments, a timestamp for the social location (step 204). If the time at which the social location was detected is provided in step 202, then that time is used as the timestamp for the social location. Otherwise, a time at which the social location is received from thereporting function 32 of theuser device 16 may be used as the timestamp for the social location. - In this embodiment, in addition to detecting and reporting the social location of the
user 18, thereporting function 32 also detects user activity performed by theuser 18 while at the social location (step 206). The types of user activities that may be detected depends on the social location. Different types of user activities may be performed for different social locations. For example, the user activity may be “chatting,” “posting a message,” “viewing a photo album,” “sharing a photo album,” “watching a video/movie/TV program,” “listening to music/artist/song,” “playing game X,” “playing a game,” or the like. Upon detecting the user activity, thereporting function 32 reports the user activity to the social browsing system 12 (step 208), and thesocial location collector 24 stores the user activity and, optionally, a timestamp identifying the time at which theuser 18 was performing the user activity in the user record of the user 18 (step 210). Note that steps 202 and 208 may alternatively be combined such that both the social location and the user activity of theuser 18 are reported at the same time. From here, the process continues such that thereporting function 32 continues to detect and report the social location and user activities taken by theuser 18. - Note that while the reporting in
FIG. 3 is event-based (i.e., reporting is triggered in response to detecting social location and detecting a user activity event), the operation of thereporting function 32 is not limited thereto. In an alternative embodiment, thereporting function 32 may collect detected social locations and user activity events over time for theuser 18 and report the detected social locations and user activity events to thesocial browsing system 12 in batches. -
FIG. 4 illustrates the operation of thesocial browsing system 12 to generate social crowd data for a number of social locations according to one embodiment of the present disclosure. In this embodiment, thesocial browsing system 12 first receives a social crowd request from one of the user devices 16 (step 300). In the preferred embodiment, the social crowd request is sent by thevisualization function 36 of theuser device 16 automatically or upon request by theuser 18 of theuser device 16. More specifically, in one embodiment, thevisualization function 36 sends the social crowd request to thesocial browsing system 12 in response to activation of a Graphical User Interface (GUI) provided by thevisualization function 36 by theuser 18 of theuser device 16. - In response to the social crowd request, the
request processor 28 generates social crowd data for social crowds at a number of social locations identified for the social crowd request (step 302). In one embodiment, the social crowd request identifies one or more social locations for which social crowd data is desired. In another embodiment, theuser 18 of theuser device 16 has preconfigured which social locations that theuser 18 is interested in and those social locations are stored in the user record of theuser 18 in theuser record repository 26. In another embodiment, theuser 18 of theuser device 16 has selected one or more types of social locations (e.g., social networking services/applications, games, media sharing, or the like) in which theuser 18 is interested, and the social locations identified for the social crowd request are social locations of the selected type(s). In yet another embodiment, the social locations identified for the social crowd request may be system-defined and may be the same for all of theusers 18 or may vary for different groups of the users 18 (e.g., different demographic groups). - While discussed below in detail, in general, the social crowd data for each social location identified for the social crowd request is generated by first identifying a social crowd for the social location. The social crowd for the social location is a group of the
users 18 that are currently at the social location, a group of theusers 18 that were historically at the social location (i.e., at the social location within one or more defined historical time periods), or a group of theusers 18 including thoseusers 18 that are currently at the social location and thoseusers 18 that were historically at the social location, depending on the particular implementation. Then, an aggregate profile for the social crowd at the social location is generated. In the preferred embodiment, based on the aggregate profile of the social crowd, an affinity between theuser 18 of the user device 16 (i.e., the requesting user) and the social crowd at the social location is determined. The social crowd data then preferably includes the affinities between theuser 18 of theuser device 16 and the social crowds at the social locations identified for the social crowd request. In addition, the social crowd data preferably includes a number of users in each of the social crowds. - However, it should be noted that the social crowd data is not limited to including the affinities between the
user 18 of theuser device 16 and the social crowds and, optionally, the number of users in each of the social crowds. For example, in another embodiment, the social crowd data may additionally or alternatively include the aggregate profiles for the social crowds. The aggregate profile for a social crowd includes an aggregate, or merged, list of interests from the user profiles of theusers 18 in the social crowd. In addition, the aggregate profile may include, for each interest in the aggregate profile, a number of user matches, or occurrences, of the interest among theusers 18 in the social crowd or a ratio of the number of user matches for the interest to a total number of users in the social crowd. - In another embodiment, the social crowd data may alternatively include predicted, or future, social crowd data for the one or more social locations identified for the social crowd request. More specifically, in order to provide the predicted social crowd data for one of the social locations, the
request processor 28 obtains social crowd data for the social location (e.g., an affinity between the requestinguser 18 and the social crowd and the number of users in the social crowd) for a number of times or time periods in the past. For example, therequest processor 28 may obtain social crowd data for the social location for each day of the last month. Then, using known statistical algorithms, therequest processor 28 may determine a trend for the social crowd data (e.g., a trend for the affinity between the requestinguser 18 and the social crowd at the social location and a trend in the number of users in the social crowd at the social location) over the last month. This trend is used to provide the predicted social crowd data (e.g., predicted affinity between the requestinguser 18 and the social crowd at the social location and the number of users in the social crowd at the social location) for the social location at a desired time in the future. - Next, the
request processor 28 returns the social crowd data for the social crowds identified for the social locations to the user device 16 (step 304). In response, thevisualization function 36 of theuser device 16 visualizes the social crowd data and presents resulting visualized social crowd data to theuser 18 at the user device 16 (step 306). More specifically, in the preferred embodiment, thevisualization function 36 provides a GUI that includes a representation (e.g., an icon, screenshot, or the like) for each of at least a subset of the social locations identified for the social crowd request. Within the GUI, for each representation, a visual characteristic (e.g., color, size, or the like) of the representations is controlled to be indicative of the affinity between theuser 18 of theuser device 16 and the social crowd at the corresponding social location (i.e., the social location represented by the representation in the GUI). In addition, for each representation in the GUI, a second visual characteristic (e.g., color, size, or the like) may be controlled to be indicative of the number of users in the social crowd at the corresponding social location. In one embodiment, the GUI initially includes representations for a predefined number of the social locations identified for the social crowd request having social crowds with the highest affinities to theuser 18 of theuser device 16. Theuser 18 may then be enabled to navigate the GUI to view representations for more social locations, if any. Using the GUI presented by thevisualization function 36, theuser 18 is enabled to quickly and easily see social locations at whichother users 18 that are like him are currently located and/or have historically been located. - Further, the GUI provided by the
visualization function 36 may enable theuser 18 to go to a desired social location by, for example, selecting the representation of the desired social location in the GUI. The GUI may also enable theuser 18 to view additional information regarding the social crowds at the social locations. For example, upon selecting a representation of a social location in the GUI, thevisualization function 36 may present, via the GUI, information regarding the social crowd at the social location such as, for example, an affinity score representing the affinity between theuser 18 and the social crowd, a number that is the number ofusers 18 in the social crowd, the aggregate profile for the social crowd, information identifying theusers 18 in the social crowd (e.g., birth names, usernames, pictures, or the like), a number that is a number of theusers 18 in the social crowd that are in a social network of theuser 18, information identifying theusers 18 in the social crowd that are in a social network of theuser 18, or the like. -
FIG. 5 is a flow chart illustrating the operation of therequest processor 28 of thesocial browsing system 12 in more detail according to one embodiment of the present disclosure. First, therequest processor 28 of thesocial browsing system 12 receives a social crowd request from theuser device 16 of a requesting user 18 (step 400). Therequest processor 28 then gets the next social location from one or more social locations identified for the social crowd request (step 402). Next, therequest processor 28 identifies a social crowd for the social location (step 404). In one embodiment, the social crowd for the social location is a group of theusers 18 currently at the social location. In order to identify theusers 18 currently at the social location, therequest processor 28 queries theuser record repository 26 for theusers 18 that are currently at the social location. Theusers 18 currently at the social location may be thoseusers 18 whose last reported social locations are the social location. Alternatively, theusers 18 currently at the social location may be thoseusers 18 whose last reported social locations are the social location and the corresponding timestamps indicate that thoseusers 18 were at the social location during a predefined time period prior to the current time (e.g., within the last 10 minutes). Here, the predefined time period prior to the current time is relatively short in order to reflect that theusers 18 are “currently” at the social location. - Note that, in some embodiments, the
users 18 may be currently at more than one social location (e.g., using Facebook® and Twitter® while watching a movie). In this case, theusers 18 currently at the social location may be thoseusers 18 that have been reported to be at the social location during a predefined time period prior to the current time (e.g., the last 10 minutes), as indicated by the social locations and corresponding timestamps stored in the user record of theuser 18. Here again, the predefined time period prior to the current time is relatively short in order to reflect that theusers 18 are “currently” at the social location. - When identifying the
users 18 that are currently at the social location, therequest processor 28 may consider the user activities reported for theusers 18 in addition to the social locations reported for theusers 18. More specifically, in one embodiment, theusers 18 currently at the social location may be thoseusers 18 whose last reported social locations are the social location (or who were reported to be at the social location within a predefined time period prior to the current time such as, for example, the last two hours) and the reported user activities for thoseusers 18 indicate that theusers 18 have performed a user activity at the social location within a predefined relatively short time period prior to the current time (e.g., within the last 10 minutes). As yet another alternative, theusers 18 currently at the social location may be thoseusers 18 whose last reported social locations are the social location (or who were reported to be at the social location within a predefined time period prior to the current time such as, for example, the last two hours) and: (1) the corresponding timestamps indicate that thoseusers 18 were at the social location within a predefined relatively short time period prior to the current time (e.g., within the last 10 minutes) and/or (2) the reported user activities for thoseusers 18 indicate that theusers 18 have performed a user activity at the social location within a predefined period of time relative to the current time (e.g., within the last 10 minutes). - In another embodiment, the social crowd for the social location is a group of the
users 18 who were historically, or previously, at the social location during one or more defined historical periods of time (e.g., last Friday, all Fridays over the past six months, the last week, Apr. 1, 2010, or the like). The historical periods of time are preferably defined by the requestinguser 18, but may alternatively be system-defined time periods. Therequest processor 28 queries theuser record repository 26 to identify theusers 18 that were at the social location during the one or more historical periods of time. Theusers 18 at the social location during the one or more historical periods of time may be thoseusers 18 having social locations and corresponding timestamps that indicate that theusers 18 were at the social location during the one or more historical periods of time. Alternatively, theusers 18 at the social location during the one or more historical periods of time may be thoseusers 18 having social locations and corresponding timestamps and reported user activities and corresponding timestamps that indicate that theusers 18 were at the social location during the one or more historical periods of time. In yet another embodiment, the social crowd for the social location includes both theusers 18 that are currently at the social location and theusers 18 that were at the social location during one or more defined historical periods of time. - In this embodiment, the social crowd identified for the social location is filtered based on one or more filtering criteria (step 406). Note that the
filtering step 406 is optional. Also note that whilesteps steps user 18. These user-defined filtering criteria may be included in the social crowd request or stored in the user record of the requestinguser 18. The filtering criteria may include, for example, a status criterion, a maximum degree of separation in a social network of the requestinguser 18, a user activity criterion, a physical location criterion, or a combination thereof. With respect to the status criterion, the social crowd may be filtered to remove theusers 18 that are not currently online or connected to thenetwork 20, to remove theusers 18 that have been online less than a defined threshold amount (e.g., less than one hour a day for the last week), or the like. - With respect to the maximum degree of separation, the social crowd may be filtered to remove the users in the social crowd that are not within a defined maximum degree of separation, or social network distance, from the requesting
user 18 in a social network (e.g., the Facebook® social network, the MySpace® social network, or the like). More specifically, in one embodiment, the user records of theusers 18 include the Facebook® usernames of theusers 18. Therequest processor 28 may then query Facebook® via, for example, an Application Programming Interface (API) to determine the degree of separation between the requestinguser 18 and each of theusers 18 in the social crowd. The social crowd may then be filtered to remove theusers 18 that are not within the defined maximum degree of separation from the requestinguser 18. The defined maximum degree of separation is preferably defined by theuser 18. With respect to the user activity criterion, the social crowd may be filtered to remove theusers 18 that are currently performing one or more defined user activities. Alternatively, the social crowd may be filtered to remove theusers 18 that are not currently performing one or more defined user activities. - With respect to the physical location criterion, the social crowd may be filtered to remove users that are not physically located within a defined geographic area. The defined geographic area may be a static geographic area such as, for example, a particular city, a particular zip code, a particular state, or the like. Alternatively, the defined geographic area may be a relative geographic area such as, for example, within ten miles from the requesting
user 18. Note that the physical locations of theusers 18 may be obtained in any suitable manner. For example, in one embodiment, theuser devices 16 of theusers 18 determine and report the physical locations of theuser devices 16 to thesocial browsing system 12 as the physical locations of theusers 18. Theuser devices 16 may obtain the physical locations ofuser devices 16 using any suitable technology such as, for example, Global Positioning System (GPS) receivers, manual input of the physical locations by theusers 18, lookup of physical location from a remote source based on Wi-Fi® access point, or the like. - After the optional filtering step, the
request processor 28 obtains an aggregate profile for the social crowd (step 408). More specifically, in this embodiment, the user records of theusers 18 include the user profiles of theusers 18, and therequest processor 28 obtains the user profiles of theusers 18 in the social crowd from their user records and provides the user profiles of theusers 18 in the social crowd to theaggregate profile server 22 for aggregation. In response, therequest processor 28 receives the aggregate profile of the social crowd from theaggregate profile server 22. The aggregate profile of the social crowd includes an aggregate list of interests from the user profiles of theusers 18 in the social crowd. In addition, the aggregate profile of the social crowd may include a number of user matches, or occurrences, of each of the interests in the aggregate list of interests across all of the user profiles of theusers 18 in the social crowd or a ratio of the number of user matches for each of the interests to a total number ofusers 18 in the social crowd. - Before proceeding, it should be noted that in an alternative embodiment, the functionality of the
aggregate profile server 22 is integrated into thesocial browsing system 12 such that the aggregate profile of the social crowd is generated by thesocial browsing system 12. In another alternative embodiment, rather than being stored in the user records of theusers 18 in theuser record repository 26 of thesocial browsing system 12, the user profiles of theusers 18 may be stored by theaggregate profile server 22. In this case, therequest processor 28 provides information identifying theusers 18 in the social crowd to theaggregate profile server 22. In response, theaggregate profile server 22 obtains the user profiles of theusers 18 in the social crowd and aggregates the user profiles of thoseusers 18 to provide the aggregate profile of the social crowd. In yet another embodiment, the user profiles of theusers 18 may be stored by a third-party application or service (e.g., Facebook®). In this case, therequest processor 28 may obtain the user profiles of theusers 18 in the social crowd from the third-party application or service and provide the user profiles to theaggregate profile server 22 for aggregation. Alternatively, therequest processor 28 may provide information identifying theusers 18 in the social crowd to theaggregate profile server 22, where theaggregate profile server 22 then obtains the user profiles of those users from the third-party service or application and aggregates the user profiles to provide the aggregate profile of the social crowd. - Next, the
request processor 28 determines an affinity between the requestinguser 18 and the social crowd based on a comparison of the aggregate profile for the social crowd and the user profile of the requesting user 18 (step 410). In one embodiment, the affinity between the requestinguser 18 and the social crowd is a function of the number of user interests in the user profile of the requestinguser 18 that match interests in the aggregate profile of the social crowd. For example, the affinity between the requestinguser 18 and the social crowd may be the number of interests in the user profile of the requestinguser 18 that match user interests in the aggregate profile of the social crowd. As another example, the affinity between the requestinguser 18 and the social crowd may be a ratio of the number of interests in the user profile of the requestinguser 18 that match user interests included in the aggregate profile of the social crowd over a total number of interests in the user profile of the requestinguser 18. As yet another example, the affinity between the requestinguser 18 and the social crowd may be a percentage of the user interests in the user profile of the requestinguser 18 that match interests in the aggregate profile of the social crowd. - In another embodiment, the affinity between the requesting
user 18 and the social crowd is a function of the number of interests in the user profile of the requestinguser 18 that match user interests in the aggregate profile for the social crowd and the number of user matches for the interests in the aggregate profile or the ratio of the number of user matches for the interests in the aggregate profile over the total number ofusers 18 in the social crowd. For example, the affinity between the requestinguser 18 and the social crowd may be the number of interests in the user profile of the requestinguser 18 that match one or more interests in the aggregate profile for the social crowd that have the highest M user matches or ratios of user matches to total number of users. Here, M may be an integer greater than or equal to 1 and may be system-defined or configurable by the requestinguser 18. - Note that the techniques for determining the affinity between the requesting
user 18 and the social crowd based on the aggregate profile of the social crowd and the user profile of the requestinguser 18 described above are exemplary. Other techniques will be apparent to one of ordinary skill in the art upon reading this disclosure. Further, it should also be noted that, in one embodiment, an interest in the user profile of the requestinguser 18 “matches” an interest in the aggregate profile of the social crowd if the two interests match exactly. In another embodiment, an interest in the user profile of the requestinguser 18 “matches” an interest in the aggregate profile of the social crowd if the two interests match to a predefined threshold degree. The predefined threshold degree may be system-defined or defined by the requestinguser 18. For example, an ontology or similar data structure, or service providing such an ontology or data structure such as, for example, Wikipedia®, may be utilized to determine a degree of similarity between two interests. In general, the ontology or data structure defines direct and indirect relationships between terms in much the same manner as a social network defines direct and indirect relationships between users. Thus, an ontology or similar data structure may define that “NC State University” is directly related to “Philip Rivers,” and that “Philip Rivers” is directly related to “San Diego Chargers.” As such, “NC State University” may be said to exactly match “North Carolina State University” (0 degrees of separation), to be directly related to “Philip Rivers” (1 degree of separation), and to be indirectly related to “San Diego Chargers” (2 degrees of separation). The predefined threshold may be set such that two interests “match” if they are within a defined degree of separation from one another in the ontology or similar data structure. - Once the affinity between the requesting
user 18 and the social crowd has been determined, therequest processor 28 determines whether the last social location of the one or more social locations identified for the social crowd request has been processed (step 412). If not, the process returns to step 402 and is repeated for the next social location. Once all of the social locations identified for the social crowd request have been processed, therequest processor 28 returns social crowd data to theuser device 16 of the requestinguser 18, where the social crowd data includes the affinities between the requestinguser 18 and the social crowds identified for the social locations and, optionally, the number of users in each of the social crowds (step 414). - Before proceeding, an alternative embodiment should be discussed. In the embodiment described above, an aggregate profile is first obtained for a social crowd, and then an affinity between the requesting
user 18 and the social crowd is determined based on a comparison of the aggregate profile of the social crowd and the user profile of the requestinguser 18. However, the present disclosure is not limited thereto. In another embodiment, the affinity between the requestinguser 18 and the social crowd may be determined by directly comparing the user profile of the requestinguser 18 and the user profiles of theusers 18 in the social crowd. Based on the comparison, the affinity between the requestinguser 18 and the social crowd may be represented as, for example, a total number of user matches for all of the interests in the user profile of the requestinguser 18 across all of the user profiles of theusers 18 in the social crowd. As another example, the affinity between the requestinguser 18 and the social crowd may be represented as a percentage or ratio of theusers 18 in the social crowd having user profiles that include at least one interest that matches an interest in the user profile of the requestinguser 18. -
FIG. 6 illustrates anexemplary GUI 38 provided by thevisualization function 36 of thesocial browsing client 34 of one of theuser devices 16 according to one embodiment of the present disclosure. As illustrated, theGUI 38 includes a number of representations 40-1 through 40-7 (also generally referred to herein as representations 40 or representation 40). Each representation 40 represents one of the social locations identified for a social crowd request issued by thevisualization function 36. In this example, color (which is represented by shading) of borders 42-1 through 42-7 (also generally referred to herein as borders 42 or border 42) of the representations 40-1 through 40-7 is controlled such that the color (shading) of the borders 42-1 through 42-7 is indicative of the affinity between theuser 18 of theuser device 16 and the social crowds identified for the social locations represented by the representations 40-1 through 40-7. Thus, in this example, the affinities between theuser 18 and the social crowds identified for the social locations represented by the representations 40-1 and 40-4 are low as indicated by the light shading of the borders 42-1 and 42-4, the affinities between theuser 18 and the social crowds identified for the social locations represented by the representations 40-2, 40-5, and 40-6 are moderate as indicated by the moderate shading of the borders 42-2, 42-5, and 42-6, and the affinities between theuser 18 and the social crowds identified for the social locations represented by the representations 40-3 and 40-7 are high as indicated by the dark shading of the borders 42-3 and 42-7. - In addition, in this embodiment, sizes of the representations 40 are controlled to be indicative of the number of users in the social crowds for the represented social locations. Thus, in this example, the social crowds identified for the social locations represented by the representations 40-1 and 40-7 each have a large number of users, the social crowds identified for the social locations represented by the representation 40-6 has a moderate number of users, and the social crowds identified for the social locations represented by the representations 40-2 through 40-5 each have a small number of users.
- In this embodiment, the
GUI 38 also includes auser settings area 44 that enables theuser 18 to configure, or define, a number of settings. More specifically, in this example, theuser settings area 44 includes aslider bar 46 that enables theuser 18 to configure a social distance filtering criteria that defines the maximum degree of separation to be used to filter social crowds, and aslider bar 48 that enables theuser 18 to configure the online status filtering criteria to be used to filter social crowds. In addition, theuser settings area 44 includes aslider bar 50 that enables theuser 18 to configure a threshold degree of similarity to be used when determining the affinity between theuser 18 and social crowds, as described above. - Lastly, in this embodiment, the
user settings area 44 includes radio buttons 52-1 through 52-3 (also generally referred to herein as radio buttons 52 or radio button 52) that enable theuser 18 to identify one or more types of social locations in which theuser 18 is interested. Note that the radio buttons 52 shown are exemplary. Similar buttons for additional or alternative types of social locations may be included. In this example, theuser 18 has selected the radio buttons 52 for “Social Network Services/Apps” and “Gaming Services/Apps.” As such, social crowd data is requested and returned for only social locations that are social networking services or applications or gaming services or applications. While not illustrated, in a similar manner, theuser 18 may be enabled to select one or more user activities such that social crowds are filtered to remove users other than those who participate in the one or more selected user activities. - Before proceeding, it should be noted that while the discussion herein focuses on presenting representations for the social locations to the requesting
user 18, the present disclosure is not limited thereto. For example, in one embodiment, thevisualization function 36 of theuser device 16 may present a representation for each of a number of social location types such as, for example, social networking services or applications, gaming services or applications, media applications or services (e.g., streaming video services, television services, or the like), media sharing applications or services, news websites, or the like. Visual characteristics of the representations for the social location types may be controlled to be indicative of the combined social crowd data for the corresponding social locations. For example, the representation for a social location type may have a first visual characteristic that is controlled to be indicative of an average affinity between the requestinguser 18 and the social crowds identified for social locations of the social location type and a second visual characteristic that is controlled to be indicative of an average number of users in the social crowds identified for the social locations of the social location type. - In another embodiment, the
visualization function 36 of theuser device 16 may present a representation for each of a number of user activities (e.g., playing a game, watching a movie, etc.). Visual characteristics of the representations may be controlled to be indicative of the combined social crowd data for the corresponding social locations. For example, for a particular user activity, the social locations at which user(s) are or have performed the user activity are identified. The crowd data for the identified social locations is then combined to provide the combined social crowd data for the user activity (e.g., average affinity, average number of users, or the like). One or more visual characteristics of the representation of the user activity in the GUI provided by thevisualization function 36 may then be controlled to be indicative of the combined social crowd data for the social location. Thevisualization function 36 may further enable theuser 18 to select the representation for one of the user activities in order to cause thevisualization function 36 to present representations for the social locations identified for the user activity to theuser 18 in a manner similar to that shown inFIG. 6 . -
FIGS. 7 and 8 illustrate alternative embodiments of thesystem 10 ofFIG. 1 . Specifically,FIG. 7 illustrates an alternative embodiment of thesystem 10 wherein thesocial browsing system 12 is incorporated into an existing system, which in this embodiment is asocial networking system 54 hosting a social networking service (e.g., Facebook®). In this embodiment, thesocial browsing system 12 is preferably implemented in software and the user profiles of theusers 18 utilized by thesocial browsing system 12 are preferably user profiles of theusers 18 maintained by thesocial networking system 54 for the social networking service. Otherwise, thesystem 10 ofFIG. 7 is the same as and operates the same as described above. -
FIG. 8 illustrates another alternative embodiment of thesystem 10 ofFIG. 1 . In this embodiment, the social locations of theusers 18 and, in some embodiments, the user activities of theusers 18 are reported to a third-party presence service 56. Thesocial browsing system 12 obtains the social locations and, in some embodiments, the user activities of theusers 18 from thepresence service 56. In one embodiment, the reporting functions 32 of theuser devices 16 report the social locations and user activities of theusers 18 to thepresence service 56 using a standard such as the Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE). Specifically, the Rich Presence Information Data Format (RPID), which is an extension of the Presence Information Data Format (PIDF), may be used to send the social locations and user activities of theusers 18 to thepresence service 56 as presence information. For example, thereporting function 32 may report the social location of theuser 18 by providing a user ID of theuser 18 recognized by thesocial browsing system 12, the social location of theuser 18, and a timestamp defining a time at which theuser 18 was at the social location to thepresence service 56. Thepresence service 56 may then provide this information to thesocial browsing system 12 automatically or as requested by thesocial browsing system 12. Otherwise, thesystem 10 ofFIG. 8 is the same as and operates the same as described above. -
FIG. 9 is a block diagram of thesocial browsing system 12 ofFIG. 1 according to one embodiment of the present disclosure. As illustrated, thesocial browsing system 12 includes acontroller 58 connected tomemory 60, one or moresecondary storage devices 62, and acommunication interface 64 by abus 66 or similar mechanism. Thecontroller 58 is a microprocessor, digital Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), or the like. In this embodiment, thecontroller 58 is a microprocessor, and thesocial location collector 24 and the request processor 28 (FIG. 1 ) are implemented in software and stored in thememory 60 for execution by thecontroller 58. Thesecondary storage devices 62 are digital data storage devices such as, for example, one or more hard disk drives. The user record repository 26 (FIG. 1 ) may be implemented in the one or moresecondary storage devices 62. Thecommunication interface 64 is a wired or wireless communication interface that communicatively couples thesocial browsing system 12 to the network 20 (FIG. 1 ). For example, thecommunication interface 64 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, or the like. -
FIG. 10 is a block diagram of thesocial networking system 54 hosting thesocial browsing system 12 ofFIG. 7 according to one embodiment of the present disclosure. As illustrated, thesocial networking system 54 includes acontroller 68 connected tomemory 70, one or moresecondary storage devices 72, and acommunication interface 74 by abus 76 or similar mechanism. Thecontroller 68 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, thecontroller 68 is a microprocessor, and thesocial browsing system 12 is at least partially implemented in software stored in thememory 70 for execution by thecontroller 68. Thesecondary storage devices 72 are digital data storage devices such as, for example, one or more hard disk drives. Thecommunication interface 74 is a wired or wireless communication interface that communicatively couples thesocial networking system 54 to the network 20 (FIG. 7 ). For example, thecommunication interface 74 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, or the like. -
FIG. 11 is a block diagram of the one of theuser devices 16 according to one embodiment of the present disclosure. As illustrated, theuser device 16 includes acontroller 78 connected tomemory 80, one or moresecondary storage devices 82, acommunication interface 84, and one or more user interface components 86 by abus 88 or similar mechanism. Thecontroller 78 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, thecontroller 78 is a microprocessor, and thereporting function 32 and the social browsing client 34 (FIGS. 1 , 7, and 8) are implemented in software and stored in thememory 80 for execution by thecontroller 78. The one or moresecondary storage devices 82 are digital storage devices such as, for example, one or more hard disk drives. Thecommunication interface 84 is a wired or wireless communication interface that communicatively couples theuser device 16 to the network 20 (FIGS. 1 , 7, and 8). For example, thecommunication interface 84 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, or the like. The one or more user interface components 86 include, for example, a touchscreen, a display, one or more user input components (e.g., a keypad), a speaker, or the like, or any combination thereof. - The following use cases illustrate some but not necessarily all of the concepts discussed above. Further, the following use cases are exemplary and are not intended to limit the scope of the present disclosure or the claims that follow.
- Bob is stuck at home with nothing to do, but he is eager to interact with someone, either friends or people with interests similar to his own. Bob launches the
visualization function 36 of thesocial browsing client 34 on hisuser device 16. Thevisualization function 36 obtains social crowd data for a number of social locations from thesocial browsing system 12 according to parameters, or settings, that Bob has defined (e.g., filtering criteria). Based on the social crowd data, thevisualization function 36 provides graphical representations, or indicators, for each of a number of social locations where visual characteristic(s) of the graphical representations are controlled to be indicative of the social crowd data for the corresponding social locations. Bob can refine this view by modifying his settings such as, for example, selecting the type(s) of social locations in which he is interested. Alternatively, Bob may be enabled to search for social locations of a desired type such as, for example, Sports websites. Thevisualization function 36 will then modify the graphical representations presented to Bob to include only graphical representations for the desired type(s) of social locations. Note that thevisualization function 36 requests additional social crowd data from thesocial browsing system 12 as needed. Using the GUI output by thevisualization function 36, Bob is enabled to quickly see what social locations other users like himself are currently at, have historically been at, or are predicted to be at in the future, depending on the particular implementation. - Bob wants to interact with someone. Therefore, he sets the Online Status filtering criterion to “currently online.” Bob will interact with almost anyone, so he sets his Maximum Degree of Separation filtering criterion fairly high. In response, the
visualization function 36 presents graphical representations for a number of social locations that visualize the number of users in the social crowds by the sizes of the corresponding graphical representations and the affinities between Bob and the social crowds at the social locations by the color of the corresponding graphical representations. Bob can mouse over the graphical representations to view more detailed information regarding the type of activity, more user details, etc. By clicking on a graphical representation, Bob can go to the corresponding social locations (e.g., go to the website, launch the application, or the like). - As another use case, Bob is looking for social locations that he may want to join. More specifically, Bob is looking to become more engaged in the online social networking world. Bob sets the parameters in the system as follows: maximum degree of separation is set to a maximum value (i.e., all users are included—users in social crowds are not required to be directly or indirectly related to Bob in a social network), online status is set to allow any users that have been online (e.g., logged in) within the past week, match strength is set to a maximum value, and social networking sites/applications are the only desired social location type.
- In response, the
visualization function 36 of Bob'suser device 16 obtains social crowd data for the appropriate social locations, visualizes the social crowd data, and presents the resulting visualized social crowd data to Bob. - Again, in this example, the social locations may be represented as corresponding graphical representations having sizes and colors that are controlled to be indicative of the number of users in the social crowds identified for the corresponding social locations and the affinities between Bob and the social crowds identified for the corresponding social locations. Bob quickly notices that his best bet is to try out Facebook® and maybe MySpace® later. Bob clicks on the graphical representation for Facebook®, joins, and quickly links up with several people with similar interests.
- Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
Claims (28)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/769,802 US20120047448A1 (en) | 2009-04-29 | 2010-04-29 | System and method for social browsing using aggregated profiles |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17362509P | 2009-04-29 | 2009-04-29 | |
US12/769,802 US20120047448A1 (en) | 2009-04-29 | 2010-04-29 | System and method for social browsing using aggregated profiles |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120047448A1 true US20120047448A1 (en) | 2012-02-23 |
Family
ID=45594457
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/759,749 Abandoned US20120046995A1 (en) | 2009-04-29 | 2010-04-14 | Anonymous crowd comparison |
US12/764,150 Expired - Fee Related US8554770B2 (en) | 2009-04-29 | 2010-04-21 | Profile construction using location-based aggregate profile information |
US12/764,143 Abandoned US20120046068A1 (en) | 2009-04-29 | 2010-04-21 | Automatically performing user actions based on detected context-to-user-action correlations |
US12/764,148 Abandoned US20120047565A1 (en) | 2009-04-29 | 2010-04-21 | Proximity-based social graph creation |
US12/769,031 Abandoned US20120047152A1 (en) | 2009-04-29 | 2010-04-28 | System and method for profile tailoring in an aggregate profiling system |
US12/768,973 Abandoned US20120046017A1 (en) | 2009-04-29 | 2010-04-28 | System and method for prevention of indirect user tracking through aggregate profile data |
US12/769,802 Abandoned US20120047448A1 (en) | 2009-04-29 | 2010-04-29 | System and method for social browsing using aggregated profiles |
US14/037,431 Expired - Fee Related US9053169B2 (en) | 2009-04-29 | 2013-09-26 | Profile construction using location-based aggregate profile information |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/759,749 Abandoned US20120046995A1 (en) | 2009-04-29 | 2010-04-14 | Anonymous crowd comparison |
US12/764,150 Expired - Fee Related US8554770B2 (en) | 2009-04-29 | 2010-04-21 | Profile construction using location-based aggregate profile information |
US12/764,143 Abandoned US20120046068A1 (en) | 2009-04-29 | 2010-04-21 | Automatically performing user actions based on detected context-to-user-action correlations |
US12/764,148 Abandoned US20120047565A1 (en) | 2009-04-29 | 2010-04-21 | Proximity-based social graph creation |
US12/769,031 Abandoned US20120047152A1 (en) | 2009-04-29 | 2010-04-28 | System and method for profile tailoring in an aggregate profiling system |
US12/768,973 Abandoned US20120046017A1 (en) | 2009-04-29 | 2010-04-28 | System and method for prevention of indirect user tracking through aggregate profile data |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/037,431 Expired - Fee Related US9053169B2 (en) | 2009-04-29 | 2013-09-26 | Profile construction using location-based aggregate profile information |
Country Status (1)
Country | Link |
---|---|
US (8) | US20120046995A1 (en) |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120023524A1 (en) * | 2010-07-26 | 2012-01-26 | Suk Jihe | Image display apparatus and method for operating the same |
US20120066316A1 (en) * | 2010-03-03 | 2012-03-15 | Waldeck Technology, Llc | Status update propagation based on crowd or poi similarity |
US20120084318A1 (en) * | 2010-10-01 | 2012-04-05 | Nhn Corporation | System and method for providing document based on personal network |
US20120102165A1 (en) * | 2010-10-21 | 2012-04-26 | International Business Machines Corporation | Crowdsourcing location based applications and structured data for location based applications |
US20120180135A1 (en) * | 2010-12-09 | 2012-07-12 | Wavemarket, Inc. | System and method for improved detection and monitoring of online accounts |
US20140012927A1 (en) * | 2012-07-09 | 2014-01-09 | Ben Gertzfield | Creation of real-time conversations based on social location information |
US20140172893A1 (en) * | 2012-12-18 | 2014-06-19 | Steve Carter | Systems and methods for online social matchmaking |
US8863245B1 (en) | 2006-10-19 | 2014-10-14 | Fatdoor, Inc. | Nextdoor neighborhood social network method, apparatus, and system |
US20140372197A1 (en) * | 2013-06-14 | 2014-12-18 | Tigerapps | Systems, apparatuses and methods for providing a price point to a consumer for products in an electronic shopping cart of the consumer |
US20150020001A1 (en) * | 2013-07-15 | 2015-01-15 | Samsung Electronics Co., Ltd. | Display apparatus and control method of the same |
US20150039472A1 (en) * | 2013-08-02 | 2015-02-05 | Mark John Tryder | Method and system for selecting and pricing media content |
US8965409B2 (en) | 2006-03-17 | 2015-02-24 | Fatdoor, Inc. | User-generated community publication in an online neighborhood social network |
US9002754B2 (en) | 2006-03-17 | 2015-04-07 | Fatdoor, Inc. | Campaign in a geo-spatial environment |
US9004396B1 (en) | 2014-04-24 | 2015-04-14 | Fatdoor, Inc. | Skyteboard quadcopter and method |
US9022324B1 (en) | 2014-05-05 | 2015-05-05 | Fatdoor, Inc. | Coordination of aerial vehicles through a central server |
US9037516B2 (en) | 2006-03-17 | 2015-05-19 | Fatdoor, Inc. | Direct mailing in a geo-spatial environment |
US20150148058A1 (en) * | 2013-11-26 | 2015-05-28 | International Business Machines Corporation | Mobile device analytics |
US9064288B2 (en) | 2006-03-17 | 2015-06-23 | Fatdoor, Inc. | Government structures and neighborhood leads in a geo-spatial environment |
US9070101B2 (en) | 2007-01-12 | 2015-06-30 | Fatdoor, Inc. | Peer-to-peer neighborhood delivery multi-copter and method |
WO2015101810A1 (en) * | 2013-12-31 | 2015-07-09 | Turkcell Teknoloji Arastirma Ve Gelistirme A.S. | A system for retrieval and presentation of subscriber density information |
US9098545B2 (en) | 2007-07-10 | 2015-08-04 | Raj Abhyanker | Hot news neighborhood banter in a geo-spatial social network |
US20150288997A1 (en) * | 2014-04-07 | 2015-10-08 | Cellco Partnership D/B/A Verizon Wireless | Method and apparatus for providing dynamic channel and content provisioning |
US9183597B2 (en) | 2012-02-16 | 2015-11-10 | Location Labs, Inc. | Mobile user classification system and method |
US9268956B2 (en) | 2010-12-09 | 2016-02-23 | Location Labs, Inc. | Online-monitoring agent, system, and method for improved detection and monitoring of online accounts |
US9373149B2 (en) | 2006-03-17 | 2016-06-21 | Fatdoor, Inc. | Autonomous neighborhood vehicle commerce network and community |
US20160216871A1 (en) * | 2015-01-27 | 2016-07-28 | Twitter, Inc. | Video capture and sharing |
US9438685B2 (en) | 2013-03-15 | 2016-09-06 | Location Labs, Inc. | System and method for display of user relationships corresponding to network-enabled communications |
US9439367B2 (en) | 2014-02-07 | 2016-09-13 | Arthi Abhyanker | Network enabled gardening with a remotely controllable positioning extension |
US9441981B2 (en) | 2014-06-20 | 2016-09-13 | Fatdoor, Inc. | Variable bus stops across a bus route in a regional transportation network |
US9451020B2 (en) | 2014-07-18 | 2016-09-20 | Legalforce, Inc. | Distributed communication of independent autonomous vehicles to provide redundancy and performance |
US9457901B2 (en) | 2014-04-22 | 2016-10-04 | Fatdoor, Inc. | Quadcopter with a printable payload extension system and method |
US9460299B2 (en) | 2010-12-09 | 2016-10-04 | Location Labs, Inc. | System and method for monitoring and reporting peer communications |
US9459622B2 (en) | 2007-01-12 | 2016-10-04 | Legalforce, Inc. | Driverless vehicle commerce network and community |
US9514207B1 (en) * | 2015-06-30 | 2016-12-06 | International Business Machines Corporation | Navigating a website using visual analytics and a dynamic data source |
US9665733B1 (en) * | 2015-03-31 | 2017-05-30 | Google Inc. | Setting access controls for a content item |
US9971985B2 (en) | 2014-06-20 | 2018-05-15 | Raj Abhyanker | Train based community |
US20180253189A1 (en) * | 2011-12-16 | 2018-09-06 | Google Inc. | Controlling display of content |
US10096041B2 (en) | 2012-07-31 | 2018-10-09 | The Spoken Thought, Inc. | Method of advertising to a targeted buyer |
US10127576B2 (en) * | 2010-12-17 | 2018-11-13 | Intuitive Surgical Operations, Inc. | Identifying purchase patterns and marketing based on user mood |
US10345818B2 (en) | 2017-05-12 | 2019-07-09 | Autonomy Squared Llc | Robot transport method with transportation container |
US10447838B2 (en) | 2014-04-03 | 2019-10-15 | Location Labs, Inc. | Telephone fraud management system and method |
US10469416B2 (en) * | 2012-09-06 | 2019-11-05 | Sony Corporation | Information processing device, information processing method, and program |
US10629242B2 (en) * | 2017-12-06 | 2020-04-21 | International Business Machines Corporation | Recording user activity on a computer |
US20200151838A1 (en) * | 2010-08-11 | 2020-05-14 | Nike, Inc. | Athletic Activity User Experience and Environment |
US20200160385A1 (en) * | 2018-11-16 | 2020-05-21 | International Business Machines Corporation | Delivering advertisements based on user sentiment and learned behavior |
US10976979B1 (en) * | 2020-03-20 | 2021-04-13 | Facebook Technologies, Llc | Social experiences in artificial reality environments |
US20220092658A1 (en) * | 2020-09-22 | 2022-03-24 | Gopesh Kumar | System and method for expert service providers to provide one on one chat advice services through unique empowered independent agents to consumers |
US20220217215A1 (en) * | 2018-05-24 | 2022-07-07 | People.ai, Inc. | Systems and methods of generating an engagement profile |
US11924297B2 (en) | 2018-05-24 | 2024-03-05 | People.ai, Inc. | Systems and methods for generating a filtered data set |
US11949682B2 (en) | 2018-05-24 | 2024-04-02 | People.ai, Inc. | Systems and methods for managing the generation or deletion of record objects based on electronic activities and communication policies |
Families Citing this family (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2011010642A (en) * | 2009-04-09 | 2012-03-26 | Aegis Mobility Inc | Context based data mediation. |
US20120046995A1 (en) | 2009-04-29 | 2012-02-23 | Waldeck Technology, Llc | Anonymous crowd comparison |
US8775605B2 (en) | 2009-09-29 | 2014-07-08 | At&T Intellectual Property I, L.P. | Method and apparatus to identify outliers in social networks |
EP2519930A4 (en) * | 2009-10-15 | 2015-01-28 | Binja Inc | Mobile local search platform |
US8473512B2 (en) | 2009-11-06 | 2013-06-25 | Waldeck Technology, Llc | Dynamic profile slice |
US10277479B2 (en) * | 2010-05-11 | 2019-04-30 | Nokia Technologies Oy | Method and apparatus for determining user context |
US20120023124A1 (en) * | 2010-07-20 | 2012-01-26 | Tobin Biolchini | Social networking communication interface system and method |
US9646317B2 (en) * | 2010-08-06 | 2017-05-09 | Avaya Inc. | System and method for predicting user patterns for adaptive systems and user interfaces based on social synchrony and homophily |
KR101932714B1 (en) * | 2010-09-28 | 2018-12-26 | 삼성전자주식회사 | Method for creating and joining social group, user device, server, and storage medium thereof |
US8818981B2 (en) * | 2010-10-15 | 2014-08-26 | Microsoft Corporation | Providing information to users based on context |
WO2012078190A1 (en) | 2010-12-09 | 2012-06-14 | Checkpoints Llc | Systems, apparatuses and methods for verifying consumer activity and providing value to consumers based on consumer activity |
US20120209668A1 (en) * | 2011-02-15 | 2012-08-16 | Terry Angelos | Dynamically serving content to social network members |
US8386619B2 (en) | 2011-03-23 | 2013-02-26 | Color Labs, Inc. | Sharing content among a group of devices |
US10034135B1 (en) * | 2011-06-08 | 2018-07-24 | Dstillery Inc. | Privacy-sensitive methods, systems, and media for geo-social targeting |
US20130031160A1 (en) * | 2011-06-27 | 2013-01-31 | Christopher Carmichael | Web 3.0 Content Aggregation, Delivery and Navigation System |
US8736612B1 (en) * | 2011-07-12 | 2014-05-27 | Relationship Science LLC | Altering weights of edges in a social graph |
US20130204937A1 (en) * | 2011-09-02 | 2013-08-08 | Barry Fernando | Platform for information management and method using same |
US8412772B1 (en) | 2011-09-21 | 2013-04-02 | Color Labs, Inc. | Content sharing via social networking |
WO2013049922A1 (en) * | 2011-10-05 | 2013-04-11 | WiFarer Inc. | Mobile user profile and preferences from movement patterns |
US10091322B2 (en) | 2011-10-18 | 2018-10-02 | Qualcomm Incorporated | Method and apparatus for improving a user experience or device performance using an enriched user profile |
CN103078781A (en) * | 2011-10-25 | 2013-05-01 | 国际商业机器公司 | Method for instant messaging system and instant messaging system |
US9519722B1 (en) | 2011-11-14 | 2016-12-13 | Google Inc. | Method and system for providing dynamic personalized recommendations for a destination |
US20130179263A1 (en) * | 2012-01-11 | 2013-07-11 | Eric Leebow | Contextually linking people to strategic locations |
US8594623B2 (en) * | 2012-01-25 | 2013-11-26 | Telefonaktiebolaget L M Ericsson (Publ) | Subscriber portfolio management system |
US20130239217A1 (en) * | 2012-03-07 | 2013-09-12 | Cleanport, BV | System, Method and Computer Program Product for Determining a Person's Aggregate Online Risk Score |
US20130254152A1 (en) * | 2012-03-23 | 2013-09-26 | Palo Alto Research Center Incorporated | Distributed system and methods for modeling population-centric activities |
JP6064376B2 (en) | 2012-06-06 | 2017-01-25 | ソニー株式会社 | Information processing device, computer program, and terminal device |
JP5904021B2 (en) * | 2012-06-07 | 2016-04-13 | ソニー株式会社 | Information processing apparatus, electronic device, information processing method, and program |
SG11201408288PA (en) | 2012-08-09 | 2015-02-27 | Tata Consultancy Services Ltd | A system and method for measuring the crowdedness of people at a place |
TW201408992A (en) * | 2012-08-21 | 2014-03-01 | Hon Hai Prec Ind Co Ltd | Mobile terminal, cloud server, and method for identifying hot spot |
US9712574B2 (en) * | 2012-08-31 | 2017-07-18 | Facebook, Inc. | Real-world view of location-associated social data |
US8925054B2 (en) | 2012-10-08 | 2014-12-30 | Comcast Cable Communications, Llc | Authenticating credentials for mobile platforms |
JP2014106585A (en) * | 2012-11-26 | 2014-06-09 | Sony Corp | Information processing device, terminal device, information processing method and program |
US9026489B2 (en) * | 2012-11-30 | 2015-05-05 | International Business Machines Corporation | Updating a conference invitation responsive to user location |
US9432806B2 (en) | 2012-12-04 | 2016-08-30 | Ebay Inc. | Dynamic geofence based on members within |
US9104787B2 (en) * | 2012-12-14 | 2015-08-11 | Microsoft Technology Licensing, Llc | Augmenting search results with relevant third-party application content |
US9015110B2 (en) * | 2012-12-20 | 2015-04-21 | Hulu, LLC | Automatic updating of aggregations for aggregating data |
EP2750417A1 (en) * | 2012-12-28 | 2014-07-02 | Telefónica, S.A. | Method for determining points of interest based on user communications and location |
US8984151B1 (en) * | 2013-02-05 | 2015-03-17 | Google Inc. | Content developer abuse detection |
US10649619B2 (en) * | 2013-02-21 | 2020-05-12 | Oath Inc. | System and method of using context in selecting a response to user device interaction |
CN115130021A (en) | 2013-03-15 | 2022-09-30 | 美国结构数据有限公司 | Apparatus, system and method for providing location information |
US11025521B1 (en) * | 2013-03-15 | 2021-06-01 | CSC Holdings, LLC | Dynamic sample selection based on geospatial area and selection predicates |
US10367773B2 (en) * | 2013-05-16 | 2019-07-30 | Roger Serad | Social network based on GPS and other network connections |
US9514119B2 (en) * | 2013-05-21 | 2016-12-06 | International Business Machines Corporation | Contributor identification tool |
US9699132B2 (en) * | 2013-05-30 | 2017-07-04 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for exchanging electronic business card |
DE102013009958A1 (en) * | 2013-06-14 | 2014-12-18 | Sogidia AG | A social networking system and method of exercising it using a computing device that correlates to a user profile |
US10332154B2 (en) * | 2013-10-21 | 2019-06-25 | Shant Tchakerian | Device, method and non-transitory computer readable storage medium for determining a match between profiles |
CN104636354B (en) * | 2013-11-07 | 2018-02-06 | 华为技术有限公司 | A kind of position interest points clustering method and relevant apparatus |
US20150161649A1 (en) * | 2013-12-10 | 2015-06-11 | Semantic Labs, LLC | Method and system for authorizing and enabling anonymous consumer internet personalization |
CN104767652B (en) | 2014-01-08 | 2020-01-17 | 杜比实验室特许公司 | Method for monitoring performance of digital transmission environment |
US20150220627A1 (en) * | 2014-02-04 | 2015-08-06 | International Business Machines Corporation | System and method for finding collective interest-based social communities |
US10318990B2 (en) | 2014-04-01 | 2019-06-11 | Ebay Inc. | Selecting users relevant to a geofence |
US20150317366A1 (en) * | 2014-04-30 | 2015-11-05 | Linkedin Corporation | Generating visual representations of attributes of selected sets of members of a social network |
CN105095242B (en) * | 2014-04-30 | 2018-07-27 | 国际商业机器公司 | A kind of method and apparatus of label geographic area |
US9473883B2 (en) * | 2014-05-31 | 2016-10-18 | Apple Inc. | Location service authorization and indication |
US10373192B2 (en) | 2014-08-18 | 2019-08-06 | Google Llc | Matching conversions from applications to selected content items |
US10031925B2 (en) * | 2014-10-15 | 2018-07-24 | Thinkcx Technologies, Inc. | Method and system of using image recognition and geolocation signal analysis in the construction of a social media user identity graph |
CN105681007B (en) * | 2014-11-19 | 2020-11-06 | 北京三星通信技术研究有限公司 | Reference signal sending and receiving method and device, and scheduling method and device |
EP3030020B1 (en) * | 2014-12-01 | 2020-01-08 | Viavi Solutions UK Limited | Providing streaming geolocation infomation |
US9565541B2 (en) * | 2014-12-29 | 2017-02-07 | Iridium Satellite Llc | Emergency communications from a local area network hotspot |
CN105824840B (en) * | 2015-01-07 | 2019-07-16 | 阿里巴巴集团控股有限公司 | A kind of method and device for area label management |
US10223397B1 (en) * | 2015-03-13 | 2019-03-05 | Snap Inc. | Social graph based co-location of network users |
US10200808B2 (en) * | 2015-04-14 | 2019-02-05 | At&T Mobility Ii Llc | Anonymization of location datasets for travel studies |
US10205696B2 (en) * | 2015-06-11 | 2019-02-12 | Avi Solomon | Systems methods circuits and associated computer executable code for facilitating selective messaging and multicasting |
CN106294516A (en) * | 2015-06-12 | 2017-01-04 | 阿里巴巴集团控股有限公司 | Method for providing position information and device |
EP3107319A1 (en) | 2015-06-17 | 2016-12-21 | a French Société par Actions Simplifiée Facetts | User network system with selective user facet connections |
US9900392B2 (en) * | 2015-06-25 | 2018-02-20 | Facebook, Inc. | Identifying groups for recommendation to a social networking system user based on user location and locations associated with groups |
US10225217B2 (en) | 2015-08-31 | 2019-03-05 | Cordial Experience, Inc. | Systems and methods for distributed electronic communication and configuration |
EP3139572A1 (en) * | 2015-09-07 | 2017-03-08 | Alcatel Lucent | User profiling for location based advertising |
US9953176B2 (en) * | 2015-10-02 | 2018-04-24 | Dtex Systems Inc. | Method and system for anonymizing activity records |
US9723441B2 (en) * | 2015-10-06 | 2017-08-01 | International Business Machines Corporation | Location based on call detail record |
US9928512B2 (en) | 2015-11-25 | 2018-03-27 | International Business Machines Corporation | Intelligent detection of changed user parameters in a system |
US9930134B2 (en) * | 2015-11-25 | 2018-03-27 | International Business Machines Corporation | File replication on location-aware devices |
CA3009851C (en) * | 2016-03-01 | 2019-04-09 | Nandbox Inc. | Managing multiple profiles for a single account in an asynchronous messaging system |
US10489401B2 (en) | 2016-05-31 | 2019-11-26 | International Business Machines Corporation | Efficient aggregation in a parallel system |
US11934450B2 (en) * | 2016-06-24 | 2024-03-19 | Skusub LLC | System and method for object matching using 3D imaging |
CN107666500B (en) * | 2016-07-28 | 2021-01-15 | 腾讯科技(深圳)有限公司 | Timing method, device and system |
EP3322149B1 (en) * | 2016-11-10 | 2023-09-13 | Tata Consultancy Services Limited | Customized map generation with real time messages and locations from concurrent users |
US10542019B2 (en) * | 2017-03-09 | 2020-01-21 | International Business Machines Corporation | Preventing intersection attacks |
US10346285B2 (en) | 2017-06-09 | 2019-07-09 | Microsoft Technology Licensing, Llc | Instrumentation of user actions in software applications |
CN107360146B (en) * | 2017-07-03 | 2021-03-26 | 深圳大学 | Privacy protection space crowdsourcing task allocation system and method for receiving guarantee |
US11263399B2 (en) * | 2017-07-31 | 2022-03-01 | Apple Inc. | Correcting input based on user context |
TWI644224B (en) * | 2017-10-18 | 2018-12-11 | 財團法人工業技術研究院 | Data de-identification method, data de-identification apparatus and non-transitory computer readable storage medium executing the same |
US11068511B2 (en) | 2018-03-27 | 2021-07-20 | International Business Machines Corporation | Aggregate relationship graph |
CN110390045B (en) * | 2018-04-12 | 2021-12-17 | 腾讯大地通途(北京)科技有限公司 | Interest point recommendation method and device based on location service |
WO2019231439A1 (en) * | 2018-05-30 | 2019-12-05 | Google Llc | Optimizing geographic region selection |
CN110634208A (en) | 2018-06-22 | 2019-12-31 | 开利公司 | Zone learning for friction-free building interaction |
US11468029B2 (en) * | 2019-01-21 | 2022-10-11 | Netapp, Inc. | Evolution of communities derived from access patterns |
CN111291082B (en) * | 2020-01-20 | 2023-10-31 | 北京百度网讯科技有限公司 | Data aggregation processing method, device, equipment and storage medium |
US11477615B2 (en) * | 2020-10-30 | 2022-10-18 | Hewlett Packard Enterprise Development Lp | Alerting mobile devices based on location and duration data |
US11082315B1 (en) * | 2020-12-14 | 2021-08-03 | Qualcomm Incorporated | Method of sub flow or activity classification |
EP4282158A1 (en) * | 2021-01-25 | 2023-11-29 | EmergeX, LLC | Methods and system for coordinating uncoordinated content based on multi-modal metadata through data filtration and synchronization in order to generate composite media assets |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001025947A1 (en) * | 1999-10-04 | 2001-04-12 | Meidar Liad Y | Method of dynamically recommending web sites and answering user queries based upon affinity groups |
US6724403B1 (en) * | 1999-10-29 | 2004-04-20 | Surfcast, Inc. | System and method for simultaneous display of multiple information sources |
US20060085419A1 (en) * | 2004-10-19 | 2006-04-20 | Rosen James S | System and method for location based social networking |
US20080140650A1 (en) * | 2006-11-29 | 2008-06-12 | David Stackpole | Dynamic geosocial networking |
US20080261569A1 (en) * | 2007-04-23 | 2008-10-23 | Helio, Llc | Integrated messaging, contacts, and mail interface, systems and methods |
US20090177744A1 (en) * | 2008-01-04 | 2009-07-09 | Yahoo! Inc. | Identifying and employing social network relationships |
US7600189B2 (en) * | 2002-10-11 | 2009-10-06 | Sony Corporation | Display device, display method, and program |
US20090254843A1 (en) * | 2008-04-05 | 2009-10-08 | Social Communications Company | Shared virtual area communication environment based apparatus and methods |
US7630972B2 (en) * | 2007-01-05 | 2009-12-08 | Yahoo! Inc. | Clustered search processing |
US7673327B1 (en) * | 2006-06-27 | 2010-03-02 | Confluence Commons, Inc. | Aggregation system |
US20100064253A1 (en) * | 2008-09-11 | 2010-03-11 | International Business Machines Corporation | Providing Users With Location Information Within a Virtual World |
US20100205541A1 (en) * | 2009-02-11 | 2010-08-12 | Jeffrey A. Rapaport | social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US8060463B1 (en) * | 2005-03-30 | 2011-11-15 | Amazon Technologies, Inc. | Mining of user event data to identify users with common interests |
US8181201B2 (en) * | 2005-08-30 | 2012-05-15 | Nds Limited | Enhanced electronic program guides |
Family Cites Families (180)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539232A (en) | 1994-05-31 | 1996-07-23 | Kabushiki Kaisha Toshiba | MOS composite type semiconductor device |
US5758257A (en) * | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US5734721A (en) * | 1995-10-12 | 1998-03-31 | Itt Corporation | Anti-spoof without error extension (ANSWER) |
US6308175B1 (en) * | 1996-04-04 | 2001-10-23 | Lycos, Inc. | Integrated collaborative/content-based filter structure employing selectively shared, content-based profile data to evaluate information entities in a massive information network |
JP3276860B2 (en) * | 1996-09-02 | 2002-04-22 | 富士通株式会社 | Data compression / decompression method |
US5890152A (en) | 1996-09-09 | 1999-03-30 | Seymour Alvin Rapaport | Personal feedback browser for obtaining media files |
US20010013009A1 (en) | 1997-05-20 | 2001-08-09 | Daniel R. Greening | System and method for computer-based marketing |
US6189008B1 (en) | 1998-04-03 | 2001-02-13 | Intertainer, Inc. | Dynamic digital asset management |
US6240069B1 (en) | 1998-06-16 | 2001-05-29 | Ericsson Inc. | System and method for location-based group services |
US6209111B1 (en) * | 1998-11-09 | 2001-03-27 | Microsoft Corporation | Error correction on a mobile device |
US9183306B2 (en) * | 1998-12-18 | 2015-11-10 | Microsoft Technology Licensing, Llc | Automated selection of appropriate information based on a computer user's context |
US6842877B2 (en) * | 1998-12-18 | 2005-01-11 | Tangis Corporation | Contextual responses based on automated learning techniques |
US6385619B1 (en) | 1999-01-08 | 2002-05-07 | International Business Machines Corporation | Automatic user interest profile generation from structured document access information |
US6401051B1 (en) | 1999-04-20 | 2002-06-04 | Sun Microsystems, Inc. | Method and apparatus for locating buried objects |
US7162471B1 (en) | 1999-05-11 | 2007-01-09 | Maquis Techtrix Llc | Content query system and method |
US20040181668A1 (en) | 1999-06-30 | 2004-09-16 | Blew Edwin O. | Methods for conducting server-side encryption/decryption-on-demand |
US6549768B1 (en) | 1999-08-24 | 2003-04-15 | Nokia Corp | Mobile communications matching system |
PT1169873E (en) | 1999-09-29 | 2004-03-31 | Swisscom Mobile Ag | METHOD FOR MEETING MEMBERS OF A COMMON GROUP OF INTERESTS |
US6204844B1 (en) | 1999-10-08 | 2001-03-20 | Motorola, Inc. | Method and apparatus for dynamically grouping communication units in a communication system |
US6819919B1 (en) | 1999-10-29 | 2004-11-16 | Telcontar | Method for providing matching and introduction services to proximate mobile users and service providers |
US6708172B1 (en) | 1999-12-22 | 2004-03-16 | Urbanpixel, Inc. | Community-based shared multiple browser environment |
GB2358263A (en) | 2000-01-13 | 2001-07-18 | Applied Psychology Res Ltd | Generating user profile data |
CA2298194A1 (en) | 2000-02-07 | 2001-08-07 | Profilium Inc. | Method and system for delivering and targeting advertisements over wireless networks |
US6701362B1 (en) | 2000-02-23 | 2004-03-02 | Purpleyogi.Com Inc. | Method for creating user profiles |
US20020010628A1 (en) | 2000-05-24 | 2002-01-24 | Alan Burns | Method of advertising and polling |
US6539232B2 (en) | 2000-06-10 | 2003-03-25 | Telcontar | Method and system for connecting mobile users based on degree of separation |
US20020049690A1 (en) | 2000-06-16 | 2002-04-25 | Masanori Takano | Method of expressing crowd movement in game, storage medium, and information processing apparatus |
US6968179B1 (en) | 2000-07-27 | 2005-11-22 | Microsoft Corporation | Place specific buddy list services |
US7054614B1 (en) * | 2000-08-07 | 2006-05-30 | Denso Corporation | Context privacy for delivery of context-aware content for wireless terminals |
US8117281B2 (en) | 2006-11-02 | 2012-02-14 | Addnclick, Inc. | Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content |
CA2428404C (en) * | 2000-11-20 | 2012-02-07 | Ian Barry Crabtree | Information provider |
US6832242B2 (en) | 2000-12-28 | 2004-12-14 | Intel Corporation | System and method for automatically sharing information between handheld devices |
US7062469B2 (en) | 2001-01-02 | 2006-06-13 | Nokia Corporation | System and method for public wireless network access subsidized by dynamic display advertising |
US6529136B2 (en) | 2001-02-28 | 2003-03-04 | International Business Machines Corporation | Group notification system and method for implementing and indicating the proximity of individuals or groups to other individuals or groups |
US20040098386A1 (en) | 2001-03-30 | 2004-05-20 | Marcus Thint | Profile management system |
US6757517B2 (en) | 2001-05-10 | 2004-06-29 | Chin-Chi Chang | Apparatus and method for coordinated music playback in wireless ad-hoc networks |
JP2003203084A (en) | 2001-06-29 | 2003-07-18 | Hitachi Ltd | Information terminal device, server, and information distributing device and method |
US7284191B2 (en) * | 2001-08-13 | 2007-10-16 | Xerox Corporation | Meta-document management system with document identifiers |
US7123918B1 (en) | 2001-08-20 | 2006-10-17 | Verizon Services Corp. | Methods and apparatus for extrapolating person and device counts |
US20050231425A1 (en) | 2001-09-10 | 2005-10-20 | American Gnc Corporation | Wireless wide area networked precision geolocation |
US7035863B2 (en) | 2001-11-13 | 2006-04-25 | Koninklijke Philips Electronics N.V. | Method, system and program product for populating a user profile based on existing user profiles |
US20040025185A1 (en) | 2002-04-29 | 2004-02-05 | John Goci | Digital video jukebox network enterprise system |
US7024207B2 (en) | 2002-04-30 | 2006-04-04 | Motorola, Inc. | Method of targeting a message to a communication device selected from among a set of communication devices |
US7403990B2 (en) | 2002-05-08 | 2008-07-22 | Ricoh Company, Ltd. | Information distribution system |
US7254406B2 (en) | 2002-06-10 | 2007-08-07 | Suman Beros | Method and apparatus for effecting a detection of mobile devices that are proximate and exhibit commonalities between specific data sets, or profiles, associated with the persons transporting the mobile devices |
US7444655B2 (en) | 2002-06-11 | 2008-10-28 | Microsoft Corporation | Anonymous aggregated data collection |
US7116985B2 (en) | 2002-06-14 | 2006-10-03 | Cingular Wireless Ii, Llc | Method for providing location-based services in a wireless network, such as varying levels of services |
US7251233B2 (en) * | 2002-06-24 | 2007-07-31 | Intel Corporation | Call routing in a location-aware network |
US20040098744A1 (en) | 2002-11-18 | 2004-05-20 | Koninklijke Philips Electronics N.V. | Creation of a stereotypical profile via image based clustering |
US7247024B2 (en) | 2002-11-22 | 2007-07-24 | Ut-Battelle, Llc | Method for spatially distributing a population |
US8375008B1 (en) * | 2003-01-17 | 2013-02-12 | Robert Gomes | Method and system for enterprise-wide retention of digital or electronic data |
JP2004241866A (en) | 2003-02-03 | 2004-08-26 | Alpine Electronics Inc | Inter-vehicle communication system |
US8423042B2 (en) | 2004-02-24 | 2013-04-16 | Invisitrack, Inc. | Method and system for positional finding using RF, continuous and/or combined movement |
US7787886B2 (en) | 2003-02-24 | 2010-08-31 | Invisitrack, Inc. | System and method for locating a target using RFID |
US7158798B2 (en) | 2003-02-28 | 2007-01-02 | Lucent Technologies Inc. | Location-based ad-hoc game services |
FI118494B (en) | 2003-03-26 | 2007-11-30 | Teliasonera Finland Oyj | A method for monitoring traffic flows of mobile users |
GB2402841B (en) * | 2003-06-10 | 2005-05-11 | Whereonearth Ltd | A method of providing location based information to a mobile terminal within a communications network |
EP1631932A4 (en) | 2003-06-12 | 2010-10-27 | Honda Motor Co Ltd | Systems and methods for using visual hulls to determine the number of people in a crowd |
US20050038876A1 (en) | 2003-08-15 | 2005-02-17 | Aloke Chaudhuri | System and method for instant match based on location, presence, personalization and communication |
US7428417B2 (en) | 2003-09-26 | 2008-09-23 | Siemens Communications, Inc. | System and method for presence perimeter rule downloading |
US20040107283A1 (en) | 2003-10-06 | 2004-06-03 | Trilibis Inc. | System and method for the aggregation and matching of personal information |
US20050130634A1 (en) | 2003-10-31 | 2005-06-16 | Globespanvirata, Inc. | Location awareness in wireless networks |
US7359724B2 (en) | 2003-11-20 | 2008-04-15 | Nokia Corporation | Method and system for location based group formation |
US20070162328A1 (en) | 2004-01-20 | 2007-07-12 | Nooly Technologies, Ltd. | Lbs nowcasting sensitive advertising and promotion system and method |
US7398081B2 (en) | 2004-02-04 | 2008-07-08 | Modu Ltd. | Device and system for selective wireless communication with contact list memory |
US7310676B2 (en) * | 2004-02-09 | 2007-12-18 | Proxpro, Inc. | Method and computer system for matching mobile device users for business and social networking |
US7545784B2 (en) | 2004-02-11 | 2009-06-09 | Yahoo! Inc. | System and method for wireless communication between previously known and unknown users |
US8014763B2 (en) | 2004-02-28 | 2011-09-06 | Charles Martin Hymes | Wireless communications with proximal targets identified visually, aurally, or positionally |
US7593740B2 (en) | 2004-05-12 | 2009-09-22 | Google, Inc. | Location-based social software for mobile devices |
WO2005114379A2 (en) | 2004-05-14 | 2005-12-01 | Perfect Market Technologies, Inc. | Personalized search engine |
WO2005122013A1 (en) | 2004-06-10 | 2005-12-22 | Matsushita Electric Industrial Co., Ltd. | User profile management system |
US7509131B2 (en) | 2004-06-29 | 2009-03-24 | Microsoft Corporation | Proximity detection using wireless signal strengths |
US8078607B2 (en) * | 2006-03-30 | 2011-12-13 | Google Inc. | Generating website profiles based on queries from webistes and user activities on the search results |
US20060036457A1 (en) * | 2004-08-13 | 2006-02-16 | Mcnamara Lori | Systems and methods for facilitating romantic connections |
US20060046743A1 (en) | 2004-08-24 | 2006-03-02 | Mirho Charles A | Group organization according to device location |
US8126441B2 (en) | 2004-09-21 | 2012-02-28 | Advanced Ground Information Systems, Inc. | Method of establishing a cell phone network of participants with a common interest |
US11283885B2 (en) | 2004-10-19 | 2022-03-22 | Verizon Patent And Licensing Inc. | System and method for location based matching and promotion |
US7707413B2 (en) | 2004-12-02 | 2010-04-27 | Palo Alto Research Center Incorporated | Systems and methods for protecting private information in a mobile environment |
US20060123080A1 (en) | 2004-12-03 | 2006-06-08 | Motorola, Inc. | Method and system of collectively setting preferences among a plurality of electronic devices and users |
WO2009021198A1 (en) | 2007-08-08 | 2009-02-12 | Baynote, Inc. | Method and apparatus for context-based content recommendation |
US20060195361A1 (en) | 2005-10-01 | 2006-08-31 | Outland Research | Location-based demographic profiling system and method of use |
US20060229058A1 (en) | 2005-10-29 | 2006-10-12 | Outland Research | Real-time person-to-person communication using geospatial addressing |
US7853268B2 (en) | 2005-01-26 | 2010-12-14 | Broadcom Corporation | GPS enabled cell phone location tracking for security purposes |
JP4630080B2 (en) * | 2005-01-31 | 2011-02-09 | 富士通株式会社 | Data restoration method and data restoration program |
US7236091B2 (en) * | 2005-02-10 | 2007-06-26 | Pinc Solutions | Position-tracking system |
US7423580B2 (en) | 2005-03-14 | 2008-09-09 | Invisitrack, Inc. | Method and system of three-dimensional positional finding |
US7353034B2 (en) | 2005-04-04 | 2008-04-01 | X One, Inc. | Location sharing and tracking using mobile phones or other wireless devices |
US20070210937A1 (en) | 2005-04-21 | 2007-09-13 | Microsoft Corporation | Dynamic rendering of map information |
US20060282303A1 (en) | 2005-06-08 | 2006-12-14 | Microsoft Corporation | Distributed organizational analyzer |
US7908254B2 (en) * | 2005-06-10 | 2011-03-15 | Hewlett-Packard Development Company, L.P. | Identifying characteristics in sets of organized items |
US20070005419A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Recommending location and services via geospatial collaborative filtering |
US20070156664A1 (en) | 2005-07-06 | 2007-07-05 | Gemini Mobile Technologies, Inc. | Automatic user matching in an online environment |
US20070015518A1 (en) | 2005-07-15 | 2007-01-18 | Agilis Systems, Inc. | Mobile resource location-based customer contact systems |
US8150416B2 (en) | 2005-08-08 | 2012-04-03 | Jambo Networks, Inc. | System and method for providing communication services to mobile device users incorporating proximity determination |
US7734632B2 (en) * | 2005-10-28 | 2010-06-08 | Disney Enterprises, Inc. | System and method for targeted ad delivery |
CN1967523B (en) | 2005-11-15 | 2010-07-28 | 日电(中国)有限公司 | Inquiry system and method of traffic information |
US20070118509A1 (en) | 2005-11-18 | 2007-05-24 | Flashpoint Technology, Inc. | Collaborative service for suggesting media keywords based on location data |
US9240051B2 (en) | 2005-11-23 | 2016-01-19 | Avigilon Fortress Corporation | Object density estimation in video |
US7558404B2 (en) | 2005-11-28 | 2009-07-07 | Honeywell International Inc. | Detection of abnormal crowd behavior |
US20070135138A1 (en) | 2005-12-13 | 2007-06-14 | Internation Business Machines Corporation | Methods, systems, and computer program products for providing location based subscription services |
US20070149214A1 (en) | 2005-12-13 | 2007-06-28 | Squareloop, Inc. | System, apparatus, and methods for location managed message processing |
US7774001B2 (en) | 2005-12-16 | 2010-08-10 | Sony Ericsson Mobile Communications Ab | Device and method for determining where crowds exist |
US7801542B1 (en) | 2005-12-19 | 2010-09-21 | Stewart Brett B | Automatic management of geographic information pertaining to social networks, groups of users, or assets |
US7620404B2 (en) | 2005-12-22 | 2009-11-17 | Pascal Chesnais | Methods and apparatus for organizing and presenting contact information in a mobile communication system |
US20070218900A1 (en) | 2006-03-17 | 2007-09-20 | Raj Vasant Abhyanker | Map based neighborhood search and community contribution |
KR100750632B1 (en) | 2005-12-30 | 2007-08-20 | 삼성전자주식회사 | Interactive traffic information providing method and apparatus |
US7466986B2 (en) | 2006-01-19 | 2008-12-16 | International Business Machines Corporation | On-device mapping of WIFI hotspots via direct connection of WIFI-enabled and GPS-enabled mobile devices |
US20070174243A1 (en) | 2006-01-20 | 2007-07-26 | Fritz Charles W | Mobile social search using physical identifiers |
US20070179863A1 (en) | 2006-01-30 | 2007-08-02 | Goseetell Network, Inc. | Collective intelligence recommender system for travel information and travel industry marketing platform |
US7856360B2 (en) | 2006-01-30 | 2010-12-21 | Hoozware, Inc. | System for providing a service to venues where people aggregate |
US7788188B2 (en) | 2006-01-30 | 2010-08-31 | Hoozware, Inc. | System for providing a service to venues where people aggregate |
US8352183B2 (en) | 2006-02-04 | 2013-01-08 | Microsoft Corporation | Maps for social networking and geo blogs |
US8046411B2 (en) | 2006-04-28 | 2011-10-25 | Yahoo! Inc. | Multimedia sharing in social networks for mobile devices |
US20070282621A1 (en) | 2006-06-01 | 2007-12-06 | Flipt, Inc | Mobile dating system incorporating user location information |
US20070290832A1 (en) | 2006-06-16 | 2007-12-20 | Fmr Corp. | Invoking actionable alerts |
US7552862B2 (en) | 2006-06-29 | 2009-06-30 | Microsoft Corporation | User-controlled profile sharing |
US7685192B1 (en) | 2006-06-30 | 2010-03-23 | Amazon Technologies, Inc. | Method and system for displaying interest space user communities |
US20090287783A1 (en) | 2006-06-30 | 2009-11-19 | Eccosphere International Pty Ltd., An Australian C | Method of social interaction between communication device users |
US7680959B2 (en) | 2006-07-11 | 2010-03-16 | Napo Enterprises, Llc | P2P network for providing real time media recommendations |
US7932831B2 (en) | 2006-07-11 | 2011-04-26 | At&T Intellectual Property I, L.P. | Crowd determination |
US20080059492A1 (en) * | 2006-08-31 | 2008-03-06 | Tarin Stephen A | Systems, methods, and storage structures for cached databases |
US20080182563A1 (en) | 2006-09-15 | 2008-07-31 | Wugofski Theodore D | Method and system for social networking over mobile devices using profiles |
US20080082465A1 (en) * | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Guardian angel |
US8117210B2 (en) * | 2006-10-06 | 2012-02-14 | Eastman Kodak Company | Sampling image records from a collection based on a change metric |
US20080086741A1 (en) | 2006-10-10 | 2008-04-10 | Quantcast Corporation | Audience commonality and measurement |
US20080097999A1 (en) | 2006-10-10 | 2008-04-24 | Tim Horan | Dynamic creation of information sharing social networks |
US20080113674A1 (en) | 2006-11-10 | 2008-05-15 | Mohammad Faisal Baig | Vicinity-based community for wireless users |
US7849082B2 (en) | 2006-11-17 | 2010-12-07 | W.W. Grainger, Inc. | System and method for influencing display of web site content |
US20080242317A1 (en) | 2007-03-26 | 2008-10-02 | Fatdoor, Inc. | Mobile content creation, sharing, and commerce in a geo-spatial environment |
US8116564B2 (en) | 2006-11-22 | 2012-02-14 | Regents Of The University Of Minnesota | Crowd counting and monitoring |
US20080126113A1 (en) | 2006-11-29 | 2008-05-29 | Steve Manning | Systems and methods for creating and participating in ad-hoc virtual communities |
US20080182591A1 (en) | 2006-12-13 | 2008-07-31 | Synthesis Studios, Inc. | Mobile Proximity-Based Notifications |
US20080146250A1 (en) | 2006-12-15 | 2008-06-19 | Jeffrey Aaron | Method and System for Creating and Using a Location Safety Indicator |
US8224359B2 (en) | 2006-12-22 | 2012-07-17 | Yahoo! Inc. | Provisioning my status information to others in my social network |
US20080188261A1 (en) | 2007-02-02 | 2008-08-07 | Miles Arnone | Mediated social network |
US8112720B2 (en) | 2007-04-05 | 2012-02-07 | Napo Enterprises, Llc | System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items |
US9140552B2 (en) | 2008-07-02 | 2015-09-22 | Qualcomm Incorporated | User defined names for displaying monitored location |
GB2462049A (en) | 2007-05-28 | 2010-01-27 | Ericsson Telefon Ab L M | A method and apparatus for providing services to client groups in a communication network |
US8185137B2 (en) | 2007-06-25 | 2012-05-22 | Microsoft Corporation | Intensity-based maps |
US20090006551A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Dynamic awareness of people |
US20090048977A1 (en) * | 2007-07-07 | 2009-02-19 | Qualcomm Incorporated | User profile generation architecture for targeted content distribution using external processes |
US8165808B2 (en) | 2007-07-17 | 2012-04-24 | Yahoo! Inc. | Techniques for representing location information |
US7962155B2 (en) | 2007-07-18 | 2011-06-14 | Hewlett-Packard Development Company, L.P. | Location awareness of devices |
US20090030999A1 (en) | 2007-07-27 | 2009-01-29 | Gatzke Alan D | Contact Proximity Notification |
US9009292B2 (en) * | 2007-07-30 | 2015-04-14 | Sybase, Inc. | Context-based data pre-fetching and notification for mobile applications |
US8050690B2 (en) | 2007-08-14 | 2011-11-01 | Mpanion, Inc. | Location based presence and privacy management |
US8924250B2 (en) | 2007-09-13 | 2014-12-30 | International Business Machines Corporation | Advertising in virtual environments based on crowd statistics |
US7958142B2 (en) * | 2007-09-20 | 2011-06-07 | Microsoft Corporation | User profile aggregation |
US8923887B2 (en) | 2007-09-24 | 2014-12-30 | Alcatel Lucent | Social networking on a wireless communication system |
JP4858400B2 (en) | 2007-10-17 | 2012-01-18 | ソニー株式会社 | Information providing system, information providing apparatus, and information providing method |
US20090106040A1 (en) | 2007-10-23 | 2009-04-23 | New Jersey Institute Of Technology | System And Method For Synchronous Recommendations of Social Interaction Spaces to Individuals |
US7904442B2 (en) * | 2007-10-31 | 2011-03-08 | Intuit Inc. | Method and apparatus for facilitating a collaborative search procedure |
US8467955B2 (en) | 2007-10-31 | 2013-06-18 | Microsoft Corporation | Map-centric service for social events |
US8624733B2 (en) | 2007-11-05 | 2014-01-07 | Francis John Cusack, JR. | Device for electronic access control with integrated surveillance |
US8620996B2 (en) | 2007-11-19 | 2013-12-31 | Motorola Mobility Llc | Method and apparatus for determining a group preference in a social network |
US9269089B2 (en) | 2007-11-22 | 2016-02-23 | Yahoo! Inc. | Method and system for media promotion |
US20100020776A1 (en) | 2007-11-27 | 2010-01-28 | Google Inc. | Wireless network-based location approximation |
US7895049B2 (en) | 2007-11-30 | 2011-02-22 | Yahoo! Inc. | Dynamic representation of group activity through reactive personas |
US8307029B2 (en) | 2007-12-10 | 2012-11-06 | Yahoo! Inc. | System and method for conditional delivery of messages |
US8862622B2 (en) | 2007-12-10 | 2014-10-14 | Sprylogics International Corp. | Analysis, inference, and visualization of social networks |
US8010601B2 (en) | 2007-12-21 | 2011-08-30 | Waldeck Technology, Llc | Contiguous location-based user networks |
US8060018B2 (en) | 2008-02-08 | 2011-11-15 | Yahoo! Inc. | Data sharing based on proximity-based ad hoc network |
US20090210480A1 (en) | 2008-02-14 | 2009-08-20 | Suthaharan Sivasubramaniam | Method and system for collective socializing using a mobile social network |
US20090209286A1 (en) | 2008-02-19 | 2009-08-20 | Motorola, Inc. | Aggregated view of local and remote social information |
CA2657495C (en) * | 2008-03-10 | 2017-04-18 | Careerious | System and method for creating a dynamic customized employment profile and subsequent use thereof |
US9646025B2 (en) * | 2008-05-27 | 2017-05-09 | Qualcomm Incorporated | Method and apparatus for aggregating and presenting data associated with geographic locations |
US20090307263A1 (en) * | 2008-06-06 | 2009-12-10 | Sense Networks, Inc. | System And Method Of Performing Location Analytics |
US8214346B2 (en) * | 2008-06-27 | 2012-07-03 | Cbs Interactive Inc. | Personalization engine for classifying unstructured documents |
US20100017261A1 (en) | 2008-07-17 | 2010-01-21 | Kota Enterprises, Llc | Expert system and service for location-based content influence for narrowcast |
US8812361B2 (en) | 2008-07-24 | 2014-08-19 | At&T Intellectual Properties I, L.P. | System and method of targeted advertisement |
US20100041378A1 (en) * | 2008-08-14 | 2010-02-18 | Ralph Aceves | System and method for automatically generating a user profile from location information |
US8768892B2 (en) * | 2008-09-29 | 2014-07-01 | Microsoft Corporation | Analyzing data and providing recommendations |
US8645283B2 (en) | 2008-11-24 | 2014-02-04 | Nokia Corporation | Determination of event of interest |
US8265658B2 (en) | 2009-02-02 | 2012-09-11 | Waldeck Technology, Llc | System and method for automated location-based widgets |
US8495065B2 (en) | 2009-02-02 | 2013-07-23 | Waldeck Technology, Llc | Maintaining a historical record of anonymized user profile data by location for users in a mobile environment |
US9275151B2 (en) | 2009-02-06 | 2016-03-01 | Hewlett Packard Enterprise Development Lp | System and method for generating a user profile |
US20120047087A1 (en) | 2009-03-25 | 2012-02-23 | Waldeck Technology Llc | Smart encounters |
US20120046995A1 (en) | 2009-04-29 | 2012-02-23 | Waldeck Technology, Llc | Anonymous crowd comparison |
US8473512B2 (en) | 2009-11-06 | 2013-06-25 | Waldeck Technology, Llc | Dynamic profile slice |
US20130185750A1 (en) * | 2012-01-17 | 2013-07-18 | General Instrument Corporation | Context based correlative targeted advertising |
-
2010
- 2010-04-14 US US12/759,749 patent/US20120046995A1/en not_active Abandoned
- 2010-04-21 US US12/764,150 patent/US8554770B2/en not_active Expired - Fee Related
- 2010-04-21 US US12/764,143 patent/US20120046068A1/en not_active Abandoned
- 2010-04-21 US US12/764,148 patent/US20120047565A1/en not_active Abandoned
- 2010-04-28 US US12/769,031 patent/US20120047152A1/en not_active Abandoned
- 2010-04-28 US US12/768,973 patent/US20120046017A1/en not_active Abandoned
- 2010-04-29 US US12/769,802 patent/US20120047448A1/en not_active Abandoned
-
2013
- 2013-09-26 US US14/037,431 patent/US9053169B2/en not_active Expired - Fee Related
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001025947A1 (en) * | 1999-10-04 | 2001-04-12 | Meidar Liad Y | Method of dynamically recommending web sites and answering user queries based upon affinity groups |
US6724403B1 (en) * | 1999-10-29 | 2004-04-20 | Surfcast, Inc. | System and method for simultaneous display of multiple information sources |
US7600189B2 (en) * | 2002-10-11 | 2009-10-06 | Sony Corporation | Display device, display method, and program |
US20060085419A1 (en) * | 2004-10-19 | 2006-04-20 | Rosen James S | System and method for location based social networking |
US8060463B1 (en) * | 2005-03-30 | 2011-11-15 | Amazon Technologies, Inc. | Mining of user event data to identify users with common interests |
US8181201B2 (en) * | 2005-08-30 | 2012-05-15 | Nds Limited | Enhanced electronic program guides |
US7673327B1 (en) * | 2006-06-27 | 2010-03-02 | Confluence Commons, Inc. | Aggregation system |
US20080140650A1 (en) * | 2006-11-29 | 2008-06-12 | David Stackpole | Dynamic geosocial networking |
US7630972B2 (en) * | 2007-01-05 | 2009-12-08 | Yahoo! Inc. | Clustered search processing |
US20080261569A1 (en) * | 2007-04-23 | 2008-10-23 | Helio, Llc | Integrated messaging, contacts, and mail interface, systems and methods |
US20090177744A1 (en) * | 2008-01-04 | 2009-07-09 | Yahoo! Inc. | Identifying and employing social network relationships |
US20090254843A1 (en) * | 2008-04-05 | 2009-10-08 | Social Communications Company | Shared virtual area communication environment based apparatus and methods |
US20100064253A1 (en) * | 2008-09-11 | 2010-03-11 | International Business Machines Corporation | Providing Users With Location Information Within a Virtual World |
US20100205541A1 (en) * | 2009-02-11 | 2010-08-12 | Jeffrey A. Rapaport | social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
Non-Patent Citations (1)
Title |
---|
"Avoiding Common Traps When Accessing RDBMS Data", by Mike Rhoads, NESUG 2008, Coder's Corner * |
Cited By (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9002754B2 (en) | 2006-03-17 | 2015-04-07 | Fatdoor, Inc. | Campaign in a geo-spatial environment |
US9037516B2 (en) | 2006-03-17 | 2015-05-19 | Fatdoor, Inc. | Direct mailing in a geo-spatial environment |
US9373149B2 (en) | 2006-03-17 | 2016-06-21 | Fatdoor, Inc. | Autonomous neighborhood vehicle commerce network and community |
US9064288B2 (en) | 2006-03-17 | 2015-06-23 | Fatdoor, Inc. | Government structures and neighborhood leads in a geo-spatial environment |
US8965409B2 (en) | 2006-03-17 | 2015-02-24 | Fatdoor, Inc. | User-generated community publication in an online neighborhood social network |
US8863245B1 (en) | 2006-10-19 | 2014-10-14 | Fatdoor, Inc. | Nextdoor neighborhood social network method, apparatus, and system |
US9459622B2 (en) | 2007-01-12 | 2016-10-04 | Legalforce, Inc. | Driverless vehicle commerce network and community |
US9070101B2 (en) | 2007-01-12 | 2015-06-30 | Fatdoor, Inc. | Peer-to-peer neighborhood delivery multi-copter and method |
US9098545B2 (en) | 2007-07-10 | 2015-08-04 | Raj Abhyanker | Hot news neighborhood banter in a geo-spatial social network |
US8898288B2 (en) * | 2010-03-03 | 2014-11-25 | Waldeck Technology, Llc | Status update propagation based on crowd or POI similarity |
US20120066316A1 (en) * | 2010-03-03 | 2012-03-15 | Waldeck Technology, Llc | Status update propagation based on crowd or poi similarity |
US9332298B2 (en) * | 2010-07-26 | 2016-05-03 | Lg Electronics Inc. | Image display apparatus and method for operating the same |
US20120023524A1 (en) * | 2010-07-26 | 2012-01-26 | Suk Jihe | Image display apparatus and method for operating the same |
US11948216B2 (en) * | 2010-08-11 | 2024-04-02 | Nike, Inc. | Athletic activity user experience and environment |
US20200151838A1 (en) * | 2010-08-11 | 2020-05-14 | Nike, Inc. | Athletic Activity User Experience and Environment |
US8671094B2 (en) * | 2010-10-01 | 2014-03-11 | Nhn Corporation | System and method for providing document based on personal network |
US20120084318A1 (en) * | 2010-10-01 | 2012-04-05 | Nhn Corporation | System and method for providing document based on personal network |
US20120102165A1 (en) * | 2010-10-21 | 2012-04-26 | International Business Machines Corporation | Crowdsourcing location based applications and structured data for location based applications |
US10169017B2 (en) * | 2010-10-21 | 2019-01-01 | International Business Machines Corporation | Crowdsourcing location based applications and structured data for location based applications |
US20120180135A1 (en) * | 2010-12-09 | 2012-07-12 | Wavemarket, Inc. | System and method for improved detection and monitoring of online accounts |
US9268956B2 (en) | 2010-12-09 | 2016-02-23 | Location Labs, Inc. | Online-monitoring agent, system, and method for improved detection and monitoring of online accounts |
US9571590B2 (en) * | 2010-12-09 | 2017-02-14 | Location Labs, Inc. | System and method for improved detection and monitoring of online accounts |
US9460299B2 (en) | 2010-12-09 | 2016-10-04 | Location Labs, Inc. | System and method for monitoring and reporting peer communications |
US11392985B2 (en) | 2010-12-17 | 2022-07-19 | Paypal, Inc. | Identifying purchase patterns and marketing based on user mood |
US10127576B2 (en) * | 2010-12-17 | 2018-11-13 | Intuitive Surgical Operations, Inc. | Identifying purchase patterns and marketing based on user mood |
US20190220893A1 (en) * | 2010-12-17 | 2019-07-18 | Paypal Inc. | Identifying purchase patterns and marketing based on user mood |
US20180253189A1 (en) * | 2011-12-16 | 2018-09-06 | Google Inc. | Controlling display of content |
US9183597B2 (en) | 2012-02-16 | 2015-11-10 | Location Labs, Inc. | Mobile user classification system and method |
US20140012927A1 (en) * | 2012-07-09 | 2014-01-09 | Ben Gertzfield | Creation of real-time conversations based on social location information |
US10896191B2 (en) | 2012-07-09 | 2021-01-19 | Facebook, Inc. | Creation of real-time conversations based on social location information |
US9412136B2 (en) * | 2012-07-09 | 2016-08-09 | Facebook, Inc. | Creation of real-time conversations based on social location information |
US10096041B2 (en) | 2012-07-31 | 2018-10-09 | The Spoken Thought, Inc. | Method of advertising to a targeted buyer |
US10469416B2 (en) * | 2012-09-06 | 2019-11-05 | Sony Corporation | Information processing device, information processing method, and program |
US9785703B1 (en) * | 2012-12-18 | 2017-10-10 | Eharmony, Inc. | Systems and methods for online social matchmaking |
US9122759B2 (en) * | 2012-12-18 | 2015-09-01 | Eharmony, Inc. | Systems and methods for online social matchmaking |
US20140172893A1 (en) * | 2012-12-18 | 2014-06-19 | Steve Carter | Systems and methods for online social matchmaking |
US9438685B2 (en) | 2013-03-15 | 2016-09-06 | Location Labs, Inc. | System and method for display of user relationships corresponding to network-enabled communications |
US20140372197A1 (en) * | 2013-06-14 | 2014-12-18 | Tigerapps | Systems, apparatuses and methods for providing a price point to a consumer for products in an electronic shopping cart of the consumer |
US20150020001A1 (en) * | 2013-07-15 | 2015-01-15 | Samsung Electronics Co., Ltd. | Display apparatus and control method of the same |
US20150039472A1 (en) * | 2013-08-02 | 2015-02-05 | Mark John Tryder | Method and system for selecting and pricing media content |
CN104679810A (en) * | 2013-11-26 | 2015-06-03 | 国际商业机器公司 | Computing Device For Generating Profiles Based On Mobile Device Data |
US9635507B2 (en) * | 2013-11-26 | 2017-04-25 | Globalfoundries Inc. | Mobile device analytics |
US20150148058A1 (en) * | 2013-11-26 | 2015-05-28 | International Business Machines Corporation | Mobile device analytics |
WO2015101810A1 (en) * | 2013-12-31 | 2015-07-09 | Turkcell Teknoloji Arastirma Ve Gelistirme A.S. | A system for retrieval and presentation of subscriber density information |
US9439367B2 (en) | 2014-02-07 | 2016-09-13 | Arthi Abhyanker | Network enabled gardening with a remotely controllable positioning extension |
US10447838B2 (en) | 2014-04-03 | 2019-10-15 | Location Labs, Inc. | Telephone fraud management system and method |
US9936241B2 (en) * | 2014-04-07 | 2018-04-03 | Cellco Partnership | Method and apparatus for providing dynamic channel and content provisioning |
US20150288997A1 (en) * | 2014-04-07 | 2015-10-08 | Cellco Partnership D/B/A Verizon Wireless | Method and apparatus for providing dynamic channel and content provisioning |
US9457901B2 (en) | 2014-04-22 | 2016-10-04 | Fatdoor, Inc. | Quadcopter with a printable payload extension system and method |
US9004396B1 (en) | 2014-04-24 | 2015-04-14 | Fatdoor, Inc. | Skyteboard quadcopter and method |
US9022324B1 (en) | 2014-05-05 | 2015-05-05 | Fatdoor, Inc. | Coordination of aerial vehicles through a central server |
US9971985B2 (en) | 2014-06-20 | 2018-05-15 | Raj Abhyanker | Train based community |
US9441981B2 (en) | 2014-06-20 | 2016-09-13 | Fatdoor, Inc. | Variable bus stops across a bus route in a regional transportation network |
US9451020B2 (en) | 2014-07-18 | 2016-09-20 | Legalforce, Inc. | Distributed communication of independent autonomous vehicles to provide redundancy and performance |
US20160216871A1 (en) * | 2015-01-27 | 2016-07-28 | Twitter, Inc. | Video capture and sharing |
US9665733B1 (en) * | 2015-03-31 | 2017-05-30 | Google Inc. | Setting access controls for a content item |
US10997311B1 (en) | 2015-03-31 | 2021-05-04 | Google Llc | Setting access controls for a content item |
US9740796B2 (en) | 2015-06-30 | 2017-08-22 | International Business Machines Corporation | Navigating a website using visual analytics and a dynamic data source |
US9514207B1 (en) * | 2015-06-30 | 2016-12-06 | International Business Machines Corporation | Navigating a website using visual analytics and a dynamic data source |
US10268773B2 (en) | 2015-06-30 | 2019-04-23 | International Business Machines Corporation | Navigating a website using visual analytics and a dynamic data source |
US10520948B2 (en) | 2017-05-12 | 2019-12-31 | Autonomy Squared Llc | Robot delivery method |
US10345818B2 (en) | 2017-05-12 | 2019-07-09 | Autonomy Squared Llc | Robot transport method with transportation container |
US10459450B2 (en) | 2017-05-12 | 2019-10-29 | Autonomy Squared Llc | Robot delivery system |
US11009886B2 (en) | 2017-05-12 | 2021-05-18 | Autonomy Squared Llc | Robot pickup method |
US10629242B2 (en) * | 2017-12-06 | 2020-04-21 | International Business Machines Corporation | Recording user activity on a computer |
US11831733B2 (en) | 2018-05-24 | 2023-11-28 | People.ai, Inc. | Systems and methods for merging tenant shadow systems of record into a master system of record |
US11909837B2 (en) | 2018-05-24 | 2024-02-20 | People.ai, Inc. | Systems and methods for auto discovery of filters and processing electronic activities using the same |
US20220217215A1 (en) * | 2018-05-24 | 2022-07-07 | People.ai, Inc. | Systems and methods of generating an engagement profile |
US11949751B2 (en) | 2018-05-24 | 2024-04-02 | People.ai, Inc. | Systems and methods for restricting electronic activities from being linked with record objects |
US11805187B2 (en) | 2018-05-24 | 2023-10-31 | People.ai, Inc. | Systems and methods for identifying a sequence of events and participants for record objects |
US11949682B2 (en) | 2018-05-24 | 2024-04-02 | People.ai, Inc. | Systems and methods for managing the generation or deletion of record objects based on electronic activities and communication policies |
US11876874B2 (en) | 2018-05-24 | 2024-01-16 | People.ai, Inc. | Systems and methods for filtering electronic activities by parsing current and historical electronic activities |
US11888949B2 (en) | 2018-05-24 | 2024-01-30 | People.ai, Inc. | Systems and methods of generating an engagement profile |
US11895207B2 (en) | 2018-05-24 | 2024-02-06 | People.ai, Inc. | Systems and methods for determining a completion score of a record object from electronic activities |
US11895205B2 (en) | 2018-05-24 | 2024-02-06 | People.ai, Inc. | Systems and methods for restricting generation and delivery of insights to second data source providers |
US11895208B2 (en) | 2018-05-24 | 2024-02-06 | People.ai, Inc. | Systems and methods for determining the shareability of values of node profiles |
US11909834B2 (en) | 2018-05-24 | 2024-02-20 | People.ai, Inc. | Systems and methods for generating a master group node graph from systems of record |
US11909836B2 (en) | 2018-05-24 | 2024-02-20 | People.ai, Inc. | Systems and methods for updating confidence scores of labels based on subsequent electronic activities |
US11930086B2 (en) | 2018-05-24 | 2024-03-12 | People.ai, Inc. | Systems and methods for maintaining an electronic activity derived member node network |
US11924297B2 (en) | 2018-05-24 | 2024-03-05 | People.ai, Inc. | Systems and methods for generating a filtered data set |
US20200160385A1 (en) * | 2018-11-16 | 2020-05-21 | International Business Machines Corporation | Delivering advertisements based on user sentiment and learned behavior |
US11017430B2 (en) * | 2018-11-16 | 2021-05-25 | International Business Machines Corporation | Delivering advertisements based on user sentiment and learned behavior |
US10976979B1 (en) * | 2020-03-20 | 2021-04-13 | Facebook Technologies, Llc | Social experiences in artificial reality environments |
US20220092658A1 (en) * | 2020-09-22 | 2022-03-24 | Gopesh Kumar | System and method for expert service providers to provide one on one chat advice services through unique empowered independent agents to consumers |
Also Published As
Publication number | Publication date |
---|---|
US20120046068A1 (en) | 2012-02-23 |
US20120046995A1 (en) | 2012-02-23 |
US20120047152A1 (en) | 2012-02-23 |
US8554770B2 (en) | 2013-10-08 |
US20120047184A1 (en) | 2012-02-23 |
US20140095516A1 (en) | 2014-04-03 |
US20120046017A1 (en) | 2012-02-23 |
US9053169B2 (en) | 2015-06-09 |
US20120047565A1 (en) | 2012-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120047448A1 (en) | System and method for social browsing using aggregated profiles | |
US10855640B1 (en) | Interface for sharing posts about a live online event among users of a social networking system | |
US10433000B2 (en) | Time-sensitive content update | |
US9866902B2 (en) | Social sharing and unlocking of reactions to content | |
JP5981024B2 (en) | Sharing TV and video programs via social networking | |
US8655953B2 (en) | System and method for playback positioning of distributed media co-viewers | |
JP5492974B2 (en) | System and method for selecting relevant users for introduction to a user in an online environment | |
US11202035B2 (en) | Dynamically modifying live video streams for participant devices in digital video rooms | |
US20220038412A1 (en) | Methods and systems for providing supplemental data | |
CN110598143B (en) | Method, related device and system for displaying instant communication content | |
US20180114280A1 (en) | Method and System for Recommending Activities to a Community of Contacts | |
US20170374400A1 (en) | Methods, systems, and media for indicating viewership of a video based on context | |
WO2020060856A1 (en) | Shared live audio | |
US20140046861A1 (en) | Method and System for Representing Collective and Individual Responses to a Shared Experience Event |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: KOTA ENTERPRISES, LLC, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AMIDON, CHRISTOPHER M.;CURTIS, SCOTT;PETERSEN, STEVEN L.;REEL/FRAME:024308/0394 Effective date: 20100428 |
|
AS | Assignment |
Owner name: WALDECK TECHNOLOGY, LLC, DELAWARE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOTA ENTERPRISES, LLC;REEL/FRAME:024859/0855 Effective date: 20100730 |
|
AS | Assignment |
Owner name: CONCERT DEBT, LLC, NEW HAMPSHIRE Free format text: SECURITY INTEREST;ASSIGNOR:WALDECK TECHNOLOGY, LLC;REEL/FRAME:036433/0382 Effective date: 20150801 Owner name: CONCERT DEBT, LLC, NEW HAMPSHIRE Free format text: SECURITY INTEREST;ASSIGNOR:WALDECK TECHNOLOGY, LLC;REEL/FRAME:036433/0313 Effective date: 20150501 |
|
AS | Assignment |
Owner name: CONCERT DEBT, LLC, NEW HAMPSHIRE Free format text: SECURITY INTEREST;ASSIGNOR:CONCERT TECHNOLOGY CORPORATION;REEL/FRAME:036515/0471 Effective date: 20150501 Owner name: CONCERT DEBT, LLC, NEW HAMPSHIRE Free format text: SECURITY INTEREST;ASSIGNOR:CONCERT TECHNOLOGY CORPORATION;REEL/FRAME:036515/0495 Effective date: 20150801 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: CONCERT TECHNOLOGY CORPORATION, NEW HAMPSHIRE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WALDECK TECHNOLOGY, LLC;REEL/FRAME:051395/0425 Effective date: 20191203 |