Abstract:
Embodiments of the present invention address deficiencies of the art in respect to managing interrupting requests to engage in a collaborative session and provide a novel and non-obvious method, system and computer program product for host state sensing for message interruptions. In one embodiment of the invention, a data processing system configured for host sensing for message interruption can include a messenger disposed is a host computing platform, prioritization logic including program code enabled to assign priorities to incoming messages, and host state sensing logic coupled to the host computing platform. The host state sensing logic can include program code enabled to adjust a threshold value for permitting message interruptions for messages having assigned priorities beyond the threshold value.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to the field of collaborative computing and more particularly to instant messaging and chat systems. 
     2. Description of the Related Art 
     Real time communications systems provide a substantial enhancement over more traditional, asynchronous communications systems. Electronic mail delivery systems, the prototypical asynchronous communications systems, in its time represented a giant leap forward in respect to global interpersonal communications. Prior to electronic mail, individuals primarily communicated via telephone, facsimile and post. With electronic mail, however, individuals expect near instant delivery of text, and even imagery, audio and video, without incurring the delay typical of the postal system, or the expense associated with telephony and fax technologies. 
     Despite the ubiquity of electronic mail, asynchronous communications systems lack several elements common in the realm of real time communications systems. In particular, the seemingly instant delivery of a message cannot be experienced in the world of electronic mail. In a real-time society, the minor latencies associated with electronic mail often cannot be suitable for the task at hand where a real-time conversation will be required in addressing a problem or performing a collaborative task. More importantly, often the feel and nature of a “conversation” as it is known to human beings only can be approximated through real time communications where the participants to a conversation feel the spontaneity of an exchange of ideas, much as is the case in a live, face-to-face conversation. 
     The recent rapid development of the Internet has led to advanced modes of synchronous, real-time collaboration able to fulfill the real-time communicative requirements of the modern computing participant. Using the Internet as a backbone, individuals worldwide can converge in real-time in cyberspace to share ideas, documents and images in a manner not previously possible through conventional telephony and video conferencing. To facilitate collaboration over the Internet, a substantial collection of technologies and protocols have been assembled to effectively deliver audio, video and data over the single data communications medium of the Internet. These technologies include several human-to-human collaborative environments such as instant messaging and persistent chat rooms. 
     In an instant messaging or persistent chat room environment, a messaging session can be requested by a collaborator, and upon acceptance of the request, a human-to-human collaborative session can be established in which real-time or near real-time messages can be exchanged as between the collaborators party to the session. The exchange of messages can continue until the session is terminated. Additional requests for collaborative sessions can result in the establishment of different environments which can execute concurrently albeit separately from one another. As it will be recognized, managing multiple collaborative sessions at once can become more difficult as the number of sessions increases. 
     Hence, as human-to-human collaborative environments, instant messaging and chat room technologies provide an efficient and useful method for personal and business communications. Inefficiencies can be introduced, however, when a user receives several requests to establish collaborative sessions for different collaborative environments. In this regard, determining whether or not to permit an interruption to engage in a collaborative session often relates to the level of urgency for a particular collaborative session. Accordingly, prioritization schemes have been developed which prioritize incoming messages across multiple collaborative environments. 
     BRIEF SUMMARY OF THE INVENTION 
     Embodiments of the present invention address deficiencies of the art in respect to managing interrupting requests to engage in a collaborative session and provide a novel and non-obvious method, system and computer program product for host state sensing for message interruptions. In one embodiment of the invention, a data processing system configured for host sensing for message interruption can include a messenger disposed in a host computing platform, prioritization logic including program code enabled to assign priorities to incoming messages, and host state sensing logic coupled to the host computing platform. The host state sensing logic can include program code enabled to adjust a threshold value for permitting message interruptions for messages having assigned priorities beyond the threshold value. 
     In another embodiment of the invention, a host state sensing method for message interruption can include permitting a message interruption only for messages in a messaging system having corresponding assigned priorities which exceed a pre-configured threshold value, and periodically adjusting the pre-configured threshold value responsive to sensing a condition in a host computing platform for the messaging system. In one aspect of the invention, permitting a message interruption only for messages in a messaging system having corresponding assigned priorities which exceed a pre-configured threshold value can include receiving a message in the messaging system, assigning a priority to the received message, comparing the assigned priority to the pre-configured threshold value, and permitting an interruption for the message if the assigned priority crosses the pre-configured threshold. 
     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 
       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: 
         FIG. 1  is a schematic illustration of an instant messaging system configured for host state sensing for message interruption; and, 
         FIG. 2  is a flow chart illustrating a process for host state sensing for message interruption. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Embodiments of the present invention provide a method, system and computer program product for host state sensing for message interruption. In accordance with an embodiment of the present invention, individual messages can be assigned a priority as messages are received in a host computing platform. The assigned priority can be based upon the identity of the sender of the received message, the content or nature of the message, or contemporaneous environmental conditions in the host computing platform. The assigned priority can be compared to a pre-configured threshold value. The recipient in the host computing platform can receive a notification of a received message only when the received message has an assigned priority which crosses the threshold value. 
     Notwithstanding, the pre-configured threshold value can change as the environmental conditions in the host computing platform change. Specifically, the environmental conditions in the host computing platform can be monitored. When a condition change is detected in the host computing platform, it can be determined whether or not to adjust the pre-configured threshold value. Examples include sensing the launching of one of a specified list of applications, idle time and periods of activity in the input methods of the host computing application and the use of particular peripheral devices in the host computing platform. In this way, interruptability of an end user can vary depending upon the state of a corresponding host computing platform. 
     In further illustration,  FIG. 1  is a schematic illustration of an instant messaging data processing system configured for host state sensing for message interruption where the messages are instant messages. In the instant messaging data processing system, an instant messaging client  110  can be configured with instant messaging logic  150 . The instant messaging client  110  can be communicatively linked to another instant messaging client  120  also configured with instant messaging logic  150 . In this way, the instant messaging client  110  (acting as a sender) can transmit messages over the data communications network  130  to the instant messaging client  120  (acting as a recipient). Optionally, an instant messaging server  140  can facilitate the exchange of messages between the instant messaging clients  110 ,  120 , although the instant messaging clients  110 ,  120  need not reside in the same instant messaging network and the instant messaging clients  110 ,  120  can reside in different instant messaging networks. 
     Notably, prioritization logic  200  can be coupled to a prioritization policy  160  for the instant messaging logic  150 . The prioritization policy  160  can specify both priorities to be applied to incoming messages  170  and a pre-configured threshold for permitting a message interruption. In regard to the former, incoming messages  170  can be prioritized according to the time when the messages  170  are received, according to the presence of the sources of messages  170  in a buddy list, according to a relationship hierarchy for the sources of messages  170 , and according to a category or role assigned to the sources of messages  170  and prioritized with respect to other sources of other messages  170 . 
     In regard to the latter, a threshold value can be set above which a notification can be provided for an incoming message, and below which a message interruption is not permitted. (Of course, the inverse condition also can be true where a notification can be provided where the prioritization falls below the threshold and does not exceed the threshold). Notwithstanding, host state sensing logic  180  can monitor the state of the instant messaging client  120  and the host state sensing logic  180  can upwardly or downwardly adjust the threshold value. Specifically, when the host state sensing logic  180  detects the activation of a particular application, the use of a particular input method, or the use of a particular peripheral device, it can be presumed that an interruption is desirable or undesirable. Examples include the activation of a presentation mode in a slide ware application, the activation of screen-sharing in an e-meeting, presentation ware, and the activation of demonstration ware. Other host states can include environmental states such as the time or day. Finally, applications can be configured with an option to manually increase the threshold that can be detected by the host state sensing logic  180 . 
     Utilizing the host state sensing logic  180 , the pre-configured threshold can change dynamically to affect when incoming messages  170  are permitted to cause an interruption in the instant messaging client  120 . In more particular illustration,  FIG. 2  is a flow chart illustrating a process for host state sensing for message interruption. Beginning in block  210 , the state of the host computing platform can be sensed and in block  220 , the pre-configured threshold for message interruption can be adjusted to account for the sensed state. For instance, where the sensed state indicates that a message interruption is desirable, such as when activated applications in the host computing platform indicate a desirability for collaboration, the threshold can be lowered. In contrast, when the sensed state indicates that a message interruption is undesirable, the threshold can be raised. 
     In decision block  230 , it can be determined whether a message has been received in the host computing platform. The message can include, for example, an instant message or a chat session message, to name two. If so, in block  240 , the prioritization policy can be applied to the received message to assign a priority to the received message. In decision block  250 , if the assigned priority of the received message does not exceed the threshold, in block  260  the received message can be ignored. Otherwise, if the assigned priority of the received message exceeds the threshold in decision block  250 , in block  270  a message interruption can be permitted and a notification can be generated in the host computing platform. 
     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. 
     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. 
     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.