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. 


   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other objects and features of the present invention will become apparent from the following description of a preferred embodiment thereof taken in conjunction with the accompanying drawings, in which: 
       FIG. 1  is a drawing showing the basic construction of an image output system; 
       FIG. 2  is a block diagram showing the internal construction of a server; 
       FIG. 3  is a flow chart showing the control sequence in the server during printing by a printer; 
       FIG. 4  is a simplified drawing showing the color conversion method; 
       FIG. 5  is a drawing showing one example of printer color information formatted into a table; and 
       FIG. 6  is a flow chart showing the sequence during printing by a copying machine. 
   


   In the following description, like parts are designated by like reference numbers throughout the several drawings. 
   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1  shows the basic construction of an image output system. In the image output system  10 , client personal computers  20  that create print data to be printed, first and second color printers  31  and  32  that print out print data, a digital color copying machine  40  that reads the original document and prints it out, a scanner  50  and a server  60  are connected to each other by means of the network  70 . In the server  60  are registered the client personal computers  20 , printers  31  and  32 , copying machine  40  and scanner  50  connected to the network  70 , and the server  60  controls the operation and status of these devices at all times. The number of printers and copying machines connected to the network  70  is not limited to the number shown in the example of  FIG. 1 . 
   The client personal computer  20  has a printer driver and a supplemental memory device. The printer driver creates print job data based on the document prepared on the client personal computer  20  using 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 machine  40  has a scanner that reads the image, an image processing unit, a printing unit, an image transfer unit, a memory and a controller. The copying machine  40  can perform copying of an original document on a stand-alone basis, while part of its operation is controlled by the server  60  as well, such that the copying machine  60  can perform printing of print job data created on a client personal computer  20 . 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 server  60 . 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 scanner  50 , 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 server  60  controls printing in the network  70 . Print commands from any client personal computer  20  are executed through the server  60 . For example, if a problem occurs in the first printer  31  that is performing printing, the server  60  transfers all of the job that has not been printed by the failed first printer  31  to the second printer  32  or to the copying machine  40 . The second printer  32  or the copying machine  40  then perform substitute printing of the remainder of the job that has not been printed yet. If a problem occurs in the copying machine  40  that is performing printing, the server  60  transfers all of the job that has not been printed by the failed copying machine  40  to the printers  31  or  32  or to other copying machines not shown in the drawing. The first printer  31  or other printers then outputs all of the job that has not been printed by the failed output device. 
     FIG. 2  is a block diagram showing the internal construction of the server  60 . The server  60  has an input/output unit  61 , a receiving buffer  62 , a bitmap memory  63 , a printer characteristics memory  64 , a copying machine characteristics memory  65 , a color conversion unit  66 , and a controller  67 . The server  60  is connected to such devices as the client personal computers  20  on the network  70  via the input/output unit  61 . The receiving buffer  62  stores print job data from the client personal computers  20  or the failed copying machine  40 . The controller  67  stores a program to interpret the print job data input to the receiving buffer  62  and convert it into bitmap image data. The created bitmap image data is stored in the bitmap memory  63 . 
   The printer characteristics memory  64  stores the printer color information regarding all printers  31  and  32  that are controlled by the server  60 . The copying machine characteristics memory  65  stores the copying machine color information regarding all copying machines  40  that are controlled by the server  60 . The printer color information is formatted into a table such that the color system that is dependent on the printers  31  or  32  corresponds 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 machine  40  and 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 unit  66  converts 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 printer  31  will now be explained with reference to the flow chart of  FIG. 3 . 
   &lt;Regular Routine&gt; 
   The regular routine will first be explained. When a print command is issued from a client personal computer  20 , the controller  67  of the server  60  receives print job data from the client personal computer  20 , and stores it in the receiving buffer  62  (S 11 ). The controller  67  adds to the print job data the status information that indicates that the data is originally received data (S 12 ). Specifically, it adds a ‘0’ code, which indicates the normal routine. 
   The controller  67  then analyzes the print job data stored in the receiving buffer  62  (S 13 ). The controller  67  determines whether or not the data is original data or transferred data based on the status information (S 14 ). Here, because the status information is ‘0’, the controller  67  performs the normal print routine (NO in S 14 ). 
   The controller  67  analyzes 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 (S 15 ). The bitmap image data is stored in the bitmap memory  63 . The controller  67  sends the print data to the first printer  31 , which is designated (S 16 ). The print data includes the bitmap image data and a control sequence based on the control information. The first printer  31  receives the print data from the server  60 , executes the print command in accordance with the control sequence, and prints out the print data for one page (S 17 ). 
   The controller  67  monitors the status of the first printer  31  at all times from the time when the print data is sent. The first printer  31  notifies the server  60  of 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 printer  31  returns ‘0’, for example, as the print information, to the server  60  (S 18 ). The controller  67  receives print information for each page, and counts the number of pages that have been printed (S 17  through S 19 ). 
   Where no problem occurs in the first printer  31  and printing of all pages is completed normally, the controller  67  counts the number of pages printed, which matches the number of pages to be printed out (S 17  through S 19 ). At this point, the controller  67  determines that one print job has been completed normally (YES in S 19 ), and ends the printing operation. 
   The print job data in the receiving buffer  62  is retained until it is determined that the printing has been completed normally (YES in S 19 ). The reason for this is that when a problem occurs in the first printer  31 , prescribed data based on the retained print data is re-sent to the second printer  32  or to the copying machine  40 . 
   &lt;Routine Executed when a Problem Occurs&gt; 
   The routine executed when a problem occurs will now be explained. 
   Suppose a problem that disables printing has occurred in the first printer  31  after printing of the mth page was completed. 
   The controller  67  receives 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 controller  67  recognizes that printing is disabled for the mth+1 page onward in the first printer  31 . The controller  67  then 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 S 14 ). 
   The controller  67  reads the entire print job data retained in the receiving buffer  62  and interprets it (S 20 ). The controller  67  eliminates the data up to the mth page, which has already been printed, and creates print job data for the mth+1 page onward (S 21 ). At this stage, the data is not bitmap image data that is actually printed out. The controller  67  then selects the second printer  32 , which is designated beforehand, as the substitute printer (S 22 ). Where a substitute printer is not pre-designated, the controller  67  automatically selects a printer or copying machine to perform substitute printing based on the state of use of the second printer  32  and the copying machine  40 . 
   The controller  67  then advances to the routine to create bitmap data that accommodates the second printer  32 . However, the color characteristics of the printed images greatly varies between the printer  31  and the printer  32  based 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 printer  31 , while the mth+1 page and subsequent pages are printed using the second printer  32 , 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 printer  32  with the image characteristics from the failed first printer  31  to the extent possible, the print data is converted by means of the color conversion unit  66 . 
   The conversion of print data will be explained with reference to  FIGS. 4 and 5 .  FIG. 4  is a drawing to explain the color conversion method, and  FIG. 5  shows one example of the printer color information presented in a table format. 
   First, the color conversion unit  66  reads from the printer characteristics memory  64  the printer color information for the second printer  32 , to which the data is transferred (S 23 ), and reads the printer color information for the failed first printer  31  (S 24 ). With reference to  FIG. 4 , the printer color information for the second printer  32  is indicated as ‘printer B characteristics’ while the printer color information for the failed first printer  31  is indicated as ‘printer A characteristics’. As shown in  FIG. 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 printers  31  or  32 , 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 printer  31  is extracted. From the color conversion table for the first printer  31 , 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 printer  32  is 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 printer  31 , 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 printer  32  was 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 printer  32  is 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 (S 25 ). 
   The controller  67  interprets the color-converted print data, and creates bitmap image data (S 15 ). The bitmap image data is stored in the bitmap memory  63 . 
   The controller  67  sends the control sequence to the second printer  32  together with the bitmap image data (S 16 ). The second printer  32  receives the print data from the server  60 , executes the command in accordance with the control sequence, and prints out the print data for the mth+1 page onward (S 17  through S 19 ). The controller  67  monitors the status of the second printer  32  based on the print information transmitted by the second printer  32  until the printing is completed. 
   As described above, even if a problem occurs in the first printer  31 , printing is continued by the second printer  32  without the data having to be re-sent from the client personal computer  20 , and therefore the time required for printing is reduced. In addition, because only the pages that were not printed are output by the second printer  32 , 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 printer  31  can be made to match those of the color images printed by the second printer  32 . 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 scanner  50 . The color chart that was thus read and obtained is printed out by the printers  31  and  32  and the copying machine  40 . The printed color charts are then read by the scanner  50 . 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 memory  64  or the copying machine characteristics memory  65  as a color conversion table. The color conversion table is updated when a printer or copying machine is connected to the network  70  and at prescribed intervals based on the aging of the device. 
   The sequence of the printing by the digital color copying machine  40  will now be explained with reference to the flow chart of  FIG. 6 . 
   &lt;Normal Routine&gt; 
   The normal routine will first be explained. When the user begins copying (S 31 ), the pages of the original document placed in the original document conveyer  110  are sequentially conveyed. The scanner of the copying machine  40  sequentially scans the pages thus conveyed, and reads all of the pages of the original document (S 32 ). 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 (S 33 ). The image processing unit performs color conversion of the RGB digital data and converts it into CMYK data, representing the ink colors (S 34 ). The data, which has undergone color conversion into CMYK data, is saved in the memory regarding all of the pages (S 35 ). 
   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 (S 36 ). The controller monitors and determines its own copying status at all times (S 37 ). 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 S 38 ), the controller ends the copying operation. 
   &lt;Routine Executed when a Problem Occurs&gt; 
   The routine that is executed when a print failure occurs in the copying machine  40  will now be explained. When a failure occurs, the copying machine  40  shifts to the operation in which the remainder of the pages to be printed, which are saved in the memory, is printed out by the printers  31  or  32  or 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 server  60  (S 39 ). The image transfer unit also transfers the control information to the server  60  (S 40 ). 
   The controller  67  of the server  60  receives the print job data from the copying machine  40 , and stores it in the receiving buffer  62  (S 41 ). The controller  67  selects the second printer  32 , which is designated beforehand, as the substitute printer (S 42 ). 
   The controller  67  then 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 memory  63 . When creating bitmap image data, the print data is converted by the color conversion unit  66  in order to have the image characteristics of the second printer  32  match the image characteristics by the failed copying machine  40  to the extent possible. 
   The conversion of the print data is performed in the same manner as that explained above. The color conversion unit  66  reads the printer color information for the second printer  32 , which is the destination of the data transfer, from the printer characteristics memory  64  (S 43 ), and reads the copying machine color information for the failed copying machine  40  from the copying machine characteristics memory  65  (S 44 ). The copying machine color information is also formatted into a color conversion table as in the case of the printer color information shown in  FIG. 5 . The color conversion unit  66  performs color conversion for all of the pixels of the image using this color conversion table to create print data to be transferred (S 45 , S 46 ). 
   The created bitmap image data is stored in the bitmap memory  63 . The controller  67  sends the control sequence to the second printer  32  together with the bitmap image data. The second printer  32  receives the print data from the server  60 , executes the print command in accordance with the control sequence, and prints out the remaining pages (S 47 ). The controller  67  monitors the status of the second printer  32  until printing is completed based on the print information transmitted from the second printer  32 . 
   As described above, even if a problem occurs in the copying machine  40 , printing is continued by the second printer  32  without 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 machine  40  is available, the remaining printing may be performed by the printers  31  or  32  connected to the network  70 . Moreover, because the print data is converted during the substitute printing, the color characteristics of the color images printed by the copying machine  40  can be made to match those of the color images printed by the second printer  32 . 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 machine  40 , 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 machine  40  with 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.
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.