Home

Method and System for Automatically Setting Chat Status Based on

image

Contents

1. 08 2009 0016510 1 METHOD AND SYSTEM FOR AUTOMATICALLY SETTING CHAT STATUS BASED ON USER ACTIVITY IN LOCAL ENVIRONMENT BACKGROUND OF THE INVENTION 0001 1 Field of the Invention 0002 The present invention relates to an improved data processing system and in particular to a method and system for multi computer data transferring Still more particularly the present invention provides a method and system for multi user communication using instant messaging 0003 2 Description of Related Art 0004 In most instant messaging systems the activity sta tus or the availability status of a particular user is reflected to other users of an instant messaging system by associating one of many variable status values with the user account These status values assist other users in assessing whether it is possible for the other users to initiate an instant messaging session with the given user For example an offline status shows that a given user is not logged onto the system thereby informing other users that any attempt to initiate an instant messaging session with the given user would be futile An online status shows that a user is logged onto the system and other users may assume that they are likely to get a response when they initiate an instant messaging session with the given user 0005 In some cases an instant messaging system auto matically assigns a certain status value to a user and this automatic ass
2. given time based information about ambient Related U S Application Data ment that reflects the user s activity or inactivity in the ambi 63 Continuation of application No 10 881 974 filed on ent environment at that given time or some other automati Jun 30 2004 now Pat No 7 444 379 cally gathered information CHAT CLIENT CHAT STATUS DATA VALUE 502 508 CHAT STATUS COMPUTATION UNIT 510 CHAT STATUS RULES ENGINE 512 CHAT CLIENT 504 NETWORK 506 WEB SERVICE BASED SCHEDULE FILE 530 CHAT STATUS REPORTING UNIT 514 CHAT STATUS CLOAKING UNIT 516 CONFIGURATION PARAMETERS 518 SCHEDULE MONITORING UNIT 520 APPLICATION ACTIVITY MONITORING UNIT 522 TELEPHONE ACTIVITY MONITORING UNIT 524 AMBIENT ENVIRONMENT MONITORING UNIT 526 MOTION DETECTOR INTERFACE 538 LOCALLY STORED SCHEDULE FILE 528 LIST OF LOCAL ACTIVE APPLICATIONS 532 MODEM INTERFACE 534 MICROPHONE INTERFACE 536 Patent Application Publication Jan 15 2009 Sheet 1 of 7 US 2009 0016510 1 CLIENT Or 116 PERSONAL 114 DIGITAL ASSISTANT er FIG 14 PERSONAL DIGITAL ASSISTANT PRIOR ART 11 WIRELESS PHONE 120 122 DISPLAY CPU ADAPTER 146 DISPLAY 123 144 USER INTERFACE 48 ADAPTER 130 126
3. detected user inactivity comprises instructions for auto matically setting a chat status based on telephone line activity only if the caller ID information associated with the incoming telephone call matches a priority telephone number 18 The computer program product of claim 17 further comprising instructions for automatically resetting a user chat status value within the instant messaging application based on a cessation of the detected user activity and or the detected user inactivity 19 32 canceled 33 An apparatus for managing user chat status values in an instant messaging application wherein a user chat status value indicates the availability of a user to participate in an instant messaging session the apparatus comprising means for allowing a user to select one or more priority telephone numbers that are screened for activity means for automatically detecting user activity and or user inactivity external to an instant messaging application wherein the means for automatically detecting user activity and or user inactivity external to an instant mes saging application comprises means for automatically determining user activity and or user inactivity based on telephone line activity means for automatically screening caller ID information associated with an incoming telephone call with respect to the one or more priority telephone numbers and means for automatically setting a user chat status value within the instant m
4. FIG 9 depicts a diagram that shows a graphical user interface window for an instant messaging application that allows a user of the instant messaging application to enter or select configuration parameters that will be used to control the manner in which the instant messaging application oper ates with respect to its ambient environment monitoring unit 0022 FIG 10 depicts a flowchart that shows an event processing loop within an instant messaging application in which various types of detected events are processed to deter mine if the user chat status should be automatically changed based on a detected event in accordance with an embodiment of the present invention 0023 FIG 11 depicts a flowchart that shows a process for re evaluating applicable chat status rules based on detected telephone activity events in accordance with an embodiment of the present invention and 0024 FIGS 12A 12B depicts a pair of timelines that show different sets of user chat status over time that would be caused by different user choices of configuration parameters with respect to telephone activity monitoring options DETAILED DESCRIPTION OF THE INVENTION 0025 Ingeneral the devices that may comprise or relate to the present invention include a wide variety of data process ing technology Therefore as background a typical organi zation of hardware and software components within a distrib uted data processing system is described prior to describing
5. PRINTER MOUSE 128 I O ADAPTER fie SE ve DISK 134 KEYBOARD 136 COMMUNICATION 132 ADAPTER COMMUNICATION LINK FIG IB PRIOR Patent Application Publication Jan 15 2009 Sheet 2 of 7 US 2009 0016510 Al INSTANT MESSAGING APPLICATION USER B 204 INSTANT MESSAGING APPLICATION USER A 202 FIG 2 PRIOR ART INSTANT MESSAGING SERVER 200 Instant Messaging Application File Edit View Tools Window Help 300 IM Contacts John Doe W 302 304 306 Message When is the next meeting 30 John l haven t seen the sales figures yet 310 John Doe Hey James They re in the sales report 312 haven t seen the sales report John Doe have copy of the sales report ME Do you have a copy of the marketing plan FIG 3 John Doe They should have it at the next meeting PRIOR ART instant Messaging Application 400 Austin Texas 404 402 JADAMS CORPZ COM 406 MDANIELS CORPK COM _ 408 FIG 4 PRIOR ART Subsystem Project 410 PGAINES CORPK COMN 412 OFRANKS CORPZ COM 414 Wy status oo vor DSTORE Wate 420 4 INVISIBLE 422 4 ONLINE 424 N AWAY FROM DESK 426 C DO NOT DISTURB 416 Patent Application Publication Jan 15 2009 Sheet 3 of 7 US 2009 0016510 1 CHAT CLIENT CHAT STATUS DATA VALUE 502 508 CHAT STATUS UNIT 510 CHAT STATUS RULES E
6. away from desk status and buddy 414 has a do not disturb status 0044 Status bar 416 indicates the current instant messag ing status of the user of the instant messaging application In the example that is shown in FIG 4 the user has a do not disturb status hence if the user is included as a buddy in other users buddy lists the status of the user would appear in a manner similar to that shown for the user s buddy 414 The user s status is displayed in conjunction with a drop down menu 418 that contains selectable instant messaging status values thereby allowing the user to change the user s instant messaging status as desired If the user selects a menu item within drop down menu 418 then the selected status is trans mitted to anyone who has included the user within a buddy list 0045 As noted previously the indication of a user s instant messaging status can be helpful in facilitating com munication between users but it can also be disruptive to a user s productivity by distracting a user from other activities Hence many instant messaging systems allow a user to manually select from several privacy related status values that control whether other users are informed ofa given user s current status These status values restrict the other users from knowing the true status of the given user thereby prohibiting those users from beginning an instant message conversation with the given user In the examp
7. instant messaging application the information that is displayed may be a graphical representation of a buddy object such as a thumbnail picture or an icon or the infor mation may be in some other form such as a textual identifier The description of the invention hereinbelow relies on a well known understanding of the operation of graphical user inter faces in which visual textual objects on a display device rep Jan 15 2009 resent a series of abstractions The user interacts through the graphical user interface to manipulate visually represented data objects which may represent some other type of data object such as a buddy object which itself represents a real user Hence the terms buddy buddy object or some other term for an associated data object can sometimes be interchanged in a well known manner to facilitate the description of operations at a data processing system 0035 With reference now to FIG 2A a block diagram depicts a typical instant messaging system Typical instant messaging systems have characteristics of a client server organization and a peer to peer organization Instant messag ing IM server 200 authenticates a user of an instant messag ing application such as instant message application instances 202 and 204 After authenticating a user the instant messag ing server will perform certain operations on behalf of the instant messaging application In this manner an instance of an instant m
8. select whether microphone monitoring is enabled if this option is enabled then the chat client performs certain operations when it either detects or does not detect sound through a microphone connected to the host computer Check box 906 allows a user to select whether motion detec tor monitoring is enabled if this option is enabled then the chat client performs certain operations when it either detects or does not detect motion through a motion detector con nected to the host computer For example an absence of sound and or motion may be an indication that the user is not in the proximity of the host computer and thus unavailable for achat session Conversely a detection of sound and or motion may be an indication that the user is in the proximity of the host computer and thus available for a chat session however the chat client could be alternatively configured such that a detection of sound and or motion may be an indication that the user is in the proximity of the host computer but is unavail 08 2009 0016510 1 able for a chat session because user is performing some other task during which the user does not wish to be disturbed 0081 Check box 908 allows the user to select whether chat session invitations should be queued while the user 15 unavail able as determined by detection of activity or inactivity in the ambient environment OK button 910 closes window 900 and accepts any of the changes that have been made by t
9. selected a menu within the main application window of the instant messaging client application or has otherwise issued a command within the instant messaging application to request the option to set configuration param eters 0068 Check box 602 allows a user to select whether schedule monitoring is enabled Text entry field 604 allows a user to enter some form of identifier for a file a datastore or a Uniform Resource Identifier that identifies a location from which the user s schedule information can be retrieved Add File button 606 adds the schedule information identi fier from text entry field 604 to scrollable list 608 of schedule information identifiers another button could be provided that opens a dialog window that allows the user to choose a file from different disk drives directories etc Delete File but ton 610 deletes a user selected schedule information identi fier from list 608 0069 Check box 612 allows the user to select whether chat session invitations should be queued while the user is unavail able as determined by the analysis of the schedule informa tion In other words the user can choose an option in which any chat sessions that other users try to initiate while the user s chat status is busy due to user activity in other appli cations will be queued up until the user s chat status changes Jan 15 2009 back to a chat status that indicates that the user is available to enga
10. the present invention in more detail 0026 With reference now to the figures FIG LA depicts a typical network of data processing systems each of which may implement a portion of the present invention Distributed data processing system 100 contains network 101 which is a medium that may be used to provide communications links between various devices and computers connected together Jan 15 2009 within distributed data processing system 100 Network 101 may include permanent connections such as wire or fiber optic cables or temporary connections made through tele phone or wireless communications In the depicted example server 102 and server 103 are connected to network 101 along with storage unit 104 In addition clients 105 107 also are connected to network 101 Clients 105 107 and servers 102 103 may be represented by a variety of computing devices such as mainframes personal computers personal digital assistants PDAs etc Distributed data processing system 100 may include additional servers clients routers other devices and peer to peer architectures that are not shown 0027 Inthe depicted example distributed data processing system 100 may include the Internet with network 101 rep resenting a worldwide collection of networks and gateways that use various protocols to communicate with one another such as Lightweight Directory Access Protocol LDAP Transport Control Protocol Internet Protocol TCP IP File Tran
11. NGINE 512 CHAT CLIENT 504 CHAT STATUS REPORTING UNIT 514 CHAT STATUS CLOAKING UNIT 516 NETWORK 506 CONFIGURATION PARAMETERS 518 WEB SERVICE BASED SCHEDULE FILE 530 SCHEDULE MONITORING UNIT LOCALLY STORED 520 SCHEDULE FILE 528 APPLICATION ACTIVITY MONITORING UNIT LIST OF LOCAL ACTIVE 522 APPLICATIONS 539 TELEPHONE ACTIVITY MONITORING UNIT MODEM 524 INTERFACE 534 AMBIENT ENVIRONMENT MONITORING UNIT MICROPHONE 526 INTERFACE 53 MOTION DETECTOR INTERFACE 538 FIG 5 Patent Application Publication Jan 15 2009 Sheet 4 of 7 US 2009 0016510 1 INSTANT MESSAGING APPLICATION SCHEDULE MONITORING OPTIONS X SCHEDULE ACTIVITY MONITORING 602 604 ENTER FILE LOCATION C MY DOCUMENTS CALENDAR XML DOCUMENTS CALENDAR XML 610 FILE LOCATIONS FTP WWW YAHOO COM 608 Z NETWORK USRIDOCS DELETE FILE DY ALLOW CHAT SESSION QUEUEING 612 614 FIG 6 INSTANT MESSAGING APPLICATION APPLICATION MONITORING OPTIONS X APPLICATION ACTIVITY MONITORING 702 ENTER APPLICATION SUPERCAD EXE 710 APPLICATIONS VIDEOEDIT EXE SOUNDEDIT EXE DELETE X ALLOW CHAT SESSION QUEUEING 712 714 Sk FIG 7 Patent Application Publication Jan 15 2009 Sheet 5 of 7 US 2009 0016510 1 INSTANT MESSAGING APPLICATION TELEPHONE MONITORING OPTIONS gt lt TELEPHONE ACTIVITY MONITORING 802 X CALLER ID PRIORITY FILTERING 804 E
12. NTER PHONE NUMBER 512 555 1212 A 812 PRIORITY PHONE NUMBERS 512 555 0000 DJ ALLOW CHAT SESSION QUEUEING 814 816 C amp D Een FIG 8 INSTANT MESSAGING APPLICATION AMBIENT ENVIRONMENT MONITORING OPTIONS AMBIENT ENVIRONMENT ACTIVITY MONITORING 902 X MICROPHONE MONITORING 904 X MOTION DETECTOR MONITORING 906 ALLOW CHAT SESSION QUEUEING 908 25 on CANCEL FIG 9 Patent Application Publication Jan 15 2009 Sheet 6 of 7 US 2009 0016510 1 APPLICATION SHUTDOWN YES USER 15 CHANGING CONFIGURATON PARAMETERS 1004 MODIFY STORED CONFIGUATION PARAMETERS 1006 EVENT NOTIFICATION RECEIVED 1008 RE EVALUATE APPLICABLE RULES BASED ON EVENT NOTIFICATION 1010 GENERATE NEW CHAT STATUS BASED ON RULE EVALUATIONS 1012 END FIG 10 Patent Application Publication Jan 15 2009 Sheet 7 of 7 US 2009 0016510 Al BEGIN MONITOR TELEPHONE ACTIVITY 1102 DETECTED TELEPHONE ACTIVITY 1104 INCOMING NUMBER IN PRIORITY LIST CALLER ID SCREENING 1106 CHANGE CHAT STATUS BASED ON DETECTED TELEPHONE ACTIVITY 1110 CHAT STATUS VALUE FIG 12 TIME ONLINE ON THE PHONE ONLINE PHONE ACTIVITY END OF PHONE DETECTED ACTIVITY 1202 1204 CHAT STATUS VALUE ONLINE ONLINE ONLINE END OF PHONE ACTIVITY 1214 PHONE ACTIVITY DETECTED 1212
13. US 20090016510 1 19 United States a2 Patent Application Publication Pub No US 2009 0016510 Al Becker et al 43 Pub Date Jan 15 2009 54 METHOD AND SYSTEM FOR Publication Classification AUTOMATICALLY SETTING CHAT STATUS 51 BASED ON USER ACTIVITY IN LOCAL ENVIRONMENT HO4M 15 06 2006 01 75 Inventors Craig Henry Becker Austin TX 52 US CE terre 379 142 15 US Wayne Elmo Vicknair Austin TX US 57 ABSTRACT Correspondence Address A method is presented for managing user chat status a chat IBM CORP YA application The chat application automatically detects user C O YEE amp ASSOCIATES PC activity and or user inactivity external to the chat application P O BOX 802333 and then automatically sets a user chat status value within the DALLAS TX 75380 US chat application based on the detected user activity and or detected user inactivity The chat application may automati 73 Assignee International Business Machines cally set the user s current chat status at a given time for Corporation Armonk NY US example based on retrieved schedule information that reflects the user s activity at that given time based on appli 21 Appl No 12 239 206 cation usage information that reflects the user s activity at that given time with other applications based telephone usage 22 Filed Sep 26 2008 information that reflects user s telephone activity at that
14. a user may not be able to engage in a chat session is that the user is busy doing some task near the host computer that probably does not involve using the host computer Ambient environment monitoring unit 526 gathers information about current conditions within the host computer s ambient environment using one or more detectors within the host computer s ambient environment Chat client 502 may be able to automatically set the user s current chat status at a given time based on the ambient environment information that reflects the user s activity or 08 2009 0016510 1 inactivity in the ambient environment at that given time FIG 9 below illustrates an example of a graphical user interface window that a user may employ to set configuration param eters for ambient environment monitoring unit 526 0065 For example ambient environment monitoring unit 526 can use microphone interface 536 to detect sound in the room that contains the host computer An absence of sound may indicate that the user is not within the room thereby indicating that the user is not available to engage in a chat session Ambient environment monitoring unit 526 may include a voice analysis component to detect human voices in the gathered sound data the presence of which may indicate that the user is engaged in a conversation with another person in the room or on the telephone and hence is busy such that he or she cannot engage in a chat session 0066 As ano
15. ag value might be set merely to show that a change in telephone activity has been detected This information would be retrieved by the chat computation unit but the change in information does not result in a change in the user s chat status after evaluating the chat status rules 0095 The advantages of the present invention should be apparent in view of the detailed description that is provided above Busy users that generally do not want to be disturbed by instant messaging sessions while performing tasks exter nal to the instant messaging client can request that the instant messaging client automatically set user chat status based on detected activity or detected inactivity of the user Another way to think of user activity inactivity is as a continuum or set of user activity states from intensely active and thus unlikely to respond to chat session messages to moderately active more likely to respond to inactive likely not present and thus unlikely to respond also 0096 It is important to note that while the present inven tion has been described in the context of a fully functioning data processing system those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of instructions in a computer readable medium and a variety of other forms regardless of the particular type of signal bearing media actu ally used to carry out the distribution Examples
16. aging systems the description turns now to the present invention 08 2009 0016510 1 which addresses problems in operation of prior art instant messaging systems noted above prior art instant messag ing systems provide many different chat status values for informing users of the availability or the degree of availability of other users for engaging in a chat session 0048 Although these status values may be manually selected by a user some of these status values are cally determined by the instant messaging system itself e g offline or busy However when an instant messaging system automatically determines a status value for a user the instant messaging system automatically determines the status value based on the interaction between the user and the instant messaging system 0049 From another perspective the instant messaging system monitors the user s interactions with respect to itself or conversely the instant messaging system is configured to observe its own actions with respect to the user from these observed actions or monitored states the instant messaging system automatically determines the user s chat status For example the instant messaging system can maintain a state that reflects that the user has completed an authentication operation with respect to the instant messaging system i e a logged in state for the user based on this state the instant messaging system infor
17. ameters that will be used to control the manner in which the instant messaging application operates with respect to its application activity monitoring unit As noted above a chat client may be able to automatically set the user s current chat status at a given time based on user activity in other applications at that given time Window 700 is a GUI window within an instant messaging client application that allows a user to set configuration parameters for controlling the manner in which the instant messaging application obtains and uses information about the user s activities with respect to other applications Window 700 may be presented after the user has selected a menu within the main application window of the instant messaging client application or has otherwise issued a command within the instant messaging application to request the option to set configuration parameters 0071 Check box 702 allows a user to select whether appli cation monitoring is enabled Text entry field 704 allows a user to enter some form of identifier for an application that should be monitored Add App button 706 adds the appli cation identifier from text entry field 704 to scrollable list 708 of application identifiers Delete App button 710 deletes a user selected application identifier from list 708 Another button could be provided that opens a dialog window that allows the user to choose an application from different disk drives directories
18. aram eters for schedule monitoring unit 520 0060 For example the user may use a calendar applica tion on the data processing system that also supports chat client 502 which may store the user s schedule information in locally stored schedule file 528 the calendar application allows the user to keep track of his or her appointments projects timelines and various activities Many web portals provide such calendar functions and schedule monitoring unit 520 may retrieve a data file containing schedule infor mation from a location within the Internet e g schedule file 530 that is hosted by a web site and that can be retrieved by chat client 502 via a web service architecture Alternatively schedule monitoring unit 518 may retrieve schedule informa tion from a so called personal information manager PIM application that integrates schedule calendar information with other types of applications and devices such as a per sonal digital assistant PDA The schedule information may be stored and manipulated in any appropriate data format e g the vCalendar file format 0061 Another reason that a user may not be able to engage in achat session 1s that the user is busy using another software Jan 15 2009 application on the host computer or the supporting data pro cessing system Application activity monitoring unit 522 gathers information about the user s activities with respect to other software applications from one or more
19. e process continues by automatically changing the user s chat status based on the detected telephone activity in accordance with the chat status rules step 1110 and the process is concluded 0091 With reference now to FIGS 12A 12B a pair of timelines show different sets of user chat status over time that would be caused by different user choices of configuration parameters with respect to telephone activity monitoring options Referring to FIG 12A user s chat status is initially shown as online e g within a chat client window such as window 400 in FIG 4 or as reported to other users of the instant messaging system At time point 1202 telephone activity is detected and the host system for the chat client obtains the associated caller ID information for the incoming call the telephone activity monitoring unit stores the caller ID value and an indicator that the telephone is active such that this information may be retrieved by the chat computation unit The chat computation unit subsequently retrieves this information e g as shown at step 1008 in FIG 10 and then re evaluates the chat status rules for telephone activity in accordance with the appropriate configuration parameters e g as shown in FIG 11 In FIG 12A it is assumed that the user has selected options to monitor telephone activity with caller ID screening and it is assumed that the incoming telephone call has originated from a priority telephone num b
20. er Based on this selection of configuration options and the data for the current telephone activity the chat computation unit automatically changes the user s chat status from online to on the phone such that the user is not bothered with a chat session while the priority telephone call is active The chat client then performs other operations as if the user is unavailable for chat sessions for example if the user has selected an option to queue chat session invitations while having the on the phone status then any chat sessions that other users attempt to initiate during that time period are not Jan 15 2009 displayed until the telephone call has been completed and the user s chat status is no longer on the phone 0092 At time point 1204 the telephone activity monitor ing unit detects that the telephone call has ended and the telephone activity monitoring unit deletes the caller ID value and sets an indicator that the telephone is not active a flag value might be set merely to show that a change in telephone activity has been detected This information would be retrieved by the chat computation unit which would then automatically change user s chat status from phone to online such that the user can engage in chat sessions 0093 Referring to FIG 12B a user s chat status is initially shown as online At time point 1212 telephone activity is detected and the host sys
21. essaging application based on the detected user activity and or the detected user inactivity wherein the means for automatically setting a user chat status value within the instant messaging application based on the detected user activity and or the detected user inactivity comprises means for automatically set ting a chat status based on telephone line activity only if the caller ID information associated with the incoming telephone call matches a priority telephone number 34 The apparatus of claim 33 further comprising means for automatically resetting a user chat status value within the instant messaging application based on ces sation of the detected user activity and or the detected user inactivity 35 37 canceled
22. essaging application operates as an instant mes saging client The instant messaging server maintains some type of session for each active instant messaging client which eventually logs out from the session or allows the session to undergo a timeout termination 0036 However after being initialized with certain infor mation depending on the communication protocol active instant messaging clients can communicate directly with each other by transferring instant messages directly to another active instant messaging client without assistance from the instant messaging server In this manner the separate instances of the instant messaging application act as peer nodes in a peer to peer network Many instant messaging systems employ proprietary protocols although standard instant messaging protocols have been proposed e g the Jabber protocols information available from http www jab ber org or Crocker et al Common Presence and Instant Messaging Internet Draft of the Internet Engineer ing Task Force IETF draft ietf impp cpim 03 txt August 2002 The exemplary embodiments of the present invention that are described hereinbelow are intended to operate with proprietary or non proprietary protocols regardless of the instant messaging system or framework 0037 For example assuming that a user has previously registered for an account with the instant messaging server a user logs into the instant messaging server thro
23. etc 0072 user adds an application to this list of applications because the user does not want to be bothered with chat session invitations when the user is using one or more of these applications When application monitoring is enabled list 705 of applications is used to check whether one or more of the applications are active at that time if so then the user is assumed to be busy and the user s current chat status is updated to reflect the situation Another configuration option may be provided to the user that allows the user to configure whether usage of a single application is sufficient for the instant messaging application to determine that the user is unavailable for a chat session as determined by the detected activity of monitored applications A similar configuration option may be provided to the user that allows the user to 08 2009 0016510 1 configure specific combinations of applications that are to be used to determine an unavailability status for the user 0073 Check box 712 allows the user to select whether chat session invitations should be queued while the user 15 unavail able as determined by the detected activity of monitored applications OK button 712 closes window 700 and accepts any of the changes that have been made by the user e g by storing the user selections as configuration param eters suchas chat client configuration parameters 518 that are shown in FIG 5 Cancel button 714 closes
24. f time without the user actually using the program and the existence of the CAD program within the process table may not accu rately reflect that the user is actively using the program Hence application activity monitoring unit 522 may examine the amount of CPU usage that is being consumed by the CAD program and if it is consuming more CPU cycles than most other active programs then application activity monitoring unit 522 may assume that the user is actively using the CAD program 0063 Yet another reason that a user may not be able to engage in a chat session is that the user is busy using the telephone Assuming that the telephone line is connected to the host computer telephone activity monitoring unit 524 is able to use modem interface 534 of the host computer to monitor whether the telephone line is busy it may be assumed that telephone activity monitoring unit 524 has the ability to determine if the telephone line is being used by a telephone for a voice call as compared to a fax application device or a modem application for a dial up service Chat client 502 may be able to automatically set the user s current chat status at a given time based on the telephone usage information that reflects the user s activity at that given time FIG 8 below illustrates an example of a graphical user interface window that a user may employ to set configuration parameters for telephone activity monitoring unit 524 0064 One more reason that
25. ge in a chat session such as online if a chat session invitation is queued then the other user who has initiated the chat session may be provided with an option to allow the chat session to remain queue or an option to terminate the chat session invitation Other options could be provided to the user that allow the user to select when the user s schedule infor mation is retrieved or to select the manner in which the chat client determines when to allow the user s schedule informa tion a to override other automatically detected events b to override the user s manual selection of a user chat status c to be overridden by other automatically detected events or by the user s manual selection of a user chat status OK button 614 closes window 600 and accepts any of the changes that have been made by the user e g by storing the user selections as configuration parameters such as chat client configuration parameters 518 that are shown in FIG 5 Cancel button 616 closes window 600 while discarding any changes that have been made by the user Other options could be provided to the user such as allowing the user to select how often the instant messaging application retrieves the schedule information 0070 With reference now to FIG 7 a diagram depicts a graphical user interface window for an instant messaging application that allows a user of the instant messaging appli cation to enter or select configuration par
26. h a previous schedule file or by merely detecting an updated timestamp on a current version ofa schedule file as compared to a previous version of a schedule file Alternatively the schedule monitoring unit may record an event for each retrieval of the user s schedule information For example after the schedule monitoring unit has retrieved and processed the user s schedule information Jan 15 2009 the schedule monitoring unit sends an event notification to the chat status computation unit or the schedule monitoring unit stores a processing flag that indicates that the schedule re lated information has been updated by the schedule monitor ing unit which would be considered an event with respect to the schedule monitoring functionality 0085 With reference now to FIG 11 a flowchart depicts a process for re evaluating applicable chat status rules based on detected telephone activity events in accordance with an embodiment of the present invention As noted above various types of chat client monitoring units such as a schedule monitoring unit the application activity monitoring unit the telephone activity monitoring unit and the ambient environ ment monitoring unit may generate event information for detected events FIG 11 shows further detail with respect to events that might be detected by a telephone activity moni toring unit although similar processes may be implemented within a chat application for other types of acti
27. he user e g by storing the user selections as configuration parameters such as chat client configuration parameters 518 that are shown in FIG 5 Cancel button 912 closes window 900 while discarding any changes that have been made by the user 0082 With reference now to FIG 10 a flowchart depicts an event processing loop within an instant messaging appli cation in which various types of detected events are processed to determine if the user chat status should be automatically changed based on a detected event in accordance with an embodiment of the present invention The process com mences with a check to see if the instant messaging applica tion is being shutdown step 1002 e g in response to a user request to exit the chat application if so then the process is concluded Ifthe chat application is not shutting down then a determination is made as to whether the user is modifying the configuration parameters of the chat application step 1004 e g as discussed above with respect to FIGS 6 9 If so then the updated values of the configuration parameters are stored step 1006 and the process branches back to step 1002 to re enter the event loop 0083 Ifthe user is not modifying the configuration param eters the instant messaging application checks whether an event notification has been received or whether an event has been detected step 1008 For example the chat client moni toring units such as a schedule moni
28. ient and perhaps vice versa depending upon the online status of the user Because each active instant messaging client has connection information for other active instant messaging clients in the instant messaging system these instant messag ing clients can transfer instant messages between themselves without interaction with the instant messaging server i e in a peer to peer manner 0040 With reference now to FIG 3 a diagram depicts typical graphical user interface window for an instant mes saging application that shows the text of an instant messaging session Text strings and file attachments for the instant mes sages of an instant messaging session are presented to a user of an active instant messaging client in a GUI window Win dow 300 is presented on a display device connected to a data processing system on which an instance of an instant mes saging application is executing for a user In a typical fashion for an instant messaging application window 300 contains several user interface controls for operating the instant mes saging application Drop down menu 302 contains user s contact list Text entry field 304 allows entry of a text string to be sent as an instant message SEND button 306 initiates a transmit operation to generate and send the contents of the text entry to the selected instant message contact 0041 A history of the instant messages within an instant messaging conversation is typically shown wi
29. ignment of status can be very helpful in facili tating communication between users For example in most instant messaging applications a user is given the ability to maintain a buddy list a buddy is another user of the instant messaging application with which the user often exchanges instant messages The instant messaging system might auto matically assign a user an online status value when the user logs onto the system at the same time a buddy list typically actively displays the status of each buddy By displaying the buddy list in an open window of a client device a user has the ability to easily monitor the online status of the user s bud dies when the user notices that a particular buddy s status has changed from offline to online the user can quickly initiate an instant messaging session with that particular buddy In some instant messaging systems an automatic assignment of status is only performed when the user has not previously designated an alternative status in many cases the user is able to override an automatically assigned status value by changing it to some other status value 0006 Although the indication of user status can be helpful in facilitating communication between users it can also be disruptive to a user s productivity by distracting a user from other activities Hence many instant messaging systems allow a user to manually select from several possible status values In some cases va
30. iments with various modifications as might be suited to other contemplated uses 1 16 canceled 17 A computer program product stored on a computer readable medium for managing user chat status values in an instant messaging application on a data processing system wherein a user chat status value indicates the availability of a user to participate in an instant messaging session the com puter program product comprising instructions for allowing a user to select one or more pri ority telephone numbers that are screened for activity instructions for automatically detecting user activity and or user inactivity external to an instant messaging appli cation wherein the instructions for automatically detecting user activity and or user inactivity external to an instant messaging application comprises instructions for automatically determining user activity and or user inactivity based on telephone line activity instructions for automatically screening caller ID informa tion associated with an incoming telephone call with respect to the one or more priority telephone numbers and instructions for automatically setting a user chat status value within the instant messaging application based on Jan 15 2009 the detected user activity and or the detected user inac tivity wherein the instructions for automatically setting a user chat status value within the instant messaging application based on the detected user activity and or the
31. ing session 0016 FIG 4 depicts a diagram that shows a typical graphi cal user interface window for an instant messaging applica tion that shows an IM contact list or buddy list 0017 FIG 5 depicts a block diagram that shows the logi cal organization of some of the components of an instant messaging application in accordance with an embodiment of the present invention 0018 FIG 6 depicts a diagram that shows a graphical user interface window for an instant messaging application that allows a user of the instant messaging application to enter or select configuration parameters that will be used to control the manner in which the instant messaging application oper ates with respect to its schedule monitoring unit 0019 FIG 7 depicts a diagram that shows a graphical user interface window for an instant messaging application that allows a user of the instant messaging application to enter or select configuration parameters that will be used to control the manner in which the instant messaging application oper ates with respect to its application activity monitoring unit 0020 FIG 8 depicts a diagram that shows a graphical user interface window for an instant messaging application that allows a user of the instant messaging application to enter or select configuration parameters that will be used to control the manner in which the instant messaging application oper ates with respect to its telephone activity monitoring unit 0021
32. iscussing instant mes saging The act of initiating an instant messaging session with someone has been used as a verb e g to instant message someone or more succinctly to IM someone Given the difficulty of pronouncing the juxtaposed vowel sounds in IM the term to PM someone has also become common meaning to personal message someone In the context of an instant messaging system though the act of initiating an instant messaging session with someone has also been termed to call someone in a manner similar to using the telephone to establish a communication session with a remote person In addition the act of engaging in an instant messaging session with someone has also been described as the act of chatting Thus instant message is often interchangeable with chat e g an instant message session and a chat session equiva lent terms 0034 The examples hereinbelow include descriptions of a buddy A buddy is a remote user of an instant messaging application client application with which a user of a local instant messaging application often exchanges instant mes sages A buddy is represented by an instant messaging appli cation with an appropriate data entity or data object herein referred to as a buddy object A buddy object may comprise many attributes properties or other types of information The buddy object may be presented on a display device visual manner by an
33. iven time These components are config ured and controlled through configuration parameters 518 Chat client 502 employs schedule monitoring unit 520 appli cation activity monitoring unit 522 telephone activity moni toring unit 524 ambient environment monitoring unit 526 and or any other modules that may assist chat client 502 in determining relevant information about the user s activities that may affect the user s ability to engage in chat sessions using chat client 502 Examples of the manner in which chat computation unit 510 uses information gathered by these units is explained in more detail further below 0059 One reason that a user may not be able to engage in achat session is that the user is away from the data processing system that supports the chat application For example the user might be away from his or her office while attending a meeting or more generally the user is away from a data processing system while attending some type of appointment Assuming that the user manages an electronic calendar schedule schedule monitoring unit 520 gathers information about a user s schedule from one or more sources Chat client 502 may be able to automatically set the user s current chat status at a given time based on the gathered schedule infor mation that reflects the user s activity at that given time FIG 6 below illustrates an example of a graphical user interface window that a user may employ to set configuration p
34. le that is shown in FIG 4 menu item 420 allows a user to select an invisible status that hides a user s status from other users if a user selects menu item 420 then the user would continue to appear in other users buddy lists with an offline status in a manner similar to buddy 408 in the user s buddy list 402 even after the user has actually logged onto the instant messaging system Ifthe user later desires to appear as available for chatting with other users then the user can select menu item 422 which allows a user to select an online status 0046 As another example of a restrictive status menu item 424 allows a user to select an away from desk status that informs other users that the user would probably not respond to an instant messaging session because the user is supposed to be elsewhere if a user selects menu item 424 then the user would appear in other users buddy lists with the status indicator icon that is shown in menu item 424 As yet another example of a restrictive status menu item 426 allows user to select a do not disturb status that informs other users that they cannot initiate an instant messaging session with the user if a user selects menu item 426 then the user would appear in other users buddy lists with the status indi cator icon that is shown in menu item 426 0047 Given the background information that has been provided above with respect to prior art instant mess
35. ll be queued up until the user s chat status changes back to a chat status that indicates that the user is available to engage in a chat session such as online OK button 816 closes window 800 and accepts any of the changes that have been made by the user e g by storing the user selections as Jan 15 2009 configuration parameters such as chat client configuration parameters 518 that are shown in FIG 5 Cancel button 818 closes window 800 while discarding any changes that have been made by the user 0077 Another configuration option may be provided to the user that allows the user to combine the monitoring of other applications with the monitoring of telephone activity For example a user could select one or more applications e g a web browser application in which monitored appli cation activity when coupled with the detection of telephone activity indicate that the user is not very busy with the tele phone call hence the user can receive chat session invita tions whereas the user would not received a chat session invitation if the user was solely engaged with telephone activ ity 0078 Yet another configuration option may be provided to the user that allows the user to combine the monitoring of telephone activity with schedule information For example the user would be indicated as having an unavailable chat status only if the user s schedule information for the current time of day indicates that
36. lternative embodiment in which each activity monitoring unit may perform its operations to detect activity events and to generate information about those events regardless of the value of the configuration param eters Hence the telephone activity monitoring unit generates information about a telephone activity event whether or not the user has already chosen a configuration option to disre gard telephone activity events The chat status computation unit subsequently uses the configuration parameters to deter mine whether to use the generated information about detected events as shown by step 1102 in FIG 11 0088 Referring again to step 1102 if the user has not selected to monitor telephone activity then the process is concluded Ifthe user has selected to monitor telephone activ ity then the process determines whether any telephone activ ity has actually been detected step 1104 If not then the process is concluded If telephone activity has been detected then the process determines if the user has selected to filter the incoming telephone call by the caller ID number that is asso ciated with the telephone call step 1106 If so then a deter 08 2009 0016510 1 mination is made as to whether received ID number is included in the priority telephone number list step 1108 0089 As mentioned above different actions may be asso ciated with the screening of the incoming telephone numbers In the example
37. ms other users that the user has an online status assuming that the instant messaging system has not assigned a different chat status to the user and assuming that the user has not overridden the online status by selecting some other type of status value 0050 Hence in the prior art an instant messaging system can only determine the user status automatically based on the internal operations of the instant messaging system i e based on user activity with respect to the instant messaging system or based on user activity within the instant messaging system The manner in which these determinations are completed can be problematic because the determined chat status may not appropriately reflect the user s availability or desire to engage in a chat session at a given time For example although a user may be logged into an instant messaging application the user may not want to inform other users that he or she is available to engage in a chat session if the user is busy doing something that does not involve the instant messaging application 1 external to the instant messaging application or without the instant messaging application The phrase user activity external to the instant messaging application or user activ ity external to the instant messaging system may refer to user activity with respect to the host computer or with respect to a distributed data processing system that includes the host sys tem but the phrase does n
38. n retrieved schedule information that reflects the user s activity at that given time or based on application usage information that reflects the user s activity at that given time with other applications Alternatively the chat application may automatically set the user s current chat status at a given time based on telephone usage information that reflects the user s telephone activity at that given time or based on information about the ambient environment that reflects the user s activity or inactivity in the ambient envi ronment at that given time BRIEF DESCRIPTION OF THE DRAWINGS 0011 The novel features believed characteristic of the invention are set forth in the appended claims The invention itself further objectives and advantages thereof will be best understood by reference to the following detailed description when read in conjunction with the accompanying drawings wherein 0012 FIG 1A depicts a typical distributed data processing system in which the present invention may be implemented 0013 FIG 1B depicts a typical computer architecture that may be used within a data processing system in which the present invention may be implemented 08 2009 0016510 1 0014 FIG 2 depicts a block diagram shows a typical instant messaging system 0015 FIG 3 depicts a diagram that shows a typical graphi cal user interface window for an instant messaging applica tion that shows the text of an instant messag
39. ne the truth of boolean expressions with respect to configu ration parameters 518 and other information alternatively chat status rules engine may be implemented in some other manner e g using a software language such as Prolog 0057 As mentioned above in the prior art an instant messaging system can only determine the user status auto 08 2009 0016510 1 matically based on internal operations of the instant mes saging system In contrast the present invention is directed to improving the manner in which an instant messaging system automatically determines a chat status that is appropriate to the user based on the user s activities within the local ronment FIG 5 illustrates some of the mechanisms that may be employed in an embodiment of the present invention to fulfill this goal 0058 As noted above a user of a chat client may have many reasons that the user is not able to engage in a chat session at any given time all of these reasons are related to the fact that the user is typically busy doing other tasks such that the user is not focusing on the chat client at that given time In the example of an embodiment of the present invention that is shown in FIG 5 chat client 502 gathers information about the user s activities within the local environment using various components each of which attempts to address a different reason why user s ability to engage in a chat session might be impaired at any g
40. nits CPUs 122 con nected to internal system bus 123 which interconnects random access memory RAM 124 read only memory 126 and input output adapter 128 which supports various I O devices such as printer 130 disk units 132 or other devices not shown suchas a audio output system etc System bus 123 also connects communication adapter 134 that provides access to communication link 136 User interface adapter 148 connects various user devices such as keyboard 140 and mouse 142 or other devices not shown such as a touch screen stylus microphone etc Display adapter 144 connects system bus 123 to display device 146 0030 Those of ordinary skill in the art will appreciate that the hardware in FIG 1B may vary depending on the system implementation For example the system may have one or more processors such as an Intel Pentium based proces sor and a digital signal processor DSP and one or more types of volatile and non volatile memory Other peripheral devices may be used in addition to or in place of the hardware 08 2009 0016510 1 depicted in FIG 1 The depicted examples not meant to imply architectural limitations with respect to the present invention 0031 In addition to being able to be implemented on a variety of hardware platforms the present invention may be implemented in a variety of software environments A typical operating system may be used to control program execution within each data proce
41. of computer 08 2009 0016510 1 11 readable media include media such as EPROM ROM tape paper floppy disc hard disk drive RAM and CD ROMs and transmission type media such as digital and analog commu nications links 0097 method is generally conceived to be a self con sistent sequence of steps leading to a desired result These steps require physical manipulations of physical quantities Usually though not necessarily these quantities take the form of electrical or magnetic signals capable of being stored transferred combined compared and otherwise manipu lated It is convenient at times principally for reasons of common usage to refer to these signals as bits values param eters items elements objects symbols characters terms numbers or the like It should be noted however that all of these terms and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities 0098 The description of the present invention has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments Many modifications and variations will be apparent to those of ordinary skill in the art The embodiments were chosen to explain the principles of the invention and its practical appli cations and to enable others of ordinary skill in the art to understand the invention in order to implement various embod
42. ossibly included within a group of buddies such as group 404 or group 406 0043 The instant messaging application or system moni tors these buddy lists such that when a user logs into the instant messaging system the server notifies anyone who has the recently logged in user within a buddy list that the recently logged in user is now online or is associated with some other type of status In this manner assuming that a buddy has not chosen to remain cloaked within an invisible or similar status instant messaging users are constantly aware of the status of the users within their buddy lists because an Jan 15 2009 instant messaging client is updated relatively quickly with the appropriate information The instant messaging client typi cally provides visual indicators in a buddy list window that indicate the status of a buddy Each buddy object in the buddy list has an associated status indicator By glancing at a visual representation of a buddy object a user can quickly determine which type of status is associated with the buddy represented by the buddy object For example buddy 408 does not have an associated status indicator icon thereby indicating that the buddy probably has an offline status although the user may be hiding under an invisible status or some other status even though the user is actually logged onto the instant messaging system In addition buddy 410 has an online status buddy 412 has an
43. ot include the instant messaging application or system 0051 To make the example more specific an office worker might listen to a conference call while reading email messages at the same time the office worker s instant mes saging application may report that he or she has an online status thereby informing other users that the office worker is available for chat sessions However the office worker may not wish to engage in an instant messaging session while using the telephone and or while using an email program yet an instant messaging session may have already been initiated by a remote user who was informed by the instant messaging system that the office worker had an online status 0052 The prior art instant messaging systems are also problematic because even though an office worker could override an automatically determined chat status and could manually select a more appropriate chat status value that Jan 15 2009 more accurately reflects the availability and or desirability of the user to engage in a chat session the office worker may often forget to do so For example a user might engage in a chat session then make a telephone call then review a docu ment These tasks may occur during separate but quickly successive time periods or there may also be some temporal overlap of the tasks in many situations the user s attention would be diverted away from the instant messaging applica tion and the user would forget
44. rious privacy related status values can be selected that control whether other users are informed of a given user s current status These status values restrict the other users from knowing the true status of the given user thereby prohibiting those users from beginning an instant message conversation with the given user for example a user can hide his or her status by manually selecting an invisible status that hides the user s true online status from other users while allowing the user to remain online and the other users receive only an indication that the user has an offline status Jan 15 2009 0007 other cases various privacy related status values can be selected that inform other users of the likelihood that they will be able to initiate an instant messaging session with a given user For example a busy status indicates that the given user is currently doing some other activity while a be right back status would indicate to other users that the given user is temporarily away from his or her computer As another example a do not disturb status would indicate to other users that are interested in the given user s status that the given user does not want to be interrupted by instant messag ing sessions During any period in which the user has one of these status values though the user is able to monitor the status of other online users or to have the ability to start instant messaging sessions wi
45. s telephone activity In one exemplary embodiment in which the feature of caller ID filtering is implemented if a telephone call is answered and caller ID filtering is enabled the chat client modifies the user s current chat status e g from an online status to an on the phone status only if the caller ID number that is associated with the incoming call matches one of the caller ID numbers that the user has entered In this manner the user s chat client only displays the more restrictive on the phone status when the incoming call has originated from someone that the user wants to provide his or her uninterrupted attention Text entry field 806 allows a user to enter a priority phone number Add Number button 808 adds the phone number from text entry field 806 to scrollable list 810 of priority telephone numbers another button could be provided that opens a dialog window that allows the user to choose a telephone number from dif ferent address books contact lists telephone number direc tories etc Delete Number button 812 deletes a user se lected priority telephone number from list 810 0076 Check box 814 allows the user to select whether chat session invitations should be queued while the user is unavail able due to a priority telephone call In other words the user can choose an option in which any chat sessions that other users try to initiate while the user s chat status is on the phone wi
46. sfer Protocol FTP Hypertext Transport Protocol HTTP Wireless Application Protocol WAP Common Presence and Instant Messaging CPIM protocols etc Of course distributed data processing system 100 may also include a number of different types of networks such as for example an intranet a local area network LAN or a wide area network WAN For example server 102 directly sup ports client 109 and network 110 which incorporates wire less communication links Network enabled phone 111 con nects to network 110 through wireless link 112 and PDA 113 connects to network 110 through wireless link 114 Phone 111 and PDA 113 can also directly transfer data between themselves across wireless link 115 using an appropriate technology such as Bluetooth wireless technology to cre ate so called personal area networks PAN or personal ad hoc networks In a similar manner PDA 113 can transfer data to PDA 107 via wireless communication link 116 0028 The present invention could be implemented on a variety of hardware platforms FIG 1A is intended as an example of a heterogeneous computing environment and not as an architectural limitation for the present invention 0029 With reference now to FIG 1B a diagram depicts typical computer architecture of a data processing system such as those shown in FIG 1A in which the present inven tion may be implemented Data processing system 120 con tains one or more central processing u
47. shown in FIG 4 0055 Chat client 502 contains a variety of components for performing various functions for implementing chat sessions The components may be implemented in hardware or soft ware but the example assumes that the components are implemented as software modules procedures subroutines functions objects or some other type of software entity Chat status computation unit 510 computes the current chat status using chat status rules engine 512 and stores it as chat status data value 508 Chat status reporting unit 514 relays chat status data value 508 to other chat clients when necessary chat status reporting unit 514 contains chat status cloaking unit 516 for modifying the user s current chat status such that other chat clients cannot view the user s true current chat status e g the user may want to remain completely hidden with respect to some users while allowing other users to see the user s chat status which might allow some users to initiate a chat session while other are prevented from doing so 0056 Chat status rules engine 512 contains logic for implementing a plurality of rules regarding the determination of the user s current chat status from the state of chat client 502 including chat client configuration parameters 518 and information about the user s activities as derived by other components within chat client 502 Chat status rules engine 512 may comprise a set of if then else statements that deter mi
48. sources such as list 532 of local active applications Alternatively application activity monitoring unit 522 gathers information through any appropriate mechanism that may be provided by the operat ing system of the host computer such as the number and or frequency of keyboard events or mouse events which reflect that the user is busy giving input to applications other than the chat client which assumes that the chat client is able to determine that the user is not providing input to the chat client Chat client 502 may be able to automatically set the user s current chat status at a given time based on the appli cation activity information that reflects the user s activity at that given time FIG 7 below illustrates an example of a graphical user interface window that a user may employ to set configuration parameters for application activity monitoring unit 522 0062 For example a user may not wish to be disturbed to engage in a chat session while the user is using a software application that requires a significant mental focus by the user e g computer assisted drawing CAD program Application activity monitoring unit 522 may retrieve infor mation about active programs from the operating system which may allow applications to read the kernel s task or process table This retrieved information may be as detailed as necessary to obtain an accurate determination e g the user s CAD program may be open for long periods o
49. ssing system For example one device may run a Unix operating system while another device contains a simple Java runtime environment A representa tive computer platform may include a browser which is a well known software application for accessing hypertext docu ments in a variety of formats such as graphic files word processing files Extensible Markup Language XML Hypertext Markup Language HTML Handheld Device Markup Language HDML Wireless Markup Language WML and various other formats and types of files 0032 The present invention may be implemented on a variety of hardware and software platforms as described above with respect to FIG and FIG 1B More specifically though the present invention is directed to operating an instant messaging system as described in more detail below with respect to the remaining figures It should be noted that the examples that are described hereinbelow often refer to users and systems it should be understood that a user inter acts with a system such that the system performs actions on behalf of a user and the terms user and system can sometimes be interchanged in a well known manner to facili tate the description of operations at a data processing system 0033 Instant messaging is becoming a common form of communication in personal and business environments As often occurs with a novel activity new terminology has been created to assist people in efficiently d
50. tem for the chat client obtains the associated caller ID information for the incoming call the telephone activity monitoring unit stores the caller ID value and an indicator that the telephone is active such that this information may be retrieved by the chat computation unit The chat computation unit subsequently retrieves this infor mation e g as shown at step 1008 in FIG 10 and then re evaluates the chat status rules for telephone activity in accordance with the appropriate configuration parameters e g as shown in FIG 11 In FIG 12B it is assumed that the user has not selected the option to monitor telephone activity or the user has selected the option to monitor telephone activ ity but the incoming telephone call has not originated from a priority telephone number In either case based on this selec tion of configuration options and the data for the current telephone activity the chat computation unit does not auto matically change the user s chat status from online to the phone the user s chat status remains online The chat client then performs other operations as if the user is available for chat sessions even though the user may be talking on the telephone 0094 At time point 1214 the telephone activity monitor ing unit detects that the telephone call has ended and the telephone activity monitoring unit deletes the caller ID value and sets an indicator that the telephone is not active a fl
51. th other online users assuming that the other users do not have a busy status or similar status 0008 As should be apparent from the above noted exem plary status values a set of status values in an instant mes saging application can reflect a degree of availability or unavailability of a given user which may be manually selected by the user At any given time though the user is generally concentrating on a particular task or a few tasks in the user s local environment and the user might frequently forget to select an instant messaging status that accurately reflects the user s current availability for actively engaging in an instant messaging session 0009 Therefore it would be advantageous for an instant messaging application to provide a user with assistance in automatically setting a currently appropriate status value based on the user s activity within the user s local environ ment SUMMARY OF THE INVENTION 0010 A method an apparatus a system and a computer program product are presented for managing availability sta tus values in a chat application The chat application auto matically detects user activity and or user inactivity external to the chat application and then automatically sets a user chat status value within the chat application based on the detected user activity and or the detected user inactivity The chat application may automatically set the user s current chat sta tus at a given time based o
52. that is shown in FIG 11 it is assumed that the chat client does not change the user s chat status if the tele phone number is not included in a priority list of telephone numbers e g as shown in FIG 8 In other words if an incoming telephone call does not originate from a priority telephone number then the user allows the chat client to continue to show that the user is available to participate in a chat session in that case the user is allowing the user s attention to be distracted away from a non priority telephone call toward a chat session The situation may be reversed if an incoming telephone call originates from a priority telephone number then the user does not allow the chat client to con tinue to show that the user is available to participate in a chat session because the user s chat status would be automatically modified according to the chat status rules in which case the user does not want the user s attention to be distracted away from a priority telephone call toward a chat session 0090 Referring again to step 1108 if the received caller ID number is not included in the priority telephone number list then the process is concluded If the received caller ID number is included in the priority telephone number list as determined at step 1108 or ifthe user has not selected to filter the incoming telephone call by the caller ID number that is associated with the telephone call as determined at step 1106 then th
53. the received telephone call is marked as important 0079 With reference now to FIG 9 a diagram depicts a graphical user interface window for an instant messaging application that allows a user of the instant messaging appli cation to enter or select configuration parameters that will be used to control the manner in which the instant messaging application operates with respect to its ambient environment monitoring unit As noted above a chat client may be able to automatically set the user s current chat status at a given time based on information about the local environment that sur rounds a host data processing system on which the chat client is executing it is assumed that information about a user s activities at that given time within the ambient environment may be gleaned Window 900 is a GUI window within an instant messaging client application that allows a user to set configuration parameters for controlling the manner in which the instant messaging application obtains and uses the infor mation about the ambient environment Window 900 may be presented after the user has selected a menu within the main application window of the instant messaging client applica tion or has otherwise issued a command within the instant messaging application to request the option to set configura tion parameters 0080 Check box 902 allows a user to select whether ambi ent environment monitoring is enabled Check box 904 allows a user to
54. ther example ambient environment monitor ing unit 526 can use motion detector interface 538 to detect motion in the room that contains the host computer An absence of movement in the room may indicate that the user is not within the room thereby indicating that the user is not available to engage in a chat session However movement in the room may indicate that the user is busy performing some other task such that the user is available or unavailable to engage in a chat session the indication of availability or unavailability may be controlled by the user through configu ration parameters 0067 With reference now to FIG 6 a diagram depicts graphical user interface window for an instant messaging application that allows a user of the instant messaging appli cation to enter or select configuration parameters that will be used to control the manner in which the instant messaging application operates with respect to its schedule monitoring unit As noted above a chat client may be able to automati cally set the user s current chat status at a given time based on retrieved schedule information that reflects the user s activity at that given time Window 600 is a GUI window within an instant messaging client application that allows a user to set configuration parameters for controlling the manner in which the instant messaging application obtains and uses the user s schedule information Window 600 may be presented after the user has
55. thin a scrolling window it is expected that both users of the instant messag ing session will view the same content within their respective GUI windows during an instant messaging conversation Scrollable text area 308 contains the history of the instant messaging conversation Text line 310 is the initial instant message that was sent by a local user to the remote user text line 312 is the response from the remote user and the remain ing text lines in text area 308 reflect instant messages for the continuing conversation The instant messaging application may separately maintain different conversations in different windows during a user s instant messaging session which may run for an extended period of time e g during business hours within a corporate context 0042 With reference now to FIG 4 a diagram depicts typical graphical user interface window for an instant mes saging application that shows an IM contact list or buddy list For a given user of an instant messaging application or sys tem a buddy is a remote user of the instant messaging system with whom the given user exchanges instant messages Most instant messaging applications provide a mechanism for organizing information about a list of buddies Window 40015 a typical GUI window for a buddy list within an instant messaging application Buddy list area 402 shows multiple buddies in a buddy list and the buddy list is organized in a hierarchical fashion with buddies p
56. to attend to the necessity of changing the user s current chat status 0053 The present invention recognizes that a user may multitask within the user s local environment thereby creat ing a need for user assistance in automatically setting an appropriate chat status for the user in an instant messaging system Moreover the present invention is directed to improving the manner in which an instant messaging system automatically determines a chat status that is appropriate to the user based on the user s activities within the local envi ronment but without the instant messaging system i e exter nal to the instant messaging system The present invention accommodates these needs as described in more detail below with respect to the remaining figures 0054 With reference now to FIG 5 a block diagram depicts the logical organization of some of the components of an instant messaging application in accordance with an embodiment of the present invention Chat client 500 is part of an instant messaging system e g similar to instant mes saging application 202 that is shown in FIG 2 chat client 500 can engage in chat sessions with another chat client such as chat client 504 via network 506 which is similar to network 101 in FIG 1A Chat status data value 508 stores the value of the current chat status for the user of chat client 502 which may be presented to the user in a graphical user interface window such as window 400 that is
57. toring unit the applica tion activity monitoring unit the telephone activity monitor ing unit and the ambient environment monitoring unit may generate event notification records for each detected event The chat status computation unit may poll the chat client monitoring units in a synchronous manner via request and response messages calls for information about detected events Alternatively the chat client monitoring units may asynchronously submit information about any detected events to the chat status computation unit In another alterna tive embodiment the chat client monitoring units may merely store updated information in appropriate data structures pos sibly protected by semaphores and the chat status computa tion unit would retrieve the updated information when nec essary In any case if no events have been detected then the process branches back to step 1002 to re enter the event loop Ifan event has been detected then the chat status computation unit re evaluates the applicable chat status rules in view of the detected event step 1010 and if necessary generates a new chat status value based on the outcome of the rule evaluations step 1012 The process then branches back to step 1002 to re enter the event loop 0084 With respect to the schedule monitoring unit an event may include an automatic detection of a change in the user s schedule information which may be performed by comparing a current schedule file wit
58. ugh an instant messaging application client device The instant messag ing server stores the connection information for the client device such as the IP address of the client device and the port number that is assigned to the instant messaging application at the client device 0038 During the login operation the instant messaging server also receives and stores an IM contact list often referred to as a buddy list for the user along with the user s connection information and other session information The server performs an initial check to obtain the status of the users in the buddy list and notifies the user s active instant messaging client of the status of those users e g whether those users are online and available for communication through the instant messaging system The server monitors these buddy lists such that when a user logs into the instant messaging system the server notifies anyone who has the recently logged in user within a buddy list that the recently logged in user is now online or is associated with some other type of status 0039 Assuming that a buddy has not chosen to remain cloaked within an invisible status when the instant mes 08 2009 0016510 1 saging server notifies first instant messaging client that a second instant messaging client is online the instant messag ing server sends the connection information for the second instant messaging client to the first instant messaging cl
59. vity monitor ing units in accordance with the processing options that might be selected by a user through the user s selection of configu ration parameters that are appropriate for the type of activity monitoring More specifically FIG 11 shows further detail for step 1010 and step 1012 in FIG 10 with respect to a telephone activity monitoring unit using the exemplary con figuration of components within a chat client as shown in FIG 5 the process that is shown within FIG 11 would be per formed by the chat status computation unit 0086 The process commences with a determination of whether the chat client should be monitoring telephone activ ity step 1102 At a previous point in time the user may have set a configuration parameter through a GUI window that instructs the chat client whether or not the user desires to employ the available functionality of monitoring telephone activity step 1102 checks the appropriate configuration parameter to determine whether the user has chosen the con figuration option that employs the monitoring of telephone activity 0087 In one embodiment each activity monitoring unit may retrieve a copy of the applicable configuration param eters in order to guide or control its own operation in that case a telephone activity monitoring unit may not perform any operations to detect telephone activity However it is assumed that the process that is shown in FIG 11 may operate in accordance with an a
60. window 700 while discarding any changes that have been made by the user 0074 With reference now to FIG 8 a diagram depicts a graphical user interface window for an instant messaging application that allows a user of the instant messaging appli cation to enter or select configuration parameters that will be used to control the manner in which the instant messaging application operates with respect to its telephone activity monitoring unit As noted above a chat client may be able to automatically set the user s current chat status at a given time based on information about usage of a telephone that may reflect the user s activity at that given time Window 800 is a GUI window within an instant messaging client application that allows a user to set configuration parameters for control ling the manner in which the instant messaging application obtains and uses the information concerning the telephone activity Window 800 may be presented after the user has selected a menu within the main application window of the instant messaging client application or has otherwise issued a command within the instant messaging application to request the option to set configuration parameters 0075 Check box 802 allows a user to select whether tele phone activity monitoring is enabled Check box 804 allows a user to select whether caller ID filtering is enabled if this option is enabled then the chat client performs certain opera tions when it detect

Download Pdf Manuals

image

Related Search

Related Contents

« Pas de trêve estivale pour les services de l`Etat »  TOP-BAR18  BEDIENUNGSANLEITUNG MODE D`EMPLOI MANUAL DE  Hama 00092647 weather station  BioMate 5 USER MANUAL  LAMPRECID TECHNICAL  User`s Reference Manual - Midstate Communications  Speed Control  

Copyright © All rights reserved.
Failed to retrieve file