7/7/2005 7/7/2005 1 Distributed Distributed “ “ veto veto ” ” algorithm in algorithm in Production Digital Printing Production Digital Printing
7/7/20057/7/2005 11
Distributed Distributed ““vetoveto”” algorithm in algorithm in Production Digital PrintingProduction Digital Printing
7/7/20057/7/2005 22
Traditional Print Traditional Print workflowworkflow
14361436--20052005
7/7/20057/7/2005 33
Offset Printing BasicsOffset Printing Basics§§ High Quality.High Quality.§§ High setup time.High setup time.§§ Fast print time.Fast print time.§§ Fixed setup cost.Fixed setup cost.§§ Low cost per pageLow cost per page
(long runs).(long runs).§§ Process Process ––
–– Prepress.Prepress.–– Make plates.Make plates.–– Mount plates.Mount plates.–– Adjust.Adjust.–– Print.Print.–– Offline finishing.Offline finishing.
7/7/20057/7/2005 44
Manual Finishing OperationsManual Finishing Operations
§§ In the traditional workflow with runIn the traditional workflow with run--length of 10K length of 10K and more, manual operations between printing and more, manual operations between printing and finishing are reasonable.and finishing are reasonable.§§ At jobs of 10K this will happen a few times a day.At jobs of 10K this will happen a few times a day.
7/7/20057/7/2005 55
Production Digital PrintingProduction Digital Printing
§§ Provide Provide Offset print qualityOffset print quality, at , at any job runany job run--lengthlength and and competitive pricescompetitive prices..
§§ The key to competitive prices at small quantities The key to competitive prices at small quantities –––– No setup charge and no setup time.No setup charge and no setup time.–– Automation, automation, automationAutomation, automation, automation……
§§ When printing 100+ jobs per day When printing 100+ jobs per day –– manual operations manual operations are impossible.are impossible.
7/7/20057/7/2005 66
ModulesModules
§§ A high volume digital printing equipment is a A high volume digital printing equipment is a modular system with all or some of the modular system with all or some of the following modules:following modules:–– Digital Front End.Digital Front End.–– Print Engines.Print Engines.–– Paper Feed units.Paper Feed units.–– Stacker units.Stacker units.–– Binders, booklet makers, etc.Binders, booklet makers, etc.
7/7/20057/7/2005 77
ExamplesExamples
§§ Two examples of Xerox machines:Two examples of Xerox machines:§§ Igen3 Igen3 ––
–– Digital Press, Digital Press, cutcut--sheets. sheets. 110ppm.110ppm.
§§ DocuPrintDocuPrintTMTM10501050–– Continuous Continuous
printing.printing.–– Two engines.Two engines.–– Transactional.Transactional.
7/7/20057/7/2005 88
Module descriptionModule description
§§ Digital Front End Digital Front End –– print serverprint server–– Responsible for job management, image Responsible for job management, image
processing, color fidelity, etc.processing, color fidelity, etc.–– Delivers ready to print image separations to Delivers ready to print image separations to
laser heads.laser heads.–– A customer may have the choice of several A customer may have the choice of several
vendors.vendors.§§ CREOCREO§§ AGFAAGFA§§ EFIEFI
7/7/20057/7/2005 99
The print engineThe print engine
§§ Print EnginePrint Engine–– The actual transfer of The actual transfer of
image to paper.image to paper.–– A machine may have A machine may have
more then one engine.more then one engine.
7/7/20057/7/2005 1010
Print OperationPrint Operation
Print engine stations:Print engine stations:§§ AlignmentAlignment§§ TransferTransfer§§ FuserFuser§§ DuplexDuplex
7/7/20057/7/2005 1111
Paper units Paper units -- FeederFeeder
§§ Paper FeedPaper Feed–– Stores blank paper to Stores blank paper to
be printed.be printed.–– May be in cutMay be in cut--sheets sheets
drawers or continues drawers or continues paper rolls.paper rolls.
–– A machine may have A machine may have multiple units multiple units supporting various supporting various paper sizes.paper sizes.
7/7/20057/7/2005 1212
Paper Units Paper Units -- StackerStacker
§§ Holds stacks of printed jobs.Holds stacks of printed jobs.
7/7/20057/7/2005 1313
Paper Units Paper Units –– Booklet MakerBooklet Maker
§§ Trims and stitches individual printed papers into a Trims and stitches individual printed papers into a booklet.booklet.
7/7/20057/7/2005 1414
Paper Units Paper Units -- BinderBinder
§§ Binds documents into Binds documents into a booklet with cover.a booklet with cover.
7/7/20057/7/2005 1515
The General CaseThe General Case
§§ In the general case we may have a printing In the general case we may have a printing solution with the following structure:solution with the following structure:
7/7/20057/7/2005 1616
Business environmentBusiness environment
§§ Each module may be manufactured by a Each module may be manufactured by a different vendor.different vendor.§§ We may have various vendor options for We may have various vendor options for
some of the modules.some of the modules.§§ Technology Intellectual Property is protected Technology Intellectual Property is protected
–– cancan’’t do it alone.t do it alone.§§ A module may be adopted from a previous A module may be adopted from a previous
product line and may be of different product line and may be of different technology generation.technology generation.
7/7/20057/7/2005 1717
Evolutionary processEvolutionary process
§§ The huge investment The huge investment needed to develop digital needed to develop digital printing equipment dictates printing equipment dictates evolutionary process.evolutionary process.
§§ First models sales finance First models sales finance new models.new models.
§§ Small incremental Small incremental improvements from one improvements from one model to the next in a model to the next in a single product line.single product line.
§§ Same basic modules in a Same basic modules in a product line.product line.
7/7/20057/7/2005 1818
$$$$$$ The Problem The Problem $$$$$$Create a modular system that is Create a modular system that is produced by multiple companies and produced by multiple companies and multiple design teams which are multiple design teams which are distributed geographically, with distributed geographically, with minimum integration effort and only minimum integration effort and only small changes between following small changes between following models...And make it models...And make it cheapcheap enough!!!enough!!!
7/7/20057/7/2005 1919
SolutionSolution
Distributed control.Distributed control.–– Independent modules. Operation of each of the Independent modules. Operation of each of the
modules is controlled by a local controller with modules is controlled by a local controller with software developed by the local manufacturer.software developed by the local manufacturer.
–– Module controllers communicate by messages. Module controllers communicate by messages. Fixed interface protocols.Fixed interface protocols.
–– Modules are connected by lowModules are connected by low--latency industrial latency industrial grade network (CAN).grade network (CAN).
–– Print operation and order is controlled by the Print operation and order is controlled by the server.server.
7/7/20057/7/2005 2020
The next problemThe next problem§§ The system is composed of different modules, The system is composed of different modules,
which may operate at different speeds, and may which may operate at different speeds, and may have been done for a different print equipment. have been done for a different print equipment. Ex. It Ex. It is possible to use a feeder of Xerox DocuColor7000 which prints is possible to use a feeder of Xerox DocuColor7000 which prints at 70 pages/minute, at 70 pages/minute, with the DocuColor6060 which prints at 60pages/minute.with the DocuColor6060 which prints at 60pages/minute.
§§ The print operation needs to synchronize multiple The print operation needs to synchronize multiple modules at different nominal speeds with modules at different nominal speeds with minimal minimal software changessoftware changes. . §§ When we start a print operation of a page, we When we start a print operation of a page, we
need to be sure that every one of the modules need to be sure that every one of the modules along the paper path is ready for this operation along the paper path is ready for this operation since once it started since once it started it cannot be stoppedit cannot be stopped..
7/7/20057/7/2005 2121
The SolutionThe Solution
§§ Distributed Veto AlgorithmDistributed Veto Algorithm–– PremisesPremises§§ Reliable communication.Reliable communication.§§ Low latency Low latency –– communication between all modules.communication between all modules.§§ Nodes are aware of system configuration:Nodes are aware of system configuration:
–– Number of modules.Number of modules.–– Length of paper path in terms of Length of paper path in terms of ““framesframes””..–– Location in paper path.Location in paper path.
§§ Well defined time frame for each paper at each module. Well defined time frame for each paper at each module. §§ We may delay the operation by a full number of We may delay the operation by a full number of ““framesframes”” when when
impossible to print.impossible to print.
7/7/20057/7/2005 2222
The algorithmThe algorithm
§§ A Scheduler receives the A Scheduler receives the job description and job description and calculates the optimal print calculates the optimal print sequence and order.sequence and order.
§§ For this print configuration, For this print configuration, he broadcasts a he broadcasts a ““commitment requestcommitment request”” to to all the modules along the all the modules along the paper path for execution of paper path for execution of the next page at frame the next page at frame ““nn””..
Xerox Corporation US patent 5363175Xerox Corporation US patent 5363175
7/7/20057/7/2005 2323
Veto AlgorithmVeto Algorithm§§ Modules needs to commit a number of frames in advance, Modules needs to commit a number of frames in advance,
according to their distance from the beginning of the paper according to their distance from the beginning of the paper path.path.
§§ The The ““REQUESTREQUEST”” message is broadcasted with the message is broadcasted with the ““frameframe””index.index.
§§ Each module commits or rejects the commitment for the Each module commits or rejects the commitment for the requested frame. The broadcast of the reply carries the requested frame. The broadcast of the reply carries the frame index.frame index.
§§ If any of the modules did not commit for frame If any of the modules did not commit for frame ““nn””, the , the requested frame is considered requested frame is considered ““skippedskipped”” and the Scheduler and the Scheduler will rewill re--request it at frame request it at frame ““n+1n+1””..
§§ Once all modules committed, the requested frame is Once all modules committed, the requested frame is considered active, and is scheduled to be serviced by each considered active, and is scheduled to be serviced by each of the modules.of the modules.
7/7/20057/7/2005 2424
Veto AlgorithmVeto Algorithm
§§ Achievements:Achievements:–– Simple algorithm.Simple algorithm.–– Fast adaptation of modules into a system with Fast adaptation of modules into a system with
minimum software changes.minimum software changes.–– Fast reconfiguration of a system.Fast reconfiguration of a system.–– System prints at maximum rate permitted by all System prints at maximum rate permitted by all
modules.modules.
––$$$$$$ Production of shortProduction of short--run jobs made run jobs made possible possible $$$$$$
7/7/20057/7/2005 2525
BibliographyBibliography• “Method and apparatus for improved job stream
printing in an electronic printer with various finishing function” United States Patent 5095369, , Xerox Corporation (Stamford, CT), Inventors: Ortiz; Pedro R. (Webster, NY);Farrell; Michael E. (Fairport, NY);Rasmussen; David L. (Fairport, NY);Austin; John C. (Rochester, NY)
• “Distributed job scheduling with modular components” United States Patent 5363175, Xerox Corporation (Stamford, CT), Inventors: Matysek; James F. (Fairport, NY)
• “Handbook of Print Media”, Helmut Kipphan.