Abstract:
Embodiments of the present invention address deficiencies of the art in respect to message prioritization and provide a novel and non-obvious method, system and computer program product for social collaborative prioritization of messages in a messaging system. In an embodiment of the invention, a method for social collaborative prioritization of messages can be provided for a messaging system. The method can include receiving a message from a sender as directed to a recipient, determining a value for a different social collaborative criterion based upon an application interaction relationship between the sender and the recipient, transforming the value into a priority for the message, and associating the priority with the message in the messaging system.

Description:
REFERENCE TO CO-PENDING APPLICATIONS FOR PATENT 
       [0001]    The present application is related to the following co-assigned U.S. Patent Applications, which are expressly incorporated by reference herein: 
         [0002]    U.S. application Ser. No. ______, entitled “SOCIAL COLLABORATIVE SCORING FOR MESSAGE PRIORITIZATION BASED UPON A TEMPORAL FACTOR BETWEEN SENDER AND RECIPIENT” (docket no. RSW920070442US1 (348U2)), filed on Jan. __, 2008. 
         [0003]    U.S. application Ser. No. ______, entitled “SOCIAL COLLABORATIVE SCORING FOR MESSAGE PRIORITIZATION BASED UPON A SOCIAL NETWORKING RELATIONSHIP BETWEEN SENDER AND RECIPIENT” (docket no. RSW920070443US1 (348U3)), filed on Jan. __, 2008. 
         [0004]    U.S. application Ser. No. ______, entitled “SOCIAL COLLABORATIVE SCORING FOR MESSAGE PRIORITIZATION BASED UPON AN ORGANIZATIONAL RELATIONSHIP BETWEEN SENDER AND RECIPIENT” (docket no. RSW920070444US1 (348U4)), filed on Jan. __, 2008. 
     
    
     BACKGROUND OF THE INVENTION 
       [0005]    1. Field of the Invention 
         [0006]    The present invention relates to the field of computer messaging and more particular to message prioritization in a message folder. 
         [0007]    2. Description of the Related Art 
         [0008]    Messaging is the lifeblood of the Internet. The ability for different users geographically dispersed about the globe to exchange messages instantaneously and to universally read those messages irrespective of the type of computer involved has enabled the explosive growth of computing worldwide. Messaging generally includes not only traditional, asynchronous forms of communication including e-mail, discussion forums, blogging, wikis, shared calendaring and tasking, but also synchronous forms of communication including instant messaging, group chats, and the like. Irrespective of the mode of messaging, however, that remote individuals can instantaneously communicate provides the pulse of modern computing. 
         [0009]    The ease in which end users can compose and transmit messages to others in an instantaneous fashion is not without consequence, however. Whereas traditional forms of communication—namely the telephone, facsimile and postal service—required some effort on the part of communicants, composing and transmitting a message like an e-mail or instant message requires little effort. Accordingly, the volume of messages traversing the global Internet each minute far exceeds by orders of magnitude those messages transmitted using traditional methods. As a result, entirely new management tools are required to manage the sheer mass of messages end users receive and process each day. 
         [0010]    For casual users of messaging, message management can be limited to sorting a view of an inbox for inbound messages. Yet, for advanced users—particularly corporate users—the constraint of the physical size of the view inhibits the ability to see all messages so as to permit manual management of messages through sorting. The problem of message management can be compounded when the number of messages to be managed sums to the hundreds and thousands. In the latter instance, an end user may require days to process each message resulting in a lapse of communication comparable to that of pre-Internet, traditional messaging—the very problem sought to be overcome by Internet based messaging. 
         [0011]    To address the problem of message management for a large volume of messages, tools have been developed to prioritize messages either manually or automatically. Once messages have been prioritized, the messages can be sorted in a view to the messages so that the messages of highest priority can appear within eyeshot of an end user. Consequently, the end user can process those messages of greatest importance first, leaving those messages of lesser importance for later processing. Most tools permit the classification of messages by numerical priority, and advanced tools perform prioritization according to the identity of the sender of the message, the time of receipt of the message or keywords in the subject line of the message. 
         [0012]    Recently, message management systems have combined different prioritization criteria for automatically sorting and/or filtering messages wherein each of the criteria can be manually weighted by the end user to express a preferred balancing of application of the criteria to inbound messages. Exemplary criteria include whether or not the sender is recognized as an entry in the address book of the recipient, the priority of the message as established by the sender, the extent of participation of the recipient in a thread associated with the message (known as thread participation), and whether the message recipient was designated as the direct recipient, or as the recipient of a carbon copy or blind carbon copy (known as message directness). While the foregoing criteria can be important to many users, in the organizational and social context, the criteria cannot properly prioritize a message according to the relative importance of the message in a social collaborative structure of messengers. 
       BRIEF SUMMARY OF THE INVENTION 
       [0013]    Embodiments of the present invention address deficiencies of the art in respect to message prioritization and provide a novel and non-obvious method, system and computer program product for social collaborative prioritization of messages in a messaging system. In an embodiment of the invention, a method for social collaborative prioritization of messages can be provided for a messaging system. The method can include receiving a message from a sender as directed to a recipient, determining a value for a different social collaborative criterion based upon an application interaction relationship between the sender and the recipient, transforming the value into a priority for the message, and associating the priority with the message in the messaging system. 
         [0014]    In one aspect of the embodiment, the method also can include further determining a value for a different social collaborative criterion and weighting each of the values. In another aspect of the embodiment, the method further can include disabling a determination of one of the social collaborative criterion. In yet another aspect of the embodiment, receiving a message from a sender as directed to a recipient can include receiving a message such as an e-mail, an instant message, a discussion forum posting and a wiki posting, and determining values for different social collaborative criterion based upon a relationship between the sender and the recipient can include determining values for different social collaborative criterion based upon any combination of an organizational relationship, a temporal relationship, and a social networking relationship. 
         [0015]    In another embodiment of the invention, a messaging data processing system can be provided. The system can include a messaging server configured for coupling to multiple different messaging clients over a computer communications network. The system also can include social collaboration prioritization logic. The logic can include program code enabled to determine values for different social collaborative criterion for a received message based upon an application interaction relationship between a sender and a recipient of the message, to transform the value into a priority for the message, and to associate the priority with the message. 
         [0016]    Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0017]    The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein: 
           [0018]      FIG. 1  is a pictorial illustration of a process for social collaborative prioritization of messages; 
           [0019]      FIG. 2  is a schematic illustration of a messaging system configured for social collaborative prioritization of messages; and, 
           [0020]      FIG. 3  is a flow chart illustrating a process for social collaborative prioritization of messages in a messaging system. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0021]    Embodiments of the present invention provide a method, system and computer program product for social collaborative prioritization of messages in a messaging system. In accordance with an embodiment of the present invention, social collaborative criteria can be weighted and applied to inbound messages in order to either sort or filter the messages in a message view in a messaging system. The social collaborative criteria can include the organizational relationship between a sender of the message and a recipient of the message, an application interaction relationship expressing a number of different applications used by the sender of the message to message the recipient of the message, a temporal relationship indicating whether or not an associated thread of interaction between the sender and the recipient remains active, and a social networking relationship measuring proximal connectivity between the sender and the recipient. 
         [0022]    In further illustration,  FIG. 1  is a pictorial illustration of a process for social collaborative prioritization of messages. As shown in  FIG. 1 , social collaborative criteria  120  for a message  110  can be subjected to weighting  130  to produce a priority  140  for the message  110 . The social collaborative criteria  120  can include an organizational relationship  120 A. The organization relationship  120 A can include a position in an organizational hierarchy for the sender of the message  110  either as an absolute value, or as a relative value compared to a position in the organizational hierarchy of the recipient of the message  110 . Optionally, where multiple recipients of the message  110  have been designated, a combination score for the organization relationship  120 A can be computed, for instance a summed value, a diminished value by the number of recipients or an average value. 
         [0023]    The social collaborative criteria  120  also can include a temporal relationship  120 B. The temporal relationship  120 B can be defined by the duration in which an associated message thread between the sender of the message  110  and the recipient of the message  110  has been active. The longer the message thread has enjoyed continuous activity, the higher the score for the temporal relationship  120 B. Once the thread has gone inactive, specifically when no responsive messages have been posted to the thread in a threshold period of time, the score for the temporal relationship  120 B will be diminished. 
         [0024]    The social collaborative criteria  120  yet further can include a social networking relationship  120 C. The social networking relationship  120 C can be defined by the close connectivity between the sender of the message  110  and the recipient of the message  110  in a social network. In this regard, the fewer relationships the link the sender of the message  110  and the recipient of the message  110 , the higher the score assigned to the social networking relationship  120 C indicating a closer relationship between the sender of the message  110  and the recipient of the message  110 . 
         [0025]    Finally, the social collaborative criteria  120  can include an application interaction relationship  120 N. The application interaction relationship  120 N can be defined by a number of different messaging applications utilized by the sender of the message  110  in attempting to contact the recipient of the message  110  within a threshold defined period of time. The more applications used by the sender of the message  110  indicate a higher sense of urgency of the message  110  resulting in a higher score for the application interaction relationship  120 N. 
         [0026]    Notably, the weights  130  can vary from user to user. The weights  130  can be assigned manually and individually for each of the social collaborative criteria  120 , or the weights  130  can be assigned as a set. Different sets of the weights  130  can be arranged for different roles in an organization so that the set of weights  130  for a manager may differ from the set of weights  130  for a clerk. Yet further, individual ones of the social collaborative criteria  120  can be enabled or disabled either manually by the end user, or automatically based upon environmental criteria such as time of day. Again, the enablement and disablement of the social collaborative criteria  120  can be included as an automated set and can vary based upon the different roles in an organization for a recipient of the message  110 . 
         [0027]    The process illustrated in  FIG. 1  can be performed within a messaging data processing system. In illustration,  FIG. 2  schematically depicts a messaging system configured for social collaborative prioritization of messages. The system can include a host server  210  configured for communicative coupling over computer communications network  220  to different computing devices  230 , each hosting a corresponding messaging client  240 . The host server  210  can support the operation of a messaging server  250 , for example an e-mail server, instant messaging server, discussion forum server, wiki server, collaborative server, and the like. 
         [0028]    Notably, social collaborative prioritization logic  300  can be coupled to the host server  210 , to the messaging clients  240 , or both. The social collaborative prioritization logic  300  can include program code enabled to compute a weighted priority for messages flowing from the messaging server  250  to the messaging clients  240  based upon social collaboration criteria, including an organizational relationship of the sender, a temporal relationship between the sender and the recipient, a social networking relationship between the sender and the recipient, and an application interaction relationship between the sender and the recipient of the message. Weights  260  can be applied to each of the collaborative criteria automatically or manually and selectively and the applied ones of the weights  260  can vary based upon the placement of the recipient in an organizational hierarchy or environmental factors. Finally, different ones of the collaborative criteria can be selectively enabled and disabled either manually by the recipient, or automatically based upon the placement of the recipient in the organizational hierarchy or environmental factors. 
         [0029]    In yet further illustration of the operation of the social collaborative prioritization logic  300 ,  FIG. 3  is a flow chart illustrating a process for social collaborative prioritization of messages in a messaging system. Beginning in block  310 , a message can be received from a sender as directed to a recipient. In block  320 , a value for each of the social collaborative criteria can be determined for the message. Thereafter, in block  330 , each of the values can be weighted and combined to form a priority and in block  340 , the priority for the message can be applied to the message. In this way, messages in a view can be sorted or filtered by priority as the priority relates to the social relationship between the sender and the recipient. 
         [0030]    Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. 
         [0031]    For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. 
         [0032]    A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.