US20150277808A1 - Buffering a print instruction before its transferred to a printing apparatus - Google Patents
Buffering a print instruction before its transferred to a printing apparatus Download PDFInfo
- Publication number
- US20150277808A1 US20150277808A1 US14/339,047 US201414339047A US2015277808A1 US 20150277808 A1 US20150277808 A1 US 20150277808A1 US 201414339047 A US201414339047 A US 201414339047A US 2015277808 A1 US2015277808 A1 US 2015277808A1
- Authority
- US
- United States
- Prior art keywords
- job
- spooler
- transferred
- outputting portion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003139 buffering effect Effects 0.000 title 1
- 238000012546 transfer Methods 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims description 103
- 230000004044 response Effects 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 16
- 238000000034 method Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000005401 electroluminescence Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1212—Improving printing performance achieving reduced delay between job submission and print start
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1267—Job repository, e.g. non-scheduled jobs, delay printing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
Description
- This application is based on and claims priority under 35 USC §119 from Japanese Patent Application No. 2014-062331 filed Mar. 25, 2014.
- 1. Technical Field
- The present invention relates to a printing control apparatus, a printing control system and a non-transitory computer readable medium.
- 2. Related Art
- There exists a printing control apparatus which stores a print job therein and performs control of outputting a print job to a printing device.
- According to an aspect of the present invention, there is provided a printing control apparatus including: a receiving unit that receives a print instruction to instruct printing on a recording medium; a transferring unit that transfers the print instruction received by the receiving unit to an outputting portion which is capable of storing plural print instructions and outputs the stored print instruction one by one to a printing device; and a controller that controls the transferring unit so that another print instruction is transferred to the outputting portion if a print instruction transferred by the transferring unit last is started to be outputted from the outputting portion to the printing device.
- An exemplary embodiment of the present invention will be described in detail based on the following figures, wherein:
-
FIG. 1 is a diagram showing a specific example of a schematic configuration of a printing control system in the present exemplary embodiment; -
FIG. 2 is a block diagram showing a specific example of a functional configuration of a printing control apparatus in the first exemplary embodiment; -
FIG. 3 is a flowchart showing a specific example of a procedure of transferring processing of a print job by a job control portion; -
FIG. 4 is a flowchart showing a specific example of a procedure of transfer determining processing in the first exemplary embodiment; -
FIGS. 5-1A and 5-1B are diagrams for explaining a specific example of a processing in which a print job is transferred from the printing control apparatus to the printing device; -
FIGS. 5-2C and 5-2D are diagrams for explaining a specific example of a processing in which a print job is transferred from the printing control apparatus to the printing device; -
FIGS. 5-3E and 5-3F are diagrams for explaining a specific example of a processing in which a print job is transferred from the printing control apparatus to the printing device; -
FIG. 6 is a block diagram showing a specific example of a functional configuration of a printing control apparatus in the second exemplary embodiment; -
FIG. 7 is a flowchart showing a specific example of a procedure of transfer determining processing in the second exemplary embodiment; and -
FIG. 8 is a diagram showing a hardware configuration example of the printing control apparatus in the present exemplary embodiment. - Hereinafter, an exemplary embodiment of the present invention will be described in detail with reference to the attached drawings.
- First of all, an overall configuration of a printing control system 1 will be explained.
FIG. 1 is a diagram showing a specific example of a schematic configuration of the printing control system 1 in the present exemplary embodiment. The printing control system 1 in the present exemplary embodiment includes aprinting control apparatus 10, aprinting device 20 and anoperation terminal 30, which are connected to anetwork 40. - The
printing control apparatus 10 sequentially transfers a print job transmitted from theoperation terminal 30 to the printing device 20 (the details will be described later). Here, a print job includes image data to be printed and a control command which describes settings in a print processing, and represents a unit of data for the print processing performed in theprinting device 20. Theprinting control apparatus 10 has a spool function temporarily storing a print job in a spooler and outputting the print job from the spooler in order. In theprinting control apparatus 10, a processing state in the spooler is monitored and the spooler is controlled to adjust the timing of transferring a print job so as not to change the order of printing. Hereinafter, theprinting control apparatus 10 includes a first spooler 14 (refer toFIG. 2 ) as the spooler. In the present exemplary embodiment, a print job is used as an example of a print instruction. - The
printing device 20 is, for example, a device which has a scan function, a print function, a copy function, a facsimile function and the like, and performs a print processing by forming an image on a recording medium such as a sheet based on a print job transferred from theprinting control apparatus 10. Here, theprinting device 20 has a spool function as well and executes a print processing by outputting a print job from a spooler in response to an operation by a user. Hereinafter, theprinting device 20 includes a second spooler 21 (refer toFIG. 2 ) as the spooler. - The
operation terminal 30 is a terminal operated by a user when data such as an image and a document are to be printed. For example, the operation terminal is a Personal Computer (PC). Theoperation terminal 30 generates a print job in response to an operation by a user, and transmits the generated print job to theprinting control apparatus 10. - The
network 40 as an example of a communication line is a communication unit which is used for information communication among theprinting control apparatus 10, theprinting device 20, and theoperation terminal 30. For example, thenetwork 40 is a Local Area Network (LAN). In the present exemplary embodiment, theprinting control apparatus 10, theprinting device 20 and theoperation terminal 30 are configured to be connected with thenetwork 40; however, the configuration of theprinting control apparatus 10, theprinting device 20, and theoperation terminal 30 is not limited to the configuration in the present exemplary embodiment. For example, a configuration may be used in which a network connecting theprinting control apparatus 10 with theprinting device 20 and a network connecting theprinting control apparatus 10 with theoperation terminal 30 separately exist. - As described above, the printing control system 1 transmits a print job to the
printing device 20 not directly from theoperation terminal 30 but through theprinting control apparatus 10 in order to execute a print. - Next, a functional configuration of the
printing control apparatus 10 will be explained.FIG. 2 is a block diagram showing a specific example of the functional configuration of theprinting control apparatus 10 in the first exemplary embodiment. - The
printing control apparatus 10 includes a receivingportion 11 which receives a print job, ajob managing portion 12 which manages a status of a print job received by the receivingportion 11, ajob control portion 13 which acquires a print job from a below-describedjob storing portion 15 and performs control of transferring the print job to thefirst spooler 14, thefirst spooler 14 which temporarily stores a transferred print job and outputs the stored print job to thesecond spooler 21 of theprinting device 20, and thejob storing portion 15 which stores the print job received by the receivingportion 11. - The receiving
portion 11 as an example of a receiving unit receives a print job transmitted from theoperation terminal 30. - The
job managing portion 12 manages a status of a print job received by the receivingportion 11. When the receivingportion 11 receives a print job, thejob managing portion 12 instructs thejob control portion 13 to transfer the received print job. - The
job storing portion 15 stores the print job received by the receivingportion 11. - The
job control portion 13, as an example of a transferring unit, a controller and a monitoring unit, acquires a print job from thejob storing portion 15 and transfers the acquired print job to thefirst spooler 14 in accordance with the processing state in thefirst spooler 14 when thejob control portion 13 receives a transfer instruction from thejob managing portion 12. Here, in the case where a print job whose transfer has been instructed by thejob managing portion 12 but still untransferred to thefirst spooler 14 is stored in thejob storing portion 15, thejob control portion 13, for example, periodically acquires a processing state of a print job in thefirst spooler 14 to monitor the processing state of the print job stored in thefirst spooler 14. Thejob control portion 13 determines whether a print job stored in thejob storing portion 15 is transferable to thefirst spooler 14 or not. - In the determination, the
job control portion 13 first acquires a status indicating a state of a processing of a print job transferred to thefirst spooler 14 last (hereinafter referred to as the last job) among print jobs stored in thefirst spooler 14. When the last job is started to be transferred from thefirst spooler 14 to theprinting device 20, thejob control portion 13 determines that another print job is newly transferable to thefirst spooler 14. - That is, the
job control portion 13 determines that a print job is transferable to thefirst spooler 14 when thejob control portion 13 detects that the last job is in the status of being outputted to the printing device 20 (being outputted from thefirst spooler 14 to the second spooler 21) or in the status of being completely outputted to the printing device 20 (having been finished to be outputted from thefirst spooler 14 to the second spooler 21). Additionally, thejob control portion 13 performs transfer control of print jobs so that the sum of print jobs being transferred to thefirst spooler 14 and print jobs waiting to be outputted to theprinting device 20 among print jobs transferred to thefirst spooler 14 does not become two or more. - The
job control portion 13 acquires one print job from thejob storing portion 15 and transfer the print job to thefirst spooler 14 when thejob control portion 13 determines that a print job is transferable to thefirst spooler 14. Here, thejob control portion 13 transfers a print job in order of receipt by the receivingportion 11. On the other hand, thejob control portion 13 executes a transfer determining processing when thejob control portion 13 determines that a print job is not transferable to thefirst spooler 14. The transfer determining processing is a processing in which thejob control portion 13 waits until a print job becomes transferable to thefirst spooler 14. Details of the transfer determining processing will be described below. - The
job control portion 13 converts a format of a print job into a format that can be outputted by theprinting device 20 when thejob control portion 13 transfers the print job to thefirst spooler 14. - The
first spooler 14 as an example of an output portion temporarily stores (spools) a print job transferred from thejob control portion 13, and sequentially outputs the print job to thesecond spooler 21 in theprinting device 20. Thefirst spooler 14 is configured with a printer driver utilized for using theprinting device 20 and the like. Here, thefirst spooler 14 is able to store plural print jobs; however, thefirst spooler 14 does not output plural print jobs to theprinting device 20 at one time, and outputs a print job one by one in order. After thefirst spooler 14 outputs a print job, thefirst spooler 14 keeps storing the outputted print job until the print processing of the outputted print job is completed in theprinting device 20. - As the
first spooler 14, for example, Windows (a registered trademark in Japan) spooler and the like are generally used. For example, in the case where Windows spooler is used, a user can use a various kind of devices supporting Windows spooler. - Next, transfer processing of a print job by the
job control portion 13 will be explained.FIG. 3 is a flowchart showing a specific example of a procedure of transfer processing of a print job by thejob control portion 13. Thejob control portion 13 executes the procedure shown inFIG. 3 per a print job stored in thejob storing portion 15, and acquires the print job from thejob storing portion 15 to sequentially transfer the print job to thefirst spooler 14. - First, in the case where a print job whose transfer has been instructed by the
job managing portion 12 but still untransferred to thefirst spooler 14 is stored in thejob storing portion 15, thejob control portion 13 determines whether a print job is transferable to thefirst spooler 14 or not (step 101). In the case where the last job transferred to thefirst spooler 14 is in the status of being outputted to theprinting device 20 or in the status of being completely outputted to theprinting device 20, thejob control portion 13 determines that the next print job is transferable to the first spooler 14 (YES in step 101). - On the other hand, in the case where the last job is neither in the status of being outputted to the
printing device 20 nor in the status of being completely outputted to theprinting device 20, thejob control portion 13 determines that the next print job is not transferable to the first spooler 14 (NO in step 101). When thejob control portion 13 makes a determination that the next print job is not transferable to thefirst spooler 14, the last job is, for example, in the status of waiting to be outputted to theprinting device 20, or in the status of being transferred (spooled) from thejob storing portion 15 to thefirst spooler 14 through thejob control portion 13 and the like. In the case of the negative determination (NO) instep 101, thejob control portion 13 executes the transfer determining processing (step 102). - After the positive determination (YES) in
step 101 or after the transfer determining processing instep 102, thejob control portion 13 transfers a print job to thefirst spooler 14 by executing the processing instep 103 to step 106, which is a related art. Here, thejob control portion 13 executes an initializing processing in transfer of a print job (step 103). In the initializing processing, thejob control portion 13, for example, acquires data related to a print job to be transferred, environmental data of thefirst spooler 14 and the like. Next, thejob control portion 13 executes a transfer starting processing (step 104). In the transfer starting processing, thejob control portion 13, for example, executes a processing of setting an initial page number of a print job to be transferred, a processing of reading the first page and the like. - Next, the
job control portion 13 executes a page outputting processing (step 105). In the page outputting processing, thejob control portion 13 determines which page to transfer while checking the number of the rest of the pages and sequentially outputs the pages. After thejob control portion 13 finishes outputting all the pages in the page outputting processing, thejob control portion 13 executes a post-processing (step 106). In the post-processing, thejob control portion 13, for example, executes a processing of renewing the number of the pages finished to be transferred, a processing of a page adjustment after a banner page printing and the like. Finally, the present processing flow is completed - In such a manner, the
job control portion 13 monitors the processing state in thefirst spooler 14 and transfers a print job stored in thejob storing portion 15 to thefirst spooler 14. - The
job control portion 13, instep 101, determines whether a print job is transferable or not based on the status of the last job; however, in the case where a print job transferred by thejob control portion 13 is not stored in thefirst spooler 14, thejob control portion 13 determines that a print job is transferable to thefirst spooler 14. - For example, in the case where the
job control portion 13 transfers a print job to thefirst spooler 14 for the first time, no print job is stored in thefirst spooler 14. For example, when the last job is outputted to theprinting device 20 immediately after the last job has been spooled in thefirst spooler 14 and the print processing of the last job is completed, the last job is removed from thefirst spooler 14 without thejob control portion 13 confirming the last job being outputted to theprinting device 20. In this manner, in the case where the last job and the other print jobs are not stored in thefirst spooler 14, a new print job may be transferred to thefirst spooler 14. - Next, transfer determining processing by the
job control portion 13 will be explained.FIG. 4 is a flowchart showing a specific example of a procedure of transfer determining processing in the first exemplary embodiment. - First, the
job control portion 13 executes an initialization of a variable for detecting an event indicating some processing in the printing control apparatus 10 (step 201). Here, thejob control portion 13, for example, acquires a discrimination ID used for discriminating theprinting device 20 to which a print job is to be transferred. Next, thejob control portion 13 determines whether an event indicating some processing in theprinting control apparatus 10 is occurred or not (step 202). In the case where an event is occurred (YES in step 202), thejob control portion 13 determines whether the occurred event is an event related with thefirst spooler 14 that outputs a print job to theprinting device 20 or not (step 203). On the other hand, in the case where an event is not occurred (NO in step 202), thejob control portion 13 waits until an event is occurred. - Next, in
step 203, in the case where the occurred event is an event related with the first spooler 14 (YES in step 203), the status of the print job in thefirst spooler 14 changes, and thus thejob control portion 13 determines whether a print job is transferable to thefirst spooler 14 or not (step 204). The processing instep 204 is the same as the processing ofstep 101 inFIG. 3 , and therefore, the explanation of the details is omitted. On the other hand, in the case where the occurred event is not an event related with the first spooler 14 (NO in step 203),step 202 is executed. - Next, in
step 204, in the case where thejob control portion 13 determines that a print job is transferable to the first spooler 14 (YES in step 204), the present processing flow is completed. After the present processing flow is completed, the processing ofstep 103 inFIG. 3 is sequentially executed. On the other hand, in the case where thejob control portion 13 determines that a print job is not transferable to the first spooler 14 (NO in step 204), the process moves to step 202. - In such a manner, the
job control portion 13 waits while monitoring the processing state in thefirst spooler 14 until thejob control portion 13 determines that a print job is transferable to thefirst spooler 14, that is, until the status of the last job becomes the status of being outputted to theprinting device 20 or the status of being completely outputted to theprinting device 20. - A specific example of a processing of transferring a print job from the
printing control apparatus 10 to theprinting device 20 will be explained.FIG. 5-1A ,FIG. 5-1B ,FIG. 5-2C ,FIG. 5-2D ,FIG. 5-3E , andFIG. 5-3F are diagrams for explaining a specific example of a processing in which a print job is transferred from theprinting control apparatus 10 to theprinting device 20. InFIG. 5-1A ,FIG. 5-1B ,FIG. 5-2C ,FIG. 5-2D ,FIG. 5-3E , andFIG. 5-3F , five print jobs are respectively regarded as a job 1 to a job 5. The five print jobs are inputted so as to be printed in order from the job 1 and the receivingportion 11 receives the five print jobs in order from the job 1. As described above, thejob managing portion 12 manages a status of a print job; however, in an example shown inFIG. 5-1A toFIG. 5-3F , in addition to a print job stored in thejob storing portion 15, a status of a print job managed by thejob managing portion 12 will be explained. - First of all, each processing state of the respective print job in
FIG. 5-1A will be explained. Firstly, in the case where the job 1 is not yet transferred by thefirst spooler 14, no print job exists in thefirst spooler 14, and thus thejob control portion 13 determines that the job 1 is transferable to thefirst spooler 14. When the job 1 is started to be transferred to thefirst spooler 14, as shown inFIG. 5-1A , thejob managing portion 12 sets the status of the job 1 to “being transferred” and thefirst spooler 14 sets the status of the job 1 to “being spooled”. The job 2 to the job 5 are waiting to be transferred from thejob storing portion 15 to thefirst spooler 14, and thejob managing portion 12 sets the statuses of the job 2 to the job 5 to “waiting to be transferred”. - Next, when the job 1 is completely transferred to the
first spooler 14, output of the job 1 from thefirst spooler 14 to thesecond spooler 21 is sequentially started. When the output of the job 1 to thesecond spooler 21 is started, as shown inFIG. 5-1B , thejob managing portion 12 sets the status of the job 1 to “in process”, thefirst spooler 14 sets the status of the job 1 to “being outputted”, and thesecond spooler 21 sets the status of the job 1 to “being spooled”. - Here, as shown in
FIG. 5-1A , while the job 1 is in the status of “being spooled” in thefirst spooler 14, thejob control portion 13 determines that the job 2, which is the next print job, is not transferable to thefirst spooler 14. On the other hand, as shown inFIG. 5-1B , when the output of the job 1 to thesecond spooler 21 is started, the status of the last job (that is, the job 1) becomes the status of being outputted to thesecond spooler 21. Therefore, thejob control portion 13 determines that the job 2, which is the next print job, is transferable to thefirst spooler 14. -
FIG. 5-2C is a diagram showing the case where the job 2 inFIG. 5-1B is started to be transferred from thejob storing portion 15 to thefirst spooler 14 through thejob control portion 13. When the transfer of the job 2 to thefirst spooler 14 is started, thejob managing portion 12 sets the status of the job 2 to “being transferred”, and thefirst spooler 14 sets the status of the job 2 to “being spooled”. -
FIG. 5-2D is a diagram showing the case where the job 1 inFIG. 5-2C is completely outputted from thefirst spooler 14 to thesecond spooler 21. When the output of the job 1 to thesecond spooler 21 is completed, thejob managing portion 12 sets the status of the job 1 to “being completely transferred to the printing device”, thefirst spooler 14 sets the status of the job 1 to “being completely outputted to the printing device”, and thesecond spooler 21 sets the status of the job 1 to “being completely spooled”. For example, a print processing of the job 1 is executed in theprinting device 20 in response to an operation by a user and the like. - When the output of the job 1 to the
second spooler 21 is completed, thefirst spooler 14 becomes in the state of being able to newly output a print job to thesecond spooler 21. Therefore, inFIG. 5-2D , the job 2 is being transferred from thejob storing portion 15 to thefirst spooler 14 through thejob control portion 13, and when the job 2 is completely transferred to thefirst spooler 14, output of another print job from thefirst spooler 14 to thesecond spooler 21 is sequentially started. -
FIG. 5-3E is a diagram showing a case where the job 2 inFIG. 5-2D is started to be outputted from thefirst spooler 14 to thesecond spooler 21. When output of the job 2 to thesecond spooler 21 is started, thejob managing portion 12 sets the status of the job 2 to “in process”, thefirst spooler 14 sets the status of the job 2 to “being outputted”, and theprinting device 20 sets the status of the job 2 to “being spooled”. When output of the job 2 to thesecond spooler 21 is started, the status of the last job (that is, the job 2) becomes the status of being outputted to thesecond spooler 21. Therefore, thejob control portion 13 determines that the job 3, which is the next print job, is transferable to thefirst spooler 14. -
FIG. 5-3F is a diagram showing a case where the job 3 inFIG. 5-3E is started to be transferred from thejob managing portion 12 to thefirst spooler 14. When the transfer of the job 3 to thefirst spooler 14 is started, thejob managing portion 12 sets the status of the job 3 to “being transferred” and thefirst spooler 14 sets the status of the job 2 to “being spooled”. - When output of the job 2 to the
printing device 20 is completed and output of the job 3 to thesecond spooler 21 is started, transfer of the job 4, which is in the status of “waiting to be transferred,” from thejob storing portion 15 to thefirst spooler 14 is started. In the similar procedure, transfer of the job 5 from thejob storing portion 15 to thefirst spooler 14 is executed. - In the example shown in
FIG. 5-2D , explanation has been made on the case where the output of the job 1 to thesecond spooler 21 is completed before the transfer of the job 2 to thefirst spooler 14 is completed; however, the transfer of the job 2 to thefirst spooler 14 can be completed before the output of the job 1 to thesecond spooler 21 is completed. In this case, the job 2 waits to be outputted to thesecond spooler 21, and upon completion of the output of the job 1 to thesecond spooler 21, the job 2 is outputted to thesecond spooler 21. - As explained above, the
job control portion 13 monitors the processing state in thefirst spooler 14, and thejob control portion 13 newly transfers a print job from thejob storing portion 15 to thefirst spooler 14 when the last job is in the status of being outputted to theprinting device 20 or in the status of being completely outputted to theprinting device 20. That is, when the print job transferred to thefirst spooler 14 last is started to be outputted to theprinting device 20, a print job is newly transferred from thejob storing portion 15 to thefirst spooler 14 through thejob control portion 13. Therefore, in thefirst spooler 14, the sum of print jobs being transferred (spooled) to thefirst spooler 14 and print jobs waiting to be outputted to theprinting device 20 does not become two or more. - For example, there are cases where two or more print jobs waiting to be transferred to the
printing device 20 are stored in thefirst spooler 14 if a print job is transferred without monitoring thefirst spooler 14. In such cases, when thefirst spooler 14 firstly transfers a print job stored later to theprinting device 20, the print processing is executed in a wrong order of printing. Thus, utilizing theprinting control apparatus 10, for example, prevents an order of a print processing from being changed compared with the configuration in which a print job is transferred to thefirst spooler 14 without monitoring processing states of print jobs. - The
printing control apparatus 10 controls transfer of print jobs so that a processing of receiving and spooling a print job and a processing of outputting another print job are executed in parallel in thefirst spooler 14. Thus, utilizing theprinting control apparatus 10, for example, suppresses a decrease of processing speed of print jobs compared with the configuration in which another print job is newly transferred to thefirst spooler 14 after a print job is completely outputted from thefirst spooler 14 to theprinting device 20. - Next, the second exemplary embodiment will be explained. The
printing control apparatus 10 in the present exemplary embodiment further includes a Management Information Base (MIB) acquiringportion 16 which acquires MIB information of theprinting device 20 in addition to the configurations included in theprinting control apparatus 10 in the first exemplary embodiment. Theprinting control apparatus 10 in the first exemplary embodiment performs transfer control of print jobs while monitoring the processing state in thefirst spooler 14. On the other hand, theprinting control apparatus 10 in the present exemplary embodiment acquires MIB information indicating the processing state in thesecond spooler 21 of theprinting device 20 and performs transfer control of print jobs based on the acquired MIB information. It should be noted that, in the present exemplary embodiment, the configurations similar with those in the first exemplary embodiment are denoted with the same reference numerals and the detailed explanations thereof are omitted. - First, a functional configuration of the
printing control apparatus 10 will be explained.FIG. 6 is a block diagram showing a specific example of the functional configuration of theprinting control apparatus 10 in the present exemplary embodiment. Theprinting control apparatus 10 in the present exemplary embodiment includes the receivingportion 11, thejob managing portion 12, thejob control portion 13, thefirst spooler 14 and anMIB acquiring portion 16 as an example of an acquiring unit. Here, functions of the receivingportion 11, thejob managing portion 12 and thefirst spooler 14 are the same as those in the first exemplary embodiment. - The
MIB acquiring portion 16 newly added in the present exemplary embodiment, for example, periodically acquires MIB information from theprinting device 20 and outputs the acquired MIB data to thejob control portion 13. In general, MIB information is data provided by an apparatus to be monitored using Simple Network Management Protocol (SNMP), which is a protocol for monitoring an apparatus, in order to inform the outside of the state of the apparatus. The MIB information of theprinting device 20 is information indicating the state of theprinting device 20 and, for example, includes information on a processing state of print jobs in thesecond spooler 21 and the like. In the present exemplary embodiment, MIB information is used as an example of information related to a processing state. - The
job control portion 13 in the first exemplary embodiment performs control of transferring a print job from thejob storing portion 15 to thefirst spooler 14 in accordance with the processing state in thefirst spooler 14. On the other hand, in the present exemplary embodiment, thejob control portion 13 acquires MIB information from theMIB acquiring portion 16, recognizes the processing state in thesecond spooler 21 based on the acquired MIB information, and executes a control of transferring a print job from thejob storing portion 15 to thefirst spooler 14. - Here, the
job control portion 13 acquires MIB information from theMIB acquiring portion 16 and monitors inside thesecond spooler 21 in the case where a print job whose transfer has been instructed by thejob managing portion 12 but still untransferred to thefirst spooler 14 is stored in thejob storing portion 15. Thejob control portion 13 determines whether a print job is transferable from thejob storing portion 15 to thefirst spooler 14 or not. - In the determination, the
job control portion 13 first acquires a status of a print job stored in thesecond spooler 21 based on the MIB information. In the case where the last job is in the status of being spooled in the second spooler 21 (being outputted from thefirst spooler 14 to the second spooler 21) or in the status of being completely spooled in the second spooler 21 (being completely outputted from thefirst spooler 14 to the second spooler 21), thejob control portion 13 determines that a print job is transferable to thefirst spooler 14. That is, when the last job is started to be spooled in thesecond spooler 21, no print jobs waiting to be outputted to theprinting device 20 exist in thefirst spooler 14, and therefore, thejob control portion 13 determines that a new print job is transferable to thefirst spooler 14. - A transfer processing of the
job control portion 13 is executed in the same way as the transfer processing shown inFIG. 3 . However, in the present exemplary embodiment, the determining processing instep 101 is executed in accordance with the processing state in thesecond spooler 21 as described-above. In the case where thejob control portion 13 transfers a print job to thefirst spooler 14 for the first time, thejob control portion 13, for example, confirms that no print job is stored in thefirst spooler 14 and determines that a print job is transferable. The transfer determining processing instep 102 is executed by acquiring MIB information as described-above. - Next, transfer determining processing by the
job control portion 13 in the present exemplary embodiment will be explained.FIG. 7 is a flowchart showing a specific example of a procedure of transfer determining processing in the present exemplary embodiment. - First, the
job control portion 13 executes an initialization of a variable (step 301). A processing instep 301 is the same as the processing ofstep 201 inFIG. 4 , and thejob control portion 13, for example, acquires a discrimination ID for discriminating theprinting device 20 to which a print job is to be transferred. - Next, the
print control portion 13 determines whether an event indicating some processing in theprint control apparatus 10 is occurred or not (step 302). In the case where the event is occurred (YES in step 302), thejob control portion 13 determines whether the occurred event is an acquisition of MIB information from theprinting device 20 or not, based on the discrimination ID and the like (step 303). On the other hand, in the case where the event is not occurred (NO in step 302), thejob control portion 13 waits until the event is occurred. - Next, in
step 303, in the case where the occurred event is an acquisition of MIB information (YES in step 303), thejob control portion 13 recognizes the processing state of thesecond spooler 21 based on the acquired MIB information, and determines whether a print job is transferable to thefirst spooler 14 or not (step 304). In the case where the last job is in the status of being spooled in thesecond spooler 21 or in the status of being completely spooled in thesecond spooler 21, thejob control portion 13 determines that a print job is transferable to the first spooler 14 (YES in step 304). In the case of a positive determination (YES) instep 304, the present processing flow is completed. After the present processing flow is completed, the processing ofstep 103 inFIG. 3 is sequentially executed. - On the other hand, in the case where the occurred event is not an acquisition of MIB information (NO in step 303), the process moves to step 302. In the case where the last job is neither in the status of being spooled in the
second spooler 21 nor in the status of being completely spooled in thesecond spooler 21, that is, for example, in the case where the last job has not been started to be outputted to thesecond spooler 21, thejob control portion 13 determines that a print job is not transferable to the first spooler 14 (NO in step 304). In the case of a negative determination (NO) instep 304, the process moves to step 302. - In such a manner, the
job control portion 13 waits while monitoring the processing state in thesecond spooler 21 until thejob control portion 13 determines that a print job is transferable to thefirst spooler 14, that is, until the last job is in the status of being spooled in thesecond spooler 21 or in the status of being completely spooled in thesecond spooler 21. - Next, a specific example of a processing of a print job transferred from the
print control apparatus 10 to theprinting device 20 will be explained. Here, explanation will be made by using the examples shown inFIG. 5-1A ,FIG. 5-1B ,FIG. 5-2C ,FIG. 5-2D ,FIG. 5-3E , andFIG. 5-3F . - Firstly, in the case where the job 1 is not transferred to the
first spooler 14, thejob control portion 13 determines that the job 1 is transferable to thefirst spooler 14 and transfers the job 1 from thejob storing portion 15 to thefirst spooler 14 as shown inFIG. 5-1A . When the job 1 is completely transferred to thefirst spooler 14, thejob control portion 13 sequentially outputs the job 1 from thefirst spooler 14 to thesecond spooler 21 as shown inFIG. 5-1B . - Here, as shown in
FIG. 5-1A , while the last job (that is, the job 1) has not been outputted to thesecond spooler 21, thejob control portion 13 determines that the job 2, which is the next print job, is not transferable to thefirst spooler 14. On the other hand, as shown in FIG. 5-1B, when the job 1 is started to be outputted to thesecond spooler 21, the status of the last job (the job 1) becomes the status of being spooled in thesecond spooler 21. Therefore, thejob control portion 13 regards the status of the last job as the status of being spooled in thesecond spooler 21 based on the MIB information acquired from theMIB acquiring portion 16, and determines that the job 2, which is the next print job, is transferable to thefirst spooler 14. Thejob control portion 13 starts to transfer the job 2 as shown inFIG. 5-2C . - When the job 2 is started to be transferred, as shown in
FIG. 5-2C andFIG. 5-2D , while the last job (that is, the job 2) has not been outputted to thesecond spooler 21, thejob control portion 13 determines that the job 3, which is the next print job, is not transferable to thefirst spooler 14. On the other hand, as shown inFIG. 5-3E , when the job 2 is started to be outputted to thesecond spooler 21 after the job 1 has been completely outputted to thesecond spooler 21, the status of the last job (the job 2) becomes the status of being spooled in thesecond spooler 21. Therefore, thejob control portion 13 determines that the job 3 is transferable to thefirst spooler 14, and the job 3 is started to be transferred as shown inFIG. 5-3F . - When the job 2 is completely outputted to the
second spooler 21 and the job 3 is completely transferred to thefirst spooler 14, the job 3 is to be outputted from thefirst spooler 14 to thesecond spooler 21. Therefore, since the status of the last job (that is, the job 3) becomes the status of being spooled in thesecond spooler 21, the next job 4 is started to be transferred from thejob storing portion 15 to thefirst spooler 14. In the similar procedure, the job 5 is to be transferred from thejob storing portion 15 to thefirst spooler 14. - As explained above, the
job control portion 13 monitors the processing state in thesecond spooler 21, and when the last job is in the status of being spooled in thesecond spooler 21 or in the status of being completely spooled in thesecond spooler 21, a print job is newly transferred from thejob storing portion 15 to thefirst spooler 14. That is, transfer control of a print job is executed based on the processing state in thesecond spooler 21. Therefore, utilizing theprint control apparatus 10 suppresses a decrease of processing speed of a print job and prevents the order of a print processing from being changed. - In the first exemplary embodiment and the second exemplary embodiment, after the
first spooler 14 outputs a print job, thefirst spooler 14 still stores the print job until the print processing is completed in theprinting device 20; however, for example, the print job may be removed at the point of being outputted to theprinting device 20. In this case, in the first exemplary embodiment, when the last job is completely outputted from thefirst spooler 14 to theprinting device 20, thejob control portion 13 confirms that no print job is stored in thefirst spooler 14 and determines that a new print job is transferable to thefirst spooler 14. Thefirst spooler 14, for example, may keep storing a part of data of a print job completely outputted to theprinting device 20 such as a status of the print job. - In the first exemplary embodiment and the second exemplary embodiment, the printing control system 1 includes one
printing device 20 and oneoperation terminal 30; however, the printing control system 1 may includeplural printing devices 20 andplural operation terminals 30. In the case where the printing system 1 includesplural printing devices 20, theoperation terminal 30 designates aprinting device 20 as a destination of a print job and transmits the print job to theprint control apparatus 10. Since thefirst spooler 14 is provided per aprinting device 20 to be a destination of a print job, each processing of theprinting devices 20 is executed in parallel. - Next, a hardware configuration of the
print control apparatus 10 in the first exemplary embodiment and the second exemplary embodiment will be explained.FIG. 8 is a diagram showing a hardware configuration example of theprinting control apparatus 10 in the present exemplary embodiment. As shown in the figure, theprint control apparatus 10, for example, is realized by a configuration of a general-purpose computer, and includes a Central Processing Unit (CPU) 51 as an arithmetic unit, a Read Only Memory (ROM) 52 as a memory unit, a Random Access Memory (RAM) 53, and amemory 54. - The
ROM 52 stores various programs, and theRAM 53 is used as a working memory when theCPU 51 executes the various programs. Thememory 54 is, for example, a memory area for storing input data and output data and the like of the various programs. TheROM 52 stores a program for implementing each function of theprint control apparatus 10 in the first exemplary embodiment and the second exemplary embodiment. The program is loaded onto theRAM 53 and a processing based on the program is executed by theCPU 51, and thereby each function of theprint control apparatus 10 is achieved. Theprint control apparatus 10 includes a communication I/F 55, adisplay mechanism 56 as a display device such as a liquid crystal display, an organic Electroluminescence (EL) display and the like, and aninput device 57 such as a keyboard and a mouse. - Specifically, in the
print control apparatus 10, with the instructions of theCPU 51, the functions of the receivingportion 11, thejob managing portion 12, thejob control portion 13, theMIB acquiring portion 16 and the like are achieved. Thejob storing portion 15 is, for example, achieved by thememory 54. Further, such as receipt of a print job by the receivingportion 11 and acquisition of MIB information by theMIB acquiring portion 16 are executed, for example, through the communication I/F 55. - A processing executed by the
print control apparatus 10 in the present exemplary embodiment in the above explanation is, for example, provided as a program such as application software as described above. - Therefore, a processing executed by the
print control apparatus 10 in the present exemplary embodiment can be recognized as a program for realizing, on a computer, a function of receiving a print instruction to instruct printing on a recording medium, a function of transferring a received print instruction to an outputting portion that is capable of storing plural print instructions therein and outputs a stored print instruction one by one to a printing device, and a function of transferring another received print instruction to the outputting portion when a print instruction transferred to the outputting portion last is started to be outputted from the outputting portion to the printing device. - The program that achieves the present exemplary embodiment may be provided not only by a communication unit but also by being stored in a recording medium such as a CD-ROM.
- The foregoing description of the exemplary embodiment of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The exemplary embodiment as chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Claims (9)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014062331A JP2015185017A (en) | 2014-03-25 | 2014-03-25 | Print controller, print control system, and program |
JP2014-062331 | 2014-03-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150277808A1 true US20150277808A1 (en) | 2015-10-01 |
US9158489B1 US9158489B1 (en) | 2015-10-13 |
Family
ID=54190415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/339,047 Expired - Fee Related US9158489B1 (en) | 2014-03-25 | 2014-07-23 | Buffering a print instruction before its transferred to a printing apparatus |
Country Status (2)
Country | Link |
---|---|
US (1) | US9158489B1 (en) |
JP (1) | JP2015185017A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6656593B2 (en) | 2017-04-14 | 2020-03-04 | 横河電機株式会社 | Safety instrumented control device and method, and safety instrumented system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226464A1 (en) * | 2002-06-10 | 2003-12-11 | Sharp Laboratories Of America, Inc. | Method to keep copies of device queued jobs in the network queue until print delivery is guaranteed |
US20050162667A1 (en) * | 2004-01-23 | 2005-07-28 | Leonard Felix | System and method for de-spooler job joining |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10260793A (en) * | 1997-03-19 | 1998-09-29 | Fuji Xerox Co Ltd | Printing controller |
JP2000010749A (en) | 1998-06-25 | 2000-01-14 | Mitsubishi Electric Corp | Spool control method |
JP3832624B2 (en) * | 2001-05-29 | 2006-10-11 | ノーリツ鋼機株式会社 | Printer sharing management program and printer sharing management system |
JP3656617B2 (en) * | 2002-06-18 | 2005-06-08 | セイコーエプソン株式会社 | Printing control system and printing method |
JP2013154527A (en) * | 2012-01-30 | 2013-08-15 | Seiko Epson Corp | Printer, method for controlling printer, program and program recording medium |
JP5041105B1 (en) | 2012-03-23 | 2012-10-03 | 富士ゼロックス株式会社 | Spool control device and program |
-
2014
- 2014-03-25 JP JP2014062331A patent/JP2015185017A/en active Pending
- 2014-07-23 US US14/339,047 patent/US9158489B1/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226464A1 (en) * | 2002-06-10 | 2003-12-11 | Sharp Laboratories Of America, Inc. | Method to keep copies of device queued jobs in the network queue until print delivery is guaranteed |
US20050162667A1 (en) * | 2004-01-23 | 2005-07-28 | Leonard Felix | System and method for de-spooler job joining |
Also Published As
Publication number | Publication date |
---|---|
JP2015185017A (en) | 2015-10-22 |
US9158489B1 (en) | 2015-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8885186B2 (en) | Printer using a conversion server to perform printing | |
US8854648B2 (en) | Printing system and printing control apparatus | |
US9792538B2 (en) | Printing system, printing apparatus, and control using sheet attribute information | |
US20170337018A1 (en) | Print control apparatus, printing system, method for controlling print control apparatus, and storage medium | |
US9141323B1 (en) | Printing control apparatus, printing control system and non-transitory computer readable medium | |
US8749819B2 (en) | Information processing for controlling a printer | |
JP2006031677A (en) | Print control device, printer, print network system, print control method, print control program and recording medium which records print control program | |
US20150254541A1 (en) | Print instruction apparatus, printing system, print instruction method, and non-transitory computer readable medium | |
JP2013073369A (en) | Print control system, print control method, image processor and print control program | |
US9158489B1 (en) | Buffering a print instruction before its transferred to a printing apparatus | |
US10277765B2 (en) | Information processing device, control method, and program | |
JP2014168855A (en) | Image formation apparatus, image formation method and program | |
JP6226694B2 (en) | Information processing apparatus, control method therefor, and program | |
JP2011090599A (en) | Information processing apparatus and method | |
JP5106058B2 (en) | Printing system for judging abnormality of printing control device and restoring printing device | |
US9542128B2 (en) | Preview image of output data from an output device with user input | |
JP2010097479A (en) | Control program for image forming apparatus, image forming system, and image forming method | |
US9183476B2 (en) | Print management apparatus, image forming system, and non-transitory computer readable medium | |
JP6602053B2 (en) | Information processing apparatus, control method, and program | |
US8896872B2 (en) | Print control apparatus, printing system, and non-transitory computer readable medium | |
US9262116B2 (en) | Print control apparatus, image forming apparatus, image forming system, and method of controlling for spooling printing data and handling status information about a work of the image forming apparatus throughout printing process | |
US11216230B2 (en) | Job transmission device, job processing device, program, and job transmission method performed by job transmission device | |
US20160156789A1 (en) | Image forming apparatus | |
JP6608175B2 (en) | Information processing apparatus, control method, and program | |
JP2011221889A (en) | Printing system, printer, installer, installation method and installation program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FUJI XEROX CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAGUCHI, YUSUKE;TAKAYAMA, NAOYA;REEL/FRAME:033381/0939 Effective date: 20140716 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: FUJIFILM BUSINESS INNOVATION CORP., JAPAN Free format text: CHANGE OF NAME;ASSIGNOR:FUJI XEROX CO., LTD.;REEL/FRAME:058287/0056 Effective date: 20210401 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20231013 |