Printer control device and method to control printers in network to which multiple printers are connected, and computer program product to perform said control

In a network system which includes multiple printers, when a problem is detected in any one of the printers performing a print, another normally functioning printer is selected to substitute for the printer in which the problem is detected. In order to ensure that quality of the images printed by the selected substitute printer is the same as that of the images printed by the printer in which the problem is detected, the print data is corrected and is outputted to the selected substitute printer.

This application is based on application No. 11-165557 filed in Japan, the contents of which is hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention pertains to a printer control device and method to control printers in a network to which multiple printers are connected, and a computer program product to perform this control, and more particularly, to a printer control device and method by which, where printing is continued using a substitute printer to substitute for a printer that has failed, the same image quality, including such aspects as color characteristics and gradation characteristics, is ensured in the output from both printers.

2. Description of the Related Art

Printer systems in which multiple printers are connected to each other by means of a network circuit are conventionally available. Using such a printing system, one of the multiple printers is selected so that printing will be executed using this selected printer. In addition, when a problem has occurs in the printer that is performing printing in the printing system, the images that are not printed by the failed printer are output by another printer (see Japanese Laid-Open patent Application No. Hei 10-11242).

There are differences in the output characteristics of the multiple printers, however, because they are made by different manufacturers, or due to aging. Consequently, in the case of color images, the color characteristics of the images printed by the first selected printer before the failure occurred does not match the color characteristics of the images printed by a substitute printer after the failure occurred, resulting in the problem that the color characteristics of the printed images are different.

In the case of monochrome images, the gradation characteristics of the images printed using the selected printer and the gradation characteristics of the images printed using a substitute printer are different, resulting in the problem that there is a difference in darkness between the two sets of printed images.

OBJECT AND SUMMARY

The object of the present invention is to provide an improved printer control device and method and a computer program product for this control.

Another object of the present invention is to provide (i) a printer control device and method to control a network system, such that where a failure occurs in a printer performing printing in a network circuit to which multiple printers are connected, printing is continued using a substitute printer, and (ii) a computer program product for this control.

Another object of the present invention is to provide (i) a printer control device and method, such that where a failure occurs in a printer performing printing in a network circuit to which multiple printers are connected, printing is continued using a substitute printer in a manner that ensures that the color or gradation characteristics of the images printed by the substitute printer after the failure are not different from the color or gradation characteristics of the images printed by the printer in which the failure occurred before the occurrence of the failure, and (ii) a computer program product for this control.

In order to attain these and other objects, one aspect of the present invention comprises a printer control device that controls multiple printers connected to a network circuit, said printer control device having (i) a detector that detects a problem in any of the printers, (ii) selection control in which, when a problem is detected by the detector, another normally functioning printer is selected to substitute for the printer in which the problem was detected, and (iii) substitution control in which (a) correction is made to the print data that was to have been printed out by the printer in which the problem occurred, to ensure that the quality of the images printed by the selected substitute printer is the same as that of the images printed by the printer in which the problem occurred, and (b) the corrected print data is output to the selected substitute printer.

Another aspect of the present invention comprises the printer control device described above, wherein the print data includes color print data that indicates color images, and the substitution control performs correction so that the color characteristics of the color images printed by the printer in which the problem occurred are the same as those of the color images printed by the selected substitute printer.

Another aspect of the present invention comprises the printer control device described above, wherein the print data includes halftone print data that indicates halftone images, and the substitution control performs correction so that the gradation characteristics of the halftone images printed by the printer in which the problem occurred are the same as the gradation characteristics of the halftone images printed by the selected substitute printer.

Another aspect of the present invention comprises the printer control device described above, wherein when the detector detects a problem in the printer performing a print job, the substitution control outputs to the selected substitute printer the print data for the remaining pages not printed by the printer in which the problem was detected.

In order to attain these and other objects, one aspect of the present invention comprises a printer control method to control multiple printers connected to a network circuit, said printer control method having a detection step in which the occurrence of a problem in any of the printers is detected, a selection step in which another normally functioning printer is selected to substitute for the printer in which the problem was detected, and a substitution step in which correction is made to ensure that the quality of the images printed by the selected substitute printer matches the quality of the images printed by the printer in which the problem occurred, and the corrected print data is output to the selected substitute printer.

In order to attain these and other objects, one aspect of the present invention comprises a computer program product to control multiple printers connected to a network circuit, said computer program product (i) having detection control in which the occurrence of a problem in any of the printers is detected, (ii) selection control in which another normally functioning printer is selected to substitute for the printer in which the problem was detected, and (iii) substitution control in which correction is performed to ensure that the quality of the images printed by the selected substitute printer matches the quality of the images printed by the printer in which the problem occurred, and the corrected print data is output to the selected substitute printer.

In the following description, like parts are designated by like reference numbers throughout the several drawings.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1shows the basic construction of an image output system. In the image output system10, client personal computers20that create print data to be printed, first and second color printers31and32that print out print data, a digital color copying machine40that reads the original document and prints it out, a scanner50and a server60are connected to each other by means of the network70. In the server60are registered the client personal computers20, printers31and32, copying machine40and scanner50connected to the network70, and the server60controls the operation and status of these devices at all times. The number of printers and copying machines connected to the network70is not limited to the number shown in the example ofFIG. 1.

The client personal computer20has a printer driver and a supplemental memory device. The printer driver creates print job data based on the document prepared on the client personal computer20using a document creation application, etc. Print job data includes the control information necessary for printing. The control information includes such parameters as one-sided printing or two-sided printing, the number of copies to be printed and the paper supply tray to be used, and is set by the printer driver.

The copying machine40has a scanner that reads the image, an image processing unit, a printing unit, an image transfer unit, a memory and a controller. The copying machine40can perform copying of an original document on a stand-alone basis, while part of its operation is controlled by the server60as well, such that the copying machine60can perform printing of print job data created on a client personal computer20. In the event of a problem that disables printing, such as a failure of the printing unit, a paper jam, or a shortage of recording paper, the image transfer unit transfers the print data for the remainder of the original document and control information to the server60. The control information comprises such parameters as two-sided printing or one-sided printing, the number of copies to be printed and the paper supply tray to be used.

The scanner50, in addition to reading regular original documents, reads a color chart (ANSI IT8, for example), the chromaticity of which is measured in advance, in order to prepare color conversion data described below.

The server60controls printing in the network70. Print commands from any client personal computer20are executed through the server60. For example, if a problem occurs in the first printer31that is performing printing, the server60transfers all of the job that has not been printed by the failed first printer31to the second printer32or to the copying machine40. The second printer32or the copying machine40then perform substitute printing of the remainder of the job that has not been printed yet. If a problem occurs in the copying machine40that is performing printing, the server60transfers all of the job that has not been printed by the failed copying machine40to the printers31or32or to other copying machines not shown in the drawing. The first printer31or other printers then outputs all of the job that has not been printed by the failed output device.

FIG. 2is a block diagram showing the internal construction of the server60. The server60has an input/output unit61, a receiving buffer62, a bitmap memory63, a printer characteristics memory64, a copying machine characteristics memory65, a color conversion unit66, and a controller67. The server60is connected to such devices as the client personal computers20on the network70via the input/output unit61. The receiving buffer62stores print job data from the client personal computers20or the failed copying machine40. The controller67stores a program to interpret the print job data input to the receiving buffer62and convert it into bitmap image data. The created bitmap image data is stored in the bitmap memory63.

The printer characteristics memory64stores the printer color information regarding all printers31and32that are controlled by the server60. The copying machine characteristics memory65stores the copying machine color information regarding all copying machines40that are controlled by the server60. The printer color information is formatted into a table such that the color system that is dependent on the printers31or32corresponds to the color system that is not dependent on any device. This information is formatted into a table so that they correspond to each other. The copying machine color information comprises a color system that is dependent on the copying machine40and a color system that is not dependent on the device, which are formatted into a table so that they correspond to each other. The printer color information and the copying machine color information are generally used in a color management system (CMS). The color conversion unit66converts the print data based on the printer color information or the copying machine color information when performing substitute output.

The sequence of the printing by the first printer31will now be explained with reference to the flow chart ofFIG. 3.

The regular routine will first be explained. When a print command is issued from a client personal computer20, the controller67of the server60receives print job data from the client personal computer20, and stores it in the receiving buffer62(S11). The controller67adds to the print job data the status information that indicates that the data is originally received data (S12). Specifically, it adds a ‘0’ code, which indicates the normal routine.

The controller67then analyzes the print job data stored in the receiving buffer62(S13). The controller67determines whether or not the data is original data or transferred data based on the status information (S14). Here, because the status information is ‘0’, the controller67performs the normal print routine (NO in S14).

The controller67analyzes the print job data, and develops and converts the RGB multi-gradation data into YMCK multi-gradation bitmap image data representing each ink color, i.e., yellow, magenta, cyan and black (S15). The bitmap image data is stored in the bitmap memory63. The controller67sends the print data to the first printer31, which is designated (S16). The print data includes the bitmap image data and a control sequence based on the control information. The first printer31receives the print data from the server60, executes the print command in accordance with the control sequence, and prints out the print data for one page (S17).

The controller67monitors the status of the first printer31at all times from the time when the print data is sent. The first printer31notifies the server60of the print information each time printing is completed for one page, for example. For example, when printing for one page is completed normally, the first printer31returns ‘0’, for example, as the print information, to the server60(S18). The controller67receives print information for each page, and counts the number of pages that have been printed (S17through S19).

Where no problem occurs in the first printer31and printing of all pages is completed normally, the controller67counts the number of pages printed, which matches the number of pages to be printed out (S17through S19). At this point, the controller67determines that one print job has been completed normally (YES in S19), and ends the printing operation.

The print job data in the receiving buffer62is retained until it is determined that the printing has been completed normally (YES in S19). The reason for this is that when a problem occurs in the first printer31, prescribed data based on the retained print data is re-sent to the second printer32or to the copying machine40.

<Routine Executed when a Problem Occurs>

The routine executed when a problem occurs will now be explained.

Suppose a problem that disables printing has occurred in the first printer31after printing of the mth page was completed.

The controller67receives the print information ‘0’, which indicates that the printing was completed normally, up to the mth page, and receives the print information ‘1’, which indicates that a problem occurred, regarding the mth+1 page. When it receives the print information ‘1’, the controller67recognizes that printing is disabled for the mth+1 page onward in the first printer31. The controller67then determines that re-sent data is needed in order to have another printer to execute the print job for the mth+1 page onward (YES in S14).

The controller67reads the entire print job data retained in the receiving buffer62and interprets it (S20). The controller67eliminates the data up to the mth page, which has already been printed, and creates print job data for the mth+1 page onward (S21). At this stage, the data is not bitmap image data that is actually printed out. The controller67then selects the second printer32, which is designated beforehand, as the substitute printer (S22). Where a substitute printer is not pre-designated, the controller67automatically selects a printer or copying machine to perform substitute printing based on the state of use of the second printer32and the copying machine40.

The controller67then advances to the routine to create bitmap data that accommodates the second printer32. However, the color characteristics of the printed images greatly varies between the printer31and the printer32based on the differences in the manufacturer, model and the output method of the print engine. Consequently, regarding an original document comprising continuous pages of images, if printing is performed up to the mth page using the first printer31, while the mth+1 page and subsequent pages are printed using the second printer32, which is the substitute printer, the image color characteristics change significantly in the middle of the set, leading to poor appearance. Therefore, in this embodiment, in order to match the image characteristics from the second printer32with the image characteristics from the failed first printer31to the extent possible, the print data is converted by means of the color conversion unit66.

The conversion of print data will be explained with reference toFIGS. 4 and 5.FIG. 4is a drawing to explain the color conversion method, andFIG. 5shows one example of the printer color information presented in a table format.

First, the color conversion unit66reads from the printer characteristics memory64the printer color information for the second printer32, to which the data is transferred (S23), and reads the printer color information for the failed first printer31(S24). With reference toFIG. 4, the printer color information for the second printer32is indicated as ‘printer B characteristics’ while the printer color information for the failed first printer31is indicated as ‘printer A characteristics’. As shown inFIG. 5, the printer color information is presented in the format of a color conversion table. A color conversion table matches the color system that is dependent on the printers31or32, such as the CMYK color system, with the L*a*b* color space of the CIE color system, for example, which is not dependent on any device. Using this color conversion table, print data may be matched to the L*a*b* color space. The creation of color conversion data using a color conversion table will be explained below.

The data for each pixel for the first printer31is extracted. From the color conversion table for the first printer31, the color that the extracted data will represent in the L*a*b* color space can been seen. The color conversion table for the second printer32is then read. From this conversion table, the data that should be sent in order to achieve the same L*a*b* color space is sought and determined.

For example, suppose that when print data (Y, M, C, K)=(50, 50, 50, 50) is output by the first printer31, color represented by (L*, a*, b*)=(10, 9, 11, 15) is printed, and that on the other hand, the print data that produces the color closest to (L*, a*, b*)=(10, 9, 11, 15) in the second printer32was sought and determined to be (Y, M, C, K)=(50, 48, 50, 52). In this case, the print data to be transferred to the second printer32is determined to be (Y, M, C, K)=(50, 48, 50, 52). This color conversion routine is performed for all of the pixels of the image, and print data to be transferred is created (S25).

The controller67interprets the color-converted print data, and creates bitmap image data (S15). The bitmap image data is stored in the bitmap memory63.

The controller67sends the control sequence to the second printer32together with the bitmap image data (S16). The second printer32receives the print data from the server60, executes the command in accordance with the control sequence, and prints out the print data for the mth+1 page onward (S17through S19). The controller67monitors the status of the second printer32based on the print information transmitted by the second printer32until the printing is completed.

As described above, even if a problem occurs in the first printer31, printing is continued by the second printer32without the data having to be re-sent from the client personal computer20, and therefore the time required for printing is reduced. In addition, because only the pages that were not printed are output by the second printer32, paper resources are not wasted. Moreover, because the print data is converted during the substitute printing, the color characteristics of the color images printed by the first printer31can be made to match those of the color images printed by the second printer32. Consequently, a good appearance is maintained even if substitute printing is performed.

The color conversion data for the color conversion table is created in the following manner. First, a color chart, the chromaticity of which is measured in advance, such as ANSI IT8, is read by the scanner50. The color chart that was thus read and obtained is printed out by the printers31and32and the copying machine40. The printed color charts are then read by the scanner50. Color conversion data is created based on the difference between the color chart data obtained by reading the original color chart and the color chart data obtained by reading the printed color chart. The created color conversion data is saved in the printer characteristics memory64or the copying machine characteristics memory65as a color conversion table. The color conversion table is updated when a printer or copying machine is connected to the network70and at prescribed intervals based on the aging of the device.

The sequence of the printing by the digital color copying machine40will now be explained with reference to the flow chart ofFIG. 6.

The normal routine will first be explained. When the user begins copying (S31), the pages of the original document placed in the original document conveyer110are sequentially conveyed. The scanner of the copying machine40sequentially scans the pages thus conveyed, and reads all of the pages of the original document (S32). The image processing unit performs A/D conversion of the print data read by the scanner, and creates RGB three-color data. The image processing unit performs shading correction to the RGB three-color data, in which corrections are made for the scanner characteristics, etc., and converts the RGB data into RGB digital data (S33). The image processing unit performs color conversion of the RGB digital data and converts it into CMYK data, representing the ink colors (S34). The data, which has undergone color conversion into CMYK data, is saved in the memory regarding all of the pages (S35).

The controller of the copying machine then converts the CMYK data saved in the memory into CMYK bitmap data to be used for printing, and prints out each page (S36). The controller monitors and determines its own copying status at all times (S37). The copying status is updated each time printing is completed normally and one sheet of paper is ejected. When it determines that all of the pages have been printed out normally (YES in S38), the controller ends the copying operation.

<Routine Executed when a Problem Occurs>

The routine that is executed when a print failure occurs in the copying machine40will now be explained. When a failure occurs, the copying machine40shifts to the operation in which the remainder of the pages to be printed, which are saved in the memory, is printed out by the printers31or32or by other copying machines not shown in the drawings. The image transfer unit extracts the remaining print data (the CMYK data before bitmap conversion), and transfers it to the server60(S39). The image transfer unit also transfers the control information to the server60(S40).

The controller67of the server60receives the print job data from the copying machine40, and stores it in the receiving buffer62(S41). The controller67selects the second printer32, which is designated beforehand, as the substitute printer (S42).

The controller67then analyzes the print job data, and develops and converts the CMYK multi-gradation data into CMYK multi-gradation bitmap image data representing each color of print ink, yellow, magenta, cyan and black. The bitmap image data is stored in the bitmap memory63. When creating bitmap image data, the print data is converted by the color conversion unit66in order to have the image characteristics of the second printer32match the image characteristics by the failed copying machine40to the extent possible.

The conversion of the print data is performed in the same manner as that explained above. The color conversion unit66reads the printer color information for the second printer32, which is the destination of the data transfer, from the printer characteristics memory64(S43), and reads the copying machine color information for the failed copying machine40from the copying machine characteristics memory65(S44). The copying machine color information is also formatted into a color conversion table as in the case of the printer color information shown inFIG. 5. The color conversion unit66performs color conversion for all of the pixels of the image using this color conversion table to create print data to be transferred (S45, S46).

The created bitmap image data is stored in the bitmap memory63. The controller67sends the control sequence to the second printer32together with the bitmap image data. The second printer32receives the print data from the server60, executes the print command in accordance with the control sequence, and prints out the remaining pages (S47). The controller67monitors the status of the second printer32until printing is completed based on the print information transmitted from the second printer32.

As described above, even if a problem occurs in the copying machine40, printing is continued by the second printer32without the original document having to be read again, and therefore the time required for printing is reduced and paper resources are conserved. In addition, even if only one copying machine40is available, the remaining printing may be performed by the printers31or32connected to the network70. Moreover, because the print data is converted during the substitute printing, the color characteristics of the color images printed by the copying machine40can be made to match those of the color images printed by the second printer32. Consequently, a good appearance is maintained.

In the embodiment described above, the print data is converted so that consistent color characteristics is maintained when a substitute device is used to print out color images, but the present invention is not limited to cases in which color images are printed. In a printer or copying machine that prints out monochrome images, a darkness curve (γ characteristic) that corresponds to the print data should be saved, and the data should be converted so that the post-conversion data has the same curve. Consequently, the gradation characteristics of the monochrome images may be maintained, and the quality of the images printed out before the occurrence of the problem may be made to match the quality of the images printed using the substitute device.

In addition, a case in which the CMYK data undergoes color conversion was shown with regard to the digital copying machine40, but the present invention is not limited to this case. For example, the RGB data after A/D conversion may undergo color conversion. The color conversion table in this case matches the RGB color system that is dependent on the copying machine40with the L*a*b* color space of the CIE color system, for example, which is not dependent on the device.

Although the present invention has been fully described by way of examples with reference to the accompanying drawings, it is to be noted that various changes and modifications will be apparent to those skilled in the art. Therefore, unless such changes and modification depart from the scope of the present invention, they should be construed as being included therein.