The present invention relates to the field of collaborative computing and more particularly to instant messaging and chat systems.
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.
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.
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:
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,
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,
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.
This application is a Continuation of U.S. patent application Ser. No. 15/236,477, filed Aug. 14, 2016, which is a Continuation of U.S. patent application Ser. No. 11/318,803, filed Dec. 27, 2005, the entirety of each which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6301609 | Aravamudan | Oct 2001 | B1 |
6446112 | Bunney et al. | Sep 2002 | B1 |
6449646 | Sikora et al. | Sep 2002 | B1 |
6513026 | Horvitz | Jan 2003 | B1 |
6553416 | Chari et al. | Apr 2003 | B1 |
6565608 | Fein et al. | May 2003 | B1 |
6622160 | Horvitz | Sep 2003 | B1 |
6714967 | Horvitz | Mar 2004 | B1 |
6732364 | Bhaskaran et al. | May 2004 | B1 |
6832245 | Isaacs | Dec 2004 | B1 |
6839735 | Wong | Jan 2005 | B2 |
6988128 | Alexander et al. | Jan 2006 | B1 |
7096255 | Malik | Aug 2006 | B2 |
7139806 | Hayes et al. | Nov 2006 | B2 |
7209916 | Seshadri | Apr 2007 | B1 |
7325034 | Douglis et al. | Jan 2008 | B2 |
7543053 | Goodman et al. | Jun 2009 | B2 |
7827501 | Geyer | Nov 2010 | B2 |
9426103 | Muller | Aug 2016 | B2 |
10554609 | Muller | Feb 2020 | B2 |
20020054117 | van Dantzich | May 2002 | A1 |
20020087634 | Ogle | Jul 2002 | A1 |
20020087649 | Horvitz | Jul 2002 | A1 |
20020130904 | Becker et al. | Sep 2002 | A1 |
20030018718 | Maehiro | Jan 2003 | A1 |
20030055908 | Brown et al. | Mar 2003 | A1 |
20030065721 | Roskind | Apr 2003 | A1 |
20030076353 | Blackstock et al. | Apr 2003 | A1 |
20030083047 | Phillips et al. | May 2003 | A1 |
20030149754 | Miller et al. | Aug 2003 | A1 |
20030195937 | Kircher | Oct 2003 | A1 |
20030212646 | Horvitz | Nov 2003 | A1 |
20030222765 | Curbow et al. | Dec 2003 | A1 |
20040068545 | Daniell et al. | Apr 2004 | A1 |
20040117534 | Parry | Jun 2004 | A1 |
20040128359 | Horvitz | Jul 2004 | A1 |
20040215731 | Tzann-en Szeto | Oct 2004 | A1 |
20040261030 | Nazzal | Dec 2004 | A1 |
20050015293 | Henn | Jan 2005 | A1 |
20050055405 | Kaminsky et al. | Mar 2005 | A1 |
20050055416 | Heikes | Mar 2005 | A1 |
20050071433 | Shah | Mar 2005 | A1 |
20050086309 | Galli et al. | Apr 2005 | A1 |
20050132011 | Muller et al. | Jun 2005 | A1 |
20050204001 | Stein | Sep 2005 | A1 |
20060010394 | Chaudhri et al. | Jan 2006 | A1 |
20060080263 | Willis et al. | Apr 2006 | A1 |
20060178893 | Mccallie et al. | Aug 2006 | A1 |
20060200842 | Chapman et al. | Sep 2006 | A1 |
20060236390 | Matovsky | Oct 2006 | A1 |
20060242246 | Lyle et al. | Oct 2006 | A1 |
20070014284 | Daniels et al. | Jan 2007 | A1 |
20070022157 | Daniels et al. | Jan 2007 | A1 |
20070174768 | Sen et al. | Jul 2007 | A1 |
20080120545 | Geyer et al. | May 2008 | A1 |
Number | Date | Country |
---|---|---|
1467652 | Jan 2004 | CN |
1790273 | Jun 2006 | CN |
101183309 | May 2008 | CN |
1849818 | Feb 2011 | CN |
2007074080 | Jul 2007 | WO |
Entry |
---|
JC, Gmail RSS Feed, Oct. 21, 2004, http://www.forevergeek.com/2004/1O/gmail_rss_feed/. |
Number | Date | Country | |
---|---|---|---|
20200120057 A1 | Apr 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15236477 | Aug 2016 | US |
Child | 16714683 | US | |
Parent | 11318803 | Dec 2005 | US |
Child | 15236477 | US |