Home

Event notification system and method

image

Contents

1. uo o pong y co Appriqa maa 05511 gt C 21 s2ippnga dipragow us Ey US 8 037 212 B2 Sheet 6 of 11 Oct 11 2011 U S Patent CMAN 523 G GF 7 nes Ge 0 juno 3y sal 4 12 C 2 IN i R u w oozu ueq jf ofurde yov su prepa C dupa EQ essi C eh sorppne 4 U S Patent Oct 11 2011 Sheet 7 of 11 US 8 037 212 B2 400 a 402 404 Yes OD Yes Terminate 408 No Terminate IM client process lt Not user Modify title associated with IM client process FIG 4 U S Patent Oct 11 2011 Sheet 8 of 11 US 8 037 212 B2 500 4 2 04 06 50 5 Display in association with a browser a title associated with state of the browser 5 R
2. Ul II ESTE US 8 037 212 B2 Sheet 4 of 11 Oct 11 2011 U S Patent fen wyn cc gewsesus OY us Fs m aped Sess Y Y 4 4 US 8 037 212 B2 Sheet 5 of 11 Oct 11 2011 U S Patent Chal S tepran A nr Hr METUS 27 ey p OAS 246808 Y GEB EEEEEEEEEEEEEEEE ANITIAYT amp paintd 359 aoo win ms 1901 3 ema lt dro sap qv F 0 4 amp III eese p EEEESIRRIEREIRIR B ppnae found i 4 POJE WOD d A t Uppoas eve amp Appe quatn aeneo 02 ment teras tC a giueds oinuxu ise
3. Network computers are another type of computer system that can be used in conjunction with the teachings provided herein Network computers do not usually include a hard disk orother mass storage and the executable programs are loaded from a network connection into the memory 812 for execu tion by the processor 808 A Web TV system which is known in the art is also considered to be a computer system but it may lack some ofthe features shown in FIG 8 such as certain input or output devices A typical computer system will usu ally include at least a processor memory and a bus coupling the memory to the processor The computer system 800 may be controlled by an operat ing system OS An OS is a software program used on most but not all computer systems that manages the hard ware and software resources of a computer Typically the OS performs basic tasks such as controlling and allocating memory prioritizing system requests controlling input and output devices facilitating networking and managing files Examples of operating systems for personal computers include Microsoft Windows Linux and Mac OS Delin eating between the OS and application software is sometimes rather difficult Fortunately delineation is not necessary to understand the techniques described herein since any reason able delineation should suffice As used herein algorithmic descriptions and symbolic rep resentations of operations on data bits with
4. the flowchart 700 continues to module 712 where a second string of characters is provided from the array to the process The second string of characters could be associated with the same event as the first string of characters an earlier event where the second string remains in the array or a later event where the second string replaces or is in addition to strings associated with the last processed event The second string of characters could also be unasso ciated with an event For example the second string of char acters could be a NULL string that has the effect of causing the first string of characters if provided before and after the second string of characters to blink or flash In the example of FIG 7 the flowchart 700 continues to module 714 where the second string of characters is used as a title in association with the process Then the flowchart 700 ends It should be noted that the flowchart 700 simply illus trates a first and second string of characters from the array being used as a title and then ends Of course the flowchart could continue with modules not shown where the first 20 25 30 35 40 45 50 55 60 65 10 string of characters is repeated as a title another event is processed a third string of characters is provided or with some other applicable module or sequence of modules FIG 8 depicts a computer system 800 suitable for imple mentation ofthe techniques described above
5. 12 774 700 filed May 5 2010 International Search Report for PCT application PCT IB2006 04193 dated Jun 24 2008 3 pages International Search Report for PCT application PCT IB2006 04200 dated Oct 23 2007 2 pages International Search Report and Written Opinion for PCT application PCT IB2006 004204 Search Report dated Jan 8 2008 11 pages International Search Report for PCT application PCT IB2006 004205 dated Apr 2 2008 2 pages Corrected International Search Report and Written Opinion for PCT application PCT IB2006 004205 dated Apr 4 2008 10 pages International Search Report for PCT IB2006 004264 dated Jun 30 2008 3 pages English abstract of WO 2003 056764 dated Jul 10 2003 2 pages English Abstract of EP 1292071 dated Sep 5 2002 1 page Non Final Office Action mailed May 18 2009 and Final Office Action mailed Nov 5 2009 in Co Pending U S Appl No 11 637 316 filed Dec 11 2006 Office Action mailed on Mar 21 2011 in co pending U S Appl No 11 637 268 filed Dec 11 2006 Office Actions mailed on Dec 30 2009 Jun 25 2009 and Apr 29 2010 in co pending U S Appl No 11 637 514 filed Dec 11 2006 Non Final Office Action mailed Jul 30 2009 in Co Pending U S Appl No 11 637 954 filed Dec 11 2006 Notice of Allowance mailed Jan 28 2010 in Co Pending U S Appl No 11 637 954 filed Dec 11 2006 Non Final Office Action mailed Sep 3 2009 and Final Office Action mailed Feb 9
6. 2010 in Co Pending U S Appl No 11 637 964 filed Dec 11 2006 Office Action mailed on Apr 20 2011 in co pending U S Appl No 12 774 700 filed May 5 2010 Co pending U S Appl No 11 637 268 filed Dec 11 2006 U S Appl No 11 637 316 filed Dec 11 2006 Co pending U S Appl No 11 637 964 filed Dec 11 2006 Co pending U S Appl No 12 721 538 filed Mar 10 2010 Co pending U S Appl No 12 774 700 filed May 5 2010 cited by examiner US 8 037 212 B2 Sheet 1 of 11 Oct 11 2011 U S Patent Sls jueuo 901 19A19S WI 801 XJOMj9N WI 08 Hoa OLL 901 1 A19S NI 801 enenp HOMION NI D Juo 3 001 US 8 037 212 B2 Sheet 2 of 11 Oct 11 2011 U S Patent Old 702 3HONJSN INI 802 HOMISN INI oic uallo N L SHOMION NI J9UlO cz SXJOM9N J9UlO SHOMION NI 19470 2 sjuei s u llO juo 002 US 8 037 212 B2 Sheet 3 of 11 Oct 11 2011 U S Patent ony lt 8 7 5 7 LEES BERE TRENN fs Br iv H
7. have inferior notification functionality and great for users who want a subtle notification FIGS 3A 3D depict examples of screenshots 300 with IM notification functionality The bar may be a titlebar a taskbar or some other menu or display item In the example of FIG the taskbar includes a process identified by the taskbar item 302 For illustrative purposes the process is a Firefox web browser that is at the site www ebuddy com The screen shot appears as a conventional screen might look However when a new message arrives the taskbar changes In the example of FIG 3B the taskbar includes the Fire fox web browser process but the taskbar item 304 appears differently Specifically rather than depicting the site www e buddy com the taskbar item 304 now indicates that a new message is available The IM notification functionality may be cool on a desktop but can be particularly useful in other implementations For example notifying a user when new messages arrive or events happen can gracefully be done by a native IM appli cation However for alternative web clients this is more dif ficult given the nature of control from within a browser to the Operating System There is less control for alerts like flashing windows etc from browsers In such cases it may be particu larly advantageous for a server to be able to provide a user with alerts for new messages or events using the title bar task bar or other display are
8. method for displaying programmed text files FIG 8 depicts a computer system suitable for implemen tation of the techniques described above with reference to FIGS 1 7 DETAILED DESCRIPTION In the following description several specific details are presented to provide a thorough understanding of embodi ments of the invention One skilled in the relevant art will recognize however that the invention can be practiced with out one or more of the specific details or in combination with other components etc In other instances well known imple mentations or operations are not shown or described in detail to avoid obscuring aspects of various embodiments of the invention FIG 1 depicts an example of a system 100 for providing instant messages to clients via a web interface In the example of FIG 1 the system 100 includes a network 102 a server 104 and an Instant Messenger IM server 106 and an IM network 108 The server 104 is coupled to the network at least by way of port 80 The two way communication via port 80 is represented in the example of FIG 1 as an arrow 110 The server 104 is coupled to the IM server 106 via one or more other ports The two way communication via the other ports is represented in the example of FIG 1 as an arrow 112 TheIM server 106 is coupled to the IM network 108 via any known or convenient mechanism Indeed the IM server 106 may be thought of as part of the IM network 108 The network 102 couple
9. not limitation It will be appreciated to those skilled in the art that the preceding examples and embodiments are exemplary and not limiting to the scope of the present invention It is intended that all permutations enhancements equivalents and improvements thereto that are apparent to those skilled in the art upon a reading of the specification and a study of the drawings are included within the true spirit and scope ofthe present invention It is therefore intended that the following appended claims include all such modifications permuta tions and equivalents as fall within the true spirit and scope of the present invention The invention claimed is 1 A system comprising atitle array embodied in a computer readable medium that includes a plurality of character strings for provisioning for display in a titlebar or taskbar on a display device an interface for receiving an event and for sending a display associated with the event to the display device an event processing engine embodied in a computer read able medium and coupled to the interface for processing the event a title provisioning engine embodied in a computer read able medium and coupled to the event processing engine for maintaining the title array and controlling which character string of the plurality of character strings to provide for display in the titlebar or taskbar on the display device wherein at least one ofthe plurality of character strings serve
10. the clients 114 for client server communication and between the server 104 and the IM server 106 The server 104 may include one or more of an application server database server web server banners server and con tent server or any combination thereof To make the most of the techniques described herein the server 104 should though is not required to include at least one application server The other servers can have supporting roles in by way of example but not limitation serving static content or adver tising e g banners storing usage data or fulfilling some other known or convenient function The server 104 may act as a proxy server between the clients 114 and the IM server 106 The server 104 receives communications from the clients 114 on http port 80 and responds to the clients 114 on http port 80 Communications from the clients 114 that are bound for the IM network 108 however must also come through http port 80 to the server 104 and are then forwarded to the IM server 106 In this way the server 104 acts as a carrier ofthe data from users to the IM network 108 using a mechanism that controls and manages the data e g text messages display images emotions audio video streams etc sent between one ofthe clients 114 and the server 104 and vice versa The IM server 106 may be any known or convenient IM server that is compatible with IM Events messages or other appropriate data from the IM server 106 are colle
11. with reference to FIGS 1 7 The computer system 800 includes a computer 802 I O devices 804 and a display device 806 The computer 802 includes a processor 808 a communications interface 810 memory 812 display controller 814 non volatile stor age 816 and controller 818 The computer 802 may be coupled to or include the I O devices 804 and display device 806 The computer 802 interfaces to external systems through the communications interface 810 which may include a modem or network interface The communications interface 810 can be considered to be part of the computer system 800 or a part of the computer 802 The communications interface 810 can be an analog modem ISDN modem cable modem token ring interface satellite transmission interface e g direct PC or other interfaces for coupling a computer system to other computer systems Although conventional computers typically include a communications interface of some type it is possible to create a computer that does not include one thereby making the communications interface 810 optional in the strictest sense of the word The processor 808 may include by way of example but not limitation a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microproces sor While the processor 808 is a critical component of all conventional computers any applicable known or convenient processor could be used for the purposes of implementing the
12. 04 FIG 8 US 8 037 212 B2 1 EVENT NOTIFICATION SYSTEM AND METHOD CROSS REFERENCE TO RELATED APPLICATIONS This Patent Application claims priority to U S Provisional Patent App No 60 748 988 filed Dec 9 2005 which is incorporated herein by reference This Patent Application is related to U S patent application Ser Nos 11 637 954 11 637 268 11 637 964 11 637 316 to Taylor et al respec tively entitled HIGH LEVEL NETWORK LAYER SYSTEM AND METHOD PICTURE PROVISIONING SYSTEM AND METHOD MESSAGE HISTORY DISPLAY SYS TEM AND METHOD and CONTACT LIST DISPLAY SYSTEM AND METHOD filed concurrently herewith and incorporated by reference herein BACKGROUND Instant messaging requires the use of a client program that hooks up an instant messaging service and differs from e mail in that conversations are then able to happen in real time Most services offer a presence information feature indicating whether people on one s list of contacts are currently online and available to chat This may be called a contact list In early instant messaging programs each letter appeared as it was typed and when letters were deleted to correct typos this was also seen in real time This made it more like a telephone conversation than exchanging letters In modern instant mes saging programs the other party in the conversation generally only sees each line oftext right after a new lineis started Most instant messaging applications also incl
13. 2009 Blattner et al 7 730 144 B2 6 2010 Taylor et al 7 779 076 B2 8 2010 Heikes et al 7 933 957 B2 4 2011 Daniell 2002 0063735 5 2002 Tamiretal 345 745 2002 0143916 10 2002 Mendiola et al 709 223 2003 0076367 A1 4 2003 Bencze et al 2003 0210265 A1 11 2003 Haimberg 2003 0222907 Al 12 2003 Heikes et al 2003 0225846 Al 12 2003 Heikes et al Continued FOREIGN PATENT DOCUMENTS 1292071 9 2002 Continued EP OTHER PUBLICATIONS The International Search Report and Written Opinion for PCT appli cation PCT IB2006 004204 Search Report dated Jan 8 2008 Continued Primary Examiner Tariq Hafiz Assistant Examiner Scott Sun 74 Attorney Agent or Firm Sheppard Mullin Richter amp Hampton LLP 57 ABSTRACT A technique for user notification involves modifying a title associated with a process to include information about an event that calls for user notification A method according to the technique may include running a process processing an event generating a string of characters that includes informa tion associated with the event and displaying the string of characters as a title associated with the process system constructed according to the technique may include a client a title array an event processing engine and a title provision ing engine 5 Claims 11 Drawing Sheets US 8 037 212 B2 Page2 U S PATENT DOCUMENTS 2004 001080
14. 8 1 2004 deCarmo 2004 0054646 3 2004 Daniell et al 2004 0054802 3 2004 Beauchamp et al 2004 0158609 8 2004 Daniell et al 2004 0158610 8 2004 Davis et al 2004 0221224 Al 11 2004 Blattner et al 2005 0080867 4 2005 Malik et al 2005 0097061 5 2005 Shapiro et al 2005 0114454 5 2005 D Angelo et al 2005 0187781 Al 8 2005 Christensen 2005 0259656 Al 11 2005 Dollar et al 2005 0268237 Al 12 2005 Crane et al 2006 0095562 5 2006 Agarwal et al 2006 0168054 7 2006 Burkhart et al 2006 0256816 Al 11 2006 Yarlagadda et al 2006 0265381 Al 11 2006 Altaf et al 2006 0268828 Al 11 2006 Yarlagadda 2006 0271630 Al 11 2006 Bensky et al 2006 0277053 Al 12 2006 Lobb et al 2007 0043878 Al 2 2007 Carlson et al 2007 0135099 6 2007 Taylor et al 2007 0136419 6 2007 Taylor et al 2007 0168451 7 2007 Taylor et al 2007 0168529 7 2007 Taylor et al 2007 0168558 7 2007 Taylor et al 2007 0192479 8 2007 Felten 2009 0125591 5 2009 Kirkpatrick FOREIGN PATENT DOCUMENTS WO WO 9948011 9 1999 WO WO 0120474 3 2001 WO WO 0143357 A2 6 2001 WO WO 03 056764 7 2003 WO WO 2004 031976 Al 4 2004 WO WO2005 074588 8 2005 WO WO 2005 074588 A2 8 2005 WO WO 2006083820 A1 8 2006 WO WO 2007063041 A1 6 2007 WO WO 2007 110703 A3 10 2007 WO WO 2007 129143 A3 11 2007 WO WO 2007 129144 A3 11 2007 WO WO2008 072028 6 2008 WO WO2008 072030 6 2008 OTHER PUBLICATIONS The Int
15. a of a browser In the example of FIG 3C the Firefox amp browser is open and the taskbar item 306 indicates the current site is www e buddv com The titlebar 308 includes similar information Ifa new message is received then both the titlebar and the taskbar can be changed In the example of FIG 3D the taskbar includes the Fire fox amp web browser with a changed taskbar item 310 The titlebar 312 is also changed to indicate a new message has 20 25 30 35 40 45 50 55 60 65 6 been received The exact information in a titlebar taskbar or other display area is implementation specific Thus the title bar 312 is simply illustrative When an event message or other data is available to the client the titlebar 312 may change to show information about the event If properly con figured the taskbar item 310 and the titlebar 312 could even display different information though in a typical implemen tation the text is identical albeit often necessarily shortened on the taskbar The title can be used to notify users of certain events by changing the title of the IM client The changing ofthe text in the taskbar and or titlebar may stand out from other taskbars and or with fixed texts FIG 4 depicts a flowchart 400 of an example of a method for changing a title associated with a titlebar and an associ ated taskbar item if applicable In the example of FIG 4 the flowchart 400 starts at module 402 wher
16. a2 United States Patent Taylor et al US008037212B2 US 8 037 212 B2 Oct 11 2011 10 Patent No 45 Date of Patent 54 75 73 p Q1 Q2 65 60 51 52 58 56 EVENT NOTIFICATION SYSTEM AND METHOD Inventors Paulo Taylor Amsterdam NL Jan Joost Rueb Amsterdam NL Onno Bakker Amsterdam NL Assignee Notice Appl No Filed eBuddy Holding B V Amsterdam NL Subject to any disclaimer the term of this patent is extended or adjusted under 35 U S C 154 b by 489 days 11 637 514 Dec 11 2006 Prior Publication Data US 2007 0168451 A1 Jul 19 2007 Related U S Application Data Provisional application No 60 748 988 filed on Dec 9 2005 Int Cl G06F 3 00 2006 01 GO6F 13 00 2006 01 U S Cl xen 710 22 710 8 710 36 710 40 710 62 Field of Classification Search None See application file for complete search history References Cited U S PATENT DOCUMENTS 6 415 318 Bl 6 484 196 Bl 6 571 234 7 389 324 B2 7 426 382 B2 7 496 379 B2 7 2002 11 2002 5 2003 6 2008 9 2008 2 2009 Aggarwal et al Maurille Knight et al Masonis et al Aerrabotu et al Kaplan et al 400 Yes Y2 lt Event received s Terminate IM client Ho 408 Terminate IM client process Modify title associated with IM client process 7 523 138 B2 4 2009 Gruhl et al 7 636 755 B2 12
17. cted in the event queue 116 of the server 104 The events may be col lected in association with a variety of protocols including by way of example but not limitation port 1863 port 5050 port 5222 port 5190 etc The IM network 108 may include one or a combination of networks selected from MSN Messenger Yahoo Messenger AIM AOL ICQ QQ Jabber Google Talk IRC or some other known or convenient IM network The clients 114 may include any known or convenient device including by way of example but not limitation a Web browser mobile client PDA game console TV box native application etc The clients poll the server 104 for events The events can be removed from the event queue 116 and trans lated into text JavaScript XML or some other known or convenient format that one or more of the clients 114 need or expect in order to process data associated with the event To interact with the IM network 108 the clients 114 send data to the server 104 The data which may include com mands is processed and translated into corresponding data that will be sent to the appropriate IM network In an embodi ment the appropriate IM network may be determinable based upon the protocol encoded in a message Messages or actions from the clients 114 are collected over network protocols such as by way of example but not limi tation HTTP or plain socket connections The messages or actions are transformed to an appropriate protocol format to be s
18. dable medium In the example of FIG 6 the title provisioning engine 616 inputs title strings which are strings of characters to the title array 618 The title array 618 includes N 1 title array strings embodied in a computer readable medium which are referenced for illustrative pur poses as title array string 0 to title array string N given event may cause the title provisioning engine 616 to rewrite the entire title array 618 with title strings associated with the most recent events Alternatively a given event may cause the title provisioning engine 616 to append title strings to the end of the title array 618 In a non limiting embodi ment the title provisioning engine 616 updates the current title array 618 by adding new data associated with an event excluding redundant data e g data that is already repre sented in the title array 618 Inthe example of FIG 6 the multiplexer 620 selects one of the title array strings for provisioning to the client 622 The multiplexer 620 receives a control signal from the title pro visioning engine 616 to accomplish this task The multiplexer 620 is a conceptual construct that is intended to illustrate selecting one of the title array strings using an index to the title array 618 Thus the multiplexer 620 may or may not be embodied in a computer readable medium It should be noted that the multiplexer 620 in at least one embodiment is not a hardware MUX though it could conceivabl
19. e an IM client process is running The IM client process may include by way of example but not limitation a browser In the example of FIG 4 the flowchart 400 continues to decision point 404 where it is determined whether an event has been received If it is determined that an event has not been received 404 N then the flowchart 400 continues to decision point 406 where it is determined whether to termi nate the IM client process If itis determined that the IM client process is to be terminated 406 Y then the flowchart 400 continues to module 408 where the IM client process is ter minated and the flowchart 400 ends If on the other hand it is determined that the IM client process is notto beterminated 406 N then the flowchart 400 loops back to decision point 404 as described above In the example of FIG 4 eventually assuming the IM client process is not terminated 408 it is determined that an event has been received 404 Y and the flowchart 400 con tinues to module 410 where the event is processed Events are processed in a known or convenient manner In the example of FIG 4 the flowchart 400 continues to decision point 412 where it is determined whether notifica tion is called for Events may or may not result in notification ofa user depending upon the event embodiment implemen tation device limitations and or user s IM client configura tion If it is determined that user notification is called for 412 Y
20. e associated with state of a browser is dis played in association with the browser The state of the browser may include for example a current site for which the browser is displaying a page as is shown in FIGS and In general the title associated with state of the browser includes any title that would normally be displayed in asso ciation therewith prior to updating the title in response to an event notification In the example of FIG 5 the flowchart 500 continues to module 506 where an event trigger is received The event trigger is associated with an event that calls for notifying a user For example the event trigger may include receipt of a new instant message In the example of FIG 5 the flowchart 500 continues to module 508 where a title associated with the event is dis played in association with the browser Thus the title associ ated with the state of the browser is replaced by the title associated with the event Moreover in a non limiting embodiment the state of the browser is unchanged other than the title of course In the example of FIG 5 the flowchart 500 continues to decision point 510 where itis determined whether to close the browser If the browser is not to be closed 510 N then the flowchart 500 continues to decision point 512 where it is determined whether to continue to display the title associated with the event If so 512 Y then the flowchart 500 loops back to module 508 as described p
21. eceive an event trigger 508 Display in association with a browser a title associated with the event Close browser Continue to display Yes 514 Close browser FIG 5 U S Patent Oct 11 2011 Sheet 9 of 11 US 8 037 212 B2 600 a Input Device Network Output Device 602 604 606 Event Display gu 7 celu a IL LL LL Interface Event Processing Engine Title String s Title Provisioning Engine Control 616 Client Control 622 Title Array 626 i U S Patent Oct 11 2011 Sheet 10 of 11 US 8 037 212 B2 700 Start 702 Process event that calls for user notification 704 Generate a first string of characters associated with the event 706 Store the first string of characters in an array 708 Providing the first string of characters from the array to a process 710 Using the first string of characters as a title in association with the process 712 Providing a second string of characters from the array to the process 714 Using the second string of characters as a title in association with the process FIG 7 U S Patent Oct 11 2011 Sheet 11 of 11 US 8 037 212 B2 800 Computer 802 Processor 808 Comm Interface 810 Display Control 814 NV Storage 816 Control 818 Display Device 806 I O Devices 8
22. ent over a compliant port from the clients 114 to the server 20 25 30 35 40 45 50 55 60 65 4 104 with the IM protocol on the application side In a non limiting embodiment the compliant port is http port 80 How ever any port having similar characteristics to those of a typical port 80 could be used The latest available browsers as of December 2005 enable the use ofa technique called AJAX Asynchronous JavaScript And XML With AJAX appropriately configured clients 114 can execute actions and poll for messages or events using only JavaScript The method is based on using an XMLHttpRe quest object to make HTTP requests to the server 104 The server 104 may reply with messages taken from the queue of the corresponding session in XML or another format that are parsed and displayed according to the message content For clients 114 that include a browser when accessing the server 104 the browser typically uses hidden HTML frames to update information on visible frames The visible frames display appropriate information while the hidden frames are reloaded in short periods of time In each refresh that hits the server 104 the browser identifies the current messaging ses sion and checks if new events or messages associated with the session are in the event queue 116 When new information arrives and needs to be displayed in some form the browser makes use of for example JavaScript code to update the visib
23. ernational Search Report and Written Opinion for PCT appli cation PCT IB2006 004205 Search Report dated Jan 8 2008 10 pages International Search Report and Written Opinion for PCT application PCT IB2006 04200 Search Report dated Oct 18 2007 pp 1 10 International Search Report and Written Opinion for PCT application PCT IB2006 04193 Search Report dated Aug 14 2008 pp 1 10 International Search Report and Written Opinion for PCT application PCT IB2006 04264 Search Report dated Jun 23 2008 pp 1 11 Co pending U S Appl No 11 637 954 filed Dec 11 2006 Co pending U S Appl No 12 721 538 filed Mar 10 2010 Co pending U S Appl No 11 637 268 filed Dec 11 2006 Co pending U S Appl No 11 637 964 filed Dec 11 2006 Co pending U S Appl No 11 637 316 filed Dec 11 2006 Non Final Office Action mailed Jul 30 2009 in Co Pending U S Appl No 11 637 954 filed Dec 11 2006 Notice of Allowance mailed Jan 28 2010 in Co Pending U S Appl No 11 637 954 filed Dec 11 2006 Non Final Office Action mailed Sep 3 2009 in Co Pending U S Appl No 11 637 964 filed Dec 11 2006 Final Office Action mailed Feb 9 2010 in Co Pending U S Appl No 11 637 964 filed Dec 11 2006 Non Final Office Action mailed May 18 2009 in Co Pending U S Appl No 11 637 316 filed Dec 11 2006 Final Office Action mailed Nov 5 2009 in Co Pending U S Appl No 11 637 316 filed Dec 11 2006 Co pending U S Appl No
24. haracteristics For example the title can appear to have scrolling text blinking alternating upper and lower case etc US 8 037 212 B2 9 Scrolling text may be accomplished by cycling through the title array 618 over time After the title array string N is displayed the title array 618 can start over at title array string 0 or allow the title generator 626 to generate a title instead The scrolling text could include the actual message of an IM message displayed in the title over time the scrolling text could scroll through a list of senders of email that has not yet been checked Blinking can be accomplished by conceptu ally making every other title array string blank Alternatively a NULL string could be periodically provided instead of a title array string The number of programmed text effects available to those of ordinary skill in the art of computer programming with this teaching before them are practically impossible to list exhaustively so no effort is made to do so herein FIG 7 depicts a flowchart 700 of an example of a method for displaying programmed text titles In the example of FIG 7 the flowchart 700 starts at module 702 where an event that calls for user notification is processed It may be noted that whether the event calls for user notification may or may not be known until after the event is processed In the example of FIG 7 the flowchart 700 continues to module 704 where a first string of characte
25. ic The computer pro gram enables another program typically an OS or applica tions software package or computer program running under the OS kernel to interact transparently with a hardware device and usually provides the requisite interrupt handling necessary for any necessary asynchronous time dependent hardware interfacing needs The non volatile storage 816 which may be referred to as secondary memory is often a magnetic hard disk an optical disk or another form of storage for large amounts of data US 8 037 212 B2 11 Some of this data is often written by a direct memory access process into memory 812 during execution of software in the computer 802 The non volatile storage 816 may include a block based media device The terms machine readable medium or computer readable medium include any known or convenient storage device that is accessible by the processor 808 and also encompasses a carrier wave that encodes a data signal The computer system 800 is one example of many possible computer systems which have different architectures For example personal computers based on an Intel microproces sor often have multiple buses one of which can be an I O bus for the peripherals and one that directly connects the proces sor 808 and the memory 812 often referred to as a memory bus The buses are connected together through bridge com ponents that perform any necessary translation due to differ ing bus protocols
26. in a computer memory are believed to most effectively convey the tech niques to others skilled in the art An algorithm is here and generally conceived to be a self consistent sequence of operations leading to a desired result The operations are those requiring 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 has proven convenient at times principally for rea sons of common usage to refer to these signals as bits values elements symbols characters terms numbers or the like It should be borne in mind however that all of these and similar terms are to be associated with the appropriate physi cal quantities and are merely convenient labels applied to these quantities Unless specifically stated otherwise as apparent from the following discussion it is appreciated that throughout the description discussions utilizing terms such as processing or computing or calculating or deter mining or displaying or the like refer to the action and processes of a computer that manipulates and transforms data represented as physical electronic quantities within the computer system s registers and memories into other data similarly represented as physical quantities within the com puter system memories or registers or other such info
27. le frames and windows with new messages or events keeping the information up to date in the screen In this way automatic refreshing can take place in a hidden frame In another embodiment certain of the clients 114 with browsers may not make use of refreshes For example a form of updating the screen without using a refresh technique is to keep one single HTTP socket request alive for the whole period of a messaging session without actually closing the socket connection In this example information is initially loaded and displayed in one single visible frame While events and messages are being received by the server 104 JavaScript code can be injected into the HTML document through the same HTTP socket kept alive and managed by the server 104 For each event or message the browser can inter pret the JavaScript code injected and the corresponding parts of the HTML document and windows will be updated In another embodiment certain of the clients 114 with browsers may make use of manual refreshes Some relatively unsophisticated browsers such as WAP and XHTML brows ers often available on mobile phones do not support hidden frames and or JavaScript and others may be configured such that they do not support hidden frames and or JavaScript In such cases the information displayed has to be updated manually by the user Manual updating enables any mobile phone PDA TV Set or any device with a browser to connect to the server 104 and use
28. ovisioning The system 600 includes an input device 602 a network 604 an output device 606 and a computer 610 The input device 602 may be any known or convenient device that is capable of generating or forwarding events to the computer 610 In a typical implementation events will be received at the computer 610 via the network 604 Most computers include output devices for on which a variety of output is displayed The computer 610 includes an interface 612 an event processing engine 614 a title provisioning engine 616 a title array 618 a multiplexer 620 and a client 622 The interface 612 may include an implementation specific number of dif ferent kinds of known or convenient interfaces The input 20 25 30 35 40 45 50 55 60 65 8 device 602 the network 604 and the output device 606 are coupled to the computer 610 using the interface 612 An event received on the interface 612 from either the input device 602 or the network 604 is provided to the event processing engine 614 for processing in a known or conve nient manner The event processing engine 614 may be embodied in a computer readable medium If user notifica tion is desired for the event the user can be notified in any known or convenient manner Advantageously data associated with the event can also or in the alternative be provided to the title provisioning engine 616 The title provisioning engine 616 may be embodied ina computer rea
29. priate for use on the IM network 208 Once the content is properly formatted it can be made available to the client 210 either through the IM network 208 as shown in FIG 2 or directly to the client 210 such as is shown by way of example in FIG 1 Depending upon the embodiment and or implementation the content may also be formatted as appro priate for one or more of the other IM networks 212 to be made available for one or more of the other clients 214 As is well understood different devices provide different functionality For example a desktop typically provides greater storage greater display area and greater power than a cell phone Thus at best an IM client must work under the constraints imposed by a particular device Depending upon the device certain functionality may be more useful For example a device may have inferior capabilities with respect to notifying a user when a message is received The device capabilities may limit the way in which a user can be notified when a message is received The environment in which a user operates may provide another limitation For example a user at work may not want to play a noise or have a popup window show up every time a message is received Similarly a user who gets lots of messages may not want to hear the noise or see the popup windows because of the great frequency with which it occurs Advantageously notification can take place ina titlebar which is great for devices that
30. reviously If not 512 N thenthe flowchart 500 loops back to module 504 as described previously The determination as to whether to continue to display the title associated with the event may be based upon by way of example but not limitation a notification timer an event specific timer a user action or some other action that is sufficient to indicate that the title associated with the event should not longer be displayed If on the other hand the browser is to be closed 510 Y then the flowchart 500 con tinues to module 514 where the browser is closed and the flowchart 500 ends The title of e g a window shows up in both the titlebar of a window and in the taskbar Advantageously users can be notified of events in the taskbar while they are using another application The changing taskbar would benefit clients on devices using a desktop system that allows multiple applica tions to run at the same time e g Mail client Browser IM etc While users are switching between various applications and an IM client they may not be aware of new messages events that have arrived The alternating messages can be seen in a taskbar even if for example the browser window is minimized or behind other application or browser windows as in FIGS 3A 3B Advantageously in an embodiment a title associated with an event can include programmed text effects FIG 6 depicts an example of a system 600 for programmed text event specific title pr
31. rmation storage transmission or display devices 20 25 30 35 40 45 50 60 12 An apparatus for performing techniques described herein may be specially constructed for the required purposes or it may comprise a general purpose computer selectively acti vated or reconfigured by a computer program stored in the computer Such a computer program may be stored in a com puter readable storage medium such as by way of example but not limitation read only memories ROMs RAMs EPROMs EEPROMs magnetic or optical cards any type of disk including floppy disks optical disks CD ROMs DVDs and magnetic optical disks or any known or convenient type of media suitable for storing electronic instructions The algorithms and displays presented herein are not inher ently related to any particular computer architecture The techniques may be implemented using any known or conve nient programming language whether high level e g C C or low level e g assembly language and whether interpreted e g Perl compiled e g C C or Just In Time JIT compiled from bytecode e g Java Any known or convenient computer regardless of architecture should be capable of executing machine code compiled or otherwise assembled from any language into machine code that is com patible with the computer s architecture As used herein the term embodiment means an embodi ment that serves to illustrate by way of example but
32. rs associated with the event is generated There may or may not be a second third etc string of characters associated with the event gen erated as well In the example of FIG 7 the flowchart 700 continues to module 706 where the first string of characters is stored in an array The array may include other strings of characters asso ciated with other events or the first string of characters and second third etc string of characters associated with the event may replace all current characters strings of the array In the example of FIG 7 the flowchart 700 continues to module 708 where the first string of characters is provided from the array to a process The process may include by way of example but not limitation an IM client operating in a Windows environment In the example of FIG 7 the flowchart 700 continues to module 710 where the first string of characters is used as a title in association with the process For example if the pro cess is an IM client operating in a Windows environment the first string of characters could be used such that the win dow associated with the IM client includes the first string of characters or at least the first subset of the first string of characters if the window is too small to display the entire string in the titlebar Similarly in this specific example the first string of characters could be displayed in a taskbar item associated with the IM client In the example of FIG 7
33. s a plurality of clients 114 1 to 114 N referred to collectively as clients 114 to the server 104 In the example of FIG 1 the server 104 includes an event queue 116 The network 102 may include by way of example but not limitation LAN WAN VLAN WLAN Internet cellular net work phone network radio network or some other known or convenient network The term Internet as used herein refers to a network of networks that uses certain protocols such as and possibly other protocols such as the hypertext transfer protocol HTTP for hypertext markup language HTML documents that make up the World Wide Web the web The physical connections of the Internet and the pro US 8 037 212 B2 3 tocols and communication procedures are well known but any convenient physical connections or protocols could be used The server 104 may include a multiple servers Indeed it may be desirable depending upon details of a particular implementation to install several servers to cope with the number of simultaneous users the system 100 supports It may further be desirable depending upon details ofa particu lar implementation for the server 104 to have a high CPU throughput together with large amounts of RAM to handle a large number of users It may further be desirable depending upon details of a particular implementation to accomplish resource sharing via thread handling where a pool of threads is shared and used by one or more of
34. s as a notification of the event 2 The system of claim 1 wherein the event is received at the interface through a network from an event server 3 The system of claim 1 wherein the event is received at the interface from an input device 4 The system of claim 1 further comprising an output device including the display device to which a display 1s sent from the interface wherein a title associated with at least a portion of the display includes at least a portion of the char acter string of the plurality of characters strings 5 The system of claim 1 further comprising a title genera tor that generates a title for the display device according to state ofa client whereinthe title provisioning engine controls the title generator to allow for the character string of the plurality of character strings to be used instead of the title generated according to the state of the client
35. sociated therewith The method may further include processing an event such as by way of example but not limitation a new mail event a new instant message event a reminder event a calendar event or some other event and generating a string of characters that un 0 5 20 35 40 45 50 2 includes information associated with the event The method may further include displaying the string of characters as a title associated with the process A system constructed according to the technique may include a client a title array an event processing engine and a title provisioning engine BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the inventions are illustrated in the fig ures However the embodiments and figures are illustrative rather than limiting they provide examples of the invention FIG 1 depicts an example ofa system for providing instant messages to clients via a web interface FIG 2 depicts an example of a system for displaying con tent from an IM client at an alternative IM client FIGS 3A 3D depict examples of screenshots with IM noti fication functionality FIG 4 depicts a flowchart of an example of a method for changing a title associated with a titlebar FIG 5 depicts a flowchart of an example of a method for displaying an event related title FIG 6 depicts an example ofa system for programmed text event specific title provisioning FIG 7 depicts a flowchart of an example of a
36. techniques described herein The memory 812 is coupled to the processor 808 by a bus 820 The memory 812 which may be referred to as primary memory can include Dynamic Random Access Memory DRAM and can also include Static RAM SRAM The bus 820 couples the processor 808 to the memory 812 and also to the non volatile storage 816 to the display controller 814 and to the I O controller 818 The I O devices 804 can include a keyboard disk drives printers a scanner and other input and output devices includ ing a mouse or other pointing device For illustrative pur poses at least one of the I O devices is assumed to be a block based media device such as a DVD player The display controller 814 may control in a known or convenient manner a display on the display device 806 which can be for example a cathode ray tube CRT or liquid crystal display LCD The display controller 814 and I O controller 818 may include device drivers A device driver is a specific type of computer software developed to allow interaction with hard ware devices Typically this constitutes an interface for com municating with the device through a bus or communications subsystem that the hardware is connected to providing com mands to and or receiving data from the device and on the other end the requisite interfaces to the OS and software applications The device driver may include a hardware dependent com puter program that is also OS specif
37. the messaging platforms made available by the server 104 assuring the communication between the clients 114 and the IM server 106 Message history can be stored by most IM clients on a local computer For alternative web and mobile based clients local storage may not be possible In a non limiting embodiment the server 104 may have the capability to store message history from IM conversations done via one or more of the clients 114 The message history can be accessed and searched at any time via the server 104 by one or more of the clients 114 FIG 2 depicts an example of a system 200 for displaying content from an IM client at an alternative IM client In the example of FIG 2 the system 200 includes a client 202 an IM network 204 a server 206 an IM network 208 a client 210 other IM networks 212 1 to 212 N referred to collec tively as other IM networks 212 and other clients 214 1 to 214 N referred to collectively as other clients 214 US 8 037 212 B2 5 For illustrative purposes it is assumed that the client 202 has content that is compatible with the IM network 204 However the client 210 is capable of reading content format ted to be compatible with the IM network 208 Thus in operation the server 206 collects content from the client 202 either through the IM network 204 as shown in FIG 2 or directly from the client 202 such as is shown by way of example in FIG 1 The server 206 then formats the content as appro
38. then the flowchart 400 continues to module 414 wherea title associated with the IM client process is modified If on the other hand it is determined that user notification is not called for 412 N or in any case after module 414 the flowchart 400 loops back to decision point 406 as described above Modifying the title 414 presumably modifies the display in the applicable titlebar and or the display in the applicable taskbar item Conventional browsers typically do not allow setting a title in a titlebar that is different from the correspond ing taskbar item However a display area could display infor mation different from that of the title if configured appropri ately Moreover future browsers may include functionality that allows displaying different titles in the titlebar and the taskbar The title of the application may or may not keep the changed value until the user takes some action e g clicking on the taskbar item associated with the IM client process For example the original title could be displayed after a certain amount of time has passed e g a new message title could last for 10 seconds before reverting to the original title FIG 5 depicts a flowchart 500 of an example of a method for displaying an event related title In the example of FIG 5 the flowchart 500 starts at module 502 where a browser is opened US 8 037 212 B2 7 In the example of FIG 5 the flowchart 500 continues to module 504 a titl
39. ude the ability to set a status message roughly analogous to the message on a tele phone answering machine Popular instant messaging services on the public Internet include NET Messenger Service MSN Messenger AOL Instant Messenger Excite Pal Gadu Gadu Google Talk iChat ICQ Jabber Qnext Meetro Skype Trillian and Yahoo Messenger These services owe many ideas to an older and still popular online chat medium known as Inter net Relay Chat IRC The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclu sive Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study ofthe drawings SUMMARY The following embodiments and aspects thereof are described and illustrated in conjunction with systems tools and methods that are meant to be exemplary and illustrative not limiting in scope In various embodiments one or more of the above described problems have been reduced or elimi nated while other embodiments are directed to other improvements A technique for user notification involves modifying a title associated with a process to include information about an event that calls for user notification method according to the technique may include running a process such as by way ofexample but not limitation an IM client process a browser orsome other process that has a title as
40. y be implemented as such In the example of FIG 6 the client 622 includes a title string 624 and a title generator 626 The client 622 may include by way ofexample but not limitation an IM client an email client a VolP client or some other communications related client The client 622 may include a window panel or some other display that includes a title The title generator 626 generates a title for the display in a known or convenient manner However in a non limiting embodiment the title provi sioning engine 616 controls the title generator 626 to either generate a title in the usual way e g using the state of the client 622 to determine an appropriate title or to not generate atitle because a title string is available from the title array 618 Thus title string 624 which is embodied in a computer readable medium in association with the display will include either a title generated in accordance with the state of the client 622 or a title string from the title array 618 specifically the title array string selected by the multiplexer 620 The display e g a window including the title string 624 is pro vided to the interface 612 for display on the output device 606 Advantageously although the title string 624 1s likely to have display limitations associated with the client 622 the operating system the output device 606 or other factors creative control ofthe title array 618 can yield interesting title display c

Download Pdf Manuals

image

Related Search

Related Contents

Chapter 5  Akasa AK-FC-08BKV2 fan speed controller  

Copyright © All rights reserved.
Failed to retrieve file