Online social networks, such as Facebook®, LinkedIn® or Google+®, and other online social services, such as Twitter®, Reddit®, Digg®, Pinterest®, have become prevalent form of communication and socializing over the Internet. A social network generally provides each user with an online user profile, through which the user can communicate and socialize with other users on the same social network or on a different social network. Effectively, a user's online profile of a given social network represents the user's presence on the given social network. Each social network typically provides a user with only one online profile accessible to other users of the social network and, at times, to non-users as well. Access to an online user profile can include view-only access to the profile or view and post access to the profile. Unfortunately, social-based online services, such as online social networks and online social services, suffer from several drawbacks.
The real life of individual users is very different from the limitations social networks and social tools adhere to, particularly with respect to multiple facets of a user's personalities. Certain users can wish to exhibit a given facet of their life based on certain situations and can wish to show certain facets to only specific individuals. The avatar associated with a user's online profile is one way by which facets of their life are exhibited. However, typical online user profiles are associated with only one avatar, thereby limiting the number of facets a user can exhibit through their avatar in association with their online profile.
With respect to online user groups and online social groups, membership/subscription to such groups is largely manual and static. Traditionally, individual users have to manually search for groups to join (e.g., based on their current interests). Additionally, subscribing to and unsubscribing from a group is usually a manual process, and selecting groups to join can be hit or miss with respect to group activity level. A group with a lot of members might be dead because members have moved on to other interests and are no longer interested in the group or that the group's interest.
With regard to connections, today's online social networks or social tools are one big blob into which connections melt away and lose transparency as well as clarity on the nature of the connection. If someone wanted to see all the connections that live in a particular city, share a particular interest, or work in a particular sector/technology, he or she must manually search through the connections.
As a general matter, online social networks and tools are underleveraged with respect to promoting and marketing conferences and conventions. Today, the most common way to find out and register for a conference or a convention is through word of mouth or email promotions/marketing sent by conference/convention organizers. In few instances, a social network or tool user can learn of a conference or convention through friends, referrals or their employers. Presently, there is no method by which for a social network or tool user can automatically identify what kind of conferences, conventions, or conference/convention sessions he or she would like to attend, or what speakers he or she would like to hear (e.g., in order to advance their career). Often, users either miss conferences that would have been of interest or learns of them when it is too late (e.g., after they have missed the early bird registration deadline).
The foregoing example of desirable areas of research and development that are lacking in the state of the art are intended to be illustrative and not exclusive.
Various systems and methods incorporating techniques described in this paper relate to online social networks and other online social services (hereafter known collectively as “social-based web resources”).
Some systems and methods enable a user to create and associate two or more avatars with their online user profile on social-based web resource (e.g., social networking web site), and provide/provision the avatars for use with the online user profiles according to those associations. The associations between avatars and a user's online profile can be according to certain aspects of the user, also referred to hereafter as user dimensions (e.g., user's interests, geography, skills, activities, user feeds, online social service posts, or intents). For some implementations, different aspects of a user's online profile (e.g., user dimensions presented in the user's online profile) can be associated with different avatars and used (e.g., presented) in the context of those associations. For instance, a given online user profile can express three different interests (e.g., a baseball team, a musical artist, and a college alma mater), and each of those interests can have a different avatar associated with those interests such that when the that online user profile is presented in the context of one of those interests, the resulting presentation will include the corresponding avatar. Hence, when a fellow user views the online user profile through the context of sports (e.g., the fellow user and user of the online profile have common interest in the same baseball team), the user's avatar that has been associated with the baseball will be presented in association with the user's online profile. The context in which a given online user profile is presented can be differ according to the user viewing it and can also differ according to the method of access (e.g., online profile is being view through a forum relating to sports). In various implementations, the set of avatars utilized with online user profiles on different web resources (e.g., different social networking sites) can be consistent with the others or can differ for a given user dimension (e.g., avatar used in association with a sports team on one social-based web resource will differ from the avatar used in association the same sports team on another social-based web resource). For some implementations, a given online user profile can be associated with single dimensions and, as such, can have only a single avatar associated with it at a given moment.
Some such systems and methods can provide a user with the freedom to express the many different sides of their personality by way of the avatars. Each of the avatars utilized can be reflect a different facet of the user's life. For some implementations, each aspect of a user's online profile (e.g., different social groups, different events, different interests, different connections) can be associated a different avatar; in doing so, when other users (e.g., friends and guests) access (e.g., view) a particular aspect of a user's online profile, that aspect is represented by the associated avatar. A user can, for example, create one or more avatars based on the different hats he or she wears. For instance, a user can have an avatar to represent their role as a product manager (which can be their day job), an avatar to represent their role as an entrepreneur (which can be the user's evening job), an avatar to represent their role as a volunteer (which is what the user can do as a side passion or hobby), and an avatar to represent their role as a football coach (which the user can do on the weekends).
Accordingly, various implementations can permit a user to create multiple avatars and then select one or more avatars to project, for example, to a particular group, or in association with a particular event. Some implementations can permit the user to activate two or more avatars for use on any particular social networking site. Additionally, certain implementations can associate each avatar with one or more user intents that the particular avatar is expected to derive. Examples of user intents include job hunting, networking, finding teachers, selling goods, buying goods, dating, and traveling.
Some systems and methods facilitate and manage dynamic grouping of users. The dynamic group of users can be, for example, according to the users' interests or associations (e.g., with other users, or other user groups). Management of the dynamic group can include automatically subscribing users to a dynamic group and unsubscribing users from a dynamic group based, for instance, changes with regard to a user (e.g., a user's interest or association). For some implementations, a user's interest can currently relate to a specific area, topic, activity, interest, or discussion. For various implementations, users are chosen and clustered based on one or more user dimensions, such as a user's interests, geography, skills, activities, user feeds, or online social service posts (e.g., social network posts).
Some systems and methods permit dynamic grouping of users or user connections on a social-based web resource, and figure the nature of those users or connections, without the need for manually reviewing the users or user connections and explicit searching. In certain implementations, dynamic grouping according to connection can be based on a dimension of a user, including a user's geographic location or interests in a specific subject areas, topics, activities, or discussions. In some implementations, dynamic groups based on users or user connections are generated by clustering users according to dimensions they currently have in common. Various implementations update the dynamic grouping of users or user connections at or near real-time. Hence, for some implementations, as a user's connections (e.g., in association with their online user profile) change, so does the dynamic grouping of such the user or the user connections.
Some systems and methods implement a mechanism for a user to be automatically notified of upcoming conferences or conventions in advance of their registrations deadlines. Various implementations utilize information clustering, according to user dimensions aggregated from social-based web resources, to identify users who can have particular interest in an upcoming conference or convention. Based on the potential interest, various implementations can inform a user of an upcoming conference or convention. Some implementation can also perform analysis of a user's experience level and skill sets, during the clustering process, to gauge a given user's level of interest.
Some systems and methods permit a targeted group of people within a certain group to be reached by a single message. Various implementations can be configured to reach send a targeted group message (TGM) to a targeted group of people, where the targeted group of individuals can be identified according to clustering and/or analysis of user dimensions.
Specific implementations of the invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
In the example of
In the example of
In the example of
In the example of
In the example of
As used herein, an engine includes a dedicated or shared processor and, typically, firmware or software modules that are executed by the processor. Depending upon implementation-specific or other considerations, an engine can be centralized or its functionality distributed. An engine can include special purpose hardware, firmware, or software embodied in a computer-readable medium for execution by the processor. As used in this paper, a computer-readable medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C. 101), and to specifically exclude all mediums that are non-statutory in nature to the extent that the exclusion is necessary for a claim that includes the computer-readable medium to be valid. Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but can or cannot be limited to hardware.
A datastore, as used herein, can be implemented as software embodied in a physical computer-readable medium on a general- or specific-purpose machine, in firmware, in hardware, in a combination thereof, or in an applicable known or convenient device or system. Datastores in this paper are intended to include any organization of data, including tables, comma-separated values (CSV) files, traditional databases (e.g., SQL), or other applicable known or convenient organizational formats. Datastore-associated components, such as database interfaces, can be considered “part of” a datastore, part of some other system component, or a combination thereof, though the physical location and other characteristics of datastore-associated components is not critical for an understanding of the techniques described in this paper.
Datastores can include data structures. As used in this paper, a data structure is associated with a particular way of storing and organizing data in a computer so that it can be used efficiently within a given context. Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by an address, a bit string that can be itself stored in memory and manipulated by the program. Thus some data structures are based on computing the addresses of data items with arithmetic operations; while other data structures are based on storing addresses of data items within the structure itself. Many data structures use both principles, sometimes combined in non-trivial ways. The implementation of a data structure usually entails writing a set of procedures that create and manipulate instances of that structure.
Implementations of the dynamic avatar provisioning system 200 can enable an individual user of a social-based web resource, such as a social networking site, to use more than one avatar in connection with a given online user profile, where each avatar can reflect (e.g., is mapped for use with) one or more different facets of the user's life that are included in the given online user profile. Effectively, the dynamic avatar provisioning system 200 can permit a user to have multiple avatars associated for use with specific groups, interests, intents, events, or colleagues in connection with their online user profile. In some implementations, a user can create one or more avatars based on the different hats he or she wears (e.g., roles the user fills). For instance, a user can have an avatar that is used in association with the user's role as a product manager which could be their day job, another avatar that is used in association with the user's role as an entrepreneur (which could be the user's evening job), another avatar that is used in association with the user's role as a volunteer (which is what the user does as a side passion or hobby), and yet another avatar that is used in association with the user's role as a football coach (which the user does on the weekends). With respect to more personal facets of life, a user can use one avatar that is used in association with the user's interest in hiking, and another avatar that is used in association with the user's college alma mater.
Depending on the implementation, a user can first created one or more avatars, and add them to the dynamic avatar provisioning system 108 (e.g., via the dynamic avatar engine) for future use in connection with one or more social-based web resources. For example, a user can create one or more avatars that represent their personality or what aspect of their personality that the user wants to project/publish with the avatar through their online user profile. The avatar could be something that the user does for work, play or charity, or what defines the user. With respect to the professional world, the user can create and add an avatar relating to their role as a marketing professional, a java developer, an entrepreneur, or the like. With respect to the personal world, the user can create and add an avatar relating to the user being (or once being) a Harvard alumnus, a football-player, a chess-player, a golfer, or the like. With respect to the social world, the user can create and add an avatar relating to the user being (or once being) a volunteer, a fund-raiser, a donor, a social worker, a sponsor, or the like.
Subsequently, a user can associate a particular avatar for use with a particular social-based web resource, a particular user dimension, or both. In doing so, a user can specify which avatar they want to project through the user's online profile on a particular social-based web resource and in association with a particular user dimension (e.g., in connection with interest group, an event or activity). A given social-based web resource can have one or more avatars associated with it, and each avatar can relate to a particular aspect of the user's online profile on the given social-based web resource.
For various implementations, user dimensions can include one or more intent that the particular avatar is expected to derive for a user. Examples of intents can include job hunting, networking, finding users, selling goods, buying goods, dating, traveling, and the like. A user can create one or more intents to describe what they are looking for/seeking through a social-based web resource. Generally, a user intent can include, but is not limited to, an activity (e.g., hiring individuals, getting hired, recruiting, networking, or learning) and search request (e.g., for a person, place, thing, or event). For example, user intent can relate to a search for specific kinds of people the user is interested in targeting, or can relate to search for specific kinds of events that the user would be interested in attending. The later example of a user intent can be automatically generated by the dynamic avatar provisioning system 108 based on the interests the user has or the kind of people the user is intending to target.
Individual and businesses typically have one or more intents at any point of time, and the intents can be static or dynamically changing. Some intents change dynamically over time or with change of context and/or location. For some implementations, a user can have the ability to create their own intent or set of intents and manage them.
The dynamic avatar engine 202 is intended to represent the components used to manage a set of avatars on behalf of a user, to manage association between avatars in the set and the user's various online profiles on the social-based web resources, and to provision avatars for use with the user's various online profiles according to aspects of the user's online profile (e.g., according to the user dimensions included in the user's online profile). In some implementations, the dynamic avatar engine 202 is coupled to the avatar datastore 204 and configured to: manage a set of avatars associated with a user and stored on the avatar datastore, manage an association between at least one avatar in the set of avatars and a first interest or a first intent associated with the user, and dynamically provide the at least one avatar (from the set of avatars) to a particular web resource for use with an online profile associated with the user, where the online profile is accessible through the particular web resource and the online profile includes a second interest relating to the first interest or a second intent relating to the first intent. For various implementations, the commonality between the first and second interests/intents ensures that the dynamic avatar engine 202 provides the particular web resource with an avatar that can not only be used with (e.g., presented in) the user's online profile, but can also be used appropriately in the user's online profile, in connection with the second interest/intent, according to the user's selections/settings.
The dynamic avatar engine 202 can, for example, associate an avatar (for use in an online user profile) according to a user interest, a user intent, the social-based web resource (that is requesting and intends to use the dynamically provided avatar), the intended viewer/audience of the avatar (e.g., a fellow user having sharing a common interest), or some combination therefore. The dynamic avatar engine 202 can provide a social-based web resource an avatar for use in response to a request made by a social-based web resource requests use of an avatar. Application programming interfaces (APIs), native to either the dynamic avatar provisioning system 200, the social-based web resource, or both, can be employed to facilitate requests for avatars (in connection with a user and the user's online profile), to facilitate transmission of an avatar from the dynamic avatar provisioning system 200 to the social-based web resource for use, and to facilitate usage of the supplied avatar in association with an online user profile. Use of APIs can enable certain implementation of the dynamic avatar provisioning system 200 to better integrate with social-based web resources.
Which avatar is provisioned by the dynamic avatar engine 202 can vary according to the avatar request received by the dynamic avatar engine 202 from a social-based web resource intending to use the avatar. In its request, a social-based web resource can specify several parameters that can determine the avatar to be supplied by the dynamic avatar engine 202, including, without limitation, identification of the social-based web resource making the request, identification of the user to be represented by the avatar, and the context in which the avatar is intended be used (e.g., presented) in connection with the user's online profile. Depending on the implementation, avatars provisioned by the dynamic avatar engine 202 can be considered to be a “context-based avatar” or a “dynamically-provided avatar” utilized in connection with an online user profile.
The avatar datastore 204 is intended to represent the components used to store the set of avatars managed and provisioned, and can include the association between the avatars and online user profiles. The user investigation engine 206 can configured to access and gather information regarding a particular user from a social-based web resource. The information gathered by the user investigation engine 206 can include, for example, user interests, user intent, user connectivity (e.g., with other users or with interests groups), social postings, and social activities. The information gathered by the user investigation engine 206 can constitute the dimensions of a particular user, which are utilized by the dynamic avatar engine 202 in associating aspects of the particular user's online profile with specific avatars.
The social-based web resource interface engine 208 is intended to represent the components used to provide the dynamic avatar provisioning system 200, and its various components) access to a social-based web resource, and a user's online user profile. For example, the social-based web resource interface engine 208 can employed by the user investigation engine 206 to access a social-based web resource, and by the dynamic avatar engine 202 to provision (e.g., provide) an avatar to one or more of social-based web resources for use with an online user profile (e.g., in connection with a particular user dimension included in the online user profile).
In the example of
In the example of
In the example of
As noted above, the avatars 402 can belong to one or more social universes 404. An event, group, campaign, network are just some examples of social universe. According to various implementations, the avatars 402 can be auto-created and exhibited to different groups of a user's friends or connections to the social universes 404. In some instances, one of the social universes 404 can include one or more social-based web resources, which define part of the context of use. The context of use of each of the social universes 404 can be further defined by association with one or more user dimensions 406, which further narrow/limit the context of use associated with a given social universe. Accordingly, one of the social universes 404 can be associated with an organization, club, or group a user is part of, or can be associated with an event or campaign.
For some implementations, a user can have one or more user dimensions 406 associated with one or more of the avatars 402, and can have one or more use dimensions 406 associated with one or more social universes 404. Various implementations can provide totally independence between associations, allowing a user to dynamically attach one or more avatars 402 and/or one or more user dimensions 406 to any of the social universes 404. In particular implementations, management of the avatars 402 (e.g., creation and removal) can be automatically facilitated based on a user's changing online profile (e.g., social network profile), activities, or any other information the implementations discover regarding the user. Management of the user dimensions 406 can be automatically facilitated in a similar manner.
In the example of
In the example of
In the example of
In the example of
In the example of
With respect to using the dynamic clustering system 508 for dynamic user grouping, various implementations can create a dynamic group of users having one or more specific user dimensions, including topics, activities, interests, or social discussions. Various implementations can dynamically group users by determining what user dimensions users presently have. For example, users in a dynamic group can automatically remain in a group as long as they are actively interested in the dynamic groups' topic. Certain implementations can determine a user's interest in a dynamic group's associated user dimension(s) by determining users participation and activity level of the user with regard to the user dimension(s) (e.g., by monitoring or mining for the user's social feeds and postings). The inactive users in a dynamic group can be auto-deleted when their activity level in the group's topic falls below a particular threshold (e.g., which can be set by the group's creator). For some implementations, users newly active in a particular topic associated with a dynamic group can be discovered and auto-added to the dynamic group. In doing so, dynamic groups can evolve according to participation and activity.
Through use of various implementations, users can be dynamically clustered based on one or more user dimensions (e.g., interests, activities, skills, time, event, geography, or age), users can be automatically added to dynamic groups, users can be automatically removed from dynamic groups when users are no longer relevant to the group or active in the group, and dynamic groups can be removed when no users remain in the group (e.g., because current users are no longer active and no new users are interested in the dynamic group's associated user dimension(s)).
With respect to using the dynamic clustering system 508 for dynamic connection grouping, various implementations can create a dynamic group of a user's connections according to user dimensions (e.g., a specific geography or are interested in a specific area/topic/activity/interest/discussion). Groups for connections are selected and clustered based on one or more user dimensions. For some implementations, the clusters are dynamic and connections can stay in a group as long as a user is actively interested or active in the user dimensions of that connection group. Certain implementations can determine a user's interest in a connection group's associated user dimension(s) by determining user participation and activity level of the user with regard to the user dimension(s) (e.g., by monitoring or mining for the user's social feeds and postings). Accordingly, the connections can be auto-classified, where newly active connections are auto-added to relevant clusters and auto-deleted from others which are no longer relevant to them. The clusters evolve with user participation and involvement. For instance, if a given user connection moves from the San Francisco to Boston, he or she can be auto-deleted from the San Francisco cluster and added to the Boston cluster of user connections.
Through use of various implementations, user connections can be dynamically clustered based on one or more user dimensions (e.g., interests, activities, skills, time, event, geography, or age), user connections can be automatically added to dynamic groups, user connections can be automatically removed from dynamic groups when user connections are no longer relevant to the group, and dynamic groups can be removed when no user connections remain in the group (e.g., because current user connections have moved and no new user connections are interested in the dynamic group's associated user dimension(s)).
Irrespective of whether it is employed in dynamically grouping users, dynamically grouping user connections, or both), the dynamic clustering system 508 can be beneficial in at least some of the following exemplary use cases: for social group networking by individual users or corporations; for merchants/vendors/corporations to discover and add customers or potential customers to their groups; for merchants/vendors to connect with current and potential customers to obtain product feedback, increase sales, increase customers, or increase customer loyalty; for leveraging user networks for targeted uses by users in the social and the professional context; and for marketers to use the data and target marketing efforts to target customers who would be interested in their products (e.g., marketers can create a targeted group and have people auto-clustered under those, using the reverse-clustering engine).
The user discovery engine 710 can discover users or user connections within the social-based web resources 702. Based on those users or user connections, the data mining engine 714 obtain and extract useful user data relating to the users or user connections, which can later be analyzed by the clustering engine 714 for clustering purposes. The clustering engine 714 can perform various clustering algorithms on the information gathered by the data mining engine 714, and can generate clusters 716 (e.g., user clusters/groups or user connection clusters/groups) based as a result. The clusters 716 can be generated according to various user dimensions, include age, skill, geographic location, activities, social network feed content, or interests. Based on the clusters 716, the user management engine 718 can manage (for each user) what user groups or user connection groups are presently relevant to a user and what groups they should be auto-added to or auto-deleted from. The reverse-clustering engine 722 can attract the users matching particular criteria towards a user-defined cluster 716 of users or connections. The sponsor/power-user interface 720 can provide a user the ability to define group/cluster criteria, which can into the reverse-clustering engine 722.
Although not depicted in
In the example of
In the example of
In the example of
In the example of
According to some implementations, the method in accordance with
As noted herein, the clustering algorithms can be performed on multiple dimensions including, but not limited, to age, location, interest, skill, activity, social network feeds, social network posts, blogs written by the user, and other content created by the user. It is possible for a given user or user connection to belong to one or more clusters at the same time and, as a result, also belong to one or more dynamic groups associated with those clusters. Generally, users or user connections clustered together and then added to a dynamic group. However, in some implementations, a dynamic group of users or user connections can be dynamically generated by sponsors or power users defining target group criteria, and a reverse-clustering engine acting on the target group criteria (e.g., discovering and clustering users or user connections that fall within the target group criteria).
Subsequently, when one or more users or user connections in a dynamic group become inactive or change in their associated user dimensions (e.g., interests/location/age), the dynamic group can become irrelevant with respect to the users or user connections; such users and user connections can be auto-deleted from the dynamic group, thereby maintaining active users and user connections. On the other hand, when new users or new user connections matching the user dimensions of a particular dynamic group are discovered, they can be clustered and automatically added to a given dynamic group. The various implementations permit various social-based web resources (e.g., social networks) to automatically or manually create and maintain dynamic user groups or dynamic user connection groups that are organic, living, and substantially self-sustaining.
Data sources for information regarding conferences and conventions (hereafter collectively referred to as “conferences”) may include, without limitation, a conference feed 906 (e.g., web based feed) that is maintained by the conference organizers 904. The conference analysis engine 908 can analyze data provided by the conference feed 906 (and possibly other conference information data sources, such as the web sites Eventbrite, Meetup, and Plancast), while the and the clustering engine 910 can cluster conferences according to analysis data provided by the conference analysis engine 908. The analysis data produced by the conference analysis engine 908 can include, without limitation, dimensions relating to the conferences (hereafter referred to as “conference dimensions”), such as areas, geography, and skills developed. The conference clustering engine 910 can create clusters of conferences using various conference attributes. The user analysis engine 928 can create clusters of users based on user dimensions (such as skills, profession, title, interests, and expertise) and the analytics engine 928 can match different clusters of conferences to appropriate clusters of users. The resulting matches can be provided to the speaker recommendation engine 902, the track recommendation engine 924, and the skill recommendation engine 926 so that clusters of conferences can be recommended to the appropriate clusters of users.
The analytics engine 928 can also match the appropriate clusters of users to the appropriate exhibitors at a conference. In doing so, exhibitors can target the most appropriate and relevant audience at a conference (or even outside a conference) and engage them. This can result in a high conversion ratio and a high ROI for exhibitors and the conference organizers alike.
The user analysis engine 928 can process user data 930 provided by way of social networks 932, social groups 934, and other possible channels 936. The user data 930 can include, without limitation, information from a user's online profile (e.g., on a social-based web resource, such as a social network site) or a user's online resume. The user data can also be obtained from sources such as blogs, RSS feeds, and corporate profiles.
By analyzing the user data 930, the user analysis engine 928 can identify one or more areas the user may, for example, be currently interested in, identify one or more skills the user may already have, or identify one or more skills the user may be interested in developing.
The speaking recommendation engine 918 can identify and recommend conferences the user 920 can possibly speak at (or may be interested at speaking at). The speaking recommendation engine 918 can, for some implementations, base its identification and recommendation process on the user's experiences, such as the user's resume, the user's professional online profile, or both.
The speaker recommendation engine 902 can identify and recommend potential speakers the user 920 should follow, track or attend sessions for. The speaker recommendation engine 902 can, for some implementations, base its identification and recommendation process on the user's experiences, such as the user's resume, the user's professional online profile, or both. In some implementations, the speaker recommendation engine 902 can also analyze a database of conferences and recommend speakers to the conference organizers 904 for a particular conference. The speaker recommendations to the conference organizers can be based on speaker profile analysis, speaker experience and speaker skill in the areas relevant to the particular conference.
The track recommendation engine 924 can recommend to the user 920 various potential sessions or tracks the user may benefit from, based on analyzing the user's skills, interests or new roles. Although the track recommendation engine 924 can base its recommendations on the user existing skills and skills he or she is interested in developing, the track recommendation engine 924 can also recommend session or tracks to the user 920 based on user data of other users who used to have a similar skill set as that of the user 920, and the new skills other users are acquiring and benefiting from. Accordingly, the track recommendation engine 924 can possibly extrapolate what the user 920 could benefit from learning or acquiring based on the data of other users.
The skill recommendation engine 926 can recommend what other skills the user 920 may benefit from based on the skills he or she has and the skills he or she could benefit from learning. The skill recommendation engine 926 can also present the user 920 with trends of what other users who has his or her intersecting skills are acquiring in terms of new and additional skills.
Various implementations can be configured to mine a user's information, identify the most relevant conferences for the user, and notify him or her of upcoming conferences and registration deadlines. Implementations can also recommend to a user specific sessions within a conference that would be useful for the user to advance his or her career. Some implementations can enable a user to allocate a budget in advance of a conference and/or setup auto-registration for important conferences as soon as they open up (thereby allowing users to register for such popular and sold out conferences such as Apple®'s WWDC & Google® I/O.
With some implementations, an end user can be an individual professional wishing to attend conferences relevant to his or her career, and wishing to register for them before the registration deadline, at times before the early-bird period expires. Additionally, an end user can also be conference organizers wishing to market their conferences to the relevant users who would benefit from attending the conference and/or would be interested in attending the conference. A conference organizer could potentially sell individual sessions or conference tracks to those users who cannot afford the time or money to attend the whole conference, but may be interested in only a few select conference tracks or sessions.
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
According to some implementations, the method illustrated in
The computer 1202 interfaces to external systems through the communications interface 1210, which can include a modem or network interface. It will be appreciated that the communications interface 1210 can be considered to be part of the computer system 1200 or a part of the computer 1202. The communications interface 1210 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. “direct PC”), or other interfaces for coupling a computer system to other computer systems.
The processor 1208 can be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor. The memory 1212 is coupled to the processor 1208 by a bus 1270. The memory 1212 can be Dynamic Random Access Memory (DRAM) and can also include Static RAM (SRAM). The bus 1270 couples the processor 1208 to the memory 1212, also to the non-volatile storage 1216, to the display controller 1214, and to the I/O controller 1218.
The I/O devices 1204 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller 1214 can control in the conventional manner a display on the display device 1206, which can be, for example, a cathode ray tube (CRT) or liquid crystal display (LCD). The display controller 1214 and the I/O controller 1218 can be implemented with conventional well known technology.
The non-volatile storage 1216 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 1212 during execution of software in the computer 1202. One of skill in the art will immediately recognize that the terms “machine-readable medium” or “computer-readable medium” includes any type of storage device that is accessible by the processor 1208 and also encompasses a carrier wave that encodes a data signal.
The computer system 1200 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an I/O bus for the peripherals and one that directly connects the processor 1208 and the memory 1212 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
Network computers are another type of computer system that can be used in conjunction with the teachings provided herein. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 1212 for execution by the processor 1208. A Web TV system, which is known in the art, is also considered to be a computer system, but it can lack some of the features shown in
In addition, the computer system 1200 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of operating system software with its associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux operating system and its associated file management system. The file management system is typically stored in the non-volatile storage 1216 and causes the processor 1208 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage 1216.
Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention, in some embodiments, also relates to apparatus for performing the operations herein. This apparatus can be specially constructed for the required purposes, or it can comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program can be stored in a computer readable storage medium, such as, but is not limited to, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems can be used with programs in accordance with the teachings herein, or it can prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language, and various embodiments can thus be implemented using a variety of programming languages.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
This application claims priority to U.S. Provisional Application Ser. Nos. 61/490,616 filed Can 27, 2011, entitled “Targeted Group Messaging;” 61/494,223 filed Jun. 7, 2011, entitled “Dynamic, Self—Organizing User Groups;” 61/496,126 filed Jun. 13, 2011, entitled “Intelligent, Dynamic Conference Clustering;” 61/497,418 filed Jun. 15, 2011, entitled “Dynamic, Self—Organizing User Groups;” and 61/505,680 filed Jul. 8, 2011, entitled “Connections View Engine;” 61/619,877 filed Apr. 3, 2012, entitled “Avatars, Intents and Universes;” each of which is incorporated by reference.
Number | Date | Country | |
---|---|---|---|
61490616 | May 2011 | US | |
61494223 | Jun 2011 | US | |
61496126 | Jun 2011 | US | |
61497418 | Jun 2011 | US | |
61505680 | Jul 2011 | US | |
61533268 | Sep 2011 | US | |
61619877 | Apr 2012 | US |