The present invention relates to a system and method of managing plural print jobs, and more particularly, a system and method of managing a group or plurality of print jobs including sub-jobs, wherein the sub-jobs are printed top-to-bottom, or alternatively, bottom-to-top, which is achieved by monitoring the processing (or RIP) status for each of the sub-jobs using a print job management module.
In today's print on demand, it is common to generate a print job, which may contain many pages of text and images of various complexities. These complex jobs may heavily require and occupy long processing time (i.e., raster image processing or “RIP” time) on the printing device. In sequences of print jobs, this can become a bottleneck for other job waiting to be processed or RIPped as the printing device has to complete ripping of the current complex job before it can proceed to the subsequent print job.
It would be desirable to improve the management or processing of print jobs having sub-jobs (or sub-print jobs), by implementing a process wherein the sub-jobs are printed top-to-bottom, or alternatively, bottom-to-top, which provides for improved printer performance.
In consideration of the above issues, it would be desirable to improve the management or processing of print jobs having sub-jobs (or sub-print jobs), wherein the sub jobs are printed top-to-bottom, or alternatively, bottom-to-top, which is achieved by monitoring the processing (or RIP) status for each of the sub jobs using a print job management module.
In accordance with an exemplary embodiment, a method of managing a plurality of print jobs executed by an image forming apparatus, the method comprises: processing a plurality of sub-print jobs that constitute a print job for printing by the image forming apparatus; assigning the plurality of sub-print jobs to a print job management module; managing the processing of each of the sub-print jobs with the print job management module, wherein the print job management module determines based on an estimated time for processing of each of the sub-print jobs, if the print job should be printed first sheet to last sheet with each of the sheets face down or last sheet to first sheet with each of the sheets face up; sending the processed sub-print jobs to a print queue for printing in an order according to the determination result by the print job management module; and printing the plurality of sub-print jobs in the print queue.
In accordance with a further exemplary embodiment, an image forming apparatus having executable instructions for managing a plurality of print jobs, the instructions comprising: processing a plurality of sub-print jobs that constitute a print job for printing by the image forming apparatus; assigning the plurality of sub-print jobs to a print job management module; managing the processing of each of the sub-print jobs with the print job management module, wherein the print job management module determines based on an estimated time for processing of each of the sub-print jobs, if the print job should be printed first sheet to last sheet with each of the sheets face down or last sheet to first sheet with each of the sheets face up; sending the processed sub-print jobs to a print queue for printing in an order according to the determination result by the print job management module; and printing the plurality of sub-print jobs in the print queue.
In accordance with another exemplary embodiment, a computer program product comprising a non-transitory computer usable medium having a computer readable code embodied therein for managing a plurality of print jobs on an image forming apparatus, the computer readable program code configured to execute a process, the process comprising the steps of: processing a plurality of sub-print jobs that constitute a print job for printing by the image forming apparatus; assigning the plurality of sub-print jobs to a print job management module; managing the processing of each of the sub-print jobs with the print job management module, wherein the print job management module determines based on an estimated time for processing of each of the sub-print jobs, if the print job should be printed first sheet to last sheet with each of the sheets face down or last sheet to first sheet with each of the sheets face up; sending the processed sub-print jobs to a print queue for printing in an order according to the determination result by the print job management module; and printing the plurality of sub-print jobs in the print queue
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
In accordance with an exemplary embodiment, it can be appreciated that one method to manage a very complex job is to divide a print job into multiple sub-jobs, thereby, allowing faster ripping. These sub-jobs can then be stored in the printing device storage such as hard disk and by using a print job management module to manage these sub jobs to improve printer performance. In accordance with an exemplary embodiment, the print job management module can allocate a group of modules that serves as a collection for the ripped sub jobs until the whole of the print job has received. When the whole of the print job has been received and is ready to print, the print job management module releases the print job for printing. It can be appreciated that with this method, subsequent print jobs with lesser complexities can be ripped or processed with much less wait time.
Typically, in order for the whole of the print job to be released for printing, the print job has to wait until all of the sub-jobs have been received by the print engine. In case of processing (ripping) the sub jobs in parallel, processing of less complex sub jobs will be finished faster than the processing of more complex sub-jobs regardless of the desired print order, which may induce disordering of the sub-jobs. Accordingly, it would be desirable to have a method to manage the group of the sub jobs so that the print job, which comprised the sub-jobs can start printing top-to-bottom of the job (first page first) or bottom-to-top of the job (last page first) before each of the sub-jobs has been processed for improved printer performance. Accordingly, it can be appreciated that by using this system and method, printing can begin without waiting for RIP completion (or processing) of the entire or whole print job.
In accordance with an exemplary embodiment, a system and method of managing a group or plurality of print jobs including sub-jobs (or sub-print jobs), wherein the sub jobs are printed top-to-bottom, or alternatively, bottom-to-top, which is achieved by monitoring the processing (or RIP) status for each of the sub jobs using a print job management module.
For example, in accordance with an exemplary embodiment, a print job is divided into different sub jobs (1-1, 1-2, 1-3, 1-4, 1-5, 1-6 sequence) that requires printing order in the same sequence, such that when each of the sub-jobs has been processed (RIPped), the print job is ready to print. However, printing cannot just start without determining the proper order of the print job. Therefore, in accordance with an exemplary embodiment, the print job can be sorted either as start from top-to-bottom of the job (1-1, 1-2, 1-3, 1-4, 1-5, 1-6) or start from bottom-to-top of the job (1-6, 1-5, 1-4, 1-3, 1-2, 1-1). In accordance with an exemplary embodiment, if there are more sub-jobs that are available and ready for printing starting from the top-to-bottom approach (i.e., first sheet to last sheet with each of the sheets face down), then the printing begins with the top-to-bottom approach. In the top-to-bottom approach, the first page of the print job will be printed first and face down in order to produce the proper sorting of pages. Alternatively, if the print job management module determines that there are more sub-jobs available and ready for printing starting from the bottom-to-top approach (i.e., last sheet to first sheet with each of the sheets face up), then the printing begins starting with the last page of the print job and face up in order to produce proper sorting of pages. In either case, the determination can be made based on the number of such sub-jobs, the number of pages belonging to such sub-jobs, or the estimated print time to print these pages.
In accordance with an exemplary embodiment, the image forming apparatus is preferably in the form of an industrial image forming apparatus or multi-functional printer 120 connected to the client device 110. The client device 110 submits print jobs to the image forming apparatus (printer or printing device) 120 by transmitting data representing the documents to be printed and information describing the print job. As shown in
The controller 122 typically includes a central processing unit (CPU), a random access memory (RAM), and a read only memory (ROM). The central processing unit is configured to execute a sequence of stored instructions (i.e., a computer program). It can be appreciated that the controller 122 also includes an operating system (OS), which acts as an intermediary between the software programs and hardware components within the image forming apparatus 120. The operating system (OS) manages the computer hardware and provides common services for efficient execution of various application software. In accordance with an exemplary embodiment, the controller 122 processes the data and job information received from the client device 110 to generate a print image.
The image processing section 124 carries out image processing under the control of the controller 122, and sends the processed print image data to the print engine 126. In one embodiment, the image processing section 124 is preferably capable of processing multiple print jobs or sub jobs in parallel and independently. For instance, the image processing section 124 can include a CPU that contains multiple cores therein to realize the multiple RIP modules explained in detail later. The CPU used constituting a part of the controller can be commonly used for the image processing section. The print engine 126 forms an image on a recording sheet based on the image data sent from the image processing section. The I/O section 128 performs data transfer with the host computer 110. The controller 122 is programmed to process data and control various other components of the image forming apparatus or printer to carry out the various methods described herein. The hard disk drive (HDD) or storage device stores digital data and/or software programs for recall by the controller. In accordance with an exemplary embodiment, the digital data includes resources, which can include graphics/images, logos, form overlays, fonts, etc.
The input/output (I/O) port 128 provides communications between the printer section and the client device 110 and receives page descriptions (or print data) from the host for processing within the image forming apparatus 120. In accordance with an exemplary embodiment, the operation of printer section commences when it receives a page description from the client device 110 via I/O port in the form of a print job data stream. The page description may be any kind of page description languages (PDLs), such as PostScript® (PS), Printer Control Language (PCL), Portable Document Format (PDF), XML Paper Specification (XPS), and so on. Examples of image forming apparatuses 120 consistent with exemplary embodiments of the invention include industrial printers, and/or multi-function printers or peripherals (MFP).
The client device 110 and the image forming apparatus (or printer) 120 are preferably connected to one another via a network 130. Examples of the network 130 consistent with embodiments of the invention include, but are not limited to, the Internet, an intranet, a local area network (LAN) and a wide area network (WAN). The client device 110 and the image forming apparatus 120 can also be connected with a wire and/or wireless technology by using radio frequency (RF) and/or infrared (IR) transmission.
As shown in
As shown in
In accordance with an exemplary embodiment, each and every print job will go through the completion time prediction module (or RIP completion time prediction module) 404, which provides a best estimate as to the time it may take to complete the RIP process. The processing module (or RIP module) 406 processes (i.e., RIPped) each of the sub jobs in the same manner as any other print jobs. During the RIP process, the status updating module (or RIP status updating module) 407 tracks the RIP remaining prediction time and provides updated information for the processing status (i.e., RIP status).
In accordance with an exemplary embodiment, each of the processed jobs (i.e., RIPped jobs) can be temporarily stored in a print queue for rasterized data 408. A checking mechanism in the form of a print job controller 410 tracks each of the sub-print jobs that are part of a group to determine when a print job can start printing sequentially in a top-to-bottom or bottom-to-top approach.
For example, in accordance with an exemplary embodiment, the print time of the ready jobs in the top of the print order and the ready jobs in the bottom of the print job are compared to one another. As shown in
Alternatively, if Ta is less than Tb, the process proceeds to step 913, wherein RIP remaining prediction time is compared to Tb. If RIP remaining prediction time is less than Tb, the process proceeds to step 915, which sends print information to the making print job module 409 that the print order is bottom-to-top with face-up printing. If the RIP remaining prediction time is greater than Tb, in step 914, the printer controller continues to recalculate the RIP remaining prediction time versus Tb until the RIP remaining prediction time is equal to Tb, at which time the process proceeds to step 915, wherein the print information is sent to the making print job module 409 that the print job order is bottom-to-top (i.e., last sheet to first sheet) with face-up printing.
It can be appreciated that the printing of each of the plurality of print jobs in a print sequence is generated based on a time of receipt by the image forming apparatus 120 of each of the plurality of prints jobs. In accordance with an exemplary embodiment, each of the print jobs having one or more sub-print jobs, the printing sequence is based upon receipt by the image forming apparatus of the first sub-print job.
In accordance with another exemplary embodiment, a computer program product comprising a non-transitory computer usable medium having a computer readable code embodied therein for managing a plurality of print jobs. The computer readable program code is configured to execute a process, which includes the steps of: processing a plurality of sub-print jobs that constitute a print job for printing by the image forming apparatus; assigning the plurality of sub-print jobs to a print job management module; managing the processing of each of the sub-print jobs with the print job management module, wherein the print job management module determines based on an estimated time for processing of each of the sub-print jobs, if the print job should be printed first sheet to last sheet with each of the sheets face down or last sheet to first sheet with each of the sheets face up; sending the processed sub-print jobs to a print queue for printing in an order according to the determination result by the print job management module; and printing the plurality of sub-print jobs in the print queue.
The computer usable medium, of course, may be a magnetic recording medium, a magneto-optic recording medium, or any other recording medium which will be developed in future, all of which can be considered applicable to the present invention in all the same way. Duplicates of such medium including primary and secondary duplicate products and others are considered equivalent to the above medium without doubt. Furthermore, even if an embodiment of the present invention is a combination of software and hardware, it does not deviate from the concept of the invention at all. The present invention may be implemented such that its software part has been written onto a recording medium in advance and will be read as required in operation.
It will be apparent to those skilled in the art that various modifications and variation can be made to the structure of the present invention without departing from the scope or spirit of the invention. For instance, the above mentioned embodiment is discussed in the condition where the multiple sub-print jobs are preliminary prepared in the client device 110, and they are sent to image forming apparatus 120. However, the present invention is not limited to this specific implementation; the present invention is applicable to the case where a single print job is forwarded from the client device 110 to the image forming apparatus 120, and then the image forming apparatus 120 separates or divides the single print job into multiple sub-print jobs before processing these sub-print jobs. In this alternative implementation, the image forming apparatus 120 can have the control of such separation of the single print job, and therefore, it is beneficial for the image forming apparatus 120 to decide how many sub-print jobs should be made in accordance with the resource conditions of the image forming apparatus 120. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.