Forming dynamic real-time activity groups

Techniques for forming a real-time activity group are provided. The techniques include creating a set of one or more users, annotating each user in the set with one or more corresponding real-time attributes, and using the one or more real-time attributes to identify one or more connections between the one or more users in the set to form a real-time activity group within the set of one or more users, wherein the one or more connections are based on an activity request.

FIELD OF THE INVENTION

Embodiments of the invention generally relate to information technology, and, more particularly, to social networking.

BACKGROUND OF THE INVENTION

Social networking has become a popular medium for online collaboration. Maturing Web 2.0 technologies have influenced competing social networking sites (for example, Orkut, Facebook, etc.) to look at ways to provide innovative features. Also, telecommunications (telecom) technologies have experienced changes such as, for example, content and capabilities owned by the operator are now available for developers to combine. Additionally, social networking now includes the use of mobile devices to enable communications with on-line social networking buddies.

However, traditionally, social networks have worked on relatively static and/or slow-changing information, that is, defined once by a user and changed infrequently. Groups that are defined in a social network in existing approaches are similarly static and pre-defined in terms of membership. Further, ways of communicating with group members are also statically defined (for example, leave a scrap, write on a wall, etc.).

SUMMARY OF THE INVENTION

Principles and embodiments of the invention provide techniques for forming dynamic real-time activity groups. An exemplary method (which may be computer-implemented) for forming a real-time activity group, according to one aspect of the invention, can include steps of creating a set of one or more users, annotating each user in the set with one or more corresponding real-time attributes, and using the one or more real-time attributes to identify one or more connections between the one or more users in the set to form a real-time activity group within the set of one or more users, wherein the one or more connections are based on an activity request.

One or more embodiments of the invention or elements thereof can be implemented in the form of a computer product including a tangible computer readable storage medium with computer usable program code for performing the method steps indicated. Furthermore, one or more embodiments of the invention or elements thereof can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform exemplary method steps. Yet further, in another aspect, one or more embodiments of the invention or elements thereof can be implemented in the form of means for carrying out one or more of the method steps described herein; the means can include (i) hardware module(s), (ii) software module(s), or (iii) a combination of hardware and software modules; any of (i)-(iii) implement the specific techniques set forth herein, and the software modules are stored in a tangible computer-readable storage medium (or multiple such media).

DETAILED DESCRIPTION OF EMBODIMENTS

Principles of the invention include enabling real-time social networking using converged telecom infrastructure. One or more embodiments of the invention include forming dynamic groups in real-time and on-demand, wherein the membership of a group is determined by current attributes of the subscribers (for example, what I want to do this Friday evening) so as to exploit real-time interests as opposed to “fixed” interests. Also, the modality of communication between group members is also dynamic and includes a set of communication modes available for a certain period of time. The period of time can be set, for example, instantly or scheduled beforehand (for example, “Call me on my cell phone after 5:00 PM,” “catch me on Google Talk before 5:00 PM,” etc.).

Further, in one or more embodiments of the invention, the lifetime of the group is also dynamic and depends on the purpose (interest) that influenced its formation in the first place (for example, an upcoming Friday night concert, a weekend trekking activity, etc.). As such, the techniques described herein include formation of real-time activity-oriented dynamic groups that includes formation of communication edges between nodes in a dynamic group based on real-time attributes (such as, for example, location, availability, real-time interests, buddy lists, etc.).

One or more embodiments of the invention include identifying real-time attributes (for example, presence, availability, interest, location, etc.) of people from various social networking communication medium based on a search query provided and/or defined by a user, and forming the dynamic real-time activity group including the user and people having the real-time attributes matching the search query. As such, using the context of any real-time activity as defined by the user, one or more embodiments of the invention enable creation and holistic management of ad hoc group of people interested in this activity.

In one or more embodiments of the invention, the activities can be pulled up from an existing database of popular events and/or the user's calendar, or the activities can be any arbitrary activity that is defined (in terms of a number of real-time attributes). Additionally, the techniques detailed herein include searching for a group of users that might be potentially interested in the activity, forming a group of these users in real-time by exploiting multiple modalities such as, for example, a telephone call, a short message service (SMS), an instant message (IM), a Web component, and enabling real-time communication of these users with each other based on the dynamic communication preference of the users.

Further, one or more embodiments of the invention are based on the notion of user context that considers both presence as well as live interests of people (derived from multiple communication media) in forming the group. Live interests differ from static interests in the sense that they need to be captured from the users through different communication modalities and fed back to the matchmaking system that forms a relevant group of users interested in the activity. Additionally, the techniques described herein provide mechanisms to not only create such real-time activity groups but also maintain and manage these groups through their entire lifecycle. This, in turn, requires different operations to be enabled in terms of adding new members, dropping members, changing the activity details in real-time (for example, to a different time), etc.

In deriving real-time interests, multiple information sources can be used. Such sources can include, for example, a mobile phone of the user (for example, via SMS/IM), third-party messaging clients (for example, Google Talk, etc.), as well as social networking sites like Facebook. Additionally, because the group is real-time/dynamic in nature, communication channels available between the group members also need to be dynamic. For example, at different times of the day a user might choose to be contacted on his/her mobile phone (for example, via call/SMS), while at other times the user might choose to be contacted by an IM client or other Web-based techniques (for example, a post to the user's social networking portal).

One or more embodiments of the invention include a situational mashup application that exploits content and capabilities of a Telecom operator as well as Web 2.0 technologies. For example, IP multimedia subsystem-(IMS)-based converged networks technologies can be leveraged to establish multi-modal communication between participants (for example, a telephone call, a SMS, an instant message, Google Talk, etc.).

By way of example and not limitation, the below illustrates one exemplary implementation of one or more embodiments of the invention. Assume that a subscriber, Neel, has two tickets to a concert in Delhi on Friday night. The concert starts in a few hours and none of his friends are in town. Neel can log on to a portal in connection with one or more embodiments of the invention and issue a query for someone interested in this activity.

To add to the search through the list of subscribers, he specifies “Music” as one of the search keywords. The matchmaking engine returns to Neel a list of users (for example, on Google Maps) who have expressed an interest in this activity (namely ‘Music’), located in the vicinity, and have their real-time presence status as available. Neel browses over each match and follow links to their social networking profiles (for example, on Orkut). In particular, he likes the profile of Seema. Using the portal, Neel sends an invite to Seema with the event information. Once Seema accepts his invitation, Neel can then use one of the communication widgets (for example, SMS, Click-to-Call, Google Talk, etc.) on the portal to inform her of further relevant details about the event.

Also, in one or more embodiments of the invention, at a later time, when the concert is over, Seema is requested for a feedback on her experience in using the service and, additionally, on Neel. The feedback can be used by one or more embodiments of the invention to update the rating of Neel as an activity partner.

As detailed herein, the techniques described herein demonstrate benefits of enhancing social networks with real-time information extracted from telecom infrastructure (for example, location) as well as presence information extracted from enterprise networks (for example, Google Talk). One or more embodiments of the invention include exploiting Web 2.0 technologies (for example, AJAX) to mashup real-time data from several information sources (for example, social networks, enterprise networks, and telecom infrastructure) to present a subscriber with the enhanced experience of real-time social networking.

One or more embodiments of the invention also include the ability to publish one's own interests (for example, “Movie at Priya”) to a service using, for example, SMS, Google Talk, etc, as well the ability to find like-minded people interested in an activity of interest. One can also refine search results based on current location and presence information, and view results on a mashup portal that displays potential matches (for example, on Google Maps) along with attributes (for example, reputation, current interests, and presence status), all which can be dynamically updated using Web 2.0 technologies.

Additionally, as detailed herein, one or more embodiments of the invention include the ability to link to social networking profiles (for example, Orkut) to find the social networks of potential matches, as well as the ability to invite potential matches and communicate with them (for instance, once they have accepted the invite) using Telecom widgets such as 3rd Party Call Control, available on the portal. Further, one can also rate activity partners, thereby benefiting from collaborative feedback.

FIG. 1is a diagram illustrating methodology, according to an embodiment of the present invention. By way of illustration,FIG. 1depicts a base network102, an annotated network104, an activity group extracted from the annotated network106, and an activity group with communication features108. The base network102includes subscribers in the mobile operator domain, enterprise domain, buddy lists and/or online social networks. The annotated network104includes real-time attributes extracted from telecom, a third party social network and/or an enterprise network.

Also, an activity group extracted from annotated network106includes potential group members selected based on multiple attributes (for example, interest in watching a movie on Friday night). An activity group with communication features108includes communication capabilities that are defined based on, for example, user preferences (for example, call, SMS, IM, etc.).

FIG. 2is a diagram illustrating system architecture, according to an embodiment of the present invention. By way of illustration,FIG. 2depicts a real-time social network210that interacts, for example, with a presentation layer202, which includes telecom widgets204, Google Maps206and JavaScripts208. A real-time social network210also interacts with a service layer212, which includes a telecom component214(which can include attributes such as, for example, location, SMS, call, presence, etc.) and an enterprise component216(which can include, for example, a social networking component).

FIG. 3is a diagram illustrating system architecture, according to an embodiment of the present invention. By way of illustration,FIG. 3depicts a user and/or subscriber302who provides input (such as interests, availability, etc.) to an enterprise network304that includes a presence server306.FIG. 3also depicts social network profiles308and extensible messaging and presence protocol (XMPP)310, which receives input from the enterprise network304and transfers the input to the social network core312, specifically to the availability management component316. Social networking core312also includes a profile management component314(which can receive input from social network profiles308), an interests management component318, a matchmaking engine320, a location management component322, a reputation and ranking component324and a telecom services manager component326.

FIG. 3also depicts core telco and/or IP multimedia subsystem (IMS) infrastructure330, which includes an IM/SMS component332(which can provide input to the availability management component316), a presence server334(which can also provide input to the availability management component316), a location server336(which can provide input to location management component322) and a call state control function (CSCF) call control component338(which can provide input to telecom services manager component326).FIG. 3also depicts a Parlay XMPP/session initiation protocol (SIP)/short message peer-to-peer protocol (SMPP) component328, which can receive and transfer the input provided by the core telco/IMS infrastructure330.

Further,FIG. 3depicts an asynchronous JavaScript plus XML (Ajax)/hypertext transfer protocol (http)/JavaServer pages (jsp) component340, which interacts with the social networking core312and a portal342.

A profile management component314can, for example, manage profile information of different subscribers. For example, information pertaining to individuals can include contact details, interests, social networking page (for example, Orkut, Facebook, etc.) Additionally, a profile database (DB) could be owned by third party provider with application programming interfaces (APIs) to access the information. Further, the profile management component314enables profile management of subscribers through multiple channels (for example, Web, SMS, etc.).

A location management component322includes efficient tracking of locations of mobile users (via interaction with a location server336). The availability management component316includes user-controlled and automated control of a provider's availability based on contextual attributes and intelligent ranking techniques. The reputation and ranking component324includes user feedback driven management of users to develop “social network driven” directory services, and employs subscriber reputation to foster a trust-based social network.

Additionally, the matchmaker engine320includes employing efficient search techniques for matchmaking based on a plurality of attributes (for example, interests, location, availability, reputation, etc.). The matchmaking engine320also allows user-driven specification, as well as prioritization of search attributes (for example, “Find me someone interested in playing an online game within 2 miles.”). Further, the telecom services manager component326includes enhancing the user experience by enabling telecom communication widgets for call, SMS, etc.

FIG. 4is a diagram illustrating system architecture, according to an embodiment of the present invention. By way of illustration,FIG. 4depicts a Web 2.0 component/portal402(for example, search results on Google Maps) and an Ajax/http/jsp component404, which interacts with the Web 2.0 component/portal402and a social networking core406. A social networking core406can include a profile database410, a matchmaking engine412, a rating engine414, an interests manager416, an availability manager418, a location manager420and a next generation networking (NGN) services manager422. Each of the core components interact with the matchmaking engine412.

FIG. 4also depicts a third party social network408(for example, Orkut) that can interact with the profile database410. Additionally,FIG. 4depicts an XMPP/SIP/SMPP component424, which interacts with the social networking core406and the converged networks. The converged networks can include an enterprise network426, which includes an IM component428, and a telecom network432, which includes a presence component430, a location server434, a call control component436and a SMS component438.

FIG. 5is a flow diagram illustrating techniques for forming a real-time activity group, according to an embodiment of the present invention. Step502includes creating a set of one or more users (for example, from one or more networks (for example, telcos, enterprise networks, social networking sites, etc.)). Creating a set of users can include collecting real-time information about subscribers of one or more networks by applying a membership function (for example, subscription status). Additionally, creating a set of users can include collecting real-time information about subscribers of one or more networks from manually specified sources (for example, buddy lists/friends in a social network/colleagues in a company network).

Step504includes annotating each user in the set with one or more corresponding real-time attributes. The corresponding real-time attributes can include location, presence status (for example, busy, available, etc.), interests, hobbies, one or more moods (for example, happy, bored, etc.) and/or a preferred mode of communication. Also, the corresponding real-time attributes can be derived from information sources (for example, a telecom operator, her social or enterprise network, an instant messaging client, etc.).

Step506includes using the one or more real-time attributes to identify one or more connections between the one or more users in the set to form a real-time activity group within the set of one or more users, wherein the one or more connections are based on an activity request. Using the real-time attributes to identify connections between the users in the set to form a real-time activity group can include forming a subset of one or more users whose real-time attributes match with a search criteria specified in the activity request.

The techniques depicted inFIG. 5can also include assigning one or more communication modalities (for example, call/SMS/IM) between the users in the real-time activity group based on real-time preferences of each user. Additionally, one or more embodiments of the invention include sending out an invitation to one or more users to join the activity group (for example, using communication modalities of Telco/enterprise network), forming a group with users that accept the invitation, and scheduling the activity in the individual calendar of each user.

One or more embodiments of the invention also include maintaining relevant information about the real-time activity group (for example, the number of participants, their profile information and communication preferences, etc.) during the entire lifetime of the group. The techniques described herein also include enabling a user to publish an activity request (for example, using SMS or Google Talk), refining search results based on current location and presence information, as well as producing and/or viewing search results on a mashup portal that displays potential matches (for example, on Google Maps) along with attributes (such as reputation, current interests, and presence status, etc., which are all dynamically updated using Web 2.0 technologies).

Further, one or more embodiments of the invention include enabling a user to find a social network of a potential matching user and to link to one or more social networking profiles (for example, Orkut, Facebook, etc.). Also, the techniques depicted inFIG. 5can include enabling a user to rate one or more activity partners/users (thereby benefiting from collaborative feedback).

The techniques depicted inFIG. 5can also include, as described herein, providing a system, wherein the system includes distinct software modules, each of the distinct software modules being embodied on a tangible computer-readable recordable storage medium.

A variety of techniques, utilizing dedicated hardware, general purpose processors, firmware, software, or a combination of the foregoing may be employed to implement the present invention or components thereof. One or more embodiments of the invention, or elements thereof, can be implemented in the form of a computer product including a computer usable medium with computer usable program code for performing the method steps indicated. Furthermore, one or more embodiments of the invention, or elements thereof, can be implemented in the form of an apparatus including a memory and at least one processor that is coupled to the memory and operative to perform exemplary method steps.

One or more embodiments can make use of software running on a general purpose computer or workstation. With reference toFIG. 6, such an implementation might employ, for example, a processor602, a memory604, and an input/output interface formed, for example, by a display606and a keyboard608. The term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other forms of processing circuitry. Further, the term “processor” may refer to more than one individual processor. The term “memory” is intended to include memory associated with a processor or CPU, such as, for example, RAM (random access memory), ROM (read only memory), a fixed memory device (for example, hard drive), a removable memory device (for example, diskette), a flash memory and the like. In addition, the phrase “input/output interface” as used herein, is intended to include, for example, one or more mechanisms for inputting data to the processing unit (for example, mouse), and one or more mechanisms for providing results associated with the processing unit (for example, printer). The processor602, memory604, and input/output interface such as display606and keyboard608can be interconnected, for example, via bus610as part of a data processing unit612. Suitable interconnections, for example via bus610, can also be provided to a network interface614, such as a network card, which can be provided to interface with a computer network, and to a media interface616, such as a diskette or CD-ROM drive, which can be provided to interface with media618.

Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium (for example, media618) providing program code for use by or in connection with a computer or any instruction implementation system. For the purposes of this description, a computer usable or computer readable medium can be any apparatus for use by or in connection with the instruction implementation system, apparatus, or device. The medium can store program code to implement one or more method steps set forth herein.

Input/output or I/O devices (including but not limited to keyboards608, displays606, pointing devices, and the like) can be coupled to the system either directly (such as via bus610) or through intervening I/O controllers (omitted for clarity).

Furthermore, it should be noted that any of the methods described herein can include an additional step of providing a system comprising distinct software modules embodied on a tangible computer readable storage medium; the modules can include any or all of the components shown inFIG. 3and/orFIG. 4. The method steps can then be carried out using the distinct software modules and/or sub-modules of the system, as described above, executing on a hardware processor. Further, a computer program product can include a tangible computer-readable storage medium with code adapted to be implemented to carry out one or more method steps described herein, including the provision of the system with the distinct software modules.

At least one embodiment of the invention may provide one or more beneficial effects, such as, for example, forming a dynamic real-time activity group that includes a user and people having real-time attributes matching a user search query.

It will be appreciated and should be understood that the exemplary embodiments of the invention described above can be implemented in a number of different fashions. Given the teachings of the invention provided herein, one of ordinary skill in the related art will be able to contemplate other implementations of the invention. Indeed, although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be made by one skilled in the art without departing from the scope or spirit of the invention.