1. Field of the Invention
The present invention relates generally to the field of message broadcasting systems, such as collaborative messaging systems, and, more particularly, to a novel system and method for adapted to provide users with a graphical representation of information about messaging communities to enable users to subscribe to or provide communities with more targeted message delivery.
2. Discussion of the Prior Art
Collaborative computing provides a means for users to pool their strengths and experiences to achieve a common goal. For example, a common goal may be an educational objective, the completion of a software development project or even creation and use of a system to manage human resources. The establishment of a collaborative computing environment typically involves the creation or definition of a community. The community provides the framework under which a collaborative computing objective is achieved.
In collaborative messaging systems, messages are not sent to specific people, or groups of people, but rather are sent to categories descriptive of the message content. Typically, this set of categories is presented as a list, with very little additional information beyond the name of the category and perhaps a short description. If the list of categories is very long, it can be difficult for a user to choose an appropriate category or categories for a new message desired to be sent. Providing a list of categories is also typically the means by which users choose which messages they want to receive; they can choose to ‘subscribe’ to particular categories.
International Business Machines Corporation (IBM), the current assignee of the present invention, provides to its employees worldwide asynchronous broadcasting system comprising tools providing a suite of messaging services designed to support informal communications among employees. The primary function of these tools is to allow employees to send broadcast messages to other users of the messaging tools, and receive a response back in real-time, by way of instant messaging. When a broadcast message is received, it is displayed to the user in the form of an alert, for example, in the form of a sliding window in their interface display screen. The position and duration of the alert is configurable by the user, and the user can also configure an audible alert when a broadcast is received.
Because sending broadcast messages has the potential to reach thousands of people, some care needs to be taken in targeting these messages to an appropriate subset of people. The suite of tools helps users reach a relevant set of people by requiring senders to direct their messages to a chosen “community”, and receivers can choose which communities to subscribe to. There is also one special community, known as the ‘everyone’ community. Messages sent to the ‘everyone’ community typically reach several thousand users around the world.
When a user desires to send a broadcast message, the interface 40 depicted in
It would be highly desirable to provide a system and method that makes it easier for end-users to find communities to send their messages to. Such a method could also be used to help people decide which communities to subscribe to.
Thus, it would be highly desirable to provide a novel broadcasting system and method that enables users to provide for more targeted message delivery.
It is an object of the present invention to provide a comprehensive system, method and computer program product that enables users of broadcast messaging systems to more expediently and efficiently find communities, both for subscribing to receive and for sending messages.
Preferably, the invention provides for a more targeted message delivery system by enabling the display of more information about the communities, and what's going on inside them such that, users of the system will have enough information to make a better decision as to what community they desire to send their message to, and which communities to subscribe to.
Thus, there is provided a system, method and computer program product that enables users of broadcast messaging systems to more expediently and efficiently find communities, both for subscribing to receive and for sending messages. The system, method and computer program product provides an end-user with the ability to send messages for delivery to more targeted communities of messaging users.
In this aspect, there is provided a method for targeting message delivery comprising: determining one or more attributes of messaging activity associated with one or more communities of users communicating in a messaging system; displaying via an interface, a graphical representation of the attributes and inter-relationships between the attributes; and, enabling a user to select via the interface a recipient community for receiving a message to be sent based on the graphical representation displayed.
According to a further aspect of the invention there is provided a system for targeting message delivery in a messaging system comprising: means for monitoring attributes of messages associated with one or more communities of users communicating in a messaging system; means for dynamically representing the attributes and their inter-relationships via interface devices for an end-user; and, means enabling an end-user to make a selection of a community based on the dynamic representation.
Advantageously, the system and method of the invention can be used to solve the problem of selection of categories in information systems that have multiple attributes such as: content management system, knowledge management systems, and Really Simple Syndication (RSS) feeds.
The objects, features and advantages of the present invention will become apparent to one skilled in the art, in view of the following detailed description taken in combination with the attached drawings, in which:
The present invention is directed to improving communications in a network of peers, such as in a distributed data processing system illustrated in
In a network of communicating peers, users may communicate with each other via their client devices, and also may make use of the aid of services offered via one or more server computing devices. Through such a network of communicating peers, users may send messages to one another, media files, and the like.
One exemplary communication network, serving as the basis for the description of the present invention, makes use of the “IBM Community Tools with Broadcast Suite” (hereafter referred to as ICT) tool. ICT allows users to communicate with each other, along the lines of instant messaging, to obtain feedback on various topics. Via this network configuration, communication among clients is logically peer-to-peer because each client can interact with other clients without moderation or explicit authorization. While ICT will be used as the basis for the present description of the preferred embodiments of the present invention, it should be appreciated that the mechanisms and functions of the present invention are not limited to ICT and may be used with any network that allows for a one-to-many type of communication.
The ICT is a suite of applications for interacting with various communities through instant and broadcast messaging. The power of client-side-filtered broadcast messaging is exploited to allow users to locate subject matter experts, start impromptu discussions, and alert and survey large groups of people instantly, all in real time. The Broadcast Suite of ICT allows users to use publish-subscribe technology to send messages to a large group of users in a community. With Broadcast Suite, a suite of applications allows for various types of communications between users of a community. These applications include Freejam, SkillTap, PollCast, TeamRing, and w3alert. For instance, as will be discussed in greater detail herein, Freejam allows a user to instantly initiate a just-in-time chat room for discussion of any topic. The chat room lasts for as long as the discussion continues and is abolished once the discussion ceases.
More information about ICT and Broadcast Suite is available from http://community.ngi.ibm.com/index.html. In addition, some aspects of the ICT and Broadcast Suite are described in co-pending and commonly assigned U.S. patent application Ser. No. 10/670,138 entitled “Method and apparatus for scalable peer-to-peer inquiries in a network of untrusted parties”, filed on Sep. 24, 2003 (now U.S Patent Pub. No. 2005/0065632, and hereby incorporated by reference.
Particularly the interface 200 provided in
Thus, according to the visualization provided in interface 200 as shown in
To determine the relationships between and among communities for visualization, a calculation is performed. In one embodiment, all the topics sent to a community may be accessed, and processed for determining similarities. For example, doing a similarity computation (cosine similarity with term frequencies) between all of the words in those topics will result in a similarity measure between the communities. One such similarity algorithm would analyze the content of the messages and determine the extent to which communities are similar by virtue of the use of the same keywords. Other similarity algorithms with greater or lesser degrees of precision might also be applicable. Displaying these similarities enables users to find topics of interest across communities (or emerging communities and trends), or find communities which should be merged (because they're talking about the same things), or even see collective experience among communities.
Further to the embodiment depicted in
A user can additionally filter out communities based on the number of broadcast messages sent to them. Referring back to
The second information window 311 shows extended information about a community, including, but not limited to, the following information: the number of participants, the number of messages sent per day, and the average number of people who join a FreeJam, for example, as provided by the ICT tool. This information is useful for determining how active a community is, and how large of a response to expect when sending a broadcast message. Additionally included is a histogram 320 illustrating the popularity of each type of broadcast message, as well as a graph of the historical activity of the community over the course of a time interval, e.g., a day. Since ICT broadcasts are highly synchronous, this is useful for timing messages to a particular community. For example, if a user wants to send a message at 1:00 pm, and notices that not many messages are sent during this time, they may infer that 3:00 pm is a better time for the community to receive the message. Other information provided via second information window 311 includes popular keywords 330, as well as the last four broadcasts 335 sent to this community. Both of these give the user a sense of what kinds of messages are sent to the community.
The system, method, and computer program product of the present invention is thus designed to give the user important information regarding how a community is used, how often it is used, and what it is used for, so that the user can make an informed choice about where to send their broadcast message. The interface of
Ultimately, the usage of the ‘everyone’ community would be significantly reduced, and the usage of other, more focused communities would increase.
As further mentioned herein, the system and method of the invention can be used to solve the problem of selection of categories in information systems that have multiple attributes such as: content management system, knowledge management systems, and Really Simple Syndication (RSS) feeds. For example, RSS feeds contain a description tag. Analysis of description tags across feeds could be used to produce a topic similarity metric that could be graphed in the same way that topic similarity was graphed in the messaging system. RSS feed lists might likewise become too long or their descriptions and titles too vague to ascertain their relevance as to what a user is interested in. A graphical representation of the feed attributes and the use-metrics would give the user insight to the content and general use of the feeds so that the user could decide which RSS feed has the most relevant information to them at that time. For example RSS feeds contain a description tag. Analysis of description tags across feeds could be used to produce a topic similarity metric that could be graphed in the same way that topic similarity is graphed in the messaging system. Another tag in the RSS feed is pubDate. This date information could also be added as visual attributes to the graph, thus allowing the graph to represent in a single picture multiple attributes specified in the feed. Furthermore, the feed generator could collect data about feed subscription, such as how many people have subscribed, when the first person subscribed and when the last person to subscribe subscribed. This additional usage information may then be added to the graphical representation. Such a graphical representation of the feed attributes and the use-metrics would help the user select which RSS feed to subscribe to.
As will be appreciated by one of skill in the art, embodiments of the present invention may be provided as methods, systems, or computer program products. Accordingly, the present invention may take the form of an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product, which is embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
As shown in
The computing system 100 additionally includes: computer readable media, including a variety of types of volatile and non-volatile media, each of which can be removable or non-removable. For example, system memory 150 includes computer readable media in the form of volatile memory, such as random access memory (RAM), and non-volatile memory, such as read only memory (ROM). The ROM may include an input/output system (BIOS) that contains the basic routines that help to transfer information between elements within computer device 100, such as during start-up. The RAM component typically contains data and/or program modules in a form that can be quickly accessed by processing unit. Other kinds of computer readable media 105 for storing program data and/or audio data to be segmented according to the invention include a hard disk drive (not shown) for reading from and writing to a non-removable, non-volatile magnetic media, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from and/or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM, or other optical media. Any data storage media 105 including hard disk drive, magnetic disk drive, and optical disk drive would be connected to the system bus 101 by one or more data media interfaces 146. Alternatively, the hard disk drive, magnetic disk drive, and optical disk drive can be connected to the system bus 101 by a SCSI interface (not shown), or other coupling mechanism. Although not shown, the computer 100 can include other types of computer readable media. Generally, the above-identified computer readable media provide non-volatile storage of computer readable instructions, data structures, program modules, and other data for use by computer 100. For instance, the readable media can store the operating system (O/S), one or more application programs, such as the messaging system software (IBM's ICT) or other collaborative messaging applications, and/or other program modules and program data providing a collaborative environment according to the invention. Input/output interfaces 145, 146 are provided that couple the input devices and data storage devices to the processing unit 110. More generally, input devices can be coupled to the computer 100 through any kind of interface and bus structures, such as a parallel port, serial port, universal serial bus (USB) port, etc. The computer environment 100 also includes the display device 19 and a video adapter card 135 that couples the display device 19 to the bus 101. In addition to the display device 19, the computer environment 100 can include other output peripheral devices, such as speakers (not shown), a printer, etc. I/O interfaces 145 are used to couple these other output devices to the computer 100.
Computing system 100 is further adapted to operate in a networked environment using logical connections to one or more other computers such as server device 15 (
In the networked environment, it is understood that the computer system 100 can draw from program modules stored in remote memory storage devices (not shown) in a distributed configuration. However, wherever physically stored, one or more of the application programs executing the targeted messaging system of the invention can include various modules for performing principal tasks. For instance, the application program can implement logic enabling input of the community data for storage in a centralized data storage system and/or logic for performing the targeted messaging techniques thereon. Other program modules can be used to implement additional functionality not specifically identified here.
The present invention has been described with reference to diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each diagram, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified herein.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified herein.
The computer program instructions may also be loaded onto a computer-readable or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified herein.
While the invention has been particularly shown and described with regard to a preferred embodiment thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention.