Patent Description:
As a job processing apparatus with a plurality of processing functions, an image processing apparatus, such as a digital multifunction peripheral, is known. Such a digital multifunction peripheral includes processing functions such as copying, printing, scanning, electronic mail (e-mail) transmission, and facsimile transmission and reception. In addition, the digital multifunction peripheral is also capable of executing processing functions to store digital data in a storage apparatus and call digital data from the storage apparatus.

In the image processing apparatus described above, a plurality of jobs can be input. However, when a job is input by mistake, it may be difficult to immediately select the job from a job list to cancel the job.

To solve the above-described issue, there is known an image processing apparatus configured such that all jobs are suspended in response to a print stop request from a user, and after a job to be cancelled is selected to perform a cancellation operation, the other jobs are resumed (Japanese Patent Application Laid-Open No. <CIT>). In such an image processing apparatus, all jobs are suspended first. Accordingly, the image processing apparatus is useful when the user urgently needs to stop a job.

In the image processing apparatus described above, however, if a job suspension request is made by the user, all jobs including jobs input by users other than the user who has attempted to cancel the job are suspended. This leads to an issue of a deterioration in the productivity of the entire image processing apparatus.

Document <CIT> discloses an image processing apparatus that performs print processing based on a job and which includes a reception unit configured to receive an operation performed by a user, a change unit configured to, in response to the reception unit receiving a predetermined operation, change a job on which the print processing is not yet completed to a suspended state, and a job control unit configured to, when detecting a logout event that causes a user who is logged into the image processing apparatus to log out of the image processing apparatus, resume at least one job and cancel a job or jobs that are not resumed by the job control unit selected from jobs changed by the change unit to be in the suspended state.

Document <CIT> discloses a job processing apparatus which includes holding means for holding a job subjected to execution, receiving means for receiving a cancellation instruction for canceling execution of the job held in the holding means, and controlling means for performing control in response to reception of the cancellation instruction by the receiving means so that when the job held in the holding means is of a specific type, the job is not canceled and when the job held in the holding means is of a type other than the specific type, the job is canceled.

Document <CIT> discloses an image processing device which includes a job stop section configured to stop a print job during printing when receiving a stop request of the print job. An operating section displays a standby screen on the operating section and accepts a log-in request. A log-in processing section performs log-in processing and, when succeeding in the log-in, retains an input first user ID. A user information collating section collates a second user ID of a print job in a stopped state with the input first user ID. When both the user IDs do not match, a job restart section restarts the print job that is currently stopped.

It is an object to provide an image processing apparatus and a corresponding control method by means of which a deterioration in the productivity of the image processing apparatus is avoided when a suspension instruction is input.

This object is achieved by an information processing apparatus as specified in claim <NUM> and a control method according to claim <NUM>. Advantageous further developments are as set forth in the dependent claims.

Image processing apparatuses according to exemplary embodiments will be described below with reference to the drawings.

First, a first exemplary embodiment will be described. <FIG> is a block diagram illustrating a hardware configuration of an example of an image processing apparatus <NUM> as a job processing apparatus according to the first exemplary embodiment.

Referring to <FIG>, a central processing unit (CPU) <NUM>, a random access memory (RAM) <NUM>, a read-only memory (ROM) <NUM>, an input unit <NUM>, a display control unit <NUM>, external memory interface (I/F) <NUM>, a communication I/F controller <NUM>, a printer I/F <NUM>, and a scanner I/F <NUM> are each connected to a system bus <NUM>. A touch panel <NUM>, hardware keys <NUM>, a display <NUM>, an external memory <NUM>, a printer <NUM>, and a scanner <NUM> are connected to the system bus <NUM> via the respective I/Fs and the like. The units connected to the system bus <NUM> are configured to exchange data with each other through the system bus <NUM>.

The ROM <NUM> is a nonvolatile memory. The ROM <NUM> stores image data, data other than image data, and various programs which are used for the CPU <NUM> to operate in respectively predetermined areas. The RAM <NUM> is a volatile memory and is used as a temporary storage area such as a main memory or a work area for the CPU <NUM>. The CPU <NUM>, for example, controls each member (e.g., unit, component) of the image processing apparatus <NUM> by using the RAM <NUM> as a work memory based on programs stored in the ROM <NUM>. Not limited to storage in ROM <NUM>, the programs used for the CPU <NUM> to operate may be stored in the external memory (such as a hard disk (HD)) <NUM> in advance.

The input unit <NUM> receives a user's operation, generates a control signal according to the operation, and supplies the generated control signal to the CPU <NUM>. The input unit <NUM> serves as an input device that receives the user's operation and is connected to each of the touch panel <NUM> and the hardware keys <NUM>. The touch panel <NUM> is, for example, an input device configured to output coordinate information corresponding to a touched position on the input unit <NUM> having a planer configuration. The touch panel <NUM> may be any of various types of touch panels, such as a resistive type, a capacitive type, a surface acoustic wave type, an infrared type, an electromagnetic induction type, an image recognition type, and an optical sensor type. The hardware keys <NUM> are input devices that can be physically pressed, such as numeric keys, a start key, and a stop key. The input unit <NUM> generates the control signal based on the user's operation performed on the input devices. Based on the control signal, the CPU <NUM> controls each unit of the image processing apparatus <NUM> according to the programs. In such a manner, it is possible to cause the image processing apparatus <NUM> to perform an operation according to the user's operation.

The display control unit <NUM> outputs a display signal for displaying an image on the display <NUM>. For example, a display control signal that is generated by the CPU <NUM> based on a program is supplied to the display control unit <NUM>. The display control unit <NUM> generates the display signal based on the display control signal and outputs the generated display signal to the display <NUM>. For example, the display control unit <NUM> causes the display <NUM> to display a Graphical User Interface (GUI) screen constituting a GUI based on the display control signal generated by the CPU <NUM>.

The touch panel <NUM> is formed integrally with the display <NUM>. For example, the touch panel <NUM> is configured to prevent the transmittance of light from inhibiting the display on the display <NUM>, and is attached to an upper layer of a display surface of the display <NUM>. Input coordinates on the touch panel <NUM> are associated with display coordinates on the display <NUM>. In this manner, a GUI which enables a user to feel that he or she directly operates the screen displayed on the display <NUM> can be configured.

The external memory I/F <NUM> is configured such that, for example, the external memory <NUM>, such as an HD, a floppy disk (FD), a compact disc (CD), a digital versatile disc (DVD), and a memory card, is mountable on the external memory I/F <NUM>. The external memory I/F <NUM> reads data from the mounted external memory <NUM> and writes data into the external memory <NUM> based on the control operation performed by the CPU <NUM>. The communication I/F controller <NUM> performs communication via various types of networks <NUM>, such as a local area network (LAN), the Internet, and wired or wireless networks, based on the control operation performed by the CPU <NUM>. The scanner I/F <NUM> controls an image input from the scanner <NUM>. The printer I/F <NUM> controls an image output to the printer <NUM> serving as an image forming unit.

<FIG> is a block diagram illustrating an example of a configuration of a network system to which the image processing apparatus <NUM> illustrated in <FIG> is connected.

In the example illustrated in <FIG>, a personal computer (PC)(<NUM>) <NUM> and a PC(<NUM>) <NUM> are each connected to the image processing apparatus <NUM> via the network <NUM>. The PC(<NUM>) <NUM> is an authentication server apparatus, and the PC(<NUM>) <NUM> is a terminal used for the user to input a print job. Although <FIG> illustrates an example in which two PCs (i.e., the PC(<NUM>) <NUM> and the PC(<NUM>) <NUM>) are provided, a larger number of PCs may be connected to the network <NUM>.

<FIG> is a block diagram illustrating an example of the hardware configuration of each of the PC(<NUM>) <NUM> and the PC(<NUM>) <NUM> illustrated in <FIG>. Since the PC(<NUM>) <NUM> and the PC(<NUM>) <NUM> have the same hardware configuration, the hardware configuration of the PC(<NUM>) <NUM> will be described below as a representative example.

The PC(<NUM>) <NUM> includes a CPU <NUM>, a memory <NUM>, an auxiliary storage apparatus <NUM>, an input apparatus <NUM>, an output apparatus <NUM>, and a communication interface <NUM>, which are connected to each other via an internal bus <NUM>.

The CPU <NUM> controls the entire PC(<NUM>) <NUM> in an integrated manner. The memory <NUM> includes a RAM and a ROM. The memory <NUM> stores programs and various data. The auxiliary storage apparatus <NUM> is, for example, a large-capacity storage apparatus, such as an HD. The auxiliary storage apparatus <NUM> stores large volume data and holds program executable codes. For example, the auxiliary storage apparatus <NUM> stores data that needs to be held for a longer period of time than data to be stored in the memory <NUM>.

The input apparatus <NUM> is a keyboard, a pointing device, or the like. The user can input various instructions to the PC(<NUM>) <NUM> using the input apparatus <NUM>. The output apparatus <NUM> is a display apparatus, such as a display. Processing executed by the CPU <NUM> is displayed on the output apparatus <NUM>. The communication interface <NUM> transmits and receives digital data via the network <NUM>.

<FIG> is a block diagram illustrating an example of processing functions of the image processing apparatus <NUM> illustrated in <FIG>. The image processing apparatus <NUM> includes, as its functions, a communication processing unit <NUM>, a job processing unit <NUM>, an operation processing unit <NUM>, and an authentication processing unit <NUM>. These processing units are implemented in such a manner that the CPU <NUM> loads programs stored in the ROM <NUM> or the external memory <NUM> into the RAM <NUM> and executes the loaded programs.

The communication processing unit <NUM> executes communication control and analysis of communication commands to be transmitted to or received from the PC(<NUM>) <NUM> or the PC(<NUM>) <NUM>, which are connected to the network <NUM>, via the communication I/F controller <NUM>.

The job processing unit <NUM> executes various job processes to be executed by the image processing apparatus <NUM>. Specifically, the job processing unit <NUM> executes a print job by controlling the printer <NUM>, executes a scanning (reading) job by controlling the scanner <NUM>, and executes a transmission job by controlling the communication I/F controller <NUM>. In addition, the job processing unit <NUM> executes a copy job for scanning a document and printing the scanned document image by controlling the scanner <NUM> and the printer <NUM>. The job processing unit <NUM> also controls processing for stopping or cancelling various jobs described above.

The operation processing unit <NUM> displays various information for the user on the display <NUM> by controlling the display control unit <NUM>. Further, the operation processing unit <NUM> receives an operation instruction, which is input by the user from the hardware keys <NUM> and the touch panel <NUM> via the input unit <NUM>, and executes processing.

Upon receiving a login/log-out request from the user, the authentication processing unit <NUM> communicates with the authentication server (PC(<NUM>) <NUM>) to perform user authentication and executes management processing on the user who uses the image processing apparatus <NUM>.

<FIG> is a block diagram illustrating an example of functions of the PC(<NUM>) <NUM> illustrated in <FIG>.

The PC(<NUM>) <NUM> described above with reference to <FIG> is a user authentication server. The PC(<NUM>) <NUM> includes, as its functions, a user information management unit <NUM> and an operation environment management unit <NUM>.

The user information management unit <NUM> manages information for authenticating the user about whom an inquiry is made via the communication interface <NUM> from the terminal (the other PC(<NUM>) <NUM> or the image processing apparatus <NUM>) connected to the network <NUM>.

<FIG> is a table that schematically illustrates information to be managed by the user information management unit <NUM>. For each user, a user ID <NUM>, a password <NUM>, and an authority <NUM>, which are user identification information, are stored. The authority <NUM> indicates an "administrator" or a "general user". The password <NUM> is desirably stored by obtaining a hash value of the password and encrypting the hash value, instead of storing the password in plain text.

The operation environment management unit <NUM> manages operation environment information for each user managed in the user information management unit <NUM>. In the present exemplary embodiment, the operation environment management unit <NUM> manages, for example, information for customizing an operation screen to be displayed on the display <NUM> for each user, as the operation environment information. The information for customizing the operation screen for each user is, for example, a language used in display of the screen. The operation screen is displayed on the display <NUM> based on the operation environment information managed by the operation environment management unit <NUM> when the user logs in to the image processing apparatus <NUM>. As a result, the operation screen that can be easily used by the user can be provided.

In the present exemplary embodiment, the PC(<NUM>) <NUM> serving as the user authentication server includes the user information management unit <NUM> and the operation environment management unit <NUM>. Alternatively, the image processing apparatus <NUM> may include at least one of the user information management unit <NUM> and the operation environment management unit <NUM>.

In this exemplary embodiment, the user first logs in to the PC(<NUM>) <NUM> to which a job is input. <FIG> illustrates an example of a login screen to be displayed on the output apparatus <NUM> of the PC(<NUM>) <NUM>. Using the input apparatus <NUM>, the user inputs a logged-in user ID into a user name entry field <NUM> and inputs a password into a password entry field <NUM> and then presses a "login" button <NUM>, to thereby make a login request.

After logging in to the PC(<NUM>) <NUM>, the user starts application software, such as a word processor and spreadsheet software, and calls a screen for inputting a print job from the application software.

<FIG> illustrates an example of a screen for inputting a print job to be displayed on the output apparatus <NUM> of the PC(<NUM>) <NUM>. A printer select pulldown menu <NUM> allows the user to select an output destination printer from a printer list that is preliminarily set in the PC(<NUM>) <NUM>. Assume herein that the image processing apparatus <NUM> that is displayed as "printer <NUM>" is selected as an output destination printer. In a preview display area <NUM>, a preview image for a print output is displayed. In a number-of-copies setting area <NUM>, the user can input the number of printing copies using the input apparatus <NUM>. A detail setting button <NUM> is a button for setting details about printing. In the case of setting details about printing, such as processing using a finisher and two-sided printing, the user presses the detail setting button <NUM> via the input apparatus <NUM> and sets details on a screen (not illustrated) to be displayed. By pressing a print start button <NUM>, a print job is transmitted to the printer selected from the printer select pulldown menu <NUM>.

For example, if the user has noticed an error in the transmitted job after the print job is input to the image processing apparatus <NUM> and wishes to cancel the print job, the user first logs in to the image processing apparatus <NUM>. <FIG> illustrates an example of an authentication screen to be displayed on the display <NUM> of the image processing apparatus <NUM>. The user inputs a user ID into a user ID entry field <NUM>, inputs a password into a password entry field <NUM>, and then presses a button <NUM>, to thereby execute login processing.

If the user is not authenticated by the input user ID and password, an error screen for prompting the user to check the user ID and password, for example as illustrated in <FIG>, is displayed. When the user performs a tapping operation on an "OK" button <NUM> on the error screen illustrated in <FIG>, the login screen illustrated in <FIG> is displayed again on the display <NUM>.

If the user is successfully authenticated, a main menu screen illustrated in <FIG> is displayed. The main menu screen is a screen that allows the user to select a function to be used. The description below is given using a case where a user of which the user ID is "user_00" has logged in to the image processing apparatus <NUM>.

Assume that the user has pressed the stop key when the screen illustrated in <FIG> is displayed on the display <NUM>. The print jobs input by the user with the user ID "user_00" are suspended, and a screen illustrated in <FIG> is displayed on the display <NUM>. Then, the image processing apparatus <NUM> starts execution of the other jobs that are not suspended.

Suspending the input print jobs means that the image processing apparatus <NUM> performs control such that the jobs input by the user with the user ID "user_00" are not executed. Specifically, the image processing apparatus <NUM> changes a job status of each job that has been input by the user with the user ID "user_00" and has not been executed yet from "print waiting" to "suspend". With this configuration, it is possible to prevent the execution of jobs that have been input by the user with the user ID "user_00" and not started to be executed yet from being started.

In a print job list <NUM>, a reception time at which the job is received by the image processing apparatus <NUM>, a job name, a user name of a user who has input the job, an execution status, and a waiting time for execution of the job are displayed for each job received by the image processing apparatus <NUM>. The screen illustrated in <FIG> is an example of a screen to be displayed when the user with the user ID "user_00" logs in to the image processing apparatus <NUM> and performs a print job suspension operation. Accordingly, jobs <NUM> and <NUM> input by the user with the user ID "user_00" are in a suspended state. Each row in the print job list <NUM> is selectable, and the selected row is highlighted. In this example, the job <NUM>, which is one of the suspended jobs, is selected and highlighted.

The other jobs that have been instructed to be executed subsequent to the jobs <NUM> and <NUM> are jobs instructed by users different from the user with the user ID "user_00". The jobs are thus not suspended.

A "cancel" button is a button for canceling a job. The user can cancel the selected and highlighted job (job <NUM> in this screen example) by pressing the "cancel" button <NUM>. A "release suspension" button <NUM> is a button for releasing a job. When the user presses the "release suspension" button <NUM>, the CPU <NUM> releases the suspended state of the suspended job (job <NUM> or <NUM> in this screen example), and changes the job status to "print waiting". A "close" button <NUM> is a button for closing the screen.

Although print job list <NUM> displays all jobs in this example, only suspended jobs on which cancellation processing can be performed by the user may be listed.

In such a manner, the user can perform the suspension operation on the print job, which is input from the PC(<NUM>) <NUM>, in the image processing apparatus <NUM>. In this case, a print output operation is continuously performed without suspending the other jobs input by users other than the user with the user ID "user_00", thereby preventing the productivity of the jobs input by the other users from being impaired.

Next, processing for cancelling a print job will be described with reference to <FIG>.

<FIG> is a flowchart illustrating processing to be performed when a print job is input to the image processing apparatus <NUM> from the PC(<NUM>) <NUM> illustrated in <FIG>. In the case where a print job is input to the image processing apparatus <NUM> from the PC(<NUM>) <NUM>, in step S1301, the user inputs user information for identifying the user to the PC(<NUM>) <NUM> via the input apparatus <NUM> and logs in to the user authentication server (PC(<NUM>) <NUM>). Specifically, the information for identifying the user is a user ID and a password that are input on the screen illustrated in <FIG>.

Accordingly, the CPU <NUM> sends the user information to the user authentication server PC(<NUM>) <NUM> via the communication interface <NUM>. Then, in the user authentication server PC(<NUM>) <NUM>, the CPU <NUM> performs user authentication based on the user information, and sends, to the PC(<NUM>) <NUM>, user authentication information indicating whether the user can be authenticated. To input the user information, an authentication apparatus, such as an integrated circuit (IC) card, and a biometric authentication apparatus using fingerprint authentication, vein authentication, and the like can also be used in addition to the method using the input apparatus <NUM>.

In step S1302, the CPU <NUM>, in the PC(<NUM>) <NUM>, confirms whether the user is authenticated by the user authentication server PC(<NUM>) <NUM> based on the user authentication information. If the user is not authenticated (NO in step S1302), the processing proceeds to step S1309. In step S <NUM>, the CPU <NUM> displays information indicating that the user is not authenticated on the output apparatus <NUM>, and then the processing is terminated.

On the other hand, if the user is authenticated (YES in step S1302), the processing proceeds to step S1303. In step S1303, the CPU <NUM> acquires the operation environment information corresponding to the user information from the user authentication server PC(<NUM>) <NUM>. In this case, the operation environment information acquired from the user authentication server PC(<NUM>) <NUM> is, for example, information about a background image on the desktop of a user's PC and is setting information about window and text colors and a font. In step S1304, the CPU <NUM> displays an operation screen (terminal operation display screen) on the output apparatus <NUM> based on the operation environment information. Specifically, the user executes some application on the PC(<NUM>) <NUM>.

Next, in step S1305, the CPU <NUM> monitors whether the execution of the print job is instructed. The execution of the print job is instructed by a predetermined operation on the operation screen. If the execution of the print job is not instructed (NO in step S1305), the processing returns to step S1304 to display the operation screen for the application. Then, the CPU <NUM> continuously monitors whether the execution of the print job is instructed in step S1305.

If the execution of the print job is instructed (YES in step S1305), the processing proceeds to step S1306. In step S1306, the CPU <NUM> provides the print job with the user ID of the user who has executed the job, and the CPU <NUM> inputs the print job to the image processing apparatus <NUM>. The image processing apparatus <NUM> to which the print job has been input executes processing (print job) for printing based on the received print data.

In step S1307, the CPU <NUM> monitors whether a log-out instruction is input from the input apparatus <NUM>. The log-out instruction is input in such a manner that, for example, the user issues the log-out instruction by pressing a "log-out" button <NUM> on the operation screen displayed on the output apparatus <NUM>. If log-out is not instructed (NO in step S1307), the processing returns to step S1304 and the CPU <NUM> continues processing to monitor the log-out processing. On the other hand, if log-out is instructed (YES in step S1307), the processing proceeds to step S1308. In step S1308, the CPU <NUM> performs the log-out processing, and then the CPU <NUM> terminates the series of processes.

Next, the operation of the image processing apparatus <NUM> that has received the print job transmitted from the PC(<NUM>) <NUM> in the processing illustrated in <FIG> will be described. When the print job is transmitted to the image processing apparatus <NUM> from the PC(<NUM>) <NUM> or the like, the CPU <NUM> of the image processing apparatus <NUM> receives the print job via the communication processing unit <NUM> and registers the job in a print job queue owned by the job processing unit <NUM>. Further, the job processing unit <NUM> sequentially reads out jobs from the print job queue and drives the printer <NUM> to execute print processing.

<FIG> is a table schematically illustrating a print job queue. Jobs transmitted from the PC(<NUM>) <NUM> or the like are sequentially input to the print job queue. Each job includes pieces of information including a job ID <NUM>, a job execution user ID <NUM>, a job name <NUM>, a reception date and time <NUM>, and a status <NUM>. The job ID <NUM> is identification information for uniquely identifying a job and is uniquely provided at the time when the job is input to the print job queue. The job execution user ID <NUM> is identification information for uniquely identifying the user who has input the job and is included in data received by the communication processing unit <NUM>. Specifically, the job execution user ID <NUM> is the user ID provided in step S1306 illustrated in <FIG>.

The job name <NUM> is a name given to a job and is included in job data received by the communication processing unit <NUM>. The reception date and time <NUM> is a date and time when the job is input to the print job queue. The status <NUM> indicates the current status of the job. The status <NUM> is one of "being executed", "print waiting", and "being suspended". The status "being executed" indicates a job in which print processing is currently executed. The status "print waiting" indicates a job in a state of waiting for print processing to be executed. The status "being suspended" indicates a job in which print processing is suspended by a user's operation as described below.

The job processing unit <NUM> sequentially reads out jobs in the status of "print waiting" from the print job queue and drives the printer <NUM> to start print processing. At the same time, the job processing unit <NUM> changes the status <NUM> of the job to "being executed". After printing for the job is finished, the job is deleted from the print job queue, and the processing of reading out the subsequent job in the status of "print waiting" and of print processing are repeatedly performed.

Next, authentication processing in the image processing apparatus <NUM> will be described with reference to a flowchart illustrated in <FIG>. The authentication processing in the flowchart illustrated in <FIG> is executed when the CPU <NUM> causes each function unit of the image processing apparatus <NUM> to operate.

In step S1501, the CPU <NUM> determines whether a login request is made. The login screen is displayed on the display <NUM>, and when the user inputs an ID and a password using the hardware keys <NUM> and the touch panel <NUM>, the login request is made. <FIG> illustrates an example of the login screen to be displayed on the display <NUM>. The user inputs the logged-in user ID into the user ID entry field <NUM>, inputs the password into the password entry field <NUM>, and then presses the "login" button <NUM>, to thereby make the login request.

The login request can also be made based on an input from an IC card reader or a biometric authentication apparatus, such as a fingerprint authentication apparatus, which is connected to the image processing apparatus <NUM>. If it is determined that the login request is made (YES in step S1501), the processing proceeds to step S1502. In step S1502, the CPU <NUM> performs network login processing for logging in to the user authentication server PC(<NUM>) <NUM>. Specifically, the CPU <NUM> sends the information about the user ID and password input by the user on the screen illustrated in <FIG> to the user authentication server PC(<NUM>) <NUM> via the communication processing unit <NUM>. The authentication server PC(<NUM>) <NUM> compares the transmitted information with the information (<FIG>) managed by the user information management unit <NUM>, thereby performing authentication processing.

Next, in step S1503, it is confirmed whether the user is authenticated by the user authentication server PC(<NUM>) <NUM>. If the user is authenticated (YES in step S1503), the processing proceeds to step S1504. If the user is not authenticated (NO in step S1503), the processing proceeds to step S1508. In step S1508, the CPU <NUM> displays a screen indicating that the authentication is unsuccessful on the display <NUM>. Then, the processing returns to S1501, and the image processing apparatus <NUM> is brought into a login waiting state.

<FIG> illustrates an example of an authentication failure screen to be displayed on the display <NUM> in step S1508. If the user is authenticated (YES in step S1503), then in step S1504, the CPU <NUM> stores the user ID (logged-in user ID) of the logged-in user in the RAM <NUM>. Next, in step S1505, the CPU <NUM> displays the operation screen of the image processing apparatus <NUM> on the display <NUM>.

<FIG> illustrates an example of the screen to be displayed on the display <NUM> in step S1505. The user can perform various operations on the image processing apparatus <NUM> by operating the displayed operation screen. Next, in step S1506, the CPU <NUM> determines whether a log-out request is made. The log-out request is made when the "log-out" button <NUM> on the operation screen displayed on the display <NUM> is pressed, or when an operation input has not been made by the user for a certain period of time. If it is determined that the log-out request is made (YES in step S1506), the processing proceeds to step S1507. In step S1507, the CPU <NUM> discards the logged-in user ID stored in step S1504 and stores an invalid value (a value indicating that there is no logged-in user). Then, the processing returns to step S1501. By the above-described processing, the CPU <NUM> (authentication processing unit <NUM>) of the image processing apparatus <NUM> can recognize whether there is any user who is currently logged in to the image processing apparatus <NUM>. If there is a user who is currently logged in to the image processing apparatus <NUM>, the CPU <NUM> can constantly recognize the user ID of the logged-in user.

Referring to a flowchart illustrated in <FIG>, print suspension processing in the image processing apparatus <NUM> will be described. The print suspension processing in the flowchart illustrated in <FIG> is implemented in such a manner that the CPU <NUM> executes processing for each function unit of the image processing apparatus <NUM>.

In step S1601, the CPU <NUM> determines whether a job suspension operation is performed by the user. Specifically, the CPU <NUM> determines whether the "stop key", which is one of the hardware keys <NUM>, is pressed. Also, a "stop button" may be provided as a software key on the operation screen displayed on the display <NUM>, and the CPU <NUM> can determine whether the stop button is pressed. If the CPU <NUM> determines that the suspension operation is performed (YES in step S1601), the processing proceeds to step S1602.

In step S1602, the CPU <NUM> acquires the user ID (logged-in user ID) of the user who is currently logged in. The logged-in user ID is the user ID stored in step S1504 in the flowchart illustrated in <FIG>. Next, in step S1603, the CPU <NUM> sequentially reads out job information piece by piece from the print job queue, and then the processing proceeds to step S1604.

In step S1604, the CPU <NUM> determines whether the logged-in user ID matches the job execution user ID <NUM> of the job read from the print job queue. For example, in a case where the user ID (logged-in user ID) of the user who is currently logged in to the image processing apparatus <NUM> is "user_00", the CPU <NUM> determines that the job execution user ID <NUM> of the job in the print job queue matches the logged-in user ID if the job execution user ID <NUM> is "user_00". If it is determined that the job execution user ID <NUM> of the job does not match the user ID "user_00" (NO in step S1604), the processing proceeds to step S1608. If it is determined that the job execution user ID <NUM> of the job matches the user ID "user_00" (YES in step S1604), the processing proceeds to step S1605.

In step S1605, the CPU <NUM> checks the status of the read job and determines whether the status <NUM> indicates "being executed". If it is determined that the status <NUM> does not indicate "being executed" (NO in step S1605), the processing proceeds to step S1607. If it is determined that the status <NUM> indicates "being executed" (YES in step S1605), the processing proceeds to step S1606. In step S1606, the CPU <NUM> stops the print processing for the job. Specifically, the CPU <NUM> performs discharge processing for discharging sheets already fed into the image processing apparatus <NUM> so as to prevent the sheets from remaining in the image processing apparatus <NUM>, and the CPU <NUM> performs control such that a new sheet is fed into the image processing apparatus <NUM>. Then, in step S1607, the status of the read job is changed to "being suspended". More specifically, for a print job for which printing of an image has been already started, the image formation is stopped, and the image instructed in the print job is not to be formed until an instruction to release the suspension is made. For a print job in the print waiting status, for which image formation has not been started, the image processing apparatus <NUM> does not execute the image formation designated in the print job until an instruction to release the suspension is made.

Next, in step S1608, the CPU <NUM> determines whether the processing on all jobs in the print job queue is completed. If it is determined that the print job queue includes an unprocessed job (NO in step S1608), the processing returns to step S1603. In step S1603, the CPU <NUM> reads the next job information from the print job queue. If it is determined that the processing on all jobs is completed (YES in step S1608), the processing proceeds to step S1609. In step S1609, the CPU <NUM> displays a screen for displaying a job list including suspended jobs on the display <NUM>, and then the processing is terminated. After the processing in the flowchart illustrated in <FIG> is completed, the image processing apparatus <NUM> starts execution of jobs with a job status other than the "being suspend" status.

As described above, in the image processing apparatus <NUM> according to the present exemplary embodiment, when the user presses the stop key, the job input by the user is brought into the suspend state, and the job list screen is displayed. The user can select a job that the user wants to cancel from the job list screen and perform a cancellation operation of the selected job. Even in a case where the user's jobs are being suspend, print processing is executed without stopping jobs input by other users, thereby preventing the productivity of the image processing apparatus <NUM> from being impaired.

A second exemplary embodiment will be described below. In the first exemplary embodiment, even if a user presses the stop key in a state where the user is not currently logged in, the print job being executed is not stopped. The second exemplary embodiment differs from the first exemplary embodiment in that a function for suspending all jobs when pressing of the stop key (print suspension operation) is carried out in a state where there is no user who is currently logged in to the image processing apparatus <NUM> is added.

In the second exemplary embodiment, when the stop key is pressed in the state where the user is not currently logged in, all jobs including jobs being executed and print jobs remaining in the print queue are suspended. With this configuration, if there is a need to urgently stop a job, the job can be immediately stopped without the need for performing the login operation, thereby producing an advantageous effect that wasting of sheets can be prevented. In normal times with no urgency, on the other hand, a user can stop only his or her jobs by pressing the stop key after logging in to the image processing apparatus <NUM>, so that no trouble is caused to other users.

Differences between the first exemplary embodiment and the second exemplary embodiment will be mainly described below.

The print suspension processing to be performed by the image processing apparatus <NUM> according to the second exemplary embodiment will be described with reference to a flowchart illustrated in <FIG>. The print suspension processing in the flowchart illustrated in <FIG> is implemented in such a manner that the CPU <NUM> executes processing for each function unit of the image processing apparatus <NUM>.

The processing of steps S1601 to S1603 is identical to the processing of steps S1601 to S1603 illustrated in <FIG>. Specifically, after the suspension operation is performed, processing for acquiring the logged-in user ID and reading job information from the job queue is performed. In step S1701, the CPU <NUM> determines whether the logged-in user ID acquired in step S1602 indicates an invalid value. In this case, the invalid value is a value indicating that there is no user who is currently logged in. The invalid value is stored in step S1507 when the user has logged out.

For example, when the login screen illustrated in <FIG> is displayed on the display <NUM>, no one is logged in to the image processing apparatus <NUM>. When the print suspension operation is performed in this state, the CPU <NUM> determines that the logged-in user ID indicates an invalid value (YES in step S1701). When the determination result in step <NUM> indicates "YES", the determination processing in step S1604 is skipped, and the processing proceeds to step S1605. The processing of subsequent steps S1604 to S1609 are the same as the processing of steps S1604 to S1609 illustrated in <FIG>. Specifically, when the determination result in step S1701 indicates "YES", the determination processing in step S1604 is skipped, so that all jobs are suspended regardless of whether the logged-in user ID matches the job execution user ID.

As described above, in the image processing apparatus <NUM> according to the second exemplary embodiment, when the user wishes to immediately stop a wasteful print output, the user presses the stop key in the state where there is no user who is currently logged in, so that jobs input by all users can be temporarily suspended.

On the other hand, when the user executes a job stopping operation after logging in to the image processing apparatus <NUM>, only the job input by the user is suspended, and print processing is carried out without suspending jobs input by users other than the user, like in the first exemplary embodiment. Consequently, the productivity of the image processing apparatus <NUM> is not impaired.

A third exemplary embodiment will be described below. In the first exemplary embodiment, when the stop key is pressed by any user who is currently logged in, only the job executed by the user is stopped. The third exemplary embodiment differs from the first exemplary embodiment described above in that the job status can be switched by the authority of the user who is currently logged in to the image processing apparatus <NUM> so that jobs input by other users can be also suspended. Next, differences between the first exemplary embodiment and the third exemplary embodiment will be described.

In the third exemplary embodiment, in a case where a user who is currently logged in to the image processing apparatus <NUM> is a general user, only the job executed by the user is stopped. Meanwhile, in a case where the user who is currently logged in to the image processing apparatus <NUM> is an administrator user, all jobs, including jobs being executed and print jobs remaining in the print job queue, are suspended. With this configuration, general users do not inhibit the execution of jobs input by other users, whereas a user having an administrator authority can suspend all jobs, so that it is possible to obtain an advantageous effect that the user can urgently stop a job.

The print suspension processing to be performed by the image processing apparatus <NUM> according to the third exemplary embodiment will be described with reference to a flowchart illustrated in <FIG>. The print suspension processing in the flowchart illustrated in <FIG> is implemented in such a manner that the CPU <NUM> executes processing for each function unit of the image processing apparatus <NUM>.

The processing of steps S1601 to S1603 is identical to the processing of steps S1601 to S1603 illustrated in <FIG>. In step S1801, the CPU <NUM> determines whether the logged-in user ID acquired in step S1602 corresponds to the user ID of an administrator user. To determine whether the logged-in user is a user having an administrator authority, information indicating whether the logged-in user has an administrator authority is obtained when it is checked whether the user is authenticated by the user authentication server PC(<NUM>) <NUM> in step S1503 illustrated in <FIG>, and the obtained information is stored together with the logged-in user ID.

If it is determined that the logged-in user ID corresponds to the user ID of the user having an administrator authority (YES in step S1801), the determination processing in step S1604 is skipped, and the processing proceeds to step S1605. The processing of subsequent steps S1604 to S1609 is the same as the processing of steps S1604 to S1609 illustrated in <FIG>. Specifically, when the determination result in step S1801 indicates "YES", i.e., when the logged-in user is an administrator user, the determination processing in step S1604 is skipped. All jobs thus can be suspended regardless of whether the logged-in user ID matches the job execution user ID.

As described above, in the image processing apparatus <NUM> according to the third exemplary embodiment, when a user having an administrator authority presses the stop key in the state where the user is currently logged in, jobs input by all users can be suspended. On the other hand, when a user having no administrator authority presses the stop key, only the job input by the user is suspended, so that the execution of jobs input by users other than the user is not inhibited, and the productivity of the image processing apparatus <NUM> is not impaired.

The image processing apparatus <NUM> may be configured such that the user can preliminarily set which one of the operations according to the first to third exemplary embodiments to be carried out when the user performs the job suspension operation. Alternatively, the processing may be changed depending on the number of times of executed suspension operation. For example, the image processing apparatus <NUM> may be configured such that, when the stop key is pressed for the first time, only the job input by the user who is currently logged in is suspended, and when the stop key is pressed again, all jobs, including jobs to be performed by users other than the user, are suspended.

While in the exemplary embodiments described above, the operation environment management unit <NUM> stores the operation environment information for each user, the operation environment management unit <NUM> may store the operation environment information about the image processing apparatus <NUM>.

Further, in the exemplary embodiments described above, the user information management unit <NUM> and the operation environment management unit <NUM> are included in an external server such as the user authentication server PC (<NUM>). However, at least one of the user information management unit <NUM> and the operation environment management unit <NUM> may be included in the image processing apparatus <NUM>.

The above-described exemplary embodiments have been described using a case where a print job received from an external information processing apparatus, such as a PC, is stopped. However, processing similar to the processing described above may also be executed with respect to a copy function for scanning a document by the scanner <NUM> and forming an image by the printer <NUM>. For example, when the user logs in to the image processing apparatus <NUM> and presses the stop key, the image processing apparatus <NUM> suspends the print job and the copy job executed by the logged-in user. In this case, the image processing apparatus <NUM> executes print jobs and copy jobs, which are instructed to be executed by users other than the logged-in user, without suspending the jobs. This configuration prevents, when the stop key is pressed, the print jobs and copy jobs input by the users other than the logged-in user from being suspended, and also prevents execution of the jobs input by users other than the logged-in user from being inhibited.

Also, processing similar to the processing described above may also be executed in a case where facsimile transmission or electronic mail (e-mail) transmission for transmitting image data obtained by scanning (reading) a document to an external apparatus is performed. However, in the case of facsimile transmission or e-mail transmission, when the job that has been already started to be executed is suspended, the job cannot be resumed in some cases when an instruction to release the suspension is made. Accordingly, when the stop key is pressed, the image processing apparatus <NUM> performs control such that the job already started to be executed is not suspended or brought into an execution start waiting status.

According to the above-described exemplary embodiments, in the case where a user cancels a job, cancellation of the job of the user who has instructed to stop the job can be easily performed without stopping jobs of other users. Consequently, it is possible to appropriately perform job cancellation processing without deteriorating the productivity of the entire image processing apparatus <NUM>.

Claim 1:
An image processing apparatus (<NUM>) including image forming means for printing an image on a sheet, the image processing apparatus (<NUM>) comprising:
acquisition means (<NUM>) for acquiring user identification information about a user who is currently logged in to the image processing apparatus (<NUM>);
storage means (<NUM>) for storing a job and a job execution user identification of a user who has input the job in association with each other;
control means (<NUM>) for performing control such that one or more jobs using the image forming means are not executed according to a suspension operation performed by the user;
display means for displaying a job list screen displaying jobs stored in the storage means (<NUM>); and
cancellation means (<NUM>) for cancelling a job selected on the job list screen,
wherein the control means (<NUM>) is configured to, when the suspension operation is performed by the user, before performing the control that one or more jobs using the image forming means are not executed, compare the job execution user identification of all jobs stored in the storage means and the user identification information acquired by the acquisition means (<NUM>), to suspend the one or more jobs where the job execution user identification and the user identification information acquired by the acquisition means (<NUM>) match, and to not suspend the one or more jobs where the job execution user identification is different from the user identification information acquired by the acquisition means (<NUM>).