Abstract:
A multiple print engine configuration allows a plurality of workstations to create individual print jobs and then transfer them to a distributing processor. The distributing processor spools the jobs in a print spooler and then performs a software RIP on the print jobs. The RIP process divides the jobs into multiple individual jobs which are stored in a page buffer. An image task manager in conjunction with an engine manager selectively distribute the RIPed pages to multiple print engines. For duplex printing, one of the odd or even RIPed pages are sent to a select one of the print engines for printing on an imaging receiving media, and a sequentially adjacent one of the even or odd RIPed pages is subsequently sent to the same print engine for printing on the image receiving media.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
   The present application is a Continuation of U.S. patent application Ser. No. 08/511,641, filed Aug. 7, 1995, now U.S. Pat. No. 6,657,741, which is related to U.S. Pat. No. 5,596,416. 

   TECHNICAL FIELD OF THE INVENTION 
   The present invention pertains in general to electrophotographic printers and, more particularly, to a plurality of print engines arranged in parallel to process print jobs in a parallel manner. 
   BACKGROUND OF THE INVENTION 
   Electrophotographic print engines have been utilized with both printers and copiers. In a printer, the print engine is typically interfaced with a computer to select and organize fonts or bit map the images. In a copier application, the print engine is interfaced with an input device that scans the image onto the photoconductor drum of the print engine. However, a CCD device could also be utilized in this application in the form of a CCD scanner. In either of the applications, a conventional print engine for a monochrome process would typically feed a single sheet of paper and pass it by the photoconductor drum for an image transfer process and then pass it to a fuser. Thereafter, the completed sheet will be output. Multiple copy print jobs will sequentially feed the paper in a serial manner. The speed of the printer is a function of the speed at which the image can be created, the speed at which the image can be transferred to the paper and the speed of the fuser. As increased output is required, the speed of each of these elements must be increased. 
   In a monochrome process, only one transfer operation is required. However, in a multipass color process, multiple images must be superimposed on one another on the sheet of paper in a direct transfer system, thus requiring multiple passes of the paper or image carrier through the print engine. In a double transfer system, the image is disposed on an intermediate drum and then the composite image transferred to the paper or image carrier. In a multiple print job on a direct transfer system, this requires each sheet of paper to be printed in a serial manner by passing it through the print engine. For either the monochrome process or the color process, a conventional serial feed print engine has the output thereof defined by the speed of the input device and the speed of the print engine itself. 
   One technique that has been utilized to increase throughput is a tandem print engine. In a tandem print engine, multiple colors can be disposed on the sheet of paper or the image carrier at different stations that are disposed in serial configuration. In this manner, the speed is the same for one, two, three or four color printing. 
   SUMMARY OF THE INVENTION 
   Apparatus and methods are described for duplex printing in a multiple print engine system. The system includes at least one workstation for generating one or more print jobs having a plurality of copies associated with each print job. A RIP engine receives the print job and parses it into separate pages in association with the print job. These are then disposed in a page buffer. A plurality of printers are then provided which are each accessible in parallel. A processor is operable to select pages from the page buffer and output them to select ones of the printers in a predetermined order. For duplex printing, one of the odd or even RIPed pages are output to a select one of the print engines for printing on an imaging receiving media, and a sequentially adjacent one of the even or odd RIPed pages is subseciuentlv output to the same print engine for printing on the image receiving media. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying Drawings in which: 
       FIG. 1  illustrates an overall block diagram of the present invention; 
       FIG. 2  illustrates a more detailed block diagram of the present invention; 
       FIGS. 3   a ,  3   b  and  3   c  illustrate three general processing configurations; 
       FIG. 4  illustrates a cutaway side view of a three module multiple print engine operated in accordance with the present invention; 
       FIG. 5  illustrates a flowchart illustrating the parsing operation; 
       FIG. 6  illustrates a flowchart for the duplex operation for a face up output; and 
       FIG. 7  illustrates a flowchart for the duplex operation for a face down output. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   Referring now to  FIG. 1 , there is illustrated a block diagram of the overall operation of the present invention. A plurality of workstations  10  are provided, which workstations  10  comprise general personal computers or other terminals that allow a user to create print jobs. Each of the workstations is networked through a network interface  12 , which is a conventional type of general network interface such as an Ethernet® network interface. This allows each workstation  10  to send its print job to a central processor  14 , which processor is operable to process the print jobs in accordance with the system of the present invention and distribute these print jobs to multiple print engines  16 . As will be described hereinbelow, the processor  14  is operable to disassemble the print job, parse the print job into different pages and distribute the parsed pages in a predetermined manner in accordance with the present invention. It should be understood that a print job, although initiated as a series of pages, is sent as a single job to a printer. Typically, printers receive the print job in a conventional manner, which is a string of digits and the printers determine whether the codes are for an end of page command, etc. However, most print operations within a given workstation  10  are designed such that the print job is to be sent to a single printer and, therefore, the codes are all “bundled” in a common string or job. As will be described hereinbelow, in order for the pages to be parsed, it is important to first determine what the beginning and the end of a print job is, then determine what printer to send that distinct and separate page to, in accordance with the system of the present invention. 
   Referring now to  FIG. 2 , there is illustrated a more detailed block diagram of the operation of the processor and the parsing operation for distributing the parsed pages to the various print engines  16 . The job is received in a serial manner, and is “spooled” in a print spooler  20 . This is then passed to a software RIP engine  22  which is operable to essentially decode the print string that is received from the print spooler  20 . This effectively divides each print job into pages. These pages are then stored in page buffers  24 . Each page in the page buffer essentially constitutes a single print job, such that any print job received from the workstations  10  will then be parsed into a multiple print job file. For example, if a thirty page document were to be sent, this would be sent as a single print job, which would be encoded as such. The software RIP engine  22  is then operable to divide this into thirty separate print jobs. 
   Once the pages are stored in the page buffer  24 , then the pages are sent to an image task manager  26  to determine how to organize the pages. This operates in conjunction with an engine manager  28  to determine which of the print engines  16  the job is to be passed to. In order to effectively increase the throughput from the engine manager  28 , there are provided interface circuits  32  which are referred to as Peripheral Connect Interface (PCI) adaptors. Each print engine  16  has a PCI  32  associated therewith. Therefore, the engine manager  28  interfaces with the PCIs  32  through a parallel bus  36 , such that data can be transferred thereto at a fairly high data rate, which is the bus transfer data rate of the processor  14 . The PCIs  32  therefore provide an increased rate of transfer to the print engine  16 . The print engines  16  then place their output into a separate output bin  40  for each of the print engines  16 . 
   As will be described hereinbelow, the image task manager  26  is operable to arrange the copies such that they can be placed in the output bins  40  in a predetermined order. For example, if there were two print engines, each with a 100 sheet paper supply and four print jobs of 50 copies each were to be sent to the printers and the workstation  10 , the system of the present invention would parse these print jobs such that the first two print jobs went to the first print engine and the second two print jobs went to the second print engine. If, alternatively, the two print engines with the one hundred sheet paper supplies handled two print jobs, one at 150 sheets and one at 50 sheets, then the first print engine would receive the first 100 sheets from the first print job, and the second print engine would receive the remaining 50 sheets of the first print job and the 50 sheets of the second print job. However, they would be sent to the printer in such a manner that when the paper output trays were unloaded and stacked together, the jobs would be arranged in the appropriate manner. Therefore, even though there are multiple printers, to the user they appear as a virtual single printer. All decision making is made in the processor  14 . 
   Referring now to  FIGS. 3   a–   3   c , there are illustrated the various configurations illustrating the transfer of data between an input and a print engine. In  FIG. 3   a , there is illustrated a general diagram of a software RIP processor  42 , which is operable to generate the data necessary to transfer to a print engine  46 . However, this is effected over a conventional parallel port  48 . In this configuration, the software RIP processor  42  is relatively fast, whereas the print engine  46  is relatively slow. Of the time to print, three percent of that time is occupied by the operation of print engine  46 , seventy percent is occupied by the software RIP processor  42  and twenty-seven percent is occupied by transferring the data from the processor  42  to the print engine  46 . Therefore, the parallel port  48  becomes a key factor in the printing time. In  FIG. 3   b , software RIP processor  42  is connected to the print engine  16  via a PCI  50 . In this configuration, ninety-five percent of the print time is occupied by the software RIP processor  42 , three percent by the print engine  16  and five percent by the PCI  50 . Therefore, by reducing the transfer time from the processor  42  to the print engine  16 , an increase in speed has been seen. In  FIG. 3   c , there is illustrated a fairly conventional system wherein a processor  52  is provided, which can be a conventional PC for assembling the print job in a conventional manner and transferring it via a parallel port  54  to an engine  58 , which is a conventional print engine having an internal RIP  60  associated with a marking engine  62 . The processor  52  is relatively fast, and it occupies virtually no time. Seventeen percent of the print time is taken passing the data to the RIP  60  through the parallel port  54 , whereas eighty percent of the print time is occupied with the RIP  60  and only three percent by the marking engine  62 . 
   Referring now to  FIG. 4 , there is illustrated a cutaway side view of a three print engine module parallel printer which includes three print engines  136 ,  138  and  140 , all stacked one on top of the other. Each of the engines  136 – 140  is a multi-pass engine and includes a transfer drum  142  and a photoconductor drum  144 . The photoconductor drum  144  rotates in a counterclockwise direction and is pressed against the transfer drum  142  to form a nip  146  therebetween. The photoconductor drum  144  is operable to have the surface thereof charged with a corona  148  and then an imaging device  150  is provided for generating a latent image on the charged surface of the photoconductor drum  144 . The undeveloped latent image is then passed by four developing stations, three color developing stations,  152 ,  154  and  156  for the colors yellow, magenta and cyan, and a black and white developing station  158 . The color developing stations  152 ,  154  and  156  each have a respective toner cartridge  160 ,  162  and  164  associated therewith. The black and white developing station  158  has a black and white toner cartridge  166  associated therewith. Although not described hereinbelow, each of the developing stations  152 – 168  and toner cartridges  160 – 166  can be removed as individual modules for maintenance thereof. 
   During the print operation, the photoconductor drum  144  is rotated and the surface thereof charged by the corona  148 . An undeveloped latent image is then formed on the surface of the photoconductor drum  144  and then passed under the developing stations  150 – 158 . In a multi-pass operation, the latent image is generated and only one color at a time utilized in the developing process for the latent image. This latent image is then passed through the nip  146  and transferred to an image carrier, such as paper, which is disposed on the surface of the transfer drum  142 . Thereafter, the surface of the drum  144  is passed under a cleaning station  168 , which is operable to remove any excess toner particles which were not passed over to the transfer drum  142  during the transfer operation and also discharges the surface of the drum  144 . The system then begins generation of another latent image, either for a different color on the same sheet of paper or the first color on a different sheet of paper. 
   In the color operation, multiple passes must be made such that the image carrier, i.e., paper, remains on the surface of the transfer drum  142  for the multiple passes. In the first pass, the first latent image is transferred to the surface of the transfer image carrier and then the image carrier maintained on the transfer drum  142 . The next latent image of the next color is superimposed on the first latent image, it being noted that the registration is important. This registration is provided by the mechanical alignment of the various drums, drive mechanisms, etc. Thereafter, the third color latent image is disposed on the image carrier followed by the fourth color latent image. 
   After the last color latent image is disposed on the image carrier in the color process, a picker mechanism  172  comes down on the surface of the transfer drum  142  in order to lift up the edge of the image carrier or paper. This is then fed to a fuser mechanism  174 . 
   The image carrier is typically comprised of a predetermined weight paper. The transfer drum  142  utilizes electrostatic gripping for the purpose of adhering the paper to the surface of the transfer drum  142  for multiple passes. This therefore utilizes some type of charging mechanism for charging the surface of the drum  142  at an attachment point  176  where the paper is fed onto the surface of the transfer drum  142 . The transfer drum  142  is, in the preferred embodiment, manufactured from a controlled resistivity type material that is disposed over an aluminum support layer which is a hollow cylindrical member. A voltage supply is provided that provides a uniform application of voltage from the voltage supply to the underside of the resilient layer that is disposed over the surface of the aluminum support member. This resilient layer is fabricated from a carbon filled elastomer or material such as butadaiene acrylonitorile, which has a thickness of approximately 3 mm. Overlying this resilient layer is a controlled resistivity layer which is composed of a thin dielectric layer of material at a thickness of between 50 and 100 microns. This controlled resistivity layer has a non-linear relationship between the discharge (or relaxation) point tying and the applied voltage such that, as the voltage increases, the discharge time changes as a function thereof. The paper is then disposed over the surface of the drum. The construction of this drum is described in U.S. patent application Ser. No. 08/141,273, filed Dec. 6, 1993, and entitled, “Buried Electrode Drum for an Electrophotographic Print Engine with a Controlled Resistivity Layer”, which is a continuation-in-part of U.S. patent application Ser. No. 07/954,786, filed Sep. 30, 1992, and entitled, “Buried Electrode Drum for an Electrophotographic Print Engine”, which U.S. patent application Ser. No. 07/954,786, is incorporated herein by reference. 
   The paper is retrieved from one of two paper supply bins  178  or  180 . The paper supply bin  178  contains one type of paper, typically 8½″×11″ paper, and the paper bin  180  contains another type of paper, typically 8½″×14″ paper. The paper bin  178  has the paper stored therein selected by a first gripping roller  182 , which is then fed along a paper path  180  into a nip  182  between two rollers and then to a nip  184  between two rollers. This is then fed to a paper path  186  to feed into a nip  188  between two rollers. The paper in the nip  188  is then fed into a nip formed between two precurl rollers  190  and  192 , which have different durometers to cause the paper to have a curl bias applied thereto in the direction of the curvature of rotation of the transfer drum  142 . The operation of the pre-curl rollers is described in detail in U.S. Pat. No. 5,398,107, issued Mar. 14, 1995, and entitled, “Apparatus for Biasing the Curvature of an Image Carrier on a Transfer Drum”. The paper from the bin  180  is extracted by a gripping roller  189  and pushed along a paper path  191  to the nip  188  and therefrom to the pre-curl rollers  190  and  192 . 
   The paper is fed from the nip between the two pre-curl rollers  190  and  192  at the attachment point  176 . At the attachment point  176 , an attachment electrode roller  194  is provided which is operable to operate on a cam mechanism (not shown) to urge the roller  194  against the surface of the drum  142  to form the attachment nip  176 . This is done during the initial attachment of the paper to the drum  142 . Typically, this attachment electrode roller  194  is connected to ground. The surface of the drum  142  is charged to a positive voltage of between 800–1,000 volts. The voltage is disposed on the surface of the drum  142  by a positive electrode roller  196  that contacts the surface of the drum  142  at a point proximate to the photoconductor drum  144 . Since the electrode  194  is grounded, the voltage will decrease along the surface thereof until a lower voltage is present at the attachment point  176 . When the paper reaches the transfer nip  146 , the portion of the surface of the photoconductor drum  144  in the nip  146  has a potential thereof reduced to ground such that the charged particles will be attracted from the surface of the photoconductor drum  144  to the surface of the paper on the drum  142 . 
   For a multiple pass operation, the attachment electrode  176  will be pulled outward from the drum and the paper allowed to remain on the drum and go through the transfer nip  146  for another pass. When the final pass has been achieved at the transfer nip  146 , the picker  172  is swung down onto the surface of the drum  142  to direct the paper on the surface of the drum  142  to the fuser  174 . A discharge electrode  198  is then swung down into contact with the drum  142  to provide a discharge operation before the surface of the drum enters the nip  176  for the next paper attachment process. 
   When the paper is fed into the fuser  174 , it is passed into a nip between two rollers  200  and  202 , both of which have different durometers. Typically, there is one roller that is formed from a metallic material and one roller that is formed of a soft material. The rollers are oriented with the roller  200  having the smaller durometer, such that a reverse bias curl will be applied to the paper that is the opposite direction of the curvature of the drum  142 . This will remove the curvature added to the paper. One of the rollers  200  is heated such that the transferred image is “fused”. The paper is then fed into a paper path  204  by a pair of rollers  206 . The paper path  204  is fed a set of output rollers  208 , which feed bins  210 ,  212  and  214  for each of the printers  136 ,  138  and  140 . Again, these are conventional print engines, although the speeds of the print engines may be different. 
   Referring now to  FIG. 5 , there is illustrated a flowchart depicting the operation of the present invention. For this description, the following terms are defined:
         N=number of pages in a single document   M=copies   E=number of engines   P=number of pages   I=the engine number.       

   The flowchart is initiated at a start block  230  and then proceeds to a decision block  232 . A decision block  232  multiples the number of pages N by the number of copies M and determines whether this number if greater than or equal to the number of engines. If not, then the program flows along a “N” path to a function block  234  to utilize only a single engine for the print job. However, if the number is greater than the number of engines, then the program proceeds along the “Y” path to a decision block  236  to determine the number of copies M is greater than the number of engines E. If not, the program flows along a path “N” to a decision block  238  to determine if the number of pages in a single document “N” is greater than or equal to the number of engines. If not, the program will flow along a “N” path to a function block  240  to utilize the only M engines with the I th  copy in the I th  engine. Therefore, if there are ten engines and only five copies then the fifth copy of a job will be in this the fifth engine. If, however, the number of copies in a single document is greater than the number of engines, then the program will flow along a “Y” path to a function block  242  wherein the copies will be distributed in accordance with the equation: 
   
     
       
         
           
             
               
                 P 
                 = 
                 
                   
                     N 
                     × 
                     M 
                   
                   E 
                 
               
             
             
               
                 ( 
                 1 
                 ) 
               
             
           
         
       
     
   
   If it was determined in the decision block  236  that the number of copies M was greater than the number of engines with the number of copies times the number of pages in a single document also being greater than the number of engines, then the program flows along the “Y” path from decision block  236  to a decision block  244  to distribute copies. These are distributed in accordance with the algorithms illustrated in  FIG. 5  with respect to four of the engines E 1 , E 2 , E 3  and E 4 . E 1 , E 2  and E 3  are also associated with function blocks  246 ,  248  and  250 , each operating in accordance with equation (1) associated with function block  242 . However, E 4  will flow to a function block  256  wherein the distribution will be as follows:
 
 P=N×M− ( P   1   +P   2   +P   3 )  (2)
 
   Referring now to  FIG. 6 , there is illustrated a flowchart depicting the operation for a duplex print job. In the flowchart of  FIG. 6 , a face up output is considered which is initiated at a block  260 . The function block then flows to a decision block  262  to determine if the value of N is even. If so, the program flows to a function block  264  to print pages N−2, N−4 . . . , 2. The program then flows to a decision block  266 , which determines whether the value of N is odd. However, if N was odd at decision block  266 , the program would flow along the “N” path to the output of the decision block  266  and then to a function block  268  to print N+ 1  blank pages and then print pages N−1, N−3, . . . 1. The flowchart would then flow to a function block  270 . It is noted that if N is even at decision block  266 , the program would flow to the function block  270 . Function block  270  is a function block wherein a user manually turns the output stack 180° without flipping the stack and then puts it back in the drawer of the printer from which it came. The program then flows to a decision block  274  to determine if the value of N is even, and if so, to the function block  270  along the “Y” path to print pages 1, 3, 5, . . . N−1, and then to a decision block  278  to determine if the value of N is odd. The program at this point will flow along the “N” path to a N block  280 . However, if the value of N is determined to be odd at decision block  274 , the program will flow through the output of decision block  278  and to the input of a function block  282  which will print pages 1, 3, 5, . . . N. 
   Referring now to  FIG. 7 , there is illustrated a flowchart depicting the duplex operation with a face down output, which is initiated at a block  284  and then proceeds to a decision block  286  to determine if the value of N is even. If so, the program then flows to a function block  288  along the “Y” path to print pages 2, 4, 6, . . . N. If it was determined that the value of N is odd, the program would flow along an “N” path to a function block  290  to print pages 2, 4, 6, . . . N−1. The program  288  would flow to a decision block  294 , which determines if N is odd and, if not, flows along a “N” path to the output of function block  290 , the output of a decision block  294  is input to function block  290 . The output of function block  290  flows through a function block  296 , as well as the output along the “N” path of decision block  294 . Decision block  296  indicates the manual operation wherein the user flips the output stack without turning it 180° and then inputs it back into the drawer of the printer from which it was obtained. The program will then flow to a decision block  298  to determine if the value of N is even. If so, the program flows along a “Y” path to a function block  300  to print pages 1, 3, 5, . . . N−1 and then to the input of a decision block  302 . If the value of N is odd, the program flows along the “N” path from decision block  298  to the output of decision block  308  and to a function block  306  to print pages 1, 3, 5, . . . N. The output of the decision block  302  along the “Y” path also flows to the function block  306  when N is even, and the flowchart flows along the “N” path to an “END” block  310 , this being the path from the function block  306 . 
   In summary, there has been provided a multiple print engine configuration wherein multiple jobs can be configured as a single print job, transferred to a central distribution processor which parses the print jobs into single pages and then determines how to pass them to multiple print engines such that, when output therefrom are such that when a user stacks them up from the output bin the order in which the printers are arranged, or in any type of predetermined order, the pages will be in a sequential manner as the print jobs were received. 
   Although the preferred embodiment has been described in detail, it should be understood that various changes, substitutions and alterations can be made therein without departing from the spirit and scope of the invention as defined by the appended claims.