Managing and utilizing error information relating to image processing

Image processing apparatus and method to perform an image processing job based on a received processing request, which includes a processing condition set by a user. Error protection is performed to detect a job setting error caused by a mismatching between the processing condition of the image processing job and a processing capability of the image processing apparatus. Error information relates to a previously detected air that is the job setting error previously detected. Error report conditions indicate whether the previously detected air has a same condition as the processing condition of the image processing job. Error information is managed to store information relating to the currently detected error when the currently detected error satisfies an error storage condition, determine whether the currently detected satisfies the error report condition and generate an error report to notify the user and an administrator when these conditions are satisfied.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is based on and claims priority under 35 U.S.C. §119 to Japanese patent application No. 2006-049047 filed on Feb. 24, 2006, in the Japanese Patent Office, the entire contents of which are hereby incorporated by reference.

FIELD OF THE INVENTION

Example embodiments of the present invention relate generally to an apparatus, method, system, computer program and product, each capable of managing error information relating to an image processing job requested by a user, and utilizing the error information to assist the user in performing the image processing job.

DESCRIPTION OF THE RELATED ART

A recent image processing apparatus is provided with a wide variety of functions that a user may be required to have a high level of knowledge in order to make full use of such a sophisticated apparatus. Further, with the wide spread use of the image processing apparatus, the number of users who do not have a high level of knowledge, such as general users, has increased relative to the number of users who have a high level of knowledge, such as administrators. On the other hand, since the image processing apparatus may be used by a large number of users via a network, such as the Internet, it may be difficult for the administrator to keep track of the activity of each user. With this trend, the user may encounter one or more problems as described below.

First, the general user may not be familiar with how to appropriately set conditions or parameters (“the processing condition”) that are used by the apparatus for processing an image processing job requested by the user For this reason, work or time it requires the general user for requesting the image processing job, including setting the processing condition of the image processing job, may increase. Further, the frequency of errors may increase, which may be caused due to the inappropriate setting of the processing condition.

Second, the general user may not be familiar with how to solve an error when the error relating to the image processing job is detected. For this reason, the time it takes for the error to be solved may increase.

Third, when the number of errors increases or the time for solving the error increases as described above, the user, including the general user and the administrator, may not be able to use the image processing apparatus for longer time.

While the Japanese Patent Application Publication Nos. 2004-280256 and H07-175685 both address the third problem, they fail to address the first and second problems, which are caused by the increased number of users with less knowledge.

SUMMARY

One objective of the present invention is to provide a solution to the first problem that the general user may not be familiar with how to appropriately set the processing condition of an image processing job. Once the first problem is solved, other problems that may be caused by the first problem, including the above-described second and third problems, may not occur.

Another objective of the present invention is to provide a solution to the second problem that the general user may not be familiar with how to solve an error when the error is detected Once the second problem is solved, other problems that may be caused by the second problem, including the above-described third problem, may not occur.

In view of the above-described and other objectives, example embodiments of the present invention include an apparatus, method, system, computer program and products each capable of receiving a processing request for performing an image processing job, which includes a processing condition of the image processing job set by a user, from the user through a user interface; detecting a job setting error caused by mismatching between the processing condition of the image processing job and a processing capability of an image processing apparatus as a currently detected error; and storing error information relating to the currently detected error in an error management table when the currently detected error satisfies an error storage condition.

The error information of the currently detected error includes one or more error information items selected according to an error storage condition For example, the one or more error information items may include user information regarding the user who sends the processing request, job information regarding the image processing job, error time information such as error detected time information or error recovered time information, and/or error type information indicating a type of the currently detected error.

In addition to the currently detected error, the error management table may store error information relating to a previously detected error, which is a job setting error previously detected.

The error storage condition may control the number of previously and currently detected errors that can be retained in the error management table, for example, by setting error retain information and/or error number information.

When the currently detected error does not satisfy the error storage condition, operation previously defined by an error storage operation condition may be performed such as deleting the previously detected error from the error management table.

Any one of the error storage item condition, error storage condition, and error storage operation condition may be input or changed through the user interface

In addition to storing, an error report may be generated for notification to a selected user, such as the user who sends the processing request or an administrator, when the currently detected error satisfies an error report condition. The error report may include one or more error information items selected according to an error report item condition.

The error report condition may control report time at which the error report is generated, for example, by setting report time information and/or error number information. For example, the error report condition may be set such that when a current time value reaches a time value set by the error condition, the error report is generated. The error report may be further sent to the administrator who manages the error management table.

Alternatively, the error report condition may determine whether any previously detected error falls under the same condition of the currently detected error. For example, the error report condition may be set such that the error report is generated when the user information item of the currently detected error matches the user information item of the previously detected error. In such case, the error report may include error information of the previously detected error caused by the user, in addition to the currently detected error. In another example, the error report condition may be set such that the error report is generated when the job information item of the currently detected error matches the job information item of the previously detected error. In another example, the error report condition may be set such that the error report is generated when the error type information item of the currently detected error matches the error type information item of the previously detected error.

Alternatively, the error report condition may determine whether a waiting time, which corresponds to the difference between the time when the error is detected and the time when the error is solved, reaches a predetermined value. When the waiting time reaches the predetermined value, the error report is generated.

In this example, operation performed when the error report condition is satisfied may be changed according to an error report operation condition. Further, any one of the error report item condition, error report condition, and error report operation condition may be input or changed through the user interface.

In addition to generating the error report, help information that assists the user in performing the image processing job may be generated when the processing condition of the processing request satisfies an error help condition.

The other example embodiments of the present invention include an apparatus, method, system, computer program and product, each capable of storing error information of a previously detected error; determining whether to generate an error report comprising the error information of the previously detected error based on whether an error report condition is satisfied; and generating the error report when the error report condition is satisfied.

The other example embodiments of the present invention include an apparatus, method, system, computer program and product, each capable of storing error information of a previously detected error; receiving a processing request for performing an image processing job from a user, which includes a processing condition set by the user; determining whether the processing condition of the processing request satisfies an error help condition; and generating help information to be notified to the user when the processing condition of the processing request satisfies the error help condition.

DETAILED DESCRIPTION OF THE INVENTION

In describing the example embodiments illustrated in the drawings, specific terminology is employed for clarity. However, the disclosure of this patent specification is not intended to be limited to the specific terminology selected and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner. For example, the singular forms “a”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.

Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views,FIG. 1illustrates an image processing apparatus1according to an example embodiment of the present invention. The image processing apparatus1may be connected to a host apparatus3through a local area network (LAN). The host apparatus3may be implemented by a general-purpose computer, which may be provided with a display device and an input device. The image processing apparatus1may be further connected to a network15, such as the Internet. In this example, the image processing apparatus1is implemented by a printer capable of printing data received from the outside or stored in the image processing apparatus1. However, the image processing apparatus1may be implemented, for example, as a copier capable of copying an original, a multifunctional apparatus (MFP) capable of performing one or more functions of scanning, faxing, copying, printing, storing and communicating via a network, or an information management apparatus capable of storing data, as long as it is capable of managing error information relating to an image processing job, as described below. When the image processing apparatus1is implemented by a scanner or MFP, other devices, such as a scanner engine, a scanner device, or a document feeder, may be additionally provided. For the descriptive purpose, in this specification, the image processing apparatus1may be referred to as the printer1.

As illustrated inFIG. 1, the printer1includes a printer controller2, an operation panel4, and a printer engine13.

The printer controller2converts print data, which may be received from the host apparatus3or the network15or obtained from a memory provided in the printer1, to video data according to an operation mode, and outputs the video data to the printer engine13. The operation mode may be set by the printer1using a printer driver. Alternatively, the operation mode may be set according to control data, which may be sent together with print data by a printer driver installed on the host apparatus3or any network apparatus provided on the network15. As illustrated inFIG. 1, the printer controller2includes a host interface (I/F)5, a program read only memory (ROM)6, a font ROM7, a panel I/F8, a central processing unit (CPU)9, a random access memory (RAM)10, a nonvolatile (NV) RAM11, an engine I/F12, a network I/F16, and a hard disk drive (HDD)17, which are connected through a bus.

The CPU9may function as a system controller, which controls various kinds of operation performed by the printer1. In one example, the CPU9may perform an image processing job such as storing data or printing data according to a request for performing the image processing job that is received from a user via any one of the operation panel4, the host apparatus3, and the network15. In another example, the CPU9may monitor the image processing job to make sure that the image processing job is successfully performed, for example, by storing job information relating to the image processing job. In another example, the CPU9may detect an error relating to the image processing job and manage error information relating to the detected error, which may be generated based on the job information.

The CPU9may be provided with one or more memories, each of which may function as, for example, a system memory, a flame memory, a parameter memory, a program memory, or a font memory In this example, the program ROM6, the font ROM7, the RAM10, the NV RAM11, and the HDD17are provided. However, another memory may be optionally provided.

The program ROM6stores various kinds of programs used for processing or managing data or controlling peripheral modules, including, for example, an image processing control program for causing the CPU9to perform an image processing job including a print control program for causing the CPU9to perform a printing job, a job management program for causing the CPU9to monitor one or more image processing jobs performed or to be performed by the printer1and manage job information relating to the monitored jobs, and/or an error management program for causing the CPU9to detect an error relating to the image processing job and manage error information relating to the detected error generated based on the job information. The font ROM7stores various kinds of fonts for printing. The RAM10may function as a work area of the CPU9, a buffer area for storing print data to be printed on one page of document, a buffer area for storing control data, or a bitmap memory for storing video data converted from the print data. The NV RAM11stores various data, for example, various parameters that may be used by the printer1even after the power of the printer1is turned off. The HDD17stores a large amount of data, including, for example, print data to be printed, any kind of program that may be used by the CPU9, or any kind of information managed by the CPU9, such as the job information or the error information.

The CPU9may be additionally provided with one or more interfaces, such as the host IF5, the network I/F16, the panel I/F8, and the engine I/F12. The host I/F5allows the printer controller2to communicate with the host apparatus3, for example, by inputting print data or control data received from the host apparatus3, or outputting status data to the host apparatus3. The host I/F5may be implemented by a Universal Serial Bus (USB). The network I/F16allows the printer controller2to communicate with the network15, for example, by inputting print data or control data received from the network15, or outputting status data to the network15. Alternatively, the function of the network I/F16may be performed, for example, by a network interface controller (NIC) provided in the printer controller2and a network I/F provided outside of the printer controller2. The panel I/F8allows the printer controller2to communicate with the operation panel4, for example, by inputting control data received from the operation panel4, or outputting status data to the operation panel4. The engine I/F12allows the printer controller2to communicate with the printer engine13, for example, outputting control data or video data to the printer engine13, or inputting status data received from the printer engine13. In addition, the CPU9may be provided with a medium interface that allows the printer controller2to read out data from a removable medium or write data onto the removable medium.

The operation panel4has at least one of the functions of outputting status data received from the printer controller2to the user, and inputting control data to the printer controller2received from the user. For example, the operation panel4may include a display device, such as a liquid crystal display (LCD), capable of displaying various information to a user received from the printer controller2, which includes an error report or help information as described below. Alternatively, the operation panel4may include any desired notifying device, for example, including a buzzer or a speaker. The operation panel4may further include an input device capable of inputting various information from the user, for example, information relating to the processing condition set by the user. The input device may be implemented by, for example, any number of keys, a keyboard, a ten key, a switch, a pointing device, or a microphone. Alternatively, the operation panel4may be implemented by a touch panel, which provides the functions of displaying and inputting.

The printer engine13performs printing operation under control of the printer controller2. For example, the printer controller2causes the printer engine13to form a toner image as described below, according to the print control program stored in the program ROM6.

First, the CPU9obtains a printing request for printing print data, which includes print data and control data, from the host apparatus3through the host I/F5. The host apparatus3generates the printing request upon receiving a request for performing a printing job from a user, using the printer driver installed on the host apparatus3. In this example, the print data corresponds to data to be printed, which is specified by the user. The control data may include a processing condition, such as a processing condition indicating various printing settings. The CPU9analyzes the received job by loading the print control program from the program ROM6onto the RAM10, extracts the print data and the control data, and stores the print data and the control data in the RAM10for further processing. Second, the CPU9converts the print data to video data according to the control data. For example, when a character code is extracted, the CPU9analyzes the character code, converts the character code into an intermediate code including information regarding the print position, print size, character code, font, etc., and performs processing based on the intermediate code to expand the received data onto the RAM10. The expanded data, which may correspond to one page of document, may be converted to the video data. Third, the printer controller2instructs the printer engine13to for a toner image according to the video data through the engine I/F12, and sends the video data to the printer engine13.

Alternatively, the printer controller2may perform any other kind of image processing job using any desired device provided in the printer1. For example, the printer controller2may cause the HDD17to perform a storing job, which is to store data received from any one of the host apparatus3and the network15.

In addition to performing an image processing job such as a printing job or a storing job described above, the printer controller2may monitor an image processing job requested by a user to check whether the image processing job is successfully performed, according to the job management program stored in the program ROM6. For example, the printer controller2may store job information relating to the image processing job performed by the printer1. Additionally, the printer controller2may detect an error relating to the image processing job, and store error information relating to the detected error, according to the error management program stored in the program ROM6. As described below, the printer controller2may further generate an error report or help information using any kind of information obtainable from the error information.

The function of detecting an error relating to an image processing job and managing error information of the detected error may be performed by one or more modules illustrated inFIG. 2.

Referring now toFIG. 2, the printer controller2may include a user interface (UI) manager101, a job manager102including an error detector103and an error information manager104, and a printer engine manager106.

The UI manager101receives a request for performing an image processing job from the user via a user interface. In this example, the user interface may correspond to any one of the host apparatus3, operation panel4, and network15shown inFIG. 1. However, the user interface may be implemented by any desired device or apparatus having the function of inputting a request for performing an image processing job received from a user and/or the function of notifying the user of error information or help information received from the printer controller2of the printer1. In this example, the request for performing the image processing job includes a processing condition set by the user, data to be processed, etc.

The printer engine manager106sends a request for performing a printing job to the printer engine13shown inFIG. 1.

The job manager102monitors one or more image processing jobs performed by the printer1or to be performed by the printer1.

The error detector103detects an error relating to the image processing job. In one example, the error detector103detects a job setting error caused by mismatching between the processing condition obtained from the processing request and the processing capability of the printer1. The processing capability of the printer1may correspond to a processing condition set by default specifically for the printer1or a processing condition available to the printer1. For example, when a sheet size set by the user differs from the default sheet size of the printer1, the error detector103detects a job setting error attributable to mismatching of the sheet size (“sheet size error”). Alternatively, when a memory size set by the user, such as the memory size of the data to be processed, differs from the default or available memory size of the printer1, the error detector103detects a job setting error attributable to mismatching of the memory size (“memory full error”).

In another example, the error detector103detects an image forming error when it is notified that the error is detected during an image forming operation, for example, by the printer engine13through the printer engine manager106. For example, when the paper jam is detected by a sheet transfer device of the printer engine13, the printer controller2is notified by the printer engine13that an image forming error attributable to the paper jam (“paper jam error”) is generated. For the descriptive purpose, in this specification, the job setting error and the image forming error may be collectively referred to as the error relating to the image processing job.

The error information manager104manages error information relating to the error detected by the error detector103. In this example, the error information may be stored in an error management table105, which may be stored in any desired memory, such as the HDD17ofFIG. 1. As described below, the error information manager104may perform various functions including storing error information, analyzing error information, generating an error report using error information, generating help information using error information, reporting the error report, reporting the help information, etc.

For example, the error information manager104may store one or more error information items, which are selected from the items listed in the table ofFIG. 3, in the error management table105.

In this example, the error information items may include user information regarding a user who requests an image processing job in which the error is detected, such as the “USER NAME” item shown inFIG. 3. The “USER NAME” item corresponds to user identification information regarding a user who requests an image processing job in which the error is detected, such as the IP address of the host apparatus3, the registered user name provided by the user at the time of logging in to the system, the email address of the user, etc.

The error information items may further include job information regarding the image processing job in which the error is detected, such as the “JOB NAME” item, “JOB CONDITION” item, “REQUEST SENT TIME” item, “REQUEST RECEIVED TIME” item, and/or “JOB START TIME” item. The “JOB NAME” item corresponds to job identification information regarding the image processing job in which the error is detected, such as the name of data to be processed that may be obtained from the image processing request. The “JOB CONDITION” item corresponds to job condition information regarding the image processing job in which the error is detected, such as the processing condition obtainable from the image processing request. The “REQUEST SENT TIME” item corresponds to time information indicating the date or time when the image processing request is sent from the user. The “REQUEST RECEIVED TIME” item corresponds to time information indicating the date or time when the image processing request is received by the printer1. The “JOB START TIME” item corresponds to time information indicating the date or time when the printer1starts processing the image processing job according to the image processing request.

The error information items may further include error time information, such as the “ERROR DETECTED TIME” item and/or “ERROR RECOVERED TIME” item. The “ERROR DETECTED TIME” item corresponds to time information indicating the date or time when the printer1detects the error relating to the image processing job. The “ERROR RECOVERED TIME” item corresponds to time information indicating e date or time when the detected error is solved.

The error information items may further include error type information, such as the “ERROR TYPE” item that corresponds to error type information indicating the type of the detected error.

In addition to the items shown inFIG. 3, waiting time information obtained as the time difference between the “ERROR DETECTED TIME” item and the “ERROR RECOVERED TIME” item may be stored.

In this example, the error information items may be selected according to an error storage item condition previously set by the user. Referring toFIG. 3, the selected error information item is indicated by the “Y” value, while the non-selected error information item is indicated by the “N” value. Using the error storage item condition, the user may select the error information items according to the type of information that the user desires to obtain. For example, when an administrator desires to be informed about a user who repeatedly causes the same type of error, one or more error information items including at least the user information and the error type information may be selected. In another example, when an administrator desires to be informed about a user who needs a longer time to solve the error, one or more error information items including at least the user information and the error time information may be selected. Alternatively, the printer1may be additionally provided with a table storing the correspondence between a set of error information items to be selected and a type of information that can be derived from the set of error information items. The printer1may allow the user to select one of the information types, and select the corresponding set of error information items. By allowing the user to set the error storage item condition, the memory space of the printer1may be saved or the processing speed of the printer1may increase.

Further, in this example, the error information manager104may control the number of errors stored in e error management table105by setting an error storage condition. As described below referring toFIG. 5, the error storage condition is used to determine whether to store the selected error information items of the detected error. When it is determined that the detected error satisfies the error storage condition, the error information manager104stores the selected error information items of the detected error in the error management table105. When it is determined that the detected error does not satisfy the error storage condition, the error information manager104stores no error information, and/or performs operation previously determined by an error storage operation condition. Such previously determined operation may include deleting the error information items of a previously detected error. In this example, the error information manager104may determine whether the detected error satisfies the error storage condition every time the error is detected or at predetermined time. In this manner, the memory space of the printer1may be saved or the processing speed of the printer1may increase.

In another example, the error information manager104may generate an error report using error information of one or more previously detected errors, when an error report condition is satisfied. In one example, as described below referring toFIG. 11A, the error report condition may be used to specify the report time at which the error report should be sent to the selected user. For example, the error report condition may be set such that the printer1periodically sends the error report to the administrator. Accordingly, error information may be easily managed. In another example, as described below referring toFIG. 5, the error report condition may be used to identify one or more previously detected errors to be reported, which falls under the same condition set by the processing condition of the processing request. For example, the error report condition may be set such that the error report lists previously detected errors caused by a specific user. Accordingly, the administrator may be well informed of the user who needs further assistance. In another example, the error report condition may be used to notify the administrator when the printer1is not recovered from the error for a long time period, by controlling the value of the waiting time information. In this example, the error information manager104may determine whether the detected error satisfies the error report condition every time the error is detected or at predetermined time.

The error report may be further sent to a selected user, which is previously determined according to an error report operation condition In this example, the error report may be generated according to an error report item condition, which determines one or more error information items to be included in the error report. The error report item condition may be made equal to the error storage item condition. Further, the error report may be generated in any desired format. In this manner, the way of managing error information may be adjusted according to various settings, for example, according to the user environment or the user need.

In another example, the error information manager104may generate help information using error information of one or more previously detected errors, when an error help condition is satisfied. In this example, the help information may be generated, which assists the user in performing the image processing job. The help information may be generated in any desired format. For example, the help information may be displayed as a check list that assists the user in performing the image processing job that the user just requested. In one example, the help information may be sent to the user requesting the image processing job, before an error relating to the image processing job is detected. In another example, the help information may be sent to the user who requests the image processing job in which an error is detected, after the error is detected. By providing help information to the user, the user may be prevented from causing the same type of error, thus reducing the frequency of errors that may be caused by the user with little knowledge.

Referring now toFIG. 4, operation of storing error information and/or sending an error report is explained according to an example embodiment of the present invention. The operation ofFIG. 4may be performed by the CPU9of the printer controller2when an error relating to an image processing job is detected after receiving a request for performing the image processing job from a user In such case, the CPU9may load the corresponding error management program from the program ROM6onto the RAM10, and performs the operation ofFIG. 4. Further, in this example, it is assumed that the error management table105stores error information for one or more errors previously detected.

S101determines whether the currently detected error satisfies an error storage condition. As described below, the error storage condition may be used to restrict the number of errors stored in the error management table105. When it is determined that the currently detected error satisfies the error storage condition (“YES” at S101), the operation proceeds to S103. Otherwise (“NO” at S101), the operation proceeds to S102.

In this example, as illustrated inFIG. 5, the error storage condition may specify the error retain time, which indicates a time period in which error information of the detected error is retained in the error management table105. Referring toFIG. 5, the error retain time is set to one month such that the detected error is retained in the error management table105for the maximum of one month. For example, in order to keep the error retain time within one month, the CPU9may delete all errors stored in the error management table105at the end of each month. Alternatively or additionally, as illustrated inFIG. 5, the error storage condition may specify the maximum number of detected errors (“the maximum error number”) stored in the error management table105. In this example shown inFIG. 5, the maximum error number is set to 10.

S102deletes error information of one or more previously detected errors from the error management table105, and the operation returns to S101. In this example, the error to be deleted may be previously set. In one example, the error to be deleted may be set to the error having the “JOB START TIME” item or “ERROR DETECTED TIME” item with the earliest date or time. In another example, the error to be deleted may be set to the error generated by the user who has caused the largest number of errors, which is obtainable by analyzing the “USER NAME” item stored in the error management table105. In another example, the error to be deleted may be set to all errors currently stored in the error management table105.

Further, at S102, the CPU9may identify the user who has caused the error that has been deleted, and send notification to the identified user that the error is deleted from the error management table105via the user interface. Alternatively or additionally, the CPU9may send an error report including error information of the error that has been deleted to the identified user. Alternatively or additionally, the CPU9may send notification and/or the error report to the administrator.

When the currently detected error satisfies the error storage condition at S101, S103stores error information obtained for the currently detected error in the error management table105. As described above referring toFIGS. 2 and 3, the error information includes one or more error information items selected according to an error report item condition.

S104determines whether the currently detected error satisfies an error report condition. As described below, the error report condition may be used to identify one or more errors that fall under the same condition set by the processing condition of the image processing job requested by the user. When it is determined that the currently detected error satisfies the error report condition (“YES” at S104), the operation proceeds to S106. Otherwise (“NO” at S104), the operation proceeds to S105.

In this example, as illustrated inFIG. 5, the error report condition may specify the values of one or more error information items stored in the error management table105. Referring toFIG. 5, the “USER NAME” item is set to all users. The “JOB CONDITION” item is set to the condition in which at least two of the parameters including double-sided, condensed, recycle paper type, and A3 sheet size are selected by the user. The “JOB START TIME” item is set to any time between 13:00 and 18:30. The “ERROR DETECTED TIME” item is set to any time between 13:00 and 18:30. The “ERROR TYPE” item is set to at least one of the sheet size error and the fall memory error. The values of other items are not specified in this example.

When the currently detected error does not fall under the condition specified by the error report condition described above referring toFIG. 5, S105sends no report and the operation ends.

When the currently detected error falls under the condition specified by the error report condition described above referring toFIG. 5, S106generates an error report using error information that corresponds to the user who has sent the request, sends the error report to a selected user such as the user who has sent the request and/or the administrators and the operation ends. The currently detected error may be deleted from the error management table105after sending the error report to the selected user.

The error report may include one or more error information items stored in the error management table105, which may be selected according to an error report item condition. In this example, all error information items stored in the error management table105are included in the error report.

Further, the error information items may be edited before they are reported in the form of error report. For example, any kind of time information, such as the “JOB START TIME” item or the “ERROR DETECTED NAME” item, may be displayed differently depending on the location of the printer1or the location of the user. The month may be expressed in the numerical form or language form that may be abbreviated. The time may be expressed in the numerical form with or without A.M. and P.M. The day of week may be expressed in the language form, which may be abbreviated. The separator, which separates the month, time, and/or day for better appearance, may be expressed as space, period, slash, etc. In this example, the printer1may be provided with a time format table, which stores the recommended time format in a corresponding manner with the location to which the printer1is shipped, for example, as illustrated inFIG. 18.

Further, the order of listing detected errors may be changed according to the user preference. In one example, in order to obtain information regarding the user who is most likely to cause an error, the detected errors may be sorted by the “USER NAME” item. In another example, in order to obtain information regarding the type of job that is most likely to end up in error, the detected errors may be sorted by the “JOB NAME” item, “JOB CONDITION” item, or “ERROR TYPE” item. In another example, in order to obtain information regarding a time interval in which the error is most likely to be detected, the detected errors may be sorted by the “REQUEST SENT TIME” item or “ERROR DETECTED TIME” item.

In addition to generating the error report at S106, the CPU9may generate help information based on the error information items of previously detected errors, and send the help information to a selected user.

The operation ofFIG. 4may be performed in various other ways. In one example, at S102, the error to be deleted may be set to the error having the “ERROR DETECTED TIME” item with the latest date or time. In such case, the operation ends without storing the currently detected error. In another example, the operation performed at S102when the currently detected error does not satisfy the error storage condition, and/or the operation performed at S103when the currently detected error satisfies the error storage condition, may not be limited to the above-described example. As illustrated inFIG. 6, an error storage operation condition, which describes the operation performed when the error storage condition is not satisfied and/or the operation performed when the error storage condition is satisfied, may be stored in a manner manageable by the CPU9. For example, by changing the values in the table shown inFIG. 6, S102or S103may be performed in different ways. In another example, the operation ofFIG. 4may be performed at predetermined time other than the time when an image processing request is received, such as the time when the printer1is turned on.

Referring now toFIGS. 7A to 9, example cases in which the operation ofFIG. 4is performed are explained The example case illustrated inFIGS. 7A and 7Bis the case in which the error storage condition and the error report condition are satisfied. The example case illustrated inFIGS. 8A and 8Bis the case in which the error storage condition is not satisfied. The example case illustrated inFIGS. 7A and 9is the case in which the error storage condition is satisfied but the error report condition is not satisfied.

In the example case illustrated inFIGS. 7A and 7B, the operation ofFIG. 4is performed by the CPU9when a user F sends a request for printing a file named “final exam” to the printer1. At this time, the error management table105, which may be stored in the HDD17(FIG. 1), stores five previously detected errors (FIG. 7A). Further, it is assumed that the processing condition included in the request does not match the processing capability of the printer1, thus the sheet size error is detected. Specifically, in this example, error information items of the detected error include, the “USER NAME” item set to “F”; the “JOB NAME” item set to “final exam”; the “JOB CONDITION” item set to the condition in which the single-sided, non-condensed, recycle paper type, and A3 sheet size are selected; the “JOB START TIME” item set to 7/25/2005 13:10:23; and the “ERROR DETECTED TIME” item set to 7/25/2005 13:15:03.

Referring toFIG. 4, S101determines whether the currently detected error satisfies the error storage condition described above referring toFIG. 5. In order to determine whether the error retain time is within one month, the CPU9may determine whether the date specified by the “JOB START TIME” item corresponds to the last date of the month. Since the “JOB START TIME” tem is set to 7/25/2005, which is not the last date of the month, the CPU9determines that error storage condition is satisfied. Further, the CPU9may determine whether the number of previously detected errors reaches the maximum error number of 10. Since the number of detected errors is 5, which is less than the maximum error number of 10, the CPU9determines that the error storage condition is satisfied. Since the currently detected error satisfies the error storage condition, the operation proceeds to S103to store error information relating to the currently detected error.

S104determines whether the currently detected error satisfies the error report condition described above referring toFIG. 5, by comparing the value of each item of error information obtained for the currently detected error with the value of each item of error information determined by the error report condition. Since the currently detected error satisfies the error report condition, the operation proceeds to S106to generate an error report and send the report to the user F and/or the administrator

In this example, the error report includes the error information items obtained for the previously detected errors caused by the user F, such as the detected error having the index number of 3 and the detected error having the index number 5, together with the error information items obtained for the currently detected error caused by the user F.

After sending the error report to the user F, the detected errors included in the 10 error report e.g., the detected errors having the index numbers 3 and 5 and the currently detected error, are deleted from the error management table105. Accordingly, the error management table105may be updated as illustrated inFIG. 7Bafter performing the operation ofFIG. 4.

In the example case illustrated inFIGS. 8A and 8B, the operation ofFIG. 4is performed by the CPU9when a user B sends a request for printing a file named “Hooke's law” to the printer1. At this time, the error management table105, which may be stored in the HDD17(FIG. 1), stores ten previously detected errors (FIG. 8A). Further, it is assumed that the processing condition included in the request does not match the processing capability of the printer1, thus the sheet size error is detected. Specifically, in this example, error information items of the currently detected error include: the “USER NAME” item set to “B”, the “JOB NAME” item set to “Hooke's law”, the “JOB CONDITION” item set to the condition in which the single-sided, non-condensed, recycle paper type, and A3 sheet size are selected; the “JOB START TIME” item set to 7/25/2005 13:10:23; and the “ERROR DETECTED TIME” item set to 7/25/2005 13:15:03.

Referring toFIG. 4, S101determines whether the currently detected error satisfies the error storage condition described above referring toFIG. 5. In order to determine whether the error retain time is within one month, the CPU9may determine whether the date specified by the “JOB START TIME” item corresponds to the last date of the month. Since the “JOB START TIME” tern is set to 7/25/2005, which is not the last date of the month, the CPU9determines that the error storage condition is satisfied. Further, the CPU9may determine whether the number of previously detected errors reaches the maximum error number of 10. Since the number of detected errors is 10, which is equal to the maximum error number, the CPU9determines the currently detected error does not satisfy the error storage condition, and the operation proceeds to S102.

S102deletes one or more previously detected errors from the error management table105. In this example, the detected error to be deleted is set to the detected error having the “JOB START TIME” item with the earliest date or tie. Referring toFIG. 7A, it is determined that the detected error having the index number of 1, which is caused by the user A, is deleted from the error management table105. Further, in his example, the CPU9may identify one or more detected errors, which are caused by the user “A”. Since the detected error having the index number of 3 is caused by the user “A”, it is determined that the detected error having the index number of 3 is also deleted from the error management table105. At this time, the CPU9may generate an error report including error information of the detected errors caused by the user A, such as the detected errors with the index numbers 1 and 3, respectively. The error report may be sent to the user A and/or the administrator Accordingly, the error management table105is updated as illustrated inFIG. 8Bafter performing the operation ofFIG. 4.

In the example case illustrated inFIG. 7A and 9, the operation ofFIG. 4is performed by the CPU9when the user F sends a request for printing file named “final exam” to the printer1. At this time, the error management table105, which may be stored in the HDD17(FIG. 1), stores five previously detected errors (FIG. 7A) Further, it is assumed that the processing condition included in the request does not match the processing capability of the printer1, thus the sheet size error is detected. Specifically, in this example, error information items of the currently detected error include the “USER NAME” item set to “F”; the “JOB NAME” item set to “final exam”; the “JOB CONDITION” item set to the condition in which the single-sided, non-condensed, recycle paper type, and A3 sheet size are selected; the “JOB START TIME” item set to 7/25/2005 19:50:11; and the “ERROR DETECTED TIME” item set to 7/25/2005 19:51:53

Referring toFIG. 4, S101determines whether the currently detected error satisfies the error storage condition described above referring toFIG. 5. In order to determine whether the error retain time is within one month, the CPU9may determine whether the date specified by the “JOB START TIME” item corresponds to the last date of the month. Since the “JOB START TIME” tem is set to 7/25/2005, which is not the last date of the month, the CPU9determines that the error storage condition is satisfied. Further, the CPU9may determine whether the number of previously detected errors reaches the maximum error number of 10. Since the number of detected errors is 5, which is less than the maximum error number of 10, the CPU9determines that the error storage condition is satisfied. Since the currently detected error satisfies the error storage condition, the operation proceeds to S103to store error information relating to the currently detected error.

S104determines whether the currently detected error satisfies an error report condition described above referring toFIG. 5, by comparing the value of each item of error information obtained for the currently detected error with the value of each item of error information determined by the error report condition. Since the currently detected error does not satisfy the error report condition, the operation proceeds to S105to end without generating or sending any error report. The error management table105may be updated as illustrated inFIG. 9after performing the operation ofFIG. 4.

Referring now toFIG. 10, operation of sending an error report at predetermiend time is explained according to an example embodiment of the present invention. In addition to the time when an error is detected, the CPU9may load the error management program from the program ROM6onto the RAM10at predetermined time to periodically notify the user of previously detected errors. For example, the operation ofFIG. 10may be performed when a time period counted by a timer reaches a predetermined time period. In this example, it is assumed that the error management table105stores error information for one or more previously detected errors.

S201determines whether any one of the previously detected errors satisfies an error report condition. When it is determined that any one of the previously detected errors satisfies the error report condition (“YES” at S201), the operation proceeds to S203. Otherwise (“NO” at S201), the operation proceeds to S202to end without sending any error report.

In this example, the error report condition may be used to determine the time at which the printer1sends an error report to the user. For example, as illustrated in FIG.11A, the error report condition may specify the report time, which indicates the date and/or time at which the error report is generated and sent to a selected user. Referring toFIG. 11A, the error report time is set to the end of each month, 23:59:595 Alternatively or additionally, as illustrated inFIG. 11A, the error report condition may specify Me maximum number of detected errors (“the maximum error number”) stored in the error management table105. In this example, the maximum error number is set to 8.

When any one of the previously detected errors satisfies the error report condition, S203generates an error report, sends the error report to a selected user, and the operation ends. In this example, the error report includes the error information items obtained for all previously detected errors. Further, the selected user corresponds to the administrator. At S203, after sending the error report, the CPU9may delete all previously detected errors from the error management table105.

Further, as described above referring toFIG. 4, the error information items may be edited before they are reported in the form of error report. Further, the order of listing detected errors may be changed according to the user preference.

The operation ofFIG. 10may be performed in various other ways. In one example, when any one of the previously detected errors does not satisfy the error report condition at S201, the operation may proceed to S202, and return to S201. In this manner, the CPU9constantly monitors error information stored in the error management table105. In another example, when any one of the previously detected errors does not satisfy the error report condition at S201, the operation may proceed to S202, and return to S201only when the number of determining is below a predetermined number. Accordingly, the CPU9monitors error information stored in the error management table105for a predetermined time period even when none of the detected errors satisfies the error report condition. In another example, the operation performed at S202when any one of the previously detected errors does not satisfy the error report condition, and/or the operation performed at S203when any one of the previously detected errors satisfies the error report condition, may not be limited to the above-describe example. As illustrated inFIG. 11B, an error report operation condition, which describes the operation performed when the error report condition is not satisfied and/or the operation performed when the error report condition is satisfied, may be stored in a manner manageable by the CPU9. For example, by changing the values in the table shown inFIG. 11B, S202or S203may be performed in different ways.

Referring now toFIGS. 7A and 12, an example case in which the operation ofFIG. 10is performed is explained. In this example, it is assumed that the error management table105stores five previously detected errors as illustrated inFIG. 7A. Further, it is assumed that the time in which the operation ofFIG. 10is performed is 7/31/2005, 23:50:00.

Referring toFIG. 10, S201determines whether any one of tie previously detected errors satisfies the error report condition described above referring toFIG. 11A. Since the current time is different from the error report time (FIG. 11A) and the number of detected errors, which is five, does not reach the maximum error number of eight, the operation ofFIG. 10ends without generating or sending an error report.

When the current time reaches the error report time, which is 23:59:59, S201ofFIG. 10determines that the error report condition is satisfied, and the operation proceeds to S203to generate an error report. For example, in order to obtain information regarding the user who is most likely to cause an error, the detected errors may be sorted by the “USER NAME” item. The sorted detected errors are then listed in the order from the detected error caused by the user who has caused the largest number of errors, as illustrated inFIG. 12.

Referring now toFIG. 13operation of sending an error report and/or help information when a processing request is received is explained according to an example embodiment of the present invention. The operation ofFIG. 13may be performed by the CPU9of the printer controller2when a request for performing an image processing job is received from a user. In such case, the CPU9may load the error management program from the program ROM6onto the RAM10, and performs the operation ofFIG. 10.

S301determines whether the processing condition included in the image processing request satisfies an error help condition. In this example, the error help condition may be used to identify one or more previously detected errors that fall under the same processing condition of the image processing request. When it is determined that the processing condition satisfies the error help condition (“YES” at S301), the operation proceeds to S303, Otherwise (“NO” at S301), the operation proceeds to S302.

In this example, as illustrated inFIG. 14, the error help condition may specify the values of one or more items of error information stored in the error management table105. Referring to FIG;14, the “USER NAME” item is set to users A and B. The “JOB CONDITION” item is set to the condition in which at least two of the parameters including double-sided, condensed, recycle paper type, A3 sheet size, and staple are selected by the user. The “JOB START TIME” item is set to any time between 13:00 and 18:30. The “ERROR DETECTED TIME” item is set to any time between 13:00 and 18:30. The “ERROR RECOVERED TIME” item is set to any time between 9:00 and 12:00. The “ERROR TYPE” item is set to at least one of the sheet size error, the full memory error, and the jam error. The values of other items are not specified in this example.

When the processing condition of the image processing request does not fall under the condition specified by the error help condition described above referring toFIG. 14, S302sends no report nor help information, and the operation ends.

When the processing condition of the image processing request falls under the condition specified by the error help condition described above referring toFIG. 14, S303generates an error report and help information, sends the error report and the help information to a selected user, and the operation ends.

In this example, the error report may be generated according to an error report item condition, which may be previously set according to the user preference. Further, the help information may be generated in various ways, for example, as a pop-up window, a warning message, etc.

The operation ofFIG. 13may be performed in various other ways. In one example, the operation performed at S302when the processing condition does not satisfy the error help condition, and/or the operation performed at S303when the processing condition satisfies the error help condition, may not be limited to the above-described example. As illustrated inFIG. 15, information regarding the operation performed when the error help condition is not satisfied and/or the operation performed when the error help condition is satisfied may be stored in a manner manageable by the CPU9. For example, by changing the values in the table shown inFIG. 15, S302or S303may be performed in different ways.

Referring now toFIGS. 8A and 16, an example case in which the operation ofFIG. 13is performed is explained. In the example case illustrated inFIGS. 8A and 16, the operation ofFIG. 13is performed by the CPU9when a user A sends a request for printing a file named “day trip” to the printer1. At this time, the error management table105, which may be stored in the HDD17(FIG. 1), stores ten previously detected errors (FIG. 8A). Further, the processing condition of the image processing request is set by the user A as follows. The “USER NAME” item is set to the user “A”. The “JOB NAME” item is set to “day trip”. The “JOB CONDITION” item is set to the condition in which the single-sided, non-condensed, normal paper type, A4 sheet size, stapled, and Z folded are selected. Further, the “JOB START TIME” item is 7/25/2005 10:05:22.

Referring toFIG. 13, S301determines whether the processing condition of the request satisfies the error help condition described above referring toFIG. 14. Since the processing condition satisfies the error help condition, the operation proceeds to S303to generate an error report and help information.

As illustrated inFIG. 16, the error report includes error information of previously detected errors, which are caused by the user A, obtained from the table shownFIG. 8A. The error report shown inFIG. 16indicates that the sheet size error may be generated, thus warning the user A to check the processing condition relating to the sheet size.

As illustrated inFIG. 17, the help information may be displayed to the user A, which includes a list of items to be checked in order to prevent one or more types of error. Since the processing condition of the request falls under the same condition when the sheet size error is detected, the check item that recommends the user to check the processing condition relating to the sheet size is marked. In this manner, the user A may be prevented from causing the sheet size error.

Numerous additional modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure of this patent specification may be practiced in ways other than those specifically described herein.

Further, error information, or any information used for managing error information including an error storage item condition, error storage condition, error storage operation condition, error report item condition, error report condition, error report operation condition, and error help condition, may be stored in any desired memory with any desired format, as long as the user is able to change the value of such information according to various settings. For example, any one of the above-described information may be stored in one or more tables. In another example, any of the above-described information may be stored as flag information. Further, any one of the above-described information may be previously determined in a corresponding manner with various types of information that the user may desire to obtain. Further, in order to allow the user to set or change any one of the above-described information, the printer1may determine whether the user is an authorized user.

Further, as described above, any one of the above-described and other methods of the present invention may be embodied in the form of a computer program stored in any kind of storage medium. Examples of storage mediums include, but are not limited to, flexible disk, hard disk, optical discs, magneto-optical discs, magnetic tapes, involatile memory cards, ROM (read-only-memory), etc.

Alternatively, any one of the above-described and other methods of the present invention may be implemented by ASIC, prepared by interconnecting an appropriate network of conventional component circuits or by a combination thereof with one or more conventional general purpose microprocessors and/or signal processors programmed accordingly.