Abstract:
When termination of information processing is instructed, the entry of a password is requested and the password that is entered is identified. When the password that is input is a password for a manager, the system is shut down; when it is a password for a registered user, the client process is terminated; but when it is a password for a person other than those two, permission to end the processing is not granted. Thus, the type of end process that is performed can be controlled in accordance with the identity of a user. As for the client process, upon receiving an end instruction from a user the client internally performs a corresponding end process, instead of requesting that the process be performed by the server process.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to an information processing apparatus and to a method for appropriately terminating processing that is currently being performed.  
           [0003]    2. Related Background Art  
           [0004]    Conventionally, to terminate the use of a device, for example, a computer performs a predetermined end process in accordance with an end instruction. However, in an environment wherein multiple users can employ a device, problems may arise if they freely terminate the processing that is currently being performed or the operation of the device.  
           [0005]    For a client/server system, for example, there is not merely one end process that is required in accordance with the situation, instead, there are multiple end processes, such as the termination of a client process or the shutting down of a system. The termination of a client process should be the responsibility of a client processing unit.  
         SUMMARY OF THE INVENTION  
         [0006]    It is, therefore, one objective of the present invention to provide an information processing apparatus and method for preventing the execution of an end process that a user is not permitted to perform.  
           [0007]    It is another objective of the present invention to provide an information processing apparatus and method for using a password to control an end process.  
           [0008]    It is an additional objective of the present invention to provide an information processing apparatus and a method for appropriately terminating a client process in a client/server system.  
           [0009]    It is a further objective of the present invention to provide an information processing apparatus and method for performing a specific process at a client processing unit in a client/server system.  
           [0010]    According to one aspect, the present invention, which achieves these objectives, relates to an information processing apparatus comprising:  
           [0011]    end instruction means for instructing termination of information processing;  
           [0012]    end processing means for performing an end process when termination is instructed by the end instruction means;  
           [0013]    input means for entering a password; and  
           [0014]    control means for identifying the password and for controlling the end process performed by the end processing means based on the password that is identified.  
           [0015]    According to another aspect, the present invention, which achieves these objectives, relates to an information processing apparatus comprising:  
           [0016]    client means for, in accordance with an operation performed by a user, generating and transmitting a request for the performance of a process, and for receiving operating screen information and providing the operating screen information to the user;  
           [0017]    server means for interpreting the request and adding object information to a database, and for generating and transmitting operating screen information to the client means; and  
           [0018]    execution means for monitoring the database, and for detecting object information that is to be processed and for processing the object information,  
           [0019]    wherein, in accordance with a specific operation selected by the user, the client means internally performs a process, instead of generating and transmitting a request for the performance of the process.  
           [0020]    According to still another aspect, the present invention, which achieves these objectives, relates to an information processing method comprising:  
           [0021]    an end instruction step of instructing termination of information processing;  
           [0022]    an end processing step of performing an end process when termination is instructed at the end instruction step;  
           [0023]    an input step of entering a password; and  
           [0024]    a control step of identifying the password, and of controlling the end process at the end processing step based on the password that is identified.  
           [0025]    According to yet another aspect, the present invention, which achieves these objectives, relates to an information processing method comprising:  
           [0026]    a client process for generating and transmitting a request for performing a process in accordance with an operation performed by a user;  
           [0027]    a server process for interpreting the request and adding object information to a database, and for generating and transmitting operating screen information to the client process; and  
           [0028]    an execution process for monitoring the database and detecting object information that is to be processed, and for processing the object information,  
           [0029]    wherein in the client process, the operating screen information is received and provided for the user, and wherein, in accordance with a specific operation selected by the user, a corresponding process is performed by the client process, instead of a request for the performance of the process being generated and transmitted.  
           [0030]    According to a further aspect, the present invention, which achieves these objectives, relates to a computer-readable storage medium on which a program for controlling a computer is stored, the program comprising codes for causing the computer to operate;  
           [0031]    an end instruction step for instructing termination of information processing;  
           [0032]    an end processing step of performing an end process when termination is instructed at the end instruction step;  
           [0033]    an input step of entering a password; and  
           [0034]    a control step of identifying the password and of controlling the end process at the end processing step based on the password that is identified.  
           [0035]    According to one further aspect, the present invention, which achieves these objectives, relates to a computer-readable storage medium on which a program for controlling a computer is stored, the program comprising:  
           [0036]    a client process for, in accordance with an operation performed by a user, generating and transmitting a request for the performance of a process, and for receiving operating screen information and providing the operating screen information to the user;  
           [0037]    a server process for interpreting the request and adding object information to a database, and for generating and transmitting operating screen information to the client process; and  
           [0038]    an execution process for monitoring the database and for detecting object information that is to be processed, and for processing the object information,  
           [0039]    wherein in accordance with a specific operation selected by the user, a corresponding process is performed by the client process, instead of a request for the performance of the process being generated and transmitted.  
           [0040]    Other objectives and advantages, in addition to those discussed above, will become apparent to those skilled in the art during the course of the description of a preferred embodiment of the invention that follows. In the description, reference is made to accompanying drawings, which form a part of the description and which illustrate an example of the invention. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0041]    [0041]FIG. 1 is a diagram showing the functional arrangement for one embodiment of the present invention;  
         [0042]    [0042]FIG. 2 is a diagram illustrating the system configuration according to the embodiment of the present invention;  
         [0043]    [0043]FIG. 3 is a functional block diagram illustrating a printer according to the embodiment of the present invention;  
         [0044]    [0044]FIG. 4 is a diagram showing an example screen for an initial menu;  
         [0045]    [0045]FIG. 5 is a flowchart showing the processing that begins with the initial menu screen;  
         [0046]    [0046]FIG. 6 is a flowchart showing the login processing;  
         [0047]    [0047]FIG. 7 is a diagram showing an example main menu;  
         [0048]    [0048]FIG. 8 is a flowchart showing the processing that begins with the main menu;  
         [0049]    [0049]FIG. 9 is a flowchart showing the end processing;  
         [0050]    [0050]FIG. 10 is a flowchart showing the shutdown processing; and  
         [0051]    [0051]FIG. 11 is a diagram showing an example end screen. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0052]    The preferred embodiment of the present invention will now be described while referring to the accompanying drawings.  
         [0053]    A detailed explanation will be given for one embodiment of the present invention while referring to the drawings.  
         [0054]    In FIG. 1 is shown the functional arrangement of the embodiment. The relationship existing between a user  101 , a client  102 , a server  103 , a database  104 , and a daemon  105  is shown. The client  102  and the server  103  may be provided either on the same device, or on separate devices connected by a network.  
         [0055]    When the user  101  performs a specific operation for the client  102 , the client  102  generates a request that corresponds to the operation, and transmits it to the server  103 . The server  103  interprets the received request, and communicates with the database  104  for the deletion or the addition of a job, or to obtain data. As a result, the server  103  prepares a corresponding HTML page as needed, and transmits it to the client  102 . The client  102  displays the received HTML page, and permits the user  101  to initiate a new operation.  
         [0056]    Jobs stored in the database  104  are monitored by the daemon  105 . The daemon  105  performs the printing, the transmission, or the notification required for a job for which the performance condition has been satisfied.  
         [0057]    [0057]FIG. 2 is a diagram showing the system configuration according to the embodiment.  
         [0058]    In FIG. 2, various devices are connected to a network  201 , and data are exchanged across the network  201 . A printer  202 , which prints data received via the network  201 , includes an input/output operation unit  203 . The input/output operation unit  203  provides various displays for a user, and accepts instructions from the user. A scanner  204  and a multi-function device  205  also include the same input/output operation unit. The scanner  204  optically reads data printed on paper, and the multi-function device  205  includes the functions both of the printer  202  and of the scanner  204 . A personal computer  206  creates documents and images, and manages personal data, such as mail and a schedule for the user.  
         [0059]    The printer  202 , the scanner  204 , the multi-function device  205 , and the personal computer  206  can each serve as the client and the server described above.  
         [0060]    [0060]FIG. 3 is a functional block diagram illustrating the printer  202  according to the embodiment.  
         [0061]    In FIG. 3, a touch panel  301  is used to display a printer status and a menu screen for a user, who by touching the screen can select an item listed on the menu. The user can also enter characters by using a keyboard that is displayed on the screen. Instead of the touch panel  301 , an ordinary display unit and a keyboard can be prepared.  
         [0062]    A CPU  302  executes various programs, to include procedures that will be described later while referring to the flowcharts, and controls the individual sections connected by a system bus  308 . A printing unit  303  prints data on paper, etc. A communication unit  304  exchanges data, to include commands and statuses, with a desktop or with a scanner, or with another printer connected across a network.  
         [0063]    A ROM  305  is used to store fixed data and programs. A RAM  306  is used to temporarily store data and programs. A hard disk drive (HDD)  307  is used to permanently store programs and data, and is employed as the above described database  104 . The system bus  308  is used as a medium for connecting the above described sections, and for the exchange of data, addresses and control signals among these sections. The programs, including the procedures that will be described later while referring to the flowcharts, may be stored in the ROM  305 , or may be loaded from the HDD  307  into the RAM  306 , as needed, before the processing has begun or while it is in progress.  
         [0064]    In FIG. 4 is shown an example initial menu screen. FIG. 5 is a flowchart showing the processing that begins with the initial menu screen. When jobs are present in a print queue, they are displayed as a list on the status screen. As information for each of the individual jobs, the name of the job and the name of the submitter are displayed  
         [0065]    At step S 501  a user selects a desired item from the initial menu. At step S 502  the selected item is identified and a corresponding new screen is displayed.  
         [0066]    When “Device” is selected, at step S 503  the device status is displayed. When “Back” or “Forward” is selected, at step S 504  the screen that preceded or that succeeds the current screen is displayed. When “End” is selected, at step S 505  an end process is performed. When “New Interaction” is selected, at step S 506  a new process is performed. When “Help” is selected, at step S 507  the help screen for the current state is displayed.  
         [0067]    “When Print URL” is selected, the screen is changed to a “Print URL” screen. When, at step S 515 , a URL is indirectly entered or is designated by a reference, and “Go” is selected, at step S 516  information is obtained and previewed. At step S 517  the contents of the information that have been confirmed are printed. The screen is thereafter returned to the initial menu screen.  
         [0068]    When “Public Info (public information)” is selected, at step S 515  program control advances to the process for public information, and the screen is changed to a “public information process” screen. When “Goto Device (another device)” is selected, at step S 512  a setup screen for accessing another device is displayed, and the process for accessing another device is performed.  
         [0069]    In addition, a job in a print queue can be selected on the initial screen. To select a job, a button displayed in front of the name of the desired job is touched. When a specific job is thus selected, at step S 513  a password input screen is displayed. A password is then entered, and when it matches the password for the selected job, a setup screen is displayed for a process that corresponds to the job that was selected from the print queue.  
         [0070]    Following this, at step S 514  an action type is selected for the selected job, and at step S 515  an appropriate time for the action type is set. When “Print Later” is selected as an action type, at step S 517  the print time can be designated. When “Hold Here” is selected, at step S 518  the length of time for the holding period can be set.  
         [0071]    When “Pause/Restart Printing” is selected, at step S 519  the printing is temporarily halted, and the screen is returned to the initial menu screen to wait for the selection of “Pause/Restart Printing” (for the depression of the same button). When “Cancel Printing” is selected, at step S 520  a print job is deleted from the print queue, and “Cancel” is recorded in the history as the action taken for this job. The screen is then returned to the initial screen.  
         [0072]    [0072]FIG. 6 is a flowchart showing the login processing performed when a new process is selected on the initial menu. At step S 601  a “Login” screen is displayed, and the identifier that a user has entered is examined. When a login is permitted, at step S 602  a check is performed to determine whether there are any effective jobs (pending jobs) present for the user who has just logged in. If there are such unprocessed jobs, at step S 604  a list of them is displayed and an action for a selected job is performed. When there are no unprocessed jobs, at step S 603  the main menu is displayed to initiate the performance of the processing that begins with the main menu, which will be described later while referring to FIG. 8.  
         [0073]    [0073]FIG. 7 is a diagram showing an example main menu, and FIG. 8 is a flowchart showing the processing that begins with the main menu. In the flowchart, the shifting of the screen from the main menu and the flow of the process are shown. At step S 801  the main menu is displayed, and at step S 802  a process (action) is selected.  
         [0074]    When “Logout” is selected at step S 802 , at step S 804  the logout process is performed. When “Help” is selected, at step S 805  the help process is performed. When “Search” is selected, at step S 806  the search process is performed. When “Print” is selected, at step S 807  the printing process is performed. When “Send” is selected, at step S 808  the transmission process is performed. When “Delete” is selected, at step S 809  the deletion process is performed. When “Set Instructions” is selected, at step S 810  the command setup process is performed. And when “Reschedule” is selected, at step S 811  the rescheduling process is performed.  
         [0075]    When the addition of public information is selected, at step S 812  public information is added. When “Goto Device” is selected, at step S 813  another device is accessed. When “Goto My Desktop” is selected, at step S 814  the desktop is accessed. When “Device” is selected, at step S 815  the status of the apparatus is displayed. And when “End” is selected, at step S 816  the end process is performed that will be described in detail while referring to FIG. 9.  
         [0076]    [0076]FIG. 9 is a flowchart showing the end processing performed when the End button displayed in the upper right of each operating screen is selected.  
         [0077]    When a user enters information on any operating screen displayed by the client, the client processing unit determines whether the operation selected by the user should be handled by the client or by the server.  
         [0078]    In this embodiment, the operating buttons displayed on the operating screen are displayed on a screen holding an HTML page received by the server. When the user selects one of the buttons, in the client process the selected operation is converted into a corresponding HTML request, which is transmitted to the server. The server then performs a corresponding process.  
         [0079]    The End button in the upper right of each operating screen is one that is written over the HTML page by the client side. When the user selects the End button, therefore, it is assumed that this process should be handled by the client, and the end process in FIG. 9 is initiated by the client.  
         [0080]    When the end process is initiated, at step S 901  the end screen is displayed. FIG. 11 is a diagram showing an example end screen. At step S 902  the contents of the operation selected by the user are obtained and at step S 903  they are analyzed. At step S 904  program control branches in accordance with the operation type.  
         [0081]    When a password is input by the user, at step S 905  “*” is displayed on the screen in order to affirm that the input by the operator was accepted. At step S 906  the operator input password data that are internally held are updated. Program control then returns to step S 902  to accept a new user operation.  
         [0082]    When “Restart” is selected by the user, at step S 907  the client process that is currently being performed is terminated and is then restarted. The processing is thereafter terminated.  
         [0083]    When “Shut Down” is selected by the user, at step S 908  the shutdown process in FIG. 10 is performed, and the processing is thereafter terminated.  
         [0084]    [0084]FIG. 10 is a flowchart showing the shutdown processing. For this processing, a different operation is performed in accordance with a password entered by the user.  
         [0085]    When the shutdown process is initiated, at step S 1001  program control branches in accordance with the password that is entered.  
         [0086]    When the password entered by the user matches the password for a shutdown system that is set in advance by a manager, at step S 1002  the system is shut down, and the processing is terminated.  
         [0087]    When the password entered by the user matches the password for “leave to OS” that is set in advance by the manager, at step S 1003  only the client process is terminated, and the control right is returned to the OS. The processing is thereafter terminated.  
         [0088]    When the password entered by the user does not match either password that is set in advance by the manager, at step S 1004  an error message is displayed, and the processing is thereafter terminated. When “Cancel” is selected by the user, the processing is terminated without any further process being performed.  
         [0089]    With this arrangement, for example, only the manger can shut down the system, and only a specific user can terminate the client process.  
         [0090]    The present invention may be applied for an apparatus constituted by a single device, or for a system constituted by a plurality of apparatuses. For implementing the present invention, a storage medium on which is stored software program code for implementing the functions described in the above embodiment may be supplied to an apparatus or to a system, and the computer in the apparatus or in the system may read the program code from the storage medium.  
         [0091]    In addition, the scope of the present invention includes not only a case where the functions in the embodiment can be performed when program code is read and executed by the computer, but also a case where, in accordance with an instruction contained in the program code, an OS running on the computer, etc., can perform the processing required to accomplish the functions included in the above embodiment.  
         [0092]    The storage medium on which such program code is recorded constitutes the present invention.  
         [0093]    Although the present invention has been described in its preferred form with a certain degree of particularity, many apparently widely different embodiments of the invention can be made without departing from the spirit and the scope thereof. It is to be understood that the invention is not limited to the specific embodiments described herein, except as defined in the appended claims.