Abstract:
A mouse and/or keyboard of a computer is monitored for actuation of a key thereof. A duration of no key actuation is determined and the duration is compared to a predetermined duration. In response to the duration of no key actuation equaling or exceeding the predetermined duration, an Internet Web Browser active on the computer is caused to retrieve a predetermined Internet Web Page from the Internet.

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This application claims priority from U.S. Provisional Patent Application Ser. No. 60/123,803, filed Mar. 11, 1999 and entitled “Software for Monitoring Internet Activity”. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to Internet Web Browsers and, more particularly, to the uniform resource locator (URL) displayed by an Internet Web Browser on a display of a computer after a prolonged duration of no user interaction with the computer. 
     2. Background Art 
     A computer operating system, such as Windows, typically includes a screen saver which becomes active after a programmed idle time of no key actuation on a keyboard and/or mouse of the computer. When activated, the screen saver displays on a display of the computer a blank screen or a programmed display of moving shapes and/or figures which avoid a static image from being “burned” into the phosphor of the display. A typical Windows screen saver includes a dialog box which receives the idle time and from which a particular style screen saver, e.g., the blank screen or the programmed display, can be selected from a pull down menu. In operation, in the absence of a key actuation on the mouse and/or the keyboard of the computer for the idle time, the computer causes the screen saver to display the blank screen or the programmed display on the display of the computer. 
     There is a growing need to control the Internet Web Page displayed by an Internet Web Browser on the display of a computer to avoid the display of objectionable or undesired information thereon. This control is particularly needed for computer displays that are accessible to or viewable to the general public, such as displays visible in libraries, building reception areas and restaurants to name a few. 
     It is, therefore, an object of the present invention to provide a method for controlling the Internet Web Page displayed by an Internet Web Browser on the display of a computer as a function of the actuation of a key of a mouse and/or keyboard of the computer. Still other objects of the present invention will become apparent to those of ordinary skill in the art upon reading and understanding the following detailed description. 
     SUMMARY OF THE INVENTION 
     Accordingly, I have invented a method of controlling an Internet Web Browser active on a computer. The method includes monitoring a mouse or keyboard of the computer for actuation of a key thereof and determining a duration of no key actuation. The duration of no key actuation is compared to a predetermined duration and, in response to the duration of no key actuation equaling or exceeding the predetermined duration, causing an Internet Web Browser active on the computer to connect to a predetermined Internet Web Page. 
     Preferably, the computer receives the predetermined duration and a uniform resource locator (URL) corresponding to the predetermined Internet Web Page in a dialog box viewable on a display of the computer. The predetermined duration and the URL are stored in the computer. In response to the duration of no key actuation equaling exceeding the predetermined duration, the stored URL is supplied to the Internet Web Browser which supplies the URL to the Internet. 
     Preferably, a flag and a timer are established in the computer for tracking the duration of no key actuation. Upon commencing the monitoring of the mouse or keyboard of the computer for actuation of a key, the timer is initialized and the flag is initialized to a de-asserted state. In response to actuation of a key, the flag is asserted and the timer is initialized. The flag is maintained in the de-asserted state in the absence of the actuation of a key. If the flag is asserted in response to actuation of a key, the flag is once again de-asserted after a delay interval. The timer is incremented when the flag is de-asserted. More generally, the determination of the duration of no key actuation is initialized after each key actuation. 
     The determination of no key actuation can be made in respect of a specific application program, such as the Internet Web Browser. Hence, if a user is using another application program, such as a word processor, and no key actuation is directed to the Internet Web Browser for the predetermined duration, the stored URL is retrieved and supplied to the Internet Web Browser which supplies the URL to the Internet. 
     I have also invented a method of controlling a computer that includes receiving in the computer a first idle time and a first URL corresponding to an Internet Web Page. In response to receiving the first idle time and the first URL, a flag and a timer are established in the computer. The flag is set to an asserted state and the timer is initialized when a key of the keyboard or a mouse of the computer is actuated. The flag is set to a de-asserted state in response to no actuation of a key of the keyboard or the mouse for a predetermined delay interval after the flag is set to the asserted state. The timer is incremented when the flag is in the de-asserted state and a value the timer is compared with the first idle time. When the value of the timer equals or exceeds the first idle time, the first URL is supplied to an Internet Web Browser. 
     A second idle time can be received in the computer and compared with the value of the timer. The first URL can be supplied to the Internet Web Browser when the value of the timer equals or exceeds the second idle time. Alternatively, a second URL can be received in the computer and the first idle time can be compared with value of the timer. When the value of the timer equals or exceeds the first idle time, the second URL can be supplied to the Internet Web Browser. Lastly, the computer can receive a second idle time and a second URL. The second idle time can be compared to the value of the timer and when the value of the timer equals or exceeds the second idle time, the second URL can be supplied to the Internet Web Browser. In the absence of an active Internet Web Browser, the attempted supply of a URL thereto is disregarded. 
     Lastly, I have invented a method of controlling an Internet Web Browser displayed on a display of a computer. The method includes initiating on a computer a user interface process which receives an idle time and a URL to an Internet Web Page, which stores the URL and the idle time in the computer and which initiates a system monitoring process. The system monitoring process causes a system hook process to be initiated which asserts a flag when a key of a mouse or a keyboard of the computer is actuated. The system monitoring process also initiates a timer and the flag, detects the state of the flag, de-asserts the flag when it is asserted, increments the timer when the flag is de-asserted and causes an active Internet Web Browser to supply to the URL to the Internet when the Internet value of the timer equals or exceeds the idle time. 
     The idle time and the URL can be received in a dialog box. In response to actuation of a button in the dialog box when the system monitoring process is active, a notice is displayed on the display of the computer indicating that the system monitoring process is active. In response to actuation of the button in the dialog box when the system monitoring process is not active, the system monitoring process is spawned and the computer configured to initiate the system monitoring process upon start-up of the computer. Preferably, the system monitoring process initializes the timer each time the flag is asserted. 
     Upon initially receiving the idle time and the URL, the user interface process spawns the system monitoring process and, upon receiving a replacement idle time and/or URL, the user interface process stores the replacement idle time and/or URL in the computer. 
     In response to actuation of another button in the dialog box, the system monitoring process is terminated and the computer is configured to not initiate the system monitoring process upon start-up of the computer. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic view of a computer which implements the present invention; 
     FIG. 2 is a dialog box for receiving a URL and an idle time for use in accordance with the present invention; 
     FIG. 3 is a block diagram of the various processes implemented by the computer of FIG. 1 in accordance with the present invention; and 
     FIG. 4 is the dialog box of FIG. 2 receiving another URL and another idle time. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     With reference to FIG. 1, a computer  2  is utilized to implement the present invention which is embodied in a software program which operates computer  2  in a manner known in the art. Computer  2  includes a display  4  which is connected to a central processing unit (CPU)  6  and a keyboard  8  and/or a mouse  10  which are connected to CPU  6  in a manner known in the art. CPU  6  can include a microprocessor, memory, mass storage unit and other such components (not shown) which are common to computers and which are known in the art. CPU  6  can be connected directly to the Internet via a line  12 . This connection can be a dial-up service, a DSL line, a T-type line, and the like, for facilitating communication between computer  2  and the Internet. Alternatively, computer  2  can be connected to the Internet via a network line  14  connected to a computer network system. When connected to the Internet via the network system, it would typically not be necessary for CPU  6  to be connected directly to the Internet via line  12 . 
     With reference to FIGS. 2 and 3, upon initial installation and execution of the software program on computer  2 , the software program causes a dialog box  20  to appear on display  4 . The dialog box  20  includes a URL receiving box  22  for receiving a uniform resource locator of a desired Internet Web Page and an idle time receiving box  24  for receiving a user desired idle time. Preferably, the idle time is expressed in minutes, however, this is not to be construed as limiting the invention. Dialog box  20  also includes a start button  26 , a stop button  28  and a close button  30  which are utilized in manners known in the art. 
     Upon initial execution of the software program after installation in computer  2 , the software program spawns a user interface process  34  under the control of an operating system  36  of computer  2 . User interface process  34  causes dialog box  20  to be displayed on display  4  for receiving a desired uniform resource locator (URL)  38  in URL receiving box  22  and a desired idle time  40  in idle time receiving box  24  in a manner known in the art. Once URL  38  and idle time  40  are received in boxes  22  and  24 , respectively, start button  26  can be activated in a manner known in the art. When start button  26  is activated, user interface process  34  attempts to establish an inter-process communication link  42  with a system monitoring process  44 . 
     When the software program is first installed and executed on computer  2 , system monitoring process  44  does not exist. Thus, the first time user interface process  34  attempts to establish inter-process communication link  42  with the system monitoring process  44 , no communication can be established. Under this circumstance, user interface process  34  starts or spawns system monitoring process  44 . Once spawned, system monitoring process  44  is saved on computer  2  for use during subsequent restarts of computer  2 . User interface process  34  also configures operating system  36  to start system monitoring process  44  when computer  2  restarts. 
     When system monitoring process  44  is started by user interface process  34  or operating system  36 , system monitoring process  44  requests operating system  36  to initiate a system hook process  46 . System monitoring process  44  also establishes an inter-process communication link  48  with an Internet Web Browser  50  which is active on computer  2 . If the Internet Web Browser  50  is not active on computer  2 , the attempt to establish inter-process communication link  48  is disregarded. Thereafter, system monitoring process  44  monitors for the activation of the Internet Web Browser  50  and establishes the inter-process communication link  48  therewith. 
     Activating start button  26  in dialog box  20  causes user interface process  34  to save URL  38  and idle time  40  to an operating system registry or settings file  52  of operating system  36 . At an appropriate time after being started by user interface process  34 , system monitoring process  44  reads URL  38  and idle time  40  from settings file  52 . System monitoring process  44  also establishes an event flag  58  and a timer variable as a timer  56 . 
     System hook process  46  sets flag  58  to a first, asserted state through an inter-process communication link  60  with operating system  36 . In response to actuation of a key on keyboard  8  and/or mouse  10 , operating system  36  notifies system hook process  46  of such actuation. Upon receiving notification of the actuation of a key on keyboard  8  and/or mouse  10 , system hook process  46  asserts flag  58  as an indication of such actuation. In FIG. 3, flag  58  and timer  56  are shown associated with operating system  36 , however, this is not to be construed as limiting the invention. 
     System monitoring process  44  monitors the state of flag  58 . In response to detecting flag  58  is asserted, system monitoring process  44  de-asserts flag  58 . Preferably, system monitoring process  44  delays de-asserting flag  58  for a predetermined delay interval, e.g., three seconds, after flag  58  is asserted. Each actuation of a key of keyboard  8  and/or mouse  10  asserts flag  58 , initializes the delay interval and initializes timer  56 . 
     In the absence of the actuation of a key of keyboard  8  and/or mouse  10  for the delay interval, the system monitoring process  44  de-asserts flag  58  and commences incrementing timer  56  at a rate which can be translated into a time during which no actuation of a key of keyboard  8  and/or mouse  10  occurs. 
     System monitoring process  44  compares a time corresponding to the value of timer  56  with idle time  40 . When the time represented by the value of timer  56  is greater than or equal to idle time  40 , system monitoring process  44  supplies URL  38  to Internet Web Browser  50 . In response to receiving URL  38 , Internet Web Browser  50  outputs URL  38  to the Internet via line  12  or network line  14 . If the Internet Web Page corresponding to URL  38  is active, it is returned via the Internet to computer  2  for display on display  4 . If the Internet Web Page corresponding to URL  38  is not active, a timer (not shown) of the Internet Web Browser  50  expires after a predetermined interval of no response from the Internet and Internet Web Browser  50  displays a suitable notice on display  4 . 
     With reference to FIG. 4, and with continuing reference to FIGS. 1-3, if during the operation of system monitoring process  44  it becomes desirable to modify the URL  38  and/or idle time  40  stored in settings file  52 , user interface process  34  can be executed to display dialog box  20  on display  4 . As shown in FIG. 4, another URL  64  can be received in URL receiving box  22  and/or another idle time  66  can be received in idle time receiving box  24 . Thereafter, when start button  26  is selected, the other URL  64  and/or the other idle time  66  overwrites the previous value of URL  38  and/or idle time  40  stored in settings file  52 . Absent entering another URL  64  and/or another idle time  66  in the respective receiving boxes  22  and  24 , the previous values of URL  38  and/or idle time  40  are retained in the settings file  52  when start button  26  is selected. 
     In response to settings file  52  receiving URL  64  and/or idle time  66 , system monitoring process reads URL  64  and/or idle time  66  from settings file  52 . To avoid inadvertent replacement of URL  38  and/or idle time  40  in settings file  52 , when dialog box  20  is displayed on display  4 , system monitoring process  44  also displays on display  4  a notice that system monitoring process  44  is active. This notice indicates that URL  38  and/or idle time  40  are stored in computer  2 . 
     If it is desired to deactivate system monitoring process  44 , user interface process  34  is executed to display dialog box  20  on display  4 . Next, stop button  28  is selected in dialog box  20 . In response to selecting stop button  28 , user interface process  34  sends a “stop” command to system monitoring process  44  via inter-process communication link  42 . In response to receiving this “stop” command, system monitoring process  44  terminates monitoring flag  58  and/or incrementing timer  56 . Moreover, in response to selecting stop button  28 , user interface process  34  configures operating system  36  to not start system monitoring process  44  when computer  2  restarts. 
     The present invention has been described with reference to the preferred embodiment. Obvious modifications and alterations will occur to others upon reading and understanding the preceding detailed description. For example, the key actuation that asserts flag  58  and initializes timer  56  can be one that is directed to Internet Web Browser  50 . Hence, if key actuation is directed to another program, e.g., a word processor, active on computer  2  at the same time Internet Web Browser  50  is active, key actuation directed to the other program, but not Internet Web Browser  50 , will not assert flag  58  or initialize timer  56 . Thus, in the absence of a key actuation directed to Internet Web Browser  50  for at least idle time  40 , URL  38  will be supplied to Internet Web Browser  50  for supply to the Internet regardless of key actuations directed to the other programs active on computer  2 . Moreover, while the present invention is described in connection with supplying a URL to one Internet Web Browser, if computer  2  includes two or more Internet Web Browsers, the present invention will supply the URL stored in settings file  52  to each Internet Web Browser when the value of timer  56  equals or exceeds the idle time stored in settings file  52 . It is intended that the invention be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.