The accompanying drawings illustrate presently preferred embodiments of the invention, and together with the general description given above and the detailed description given below, serve to explain the principles of the invention. As shown throughout the drawings, like reference numerals designate like or corresponding parts.
The present invention, in its various aspects, manages potential mismatches between operating rates of a printer and an inserter in a mail-creation system by interposing a relatively small sheet buffer between the printer and the inserter while managing the flow of print data to the printer based on the extent to which there is space available in the sheet buffer. With this technique, operation of the printer may be completely conventional, and no custom-programming of the printer is required. In some embodiments, a small software modification is made to a so-called “language monitor” software component of the personal computer (PC) that drives the printer. The modification of the language monitor need not entail significant difficulty or expense. A control module associated with the inserter monitors the state of the sheet buffer (i.e., monitors the extent to which space is available in the sheet buffer) and communicates with the language monitor to control release of pages of print data from the PC to the printer.
Another significant aspect of the control system is that, in addition to supporting use of a relatively small buffer, the control system is designed to handle asynchronous cycle rates that vary between the printer and inserter. The control algorithm may adapt the timing of commitment of sheets to the printer depending upon whether the printer is momentarily faster or slower than the inserter. Also, the control algorithm may adapt to changes in the relative speeds of the printer and inserter. The changes in relative speed may occur as a result of intended situations (e.g., extra contents inserted into a particular mail piece) or unintended situations, such as a temporary hesitation in the inserter due to a mis-feed.
The mail creation system 100 includes a PC 102 and a printer 104 coupled to the personal computer to receive print data from the PC 102. The PC 102 may function as the sole or primary source of data to be used in generating the mail pieces to be created by the mail-creation system 100. The printer 104 may print some or all of the documents that form the contents of the mail pieces created by the mail-creation system 100. In printing those documents, the printer 104 may be driven by the print data downloaded to it from the PC 102. The printer 104 itself may be entirely conventional and indeed may be an “off-the-shelf” item. The PC 102 may be substantially conventional in its operation except for a relatively minor software modification as indicated below.
The mail creation system 100 further includes a mechanical sheet buffer 106 coupled to the printer 104 to receive sheets output from the printer 104 via a mechanical interface 108. The sheet buffer 106 may be constructed substantially in accordance with conventional principles, except that the sheet buffer 106 may be configured and sized so as to promote efficient operation of the mail-creation system. Certain details of the configuration and functioning of the sheet buffer 106 will be provided below.
Still further, the mail creation system 100 may include an inserter 110 (or another type of mail-assembling device) which is coupled to the sheet buffer 106 to receive printed sheets from the sheet buffer 106. A user interface/control module 112 is associated with the inserter 110 and forms a part of the mail creation system 100. Certain control operations performed by the control module 112 represent significant aspects of the present invention. Except for modifications to the (e.g., software and/or firmware of) the control module 112, the inserter 110 may be conventional in its structure and operation. For example, the inserter 110 may include an outsort module 114 for outsorting papers/mail pieces to be diverted from the normal process path, and also may include an envelope feeder 116, among other conventional components. The inserter 110 may operate to fold sheets received from the sheet buffer 106 and to insert the folded sheets in envelopes fed from the envelope feeder 116. The control module 112 may include such conventional components of a user interface as a display screen (not separately shown) and a keypad/control buttons, etc. (also not separately shown).
To summarize the data/command/paper flows illustrated in
Considering again the laser printer 104, printed sheets from the laser printer 104 are fed to the mechanical buffer 106, and are fed out from the buffer 106 to the inserter 110, at which the printed sheets are assembled into mail pieces.
The first sheet storage position 404 may function to invert (i.e., flip over) a sheet upon entrance of the sheet into the sheet buffer 106. The second sheet storage position 406 may serve as an exit stage from the inverter segment 404. The next sheet storage position 408 may be referred to as a “vertical transport” segment in that the segment 408 vertically downwardly transports the current sheet away from the inverter exit 406, at times when the sheet is moving through the segment 408. Of course, as is the case with all of the segments, there may also be times when a sheet is held in a stationary condition in the segment 408.
The fourth sheet storage position 410 may function to pass the sheet past a barcode scanner (not separately shown). The sheets may carry one or more barcodes to indicate whether or not each sheet is part of a larger collation, and the barcode scanner referred to in the previous sentence may read the barcodes and provide, to the inserter control module 112 (
Thus, as will be readily seen from
Those who are skilled in the art will appreciate that each of the sheet storage positions 404-414 may include one or more sensors, switches, motors, roller-pinches, guides and the like (all not separately shown) to allow each stage to selectively hold or pass a sheet (or a multi-sheet collation, in the cases of sheet storage positions 412, 414) under the control of the inserter control module 112 (
Following step 502 is decision block 504, at which it is determined whether the leading edge of a printed sheet has been detected (via a suitable sensor, not shown) at an exit point of the printer 104. If such is the case, then step 506 follows, at which the inserter control module 112 decrements the number of sheets which, according to a count maintained by the inserter control module 112, had theretofore been committed for printing to the printer 104. However, if a negative determination is made at decision block 504 (i.e., if the leading edge of a sheet was not detected at the exit from the printer), then decision block 508 follows decision block 504. At decision block 508, it is determined whether there has been a change in the number of sheets held in the buffer. If so, then step 510 follows at which the inserter control module determines whether the buffer has a capacity to handle a sheet or sheets in excess of the number already committed to printing. If such is the case, then, at step 512, the inserter control module instructs the language monitor to commit an additional sheet or sheets for printing to the printer. In any event, the number of sheets committed does not exceed six sheets (corresponding to the six storage positions in the buffer), as indicated at step 514. After step 514, the process ends 516, which may result in the process looping back to “begin” 500.
It will also be recognized from
Also considering again decision block 508, if a negative determination is made at that point (i.e., if there has been no change in the number of sheets in the buffer), then the process ends 516 after decision block 508, subject as before to looping back to 500.
The communication between the inserter control module and the language monitor may be handled in a number of different ways. In a preferred embodiment, the inserter control module sends requests to the language monitor requesting the language monitor to commit a sheet or sheets of print data to the printer. For example, upon start-up, the inserter control module may request the language monitor to commit six sheets of print data to the printer, and the language monitor may send a message back to the inserter control module to indicate that the language monitor has committed the six sheets of print data to the printer. Thereafter, as buffer capacity permits, the inserter control module may send requests to the language monitor requesting that the language monitor commit single sheets of print data to the printer, and in each case the language monitor may send a message back to the inserter control module to indicate that the language monitor has committed the requested sheet of print data to the printer. This method of controlling the flow of print data to the printer may be considered to be “buffer driven”.
The messaging between the inserter control module and the language monitor, and the operation of the mail creation system may be such that rapid messaging is not required. Rather, in some embodiments, it need not be necessary for a message response to be provided sooner than 500 milliseconds after the previous message was received.
As an alternative to the buffer driven control approach, a “PC driven” control approach may be employed. With this approach, the language monitor may, possibly at regular intervals, or as rapidly as needed to keep the printer operating at maximum speed, query the inserter control module as to whether there is space available in the sheet buffer. The inserter control module may then respond to these queries by indicating either that space is or is not available in the sheet buffer. A possible disadvantage of this approach is increased use of bandwidth for polling and responses to polling, some of which may be wasted at times when there is no available space in the buffer.
In both the buffer driven and PC driven approaches, it should be understood that the language monitor is providing pages of print data to the printer in response to control signals from the inserter control module; in the PC driven approach, the responses from the inserter control module to polling from the language monitor may be considered to be control signals at least in that the inserter control module's responses control whether the language monitor downloads pages of print data to the printer.
If a negative determination is made at decision block 606, then decision block 608 follows. At decision block 608, it is determined whether the sheet is the last sheet in a collation (“end of collation”, or “EOC”). If so, or if it is not known whether the sheet is the last in a collation, then the sheet is included in the count of sheets in the buffer (step 610). If a negative determination is made at 608 (i.e., the sheet is not the last of a collation), then decision block 612 follows. At decision block 612 it is determined whether the sheet is leaving or has left the last sheet storage position (segment 410,
The end of the process of
In the “throttle control” method employed with respect to the language monitor as described above, the pages of print data are effectively provided to the printer in a “burst mode”, in that as many pages as possible are provided as fast as possible to the printer consistent with not overfilling the buffer. When the buffer is unable to accept more sheets, downloading of pages of data to the printer is stopped. The present inventors have determined that the burst mode is likely to promote more efficient operation of the printer (maximum throughput) as opposed to another mode in which a constant delay is established between the feeding of sequential pages of data. The present inventors have found that the constant delay mode may tend to result in significant variations in the delay between sheets exiting from the printer, thus reducing throughput.
Still another possible type of control approach could be adaptive in that in such an approach sheets may be committed more rapidly to the printer, when information such as the number of sheet(s) in a mail piece is known and the detection of a mail piece collation boundary can be assessed earlier and thus more sheets committed sooner. Multiple sheets within a collation are accumulated in the Accumulator area. By having more sheets in the buffer (while still providing sufficient storage areas for all the collations and sheets) the buffer may be allowed to deliver more average collations to the inserter if the printer were delayed on startup. Such situations may arise if the inserter pauses temporarily (due to a feeder misfeed), but then resumes automatically (inserter feeder retry is successful), but the delay is sufficiently long for the printer to shut down. By having more sheets in storage with an adaptive method, the restart time of the printer is overlapped with the delivery of the sheets from the buffer system, resulting in slightly higher overall throughput.
The inventors have found that with a buffer size of six sheets (disregarding potential multi-sheet collations) and a print data source throttle control technique as described in connection with
The inherent flexibility of the control algorithm described herein readily accommodates exchanging one type or model of printer for another in the document creation system.
If the buffer size were increased from six sheets, the system performance (throughput) may be enhanced in some cases, but at the cost of possibly more expense in manufacturing the buffer and greater space required for the buffer. If the buffer size were reduced from six, cost and space may be saved with respect to the buffer, but the system performance may be adversely affected.
A number of embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Other variations relating to implementation of the functions described herein can also be implemented. Accordingly, other embodiments are within the scope of the following claims.