Abstract:
Print time management program product capable of calculating and indicating to the user the printing completion time with accuracy by causing a computer to execute processing including a step of transmitting to an external apparatus a request for transmission for print processing time information for jobs in a print queue, a step of receiving the print processing time information transmitted from the external apparatus in response to the request for transmission of the print processing time information and a step of displaying printing completion time for print data to be processed based on the received print processing time information.

Description:
This application is based on Japanese Patent Application No. 2004-037209 filed in Japan on Feb. 13, 2004, the entire content of which is hereby incorporated by reference. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a print time management program, print management apparatus, print time management apparatus and print time management method, and more particularly to a print time management program, print management apparatus, print time management apparatus and print time management method that are capable of carrying out accurate printing completion time management. 
     2. Description of the Related Art 
     A printing system comprising an image forming apparatus connected to a network and is shared by multiple users, such as a printer or MFP (Multi-Function Peripheral), and personal computers (PCs) each having a printer driver by which to output print data to the image forming apparatus, is known in the conventional art. 
     For example, a technology for calculating print processing time from the processing capacity of the user PC and determining appropriate printing parameters based on the results of such calculation has been proposed (Japanese Laid-Open Patent Application 2002-278724). 
     A system that estimates the printing completion time from the printer&#39;s processing capacity and rearranges the order of printing based on the requested printing completion time entered by the user has also been proposed (Japanese Laid-Open Patent Application 2002-259110). 
     A technology has also been proposed for estimating the print time in an ink jet printer connected to a peer-to-peer network (Japanese Laid-Open Patent Application 2001-27941). 
     However, the technologies pertaining to the conventional art referred to above entail the problem that the user cannot learn the accurate processing completion time for the print data sent by the user. 
     For example, in Japanese Laid-Open Patent Application 2002-278724, because the print processing time is calculated based on the user PC&#39;s processing capacity, the processing time needed by an output device such as a printer, which should comprise an important element of such calculation, is not taken into account, and therefore the printing completion time cannot be estimated accurately. 
     In the technologies disclosed in Japanese Laid-Open Patent Applications 2002-259110 and 2001-27941, because the jobs requested by other users and reside in the print queue of the output device such as a printer are not taken into account, the printing completion time cannot be estimated with accuracy. In other words, using the methods disclosed in Japanese Laid-Open Patent Applications 2002-259110 and 2001-27941, the processing time can be estimated from the device processing time and amount of data transmission, but if a large number of jobs are stored in the device by other users, a substantial delay in the printing completion time can result. 
     OBJECTS AND SUMMARY 
     An object of the present invention is to provide an improved print time management program, print management apparatus, print time management apparatus and print time management method that resolve the problem identified above and can calculate and indicate to the user the printing completion time with accuracy. 
     In order to attain such object, according to one aspect of the present invention, the print time management program causing a computer to execute processing including a first transmission step in which a request for transmission for information on the print processing time for the jobs in the print queue is sent to an external apparatus, a first receiving step in which the print processing time information sent from the external apparatus in response to the request for transmission of such information is received and a display step in which the printing completion time for the print data comprising the object of processing is displayed based on the print processing time information thus received. 
     It is preferred that the print time management program further execute on a computer a second transmission step in which a request for transmission of printing capacity information is sent to the external apparatus and a second receiving step in which such printing capacity information sent by the external apparatus in response to the request for transmission of such information is received, and that the display step further include a calculation step in which the print processing time for the print data to be processed is calculated based on the received printing capacity information, such that the printing completion time for the print data to be processed is displayed taking into account the calculated print processing time. 
     It is preferred that the print time management program further execute on a computer a first registration step in which a temporary job is registered in the print queue prior to the transmission of the first transmission step and a second registration step in which an actual job corresponding to and replacing the temporary job in the print queue is registered after transmission according to the first transmission step is completed. 
     It is preferred that the print time management program further execute on a computer a recording step in which the print processing time for the actual job is calculated and the calculated print processing time is recorded in the temporary job. 
     According to another aspect of the present invention, the print management apparatus includes a storage unit in which a print queue is stored, a receiving unit that receives from an external apparatus a request for transmission of print processing time information for the jobs in the print queue, an obtaining unit that obtains such information in response to a request for transmission thereof from the external apparatus and a transmission unit that sends to the external apparatus the obtained print processing time information. 
     According to another aspect of the present invention, the print management apparatus includes a storage unit in which the print queue is stored, a first receiving unit that receives registration of a temporary job from an external apparatus, a registration unit that registers the received temporary job in the print queue, a second receiving unit that receives registration of an actual job corresponding to the temporary job from the external apparatus and a replacing unit that replaces the registered temporary job with the actual job. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other objects and features of the present invention will become clear from the following description taken in conjunction with the preferred embodiments thereof with reference to the accompanying drawings, in which: 
         FIG. 1  is a drawing showing the basic overall construction of a printing system comprising one embodiment of the present invention; 
         FIG. 2  is a function block diagram showing the basic functions of an MFP; 
         FIG. 3  is a block diagram showing the construction of any of the user computers  4 A- 4 F or printer server  2  shown in  FIG. 1 ; 
         FIG. 4  is a drawing showing the construction of the printer driver included in the user computer shown in  FIG. 3 ; 
         FIG. 5   a  and  FIG. 5   b  are drawings showing the flow of processing between the printer driver and the output device; 
         FIG. 6  is a flow chart showing the operations performed by the output device; 
         FIG. 7  is a drawing showing the construction of an actual job; and 
         FIG. 8  is a drawing showing the construction of a temporary job. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The printing system comprising this embodiment includes PCs including a printer driver that has a function to calculate the print processing time (i.e., the estimated print processing time) for the created job (the job comprising the object of processing) from the processing capacity of the output device (the device comprising the image forming apparatus), a function to obtain from jobs in the print queue of the output device the print processing times therefor, and function to enter a temporary job for reservation purposes in the queue and thereafter replace the temporary job with an actual job. 
     Based on this construction, in this printing system, the printer driver not only estimates the print processing time based on the processing capacity of the output device, but also obtains the print processing time information from other users&#39; jobs queued in the output device, and estimates the final printing completion time (i.e., the estimated printing completion time) taking into account such print processing time for other users&#39; jobs. 
       FIG. 1  is a drawing showing the basic overall construction of a printing system comprising one embodiment of the present invention. 
     With reference to  FIG. 1 , the printing system  10  includes multi-function peripherals (MFPs)  1 A and  1 B, a printer server  2  and user computers  4 A- 4 F, which are respectively connected to a network  3 . 
     An example in which two MFPs  1 A and  1 B, one printer server  2  and six user computers  4 A- 4 F are connected to the network  3  is shown in the drawing, but the number of MFPs may be singular or plural. 
     The MFPs  1 A and  1 B are image processing apparatuses, and work as (i) scanners to read original documents, (ii) image forming apparatuses to form images on printing media such as paper based on image data, and (iii) facsimile machines. Therefore, the MFPs  1 A and  1 B include image reading, copying, facsimile transmission/receiving and data printing functions. 
     The MFPs  1 A and  1 B receive job data output from the user computers  4 A- 4 F via the printer server  2 , and output such job data. The MFPs  1 A and  1 B also output image data output by their respective scanners. 
     A memory card  6 , which is a portable and detachable storage device, is mounted in the MFP  1 A. The print job management program and consumables management program stored in this memory card  6  are executed by the central processing unit (CPU) of the MFP  1 A. It is also acceptable if the print job management program and consumables management program are not read from the memory card  6  but are instead stored in an IC chip type semiconductor memory mounted on a substrate. The MFP  1 A executes the programs stored in the semiconductor memory using the CPU. If an EEPROM (Electrically Erasable/Programmable Read-Only Memory) is used for the semiconductor memory, for example, because the stored contents can be overwritten or additional contents can be written therein, the printing system may be constructed such that the other computers connected to the network  3  can overwrite the print job management program and/or consumables management program stored in the EEPROM of the MFP  1 A, or add program contents thereto. 
     It is also acceptable if the MFP  1 A downloads the print job management program, etc. from another computer connected to the network  3  and stores such programs in the EEPROM. 
     The print job management program and consumables management program are also recorded in the MFP  1 B. 
     The MFP  1 A and  1 B may comprise printers that include an image forming function and are connected to the network  3 . 
     The user computers  4 A- 4 F are general personal computers. Various application programs that create print data, such as a document creation program, diagramming program, spreadsheet program, image editing program or image drawing program, are executed on the user computers  4 A- 4 F. The user operates any one of the user computers  4 A- 4 F such that these application programs are executed thereon and print data is created. When the user gives an instruction via such user computer that the print data should be output, job data comprising the print data and a job mode information is sent to the MFPs  1 A and  1 B via the printer server  2 . Job mode information comprises data that defines the number of copies to print, the number of pages to be printed on one sheet of recording medium and the like. Print data and job mode information are together called job data. While job data is sent in the example described in this Specification, print data alone may be sent. 
     The MFPs  1 A and  1 B stores the received job data in their respective storage devices comprising hard disks, for example. The MFPs  1 A and  1 B output the stored job data in response to user operation. 
     Job data can be sent to all MFPs  1 A and  1 B from any of the user computers  4 A- 4 F, or to at least one MFP selected from between the MFPs  1 A and  1 B. The MFP  1 A or  1 B to which the job data should be sent is selected at the time of job data transmission by the user of any the user computers  4 A- 4 F. 
     The printer server  2  is a general personal computer. A CD-ROM (Compact Disk Read Only Memory)  5  is mounted in the printer server  2 . The print job management program recorded in the CD-ROM  5  is read by a CD-ROM drive or the like and stored temporarily on the hard disk. It is then read from the hard disk into a random access memory (RAM) and executed by the CPU. 
     The network  3  consists of a local area network (LAN), the Internet or a general public circuit, and can be either a fixed-line or wireless network. An example in which the MFPs  1 A and  1 B and the printer server  2  are connected via the network  3  is shown in this Specification, but the MFPs  1 A and  1 B and the printer server  2  may be connected using a serial circuit or parallel circuit. 
     The user computers and MFPs may also be connected directly without using the printer server  2 . 
     An example in which the print job management program and the like executed on the printer server  2  are distributed as recorded on a CD-ROM and the print job management program and consumables management program executed on the MFP  1 A are distributed as recorded in a memory card  6  is described herein, but it is also acceptable if the programs are stored and distributed using other recording media, such as a flexible disk, a cassette tape, a hard disk, an optical disk (MO (Magnetic Optical Disk), MD (Mini Disk) or DVD (Digital Versatile Disk)), an IC card (including an memory card), an optical card, or a semiconductor memory such as a mask ROM, an EPROM (Erasable and Programmable ROM) or an EEPROM (Electrically Erasable and Programmable ROM) that carries programs in a fixed fashion. 
     Furthermore, the print job management program may be provided not on a recording medium but from another computer over the network  3  (or the Internet). 
     The concept ‘program’ herein encompasses not only programs that can be directly executed by an CPU, but also source-program type programs, compressed programs, encoded programs and the like. 
     In the printing system  10  of this embodiment, as described above, when the user operates any of the user computers  4 A- 4 F and sends job data to the user-selected MFP  1 A or  1 B, the MFP  1 A or  1 B stores temporarily the received job data on a recording medium such as the hard disk. A job number is assigned to the job data, and a print job stored in either of the MFPs  1 A or  1 B can be specified using the job number. It is also acceptable if job numbers are not used, and a print job is specified using a file name for the data on which the print data included in the job data is based, for example. 
     The user computer (any of the user computers  4 A- 4 F) does not directly send the job data to the MFP  1 A or  1 B but sends it to the printer server  2  while designating either of the MFPs  1 A or  1 B. Therefore, the transmission processing performed by the user computer (any of the user computers  4 A- 4 F) is simple. The printer server  2  forwards the job data to the designated MFP  1 A or  1 B. As a result, the job data is stored in the MFP  1 A or  1 B. 
       FIG. 2  is a function block diagram showing the basic functions of the MFPs of this embodiment. 
     Because the MFP  1 A and  1 B have the same functions, the MFP  1 A will be used as an example in this description. With reference to  FIG. 2 , the MFP  1 A includes a controller  100  that performs overall control of the MFP  1 A, an image reader  101  that reads image data from original documents, a printer  102  that prints images on paper, a communication unit  103  that connects the MFP  1 A to the network  3 , a storage unit  104  that stores job data and the like, an operation panel  105  that comprises an interface to the user, and a sensor unit  107  that detects the remaining amounts of consumables and the like. 
     The communication unit  103  is an interface that connects the MFP  1 A to the network  3 . Through this unit, the controller  100  can communicate with the printer server  2  and the other MFP connected to the network, and receive job data from the user computers  4 A- 4 F via the printer server  2 . The controller  100  stores job data sent from the user computers  4 A- 4 F in the storage unit  104 . The storage unit  104  comprises a magnetic recording device such as a hard disk. 
     The image reader  101  irradiates the original document with light, receives the light reflected off of the original document via a CCD (Charge Coupled Device) and outputs image data to the controller  100 . The controller  100  executes prescribed processing to the image data, such as noise removal and color conversion, and outputs print data to the printer  102 . 
     The printer  102  is controlled by the controller  100  and forms an image on a recording medium comprising paper, for example, in accordance with the print data included in the job data stored in the storage unit  104 , or in accordance with print data created based on the image data output by the image reader  101 . The printer  102  forms images in a single color (black, for example). The printer may also be capable of color printing. The operation panel  105  is mounted on the top surface of the MFP  1 A. 
       FIG. 3  is a block diagram showing the construction of any of the user computers  4 A- 4 F or the printer server  2  shown in  FIG. 1 . 
     With reference to the drawing, the user computers  4 A- 4 F and the printer server  2  each include a CPU  601  that performs overall control of the apparatus, a display  605 , a LAN card (or modem card)  607  that enables connection to the network or communication with external apparatuses, an input device  609  comprising a keyboard and a mouse, a flexible disk drive  611 , a CD-ROM drive  613 , a hard disk drive  615 , a RAM  617  and a ROM  619 . 
     Data such as a program recorded on a flexible disk F can be read via the flexible disk drive  611 , and data such as a program recorded on a CD-ROM  613   a  can be read via the CD-ROM drive  613 . 
       FIG. 4  is a drawing showing the construction of the printer driver included in the user computer shown in  FIG. 3 . 
     With reference to the drawing, the printer driver includes a print data creator  201  that receives data for printing from the application program and creates print data, a print job creator  202  that creates a print job based on the print data, a transmitter/receiver  205  that enables communication with the output device, a printing completion time calculator  203  that calculates print processing time and estimated printing completion time in response to a request from the print job creator  202 , and an estimated printing completion time display  204  that displays the estimated printing completion time. 
     The printing completion time calculator  203  that has received a print processing time calculation request from the print job creator  202  obtains information regarding the printing capacity of the output device via the transmitter/receiver  205 . It then calculates the print processing time for the print data comprising the object of processing based on the obtained printing capacity information. 
     The print processing time obtained as a result of the calculation is forwarded to the print job creator  202 , whereby a reservation temporary job that includes the print processing time is created. The reservation temporary job is input to the output device via the transmitter/receiver  205 . 
     The printing completion time calculator  203  then obtains the information regarding the print processing time for each job in the queue in the output device via the transmitter/receiver  205 . The obtained print processing times are added together, and the print processing time for the print data, which was obtained as a result of the above calculation, is added thereto. The sum is deemed the estimated printing completion time. The estimated printing completion time is them supplied to the estimated printing completion time display  204 , which displays such estimated printing completion time to the user. 
     The print job creator  202  creates an actual job, and sends it to the output device via the transmitter/receiver  205 . The output device that has received the actual job replaces the reservation temporary job therewith. 
     As described above, the printer driver obtains information on the output device capacity when it creates a print job, and calculates the print processing time for that job taking into account the output device capacity and the nature of the job it has created. This print processing time is then included in the job. 
     When a print job has been created, the printer driver calculates the print processing time immediately before inputting the job to the output device. 
     It then checks the print queue of the output device, and if jobs are standing by for printing, it obtains print processing time information for each such job. The print processing time for the job that was first calculated and the print processing time for the other jobs in the queue are then added together. The sum is deemed the final estimated printing completion time and is displayed to the user. 
     Because the estimation of the printing completion time becomes inaccurate if another user enters a job in the output device after the checking of the print queue but before the printer driver enters its own job, the printer driver enters a reservation temporary job that includes the first-calculated printing processing time in the output device at the time of checking of the print queue. When an actual job is entered, the output device replaces the reservation temporary job with the actual job. 
     Because the printer driver can estimate the printing completion time for its job taking into account the printing capacity of the output device and the printing processing time for the jobs in the print queue and display the estimated printing completion time in this fashion, the printing completion time can be estimated with accuracy via the printer driver even in an environment using an output device that can be used by a number of people connected to the network simultaneously. 
       FIG. 5   a  and  FIG. 5   b  are drawings showing the sequence of operations executed between the printer driver and the output device. 
     With reference to the drawings, in step S 101 , if the printer driver has been instructed to start print processing and has received print data, in step S 103 , it creates print data to be used. 
     In step S 105 , the printer driver issues a request for printing capacity information from the output device. The output device waits for such request in step S 107 , and if such request is received, it sends a response comprising printing capacity information to the printer driver in step S 109 . 
     In step S 111 , the printer driver waits to receive such response, and if it is received, the printer driver calculates the print processing time taking into account the job comprising the object of processing and the printing capacity in step S 13 . 
     A temporary job is created by the printer driver in step S 115 , and the temporary job is sent to the output device in S 117 . 
     The output device waits to receive a job in step S 119 , and if a temporary job is received in step S 121 , the output device registers it and sends a job accepted response to the printer driver in step S 123 . 
     The printer driver waits to receive a job accepted response in step S 125 , and if a job accepted response is received, the printer driver sends the output device a request for information regarding the print processing time for the jobs in the print queue in step S 127 . 
     In step S 129 , the output device waits to receive a request for print processing time information, and if such request is received, the output device sends a response comprising print processing time information to the printer driver in step S 131 . 
     In step S 133 , the printer driver waits to receive a print processing time information response, and if such response is received, the printer driver calculates the (estimated) printing completion time in step S 135  by adding together the print processing time calculated in step S 113  and the print processing time received in step S 133 . 
     In step S 137 , the printer driver creates an actual job corresponding to the temporary job and sends the actual job to the output device in step S 139 . 
     In step S 141 , the output device waits to receive a job, and if an actual job is received, the output device accepts such job in step S 143 . It is then determined in step S 145  whether the temporary job for the thus accepted actual job resides in the print queue, and if so, the temporary job is replaced by the actual job. 
     In step S 147 , the output device sends a job accepted response to the printer driver. 
     In step S 149 , the printer driver waits to receive a job accepted response, and if such response is received, the printer driver displays the printing completion time calculated in step S 135  to the user in step S 151 . 
       FIG. 6  is a flow chart showing the sequence of operations carried out by the output device. 
     With reference to the drawing, if a request is received from the printer driver in step S 201 , it is determined in step S 203  whether it is a request for information on the printing capacity. If the answer is YES in step S 203 , printing capacity information is sent to the printer driver in step S 217  as a response. Here, ‘printing capacity’ information consists of the print time required per page of the specified paper size (or per prescribed data amount), the print time required for the specified mode such as stapling, and the like. 
     If the answer is NO in step S 203 , it is determined whether a request for print processing time information was received in step S 205 , and if the answer is YES, print processing time information is obtained from the jobs in the print queue in step S 219 . A print processing time information response is then sent to the printer driver in step S 221 . 
     If the answer is NO in step S 205 , it is determined whether the data received in step S 207  constituted a job. 
     If the answer is YES in step S 207 , it is determined in step S 209  whether the job was a temporary job or an actual job. If it was a temporary job, it is placed in the print queue in step S 223 , and a job accepted response is sent to the printer driver in step S 225 . 
     Where it is determined that the job received in step S 209  was an actual job, it is determined in step S 211  whether a corresponding temporary job resides in the print queue. If it does, the actual job is placed in the print queue, replacing the temporary job in step S 227 , and a job accepted response is sent to the printer driver in step S 215 . 
     If it is determined in step S 211  that a corresponding temporary job does not exist, the actual job is placed in the print queue in step S 213 , and the operation in step S 215  is carried out. 
       FIG. 7  is a drawing showing the construction of an actual job. 
     With reference to the drawing, an actual job consists of a PJL (Printer Job Language) unit and a print data unit. 
     The PJL unit is the part that in which the data regarding the job is recorded, and indicates whether the job is an actual job or a temporary job based on the description of @PJL SETACTUAL JOB=YES. If this description is ‘YES’, that means that the job is an actual job, while if it is ‘NO’, that means that the job is a temporary job. 
     In addition, the @PJL SET JOBID description in the PJL unit shows the ID that is used for the matching of an actual job and a temporary job. 
     Furthermore, @PJL SET PROCESSINGTIME indicates the time (print processing time) required for processing of the actual job. The time required to process the jobs stored in the queue can be learned from this description. 
       FIG. 8  is a drawing showing the construction of a temporary job. 
     With reference to the drawing, a temporary job includes a PJL unit but no print data unit. In addition, the description of @PJL SET ACTUALJOB is ‘NO’. The description of @PJL SET PROCESSINGTIME in a temporary job also shows the time required to process the actual job corresponding to that job. Consequently, even if a temporary job that does not include print data is registered, the print processing time for the actual job corresponding to such temporary job can be learned. 
     Although the present invention has been fully described in connection with the preferred embodiments thereof with reference to the accompanying drawings, it is to be noted that various changes and modifications are apparent to those skilled in the art. Such changes and modifications are to be understood as included within the scope of the present invention as defined by the appended claims unless they depart thererfrom.