US20190107977A1 - Print management method, apparatus, and computer-readable medium - Google Patents
Print management method, apparatus, and computer-readable medium Download PDFInfo
- Publication number
- US20190107977A1 US20190107977A1 US15/727,348 US201715727348A US2019107977A1 US 20190107977 A1 US20190107977 A1 US 20190107977A1 US 201715727348 A US201715727348 A US 201715727348A US 2019107977 A1 US2019107977 A1 US 2019107977A1
- Authority
- US
- United States
- Prior art keywords
- output device
- plug
- job
- group
- 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
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/124—Parallel printing or parallel ripping
-
- 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/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- 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/1203—Improving or facilitating administration, e.g. print management
- G06F3/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- 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
-
- 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/1241—Dividing a job according to job requirements, e.g. black/white and colour pages, covers and body of books, tabs
-
- 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/1282—High volume printer 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/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
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
Definitions
- This disclosure relates generally to image processing and, more particularly, to print management involving multiple printing and/or finishing machines.
- Cluster printing involves the use of multiple machines to complete a print job.
- a print job may have a very large number of pages, so printing may be distributed to multiple printing machines for faster completion time.
- a print job may have some pages requiring color, which can be distributed to a color printer while other pages not requiring color (BW pages) can be distributed to a black-and-white only printer. In this way, the run time of the color printer is not wasted on BW pages.
- a print job may involve printing and a subsequent finishing operation, such as stapling, collating, hole punching, folding, and/or binding.
- the printing operation can be distributed to a printer, and the finishing operation can be distributed to a dedicated finishing machine. Splitting operations in this way can help balance operations in a print shop to reduce idle time and help avoid workflow bottlenecks at a particular machine.
- a print server may perform print management to identify printing and finishing machines appropriate for a print job.
- the process of identifying appropriate machines for cluster printing can become complicated when the server must work with a large number of possible printing and finishing machines having diverse capabilities and constraints.
- the job ticket created by a conventional server even with the help of user input, may be missing a parameter required by a printing or finishing machine. Also, the job ticket may have many parameters which do not apply to a printing or finishing machine. Situations like these and others may decrease the efficiency of the print server.
- cluster print management software in the server usually needs to be updated by a software engineer, which can increases the complexity of the software, which can in turn make it more time consuming to make updates for new models in the future.
- the present invention is directed to a method, print server, and non-transitory computer readable medium for print management.
- a print management method comprises receiving a print order at a print server, determining whether the received print order is to be split among plural output devices, the plural output devices including a first output device and a second output device, determining whether the print server has a group plug-in corresponding to both the first output device and the second output device, the group plug-in enabling the print server to communicate with both the first output device and the second output device to complete the print order, creating a first child job and a second child job from the print order, assigning the first child job to the first output device, assigning the second child job to the second output device, when the print server is determined to have the group plug-in, completing the print order by using the group plug-in to instruct the first output device to execute the first child job and to instruct the second output device to execute the second child job, and when the print server is determined to not have the group plug-in, completing the print order by using a first plug-in to instruct the first output device to execute the first child job, and using a second plug-in
- a print server is in communication with plural output devices, print server executing a print management program to perform a print management method.
- the print management method comprises receiving a print order at a print server, determining whether the received print order is to be split among the plural output devices, the plural output devices including a first output device and a second output device, determining whether the print server has a group plug-in corresponding to both the first output device and the second output device, the group plug-in enabling the print server to communicate with both the first output device and the second output device to complete the print order, creating a first child job and a second child job from the print order, assigning the first child job to the first output device, assigning the second child job to the second output device, when the print server is determined to have the group plug-in, completing the print order by using the group plug-in to instruct the first output device to execute the first child job and to instruct the second output device to execute the second child job, and when the print server is determined to not have the group plug-in, completing the print order
- a non-transitory computer readable medium has stored thereon computer readable instructions that, when executed by a server processor of print server, cause the print server to perform a process for print management.
- the process comprises receiving a print order at a print server, determining whether the received print order is to be split among plural output devices, the plural output devices including a first output device and a second output device, determining whether the print server has a group plug-in corresponding to both the first output device and the second output device, the group plug-in enabling the print server to communicate with both the first output device and the second output device to complete the print order, creating a first child job and a second child job from the print order, assigning the first child job to the first output device, assigning the second child job to the second output device, when the print server is determined to have the group plug-in, completing the print order by using the group plug-in to instruct the first output device to execute the first child job and to instruct the second output device to execute the second child job, and when the print server is determined to
- FIG. 1 is a schematic block diagram showing an example system for print management.
- FIG. 2 is a schematic block diagram showing an example print server of FIG. 1 .
- FIG. 3 is a schematic block diagram showing an example client device of FIG. 1 .
- FIG. 4 is a schematic block diagram showing an example printer of FIG. 1 .
- FIG. 5 is a schematic block diagram showing an example finisher of FIG. 1 .
- FIG. 6 is a schematic block diagram showing example functional modules of a print management program and example plug-ins mounted in the print server of FIG. 1 .
- FIG. 7 is a schematic block diagram showing example functional modules of the plug-ins of FIG. 6 .
- FIG. 8 is a schematic block diagram showing example group plug-ins mounted in the print server of FIG. 1 , the group plug-ins being for cluster printers.
- FIG. 9 is a schematic block diagram showing example functional modules of the plug-ins of FIG. 8 .
- FIG. 10 is a flow diagram showing an example method for print management using the plug-ins of FIGS. 6 and 8 .
- FIG. 11 is a schematic block diagram showing example group plug-ins mounted in the print server of FIG. 1 , the group plug-ins being for printers and finishers.
- FIG. 12 is a schematic block diagram showing example functional modules of the plug-ins of FIG. 11 .
- FIG. 13 is a flow diagram showing an example method for print management using the plug-ins of FIGS. 6 and 11 .
- FIG. 14 is a schematic block diagram showing an example printer-specific plug-in mounted in the print server of FIG. 1 .
- FIG. 15 is a schematic block diagram showing example functional modules of the plug-in of FIG. 14 .
- FIG. 16 is a flow diagram showing an example method for print management using the plug-ins of FIGS. 6 and 14 .
- FIG. 17 is a schematic block diagram showing an example setting-specific plug-in mounted in the print server of FIG. 1 .
- FIG. 18 is a schematic block diagram showing example functional modules of the plug-in of FIG. 17 .
- FIG. 19 is a flow diagram showing an example method for print management using the plug-ins of FIGS. 6 and 17 .
- FIG. 20 is a schematic block diagram showing an example customer-specific plug-in mounted in the print server of FIG. 1 .
- FIG. 21 is a schematic block diagram showing example functional modules of the plug-in of FIG. 20 .
- FIG. 22 is a flow diagram showing an example method for print management using the plug-ins of FIGS. 6 and 20 .
- FIG. 23 is table showing example information about use time of various plug-ins, which use times may be analyzed by the print server.
- FIGS. 24 and 25 are schematic block diagrams showing example transmission routes of plug-ins to the print server.
- FIG. 1 example system 10 for print management.
- System 10 includes client devices 12 , print server 14 (abbreviated as server 14 ), and printing machines 18 (abbreviated as printers 18 ), and finishing machines 20 (abbreviated as finishers 20 ).
- client devices 12 print server 14
- printers 18 printing machines 18
- finishing machines 20 abbreviated as finishers 20 .
- Some of these system elements are labeled in the figures using numerals and letters (e.g., 18 A, 18 B, 18 C) to distinguish particular elements within the group. Numerals without letters refer to any or all members of the group.
- Client devices 12 communicate with server 14 to have print orders 16 completed by printers 18 and finishers 20 .
- Each print order 16 can be request to print a single copy document, or a request to print multiple copies of a single document.
- Printing and finishing requirements (collectively referred to as print process requirements) in print orders 16 are not in a format that can be understood and used by printers 18 and finishers 20 .
- Server 14 translates print orders 16 to print jobs 17 having print process requirements in a format that can be understood and used by printers 18 and finishers 20 .
- a print shop such as one in an office or building, may house server 14 , printers 18 , and finishers 20 .
- the print shop can be a commercial establishment that takes print orders 16 from a variety of organizations, such as hospitals, schools, and financial institutions.
- the print shop can be a department within a large organization, such as a government agency or large corporation, in need of high speed and high volume printing services.
- the print shop has client device 12 A which can send print orders 16 to server 14 via network 22 , such as a local or wide area network.
- Other client devices 12 B and 12 C are located remotely from the print shop and may send print orders 16 to server 14 via the Internet 24 and network 22 .
- Server 14 sends print jobs 17 to printers 18 and finishers 20 via network 22 .
- server 14 includes one or more computer processors 30 , one or more memory devices 31 , one or more input devices 34 , server display 35 , and server network interface 36 which are interconnected via data communication bus 37 .
- the one or more computer processors 30 are collectively referred to as server processor 30 .
- Server processor 30 includes circuits and electronic components that execute instructions within print management program 38 for performing the methods described herein.
- Server memory 31 includes any one or a combination of random-access memory (RAM) modules, read-only memory (ROM) modules, and other electronic data storage devices.
- Server memory 31 may include a mass storage type of device such as an optical CD or DVD drive, magnetic hard disk drive, or solid-state flash drive.
- Server memory 31 includes a non-transitory computer readable medium that stores print management program 38 .
- Server memory 31 stores a file system comprising hot folders 39 .
- Hot folders 39 are monitored by print management program 38 , which is executed by server processor 30 , such that a new file that arrives in any of the hot folders is processed by print management program 38 .
- Server input device 34 may include any one or more of a keyboard with buttons, touch-sensitive screen, mouse, electronic pen, microphone, and other means of user input.
- Server display 35 may include a liquid crystal display, projector, or other type of visual display device. Server input device 34 and display 35 may be used by a server-side user (such as a print shop administrator) to run print management program 38 and to install plug-ins described below.
- Server network interface (I/F) 36 is configured to allow server 14 to communicate with client devices 12 , printers 18 , and finishers 20 through network 22 and the Internet 24 .
- Server network I/F 36 includes circuits and electronic components configured for data communication through network 22 .
- Server network I/F 36 enables server 14 to receive print orders 16 , and optionally plug-ins, from client devices 12 .
- client device 12 includes one or more computer processors 40 , one or more memory devices 41 , one or more input devices 44 , client display 45 , and client network interface 46 which are interconnected via data communication bus 47 .
- client device 12 can be a computer workstation, laptop computer, tablet, or smartphone.
- the one or more computer processors 40 are collectively referred to as client processor 40 .
- Client processor 40 includes circuits and electronic components that execute instructions of a web browser program and/or a file manager program.
- the one or more computer memory devices 41 are collectively referred to as client memory 41 .
- Client memory 41 includes any one or a combination of random-access memory (RAM) modules, read-only memory (ROM) modules, and other electronic data storage devices.
- Client memory 41 may include a mass storage type of device such as an optical CD or DVD drive, magnetic hard disk drive, or solid-state flash drive.
- Client memory 41 includes a non-transitory computer readable medium that optionally stores files associated with a file manager program, such as Windows Explorer.
- client device 12 A FIG. 1
- the client-side user can be an employee of the print shop.
- a printing source file contains data that the client-side user wants to have printed.
- the data may correspond to a photograph, illustration, and/or text.
- a printing source file can be a single PDF file, JPG file, or other format.
- the drag and drop operation by the client-side user causes client device 12 A to send the printing source file to server 14 .
- each hot folder 39 has associated with it a data set of print process requirements that establishes whether the contents of the printing source file will be subjected to 2-sided printing, for example.
- Other example print process requirements include, without limitation: paper type, paper size, color or BW printing, output resolution or quality, and finishing such as stapling, collating, hole punching, folding, and stitching.
- the non-transitory computer readable medium of client memory 41 may store files associated with a web browser.
- each of client devices 12 B and 12 C may run the web browser, which provides a web-based user interface (U/I) with which a client-side user creates print orders 16 .
- the client-side user can be print shop customer located remotely from the print shop.
- Each print order 16 from client devices 12 B and 12 C includes a printing source file and a data set of print process requirements, which are to be used when printing and/or finishing.
- Such print orders 16 created by the client-side user are sent by the web browser of client device 12 to server 14 .
- the one or more input devices 44 are collectively referred to as client input device 44 .
- Client input device 44 may include any one or more of a keyboard with buttons, touch-sensitive screen, mouse, electronic pen, microphone, and other means of user input.
- Client display 45 may include a liquid crystal display, projector, or other type of visual display device. Client input device 44 and display 45 may be used by the client-side user to interact with the web browser or file manager program of client device 12 to send print order 16 to server 14 .
- Client network interface (I/F) 46 is configured to allow client device 12 to communicate with server 14 through network 22 and the Internet 24 .
- Client network I/F 46 includes circuits and electronic components configured for data communication through network 22 .
- Client network I/F 46 enables client device 12 to send print orders 16 , and optionally plug-ins, to server 14 .
- printer 18 includes one or more computer processors 50 , one or more memory devices 51 , scanner 52 , print assembly 53 , one or more input devices 54 , printer display 55 , printer paper conveyor 56 , and printer network interface 57 . These machine elements of printer 18 are interconnected via data communication bus 58 .
- the one or more computer processors 50 are collectively referred to as printer processor 50 .
- Printer processor 50 includes circuits and electronic components that execute instructions within printer program 59 for controlling the above-mentioned machine elements of printer 18 .
- Printer memory 51 includes any one or a combination of random-access memory (RAM) modules, read-only memory (ROM) modules, and other electronic data storage devices.
- Printer memory 51 may include a mass storage type of device such as an optical CD or DVD drive, magnetic hard disk drive, or solid-state flash drive.
- Printer memory 51 includes a non-transitory computer readable medium that stores files associated with printer program 59 .
- the non-transitory computer readable medium of printer memory 51 may also store data for print job 17 received by printer 18 from server 14 .
- the data for a print job sent to a printer includes a job ticket and a printing language file that will be described below.
- Scanner 52 reads optical information of images on pages of a physical document placed by a user on printer 18 . Light is emitted by scanner 52 , which is reflected by the pages. Scanner 52 senses the reflected light and converts it to electrical or digital information, which can be used to print pages that are duplicates of those of the physical document. Other scanning techniques may be used. Some printers 18 may not have a scanner.
- print order 16 may involve making one or more duplicate copies of a physical document that is brought to a print shop by a customer.
- Scanner 12 is used to create a printing source file of the physical document, which is sent by printer 18 to server 14 .
- the customer may tell a print shop employee what the print process requirements are, and then the employee may use the input device of client device 12 A or server 14 to create a data set of print process requirements and associate that data set with the printing source file of the physical document. Included in the print process requirements is whether cluster printing is permitted.
- server 14 will determine the machines (one or more printers 18 and finishers 20 , as appropriate) that will complete print order 16 .
- Print assembly 53 prints images on sheets of paper.
- the images can be based on information received from scanner 52 or server 14 .
- print assembly 53 generates an electrostatic latent image on a rotating transfer device, which receives toner on the latent image and then transfers the toner to a sheet of paper.
- Other printing techniques may be used, such as ink jet printing.
- the one or more input devices 54 are collectively referred to as printer input device 54 .
- Printer input device 54 may include any one or more of a keyboard with buttons, touch-sensitive screen, mouse, electronic pen, microphone, and other means of user input.
- Printer display 55 may include a liquid crystal display, projector, or other type of visual display device.
- Printer input device 54 and display 55 may be used by a user (such as a printer operator working in the print shop) to adjust operation of printer 18 .
- Printer paper conveyor 56 includes rollers, belts, and mechanical guides that obtain sheets of paper from the appropriate printer trays and conveys the sheets to print assembly 53 .
- the printer trays may contain papers differing in size, material type, and weight.
- the rollers, belts, and mechanical guides are actuated by various motors that are electrically controlled based on signals generated by printer processor 50 .
- Printer processor 50 determines the appropriate printer tray from which to obtain a sheet of paper based on the print process requirements of print job 17 received by printer 18 .
- Printer network interface (I/F) 57 is configured to allow printer 18 to communicate with server 14 through network 22 .
- Printer network I/F 57 includes circuits and electronic components configured for data communication through network 22 .
- Printer network I/F 57 enables printer 18 to receive print jobs 17 from server 14 .
- Each print job to a printer includes a printing language file (discussed below) and a job ticket that that defines print process requirements relevant to that printer.
- finisher 20 includes one or more computer processors 60 , one or more memory devices 61 , stapler 62 , collator 63 , hole puncher 64 , folding assembly 65 , finisher paper conveyor 66 , and finisher network interface 67 . These machine elements of finisher 20 are interconnected via data communication bus 68 .
- the one or more computer processors 60 are collectively referred to as finisher processor 60 .
- Finisher processor 60 includes circuits and electronic components that execute instructions within finisher program 69 for controlling the above-mentioned machine elements of finisher 20 .
- the one or more computer memory devices 61 are collectively referred to as finisher memory 61 .
- Finisher memory 61 includes any one or a combination of random-access memory (RAM) modules, read-only memory (ROM) modules, and other electronic data storage devices.
- Finisher memory 61 may include a mass storage type of device such as an optical CD or DVD drive, magnetic hard disk drive, or solid-state flash drive.
- Finisher memory 61 includes a non-transitory computer readable medium that stores files associated with finisher program 69 .
- the non-transitory computer readable medium of finisher memory 61 may also store data for print jobs 17 received by finisher 20 from server 14 .
- the data for a print job sent to a finisher includes a job ticket, which will be described below.
- Stapler 62 is configured to staple sheets of paper together.
- stapler 62 includes a pusher that pushes a cartridge of metal staples toward a driver which, when actuated, pushes one staple into two or more printed sheets.
- the driver is actuated by a stapler motor that is electrically controlled based on a signal generated by finisher processor 60 .
- stapler 62 may have other mechanisms known in the art for driving a staple into paper.
- Collator 63 is configured to insert one or more sheets of paper between two sheets of paper.
- collator 63 includes an arm or roller that pushes a sheet of paper between two other sheets of paper.
- the arm or roller is actuated by a collator motor that is electrically controlled based on a signal generated by finisher processor 60 .
- collator 63 may have other mechanisms known in the art for inserting sheets of paper between two other sheets of paper.
- Hole puncher 64 is configured to make a hole in sheets of paper.
- hole puncher 64 includes a circular blade which, when pressed against paper, cuts a hole in the paper.
- the circular blade is actuated by a puncher motor that is electrically controlled based on a signal generated by finisher processor 60 .
- hole puncher 64 may have other mechanisms known in the art for cutting a hole in the paper.
- Folding assembly 65 is configured to fold paper.
- folding assembly 65 includes a paper guide, two rollers, and a fold blade.
- the fold blade is centered between the two rollers at a location below the rollers.
- the paper guide conveys a sheet of paper next to the fold blade, and then the fold blade pushes a central part of the paper into a nip area between the two rollers.
- the rollers rotate to pull the central part of the paper into the nip area.
- the nip area applies pressure to produce a fold at the central part of the paper.
- the rollers and fold blade are actuated by various motors that are electrically controlled based on signals generated by finisher processor 60 .
- folding assembly 65 may have other mechanisms known in the art for folding paper.
- Finisher paper conveyor 66 includes rollers, belts, and mechanical guides that obtain sheets of paper from the appropriate finisher trays and conveys the sheets to any of stapler 62 , collator 63 , hole puncher 64 , and folding assembly 65 .
- the rollers, belts, and mechanical guides are actuated by various motors that are electrically controlled based on signals generated by finisher processor 60 .
- the finisher trays contain stacks of printed sheets of paper from one or more printers 18 .
- the stacks of printed sheets of paper may be transferred manually by a user from printers 18 to the finisher trays.
- Each stack may have a top sheet having a machine readable code, such as a bar code, that associates the stack with a particular print job.
- Each finisher tray may include an optical scanner, such as a bar code reader, that reads the machine readable code. Based on information from the optical scanner, finisher processor 60 determines the appropriate finisher tray from which to obtain a sheet of paper and determines an appropriate destination according to print job 17 received by finisher 20 .
- the appropriate destination can be any of stapler 62 , collator 63 , hole puncher 64 , and folding assembly 65 .
- finisher paper conveyor 66 may transport sheets of paper from collator 63 and then to stapler 62 .
- finishers 20 may have additional capabilities, such as stitching, while other finishers 20 may have fewer capabilities.
- one finisher 20 A may be limited to collating, while another finisher 20 B may be limited to stapling.
- a stack of collated sheets of paper from finisher 20 A may be transferred manually by a user to finisher 20 B.
- Finisher network interface (I/F) 67 is configured to allow finisher 20 to communicate with server 14 through network 22 .
- Finisher network I/F 67 includes circuits and electronic components configured for data communication through network 22 .
- Finisher network I/F 67 enables finisher 20 to receive print jobs 17 from server 14 .
- Each print job to a finisher includes a job ticket that defines print process requirements relevant to that particular finisher.
- finisher 20 does not have print assembly 53 .
- print management program 39 includes job manager software module 80 and output device manager software module 82 .
- output device refers to printers 18 and finishers 20 .
- Job manager software module (abbreviated as job manager) 80 processes print orders 16 from client devices 12 .
- Functional submodules 80 A- 80 E of job manager 80 are described below.
- Print orders 16 ( FIG. 1 ) from client devices 12 B and 12 C include printing source file 84 and a corresponding data set of print process requirements 86 . Such print orders are processed by job receiver submodule 80 A.
- Print orders 16 from client device 12 A includes printing source file 84 placed in one of hot folders 39 ( FIG. 2 ) managed by server 14 .
- each hot folder 39 has associated with it a data set of print process requirements 86 .
- Hot folder monitor submodule 80 B monitors hot folders 39 for any newly deposited printing source file 84 .
- Hot folder monitor submodule 80 B associates any newly deposited printing source file 84 with a corresponding data set of print process requirements 86 previously stored in server memory 31 .
- Job ticket creator submodule 80 C creates job ticket 88 based on the data set of print process requirements 86 for print order 16 .
- Job ticket 88 is in a format, such as JDF or other XML-based format, that can be understood and used by the selected output device.
- JDF refers to Job Definition Format, which is an industry standard for exchanging information in the graphics industry.
- Job ticket 88 may be created with some user input via user interface (U/I) submodule 80 D.
- User interface submodule 80 D receives input from the user through server input device 34 and displays information to the user on server display 35 .
- Job dispatcher submodule 80 E dispatches or assigns print order 16 to one or more output devices 18 , 20 .
- Job dispatcher submodule 80 E analyzes job ticket 88 to determine whether print order 16 is to be split among plural output devices 18 , 20 . If job ticket 88 includes a parameter value that allows group processing, job dispatcher submodule 80 E will assign print order 16 to multiple printers 18 , or to at least one printer 18 and at least one finisher 20 . If job ticket 88 includes a parameter value that prohibits cluster printing, job dispatcher submodule 80 E will assign print order 16 to a single printer and no other printer.
- Assignment of print order 16 may include some user input via U/I 80 D and server input device 34 to select output devices having capabilities that match the print process requirements defined in job ticket 88 .
- assignment of print order 16 may include server 14 analyzing job ticket 88 to select output devices having capabilities that match the print process requirements defined in job ticket 88 . A match occurs when an output device is capable of each of the individual print process requirements.
- Output device manager software module (abbreviated output device manager) 82 handles communications with output devices 18 , 20 .
- Output device manager 82 includes cluster management submodule 82 A that creates print jobs 17 corresponding to print orders 16 .
- Each print job 17 for printer 18 includes printing language file 90 that is in a language recognized and usable by the printer to allow printing of images defined in printing source file 84 of print order 16 .
- Example printing languages include PostScript (R), Printer Control Language, Portable Document Format (PDF), and XML Paper Specification (XPS).
- printing source file 84 may be in bitmap format (.BMP file), and printer 18 recognizes PostScript but not bitmap.
- Cluster management submodule 82 A creates print job 17 including printing language file 90 in PostScript.
- cluster management submodule 82 A splits print order 16 into multiple print jobs, referred to as child jobs 17 .
- Each child job can have its own printing language file 90 .
- print order 16 may be split into first, second, and third child jobs.
- First child job 17 may be a print job for printing color pages defined in first printing language file 90 , and the first printing language file 90 is sent by cluster management submodule 82 A to a color printer.
- First printing language file 90 does not define any BW pages.
- Second child job 17 may be a print job for printing BW pages defined in second printing language file 90 , and second printing language file 90 is sent by cluster management submodule 82 A to a black-and-white only (BW) printer.
- Second printing language file 90 does not define any color pages.
- Third child job 17 may be a finishing job for collating printed color pages obtained from the color printer into BW pages obtained from the BW printer, and the third child job is sent by cluster management submodule 82 A to a collating finisher. Collating is performed according to job ticket 88 .
- Plug-ins 91 are installed in server 14 .
- Plug-ins 91 are mounted on print management program 38 to handle communications between server 14 and output devices 18 , 20 .
- printers 18 there can be three types of printers 18 according to Table I, and two types of finishers according to Table II.
- Plug-in 91 A works only with type P1 printers, which are printers 18 A, 18 B, and 18 E.
- printers 18 A and 18 B may have 2-sided, BW-only printing capability on letter size sheets only
- printer 18 E may have 2-sided, BW-only printing capability on letter and tabloid size sheets.
- Plug-in 91 B works only with type P2 printers, which corresponds only to printer 18 C having 2-sided, color printing capability on letter and tabloid size sheets.
- Plug-in 91 C works only with type P3 printers, which corresponds only to printer 18 D having single-sided, BW-only printing on letter and tabloid size sheets.
- the printer capabilities in this example are summarized in Table III.
- Job dispatcher 80 E may use a lookup table similar to Table III stored in server memory 31 to select one or more printers 18 to complete print order 16 .
- Plug-in 91 D works with all type F1 finishers, which corresponds only to finisher 20 A in this example.
- Plug-in 91 E works with all type F2 finishers, which corresponds only to finisher 20 B in this example.
- the finisher capabilities in this example are summarized in Table IV.
- Job dispatcher 80 E may use a lookup table similar to Table IV stored in server memory 31 to select one or more finishers 20 to complete print order 16 .
- Plug-in manager 92 is a software module of print management program 38 .
- Plug-in manager 92 analyzes all plug-ins 91 to determine what type of plug-ins have been mounted. In FIG. 6 , plug-in manager 92 determines that plug-ins for printer types P1, P2, and P3 are available, and that plug-ins for finisher types F1 and F2 are available. If FIG. 6 is modified by removing plug-in 91 A, plug-in manager 92 will determine that no plug-in for printer type P1 is available. Plug-in manager 92 may maintain a listing of the plug-ins that are available, and the listing is accessed plug-in manager 92 whenever a print order is received by server 14
- the plug-ins are not essential parts of print management program 38 , which includes job manager module 80 , output device manager module 82 , and plug-in manager module 92 .
- Each of modules 80 , 82 , and 92 can continue to function as previously described after removal of any one of plug-ins 91 .
- plug-in 91 A functional submodules 94 - 100 of plug-in 91 A will be described below. All other plug-ins 91 B-E have the same functional submodules 94 - 100 .
- Job ticket submitter submodule 94 sends job ticket 88 to the selected output device.
- printer 18 E has 2-sided only, BW-only printing capability on letter and tabloid size sheets as shown in Table III. If job ticket 88 from job ticket creator 80 C ( FIG. 6 ) specifies 1-sided, BW printing on tabloid size sheets, job dispatcher 80 E may select printer 18 E, and then job ticket submitter submodule 94 of plug-in 91 A sends job ticket 88 to printer 18 E. Plug-in 91 A would also send printing language file 90 to printer 18 E. Printing language file 90 defines the content to be printed, and job ticket 88 defines the requirements (2-sided, BW printing on tabloid size sheets) for printing the content. For example, the content could be a photograph, illustration, text, or a combination thereof.
- Constraint check submodule 95 enables the selected output device to confirm that it supports all print process requirements in job ticket 88 .
- printer 18 E is capable of printing on tabloid size paper, but tabloid size paper may be currently unavailable in printer 18 E, so the constraint is communicated to job dispatcher submodule 80 E.
- Job dispatcher submodule 80 E ( FIG. 6 ) performs a printer constraint resolution process.
- job dispatcher submodule 80 E may try to find another printer capable of 1-sided, BW printing on tabloid size paper.
- printer 18 C is capable of 2-sided color printing on tabloid size paper, which means that it is also capable of printing on a single side (1-sided printing) using black only (BW printing).
- job dispatcher submodule 80 E may autonomously change the selection from printer 18 E to printer 18 C, or it may allow the server-side user to confirm the change via U/I 80 D.
- job ticket 88 may require finishing that includes both stapling and stitching, so finisher 20 B is selected by cluster management submodule 82 A based on Table IV, which shows that finisher 20 B can staple and stitch on tabloid size paper.
- finisher 20 B is incapable for performing both stapling and stitching on the sheets of paper, so the constraint is communicated to dispatcher submodule 80 E.
- Job dispatcher submodule 80 E performs a finisher constraint resolution process. For example, job dispatcher 80 E may allow the server-side user to waive or remove one of the binding requirements via U/I 80 D. If the user removes the stapling requirement, the constraint is resolved, and the print job will proceed with finisher 20 B performing stitching only.
- device register submodule 96 obtains identifying information from all output devices 18 , 20 connected to server 14 . Identifying information, such as a machine name and/or machine location are displayed by U/I 80 D on server display 35 ( FIG. 2 ). Device status submodule 97 polls all output devices 18 , 20 to obtain device status information from each output device. Examples of device status information include offline, busy, idle, and paper jam. Device status information is communicated to job dispatcher submodule 80 E, which uses the job status information to determine which output devices 18 , 20 will be assigned to print orders 16 .
- Job status monitor submodule 98 receives job status indicator about print job 17 that was sent to output devices 18 , 20 .
- Example job status indictors include waiting, in progress, completed, and error.
- Each output device sends a status indicator that is displayed by U/I 80 D on server display 35 ( FIG. 2 ).
- Audit monitor submodule 99 receives and analyzes audit information from output devices 18 , 20 , converts the audit information to readable data that is recognizable by print management program 38 , and transmits the readable data to print management program 38 .
- the audit information from printer 18 includes information on a number of pages printed relative to a printer tray and paper sheet size. For example, the audit information may specify that letter size paper from printer tray 1 was used for 205 pages.
- the audit information from finisher 20 includes information on a number of pages subjected to a finishing operation.
- Paper catalog manager submodule 100 receives a paper catalog from each printer 18 and transmits the paper catalog to print management program 38 .
- Each printer 18 has a function for storing paper-related settings associated with a printer tray.
- Paper-related settings are a group of paper parameters, such as paper size, color, weight, and material type.
- Each paper-related setting (group of paper parameters) is given a catalog name in a paper catalog. Since the paper catalog (a group of catalog names) is transmitted by paper catalog manager submodule 100 to print management program 38 , a client-side user may assign one or more catalog names to print order 16 .
- the client-side user does not have to specify paper parameters individually for print order 16 .
- Print management program 38 recognizes the catalog names in print order 16 and assigns the appropriate printer or printers to complete printer order 16 .
- the selected printer or printers are those that have printer trays that correspond to the catalog names in print order 16 .
- Paper catalog manager submodule 100 is an interface for communicating with printer 18 to obtain information about paper-related settings associated with printer trays, analyzing said information and then converting it into data (a paper catalog) that is recognizable by print management program 18 .
- each output device model e.g. Accurio Press C6100, C1100, Accurio Pro 1250, etc.
- each printer typically supports multiple controllers that are developed by different companies (e.g., KonicaMinolta, EFI, and Creo), and each controller provides different protocols that are not compatible with those of other controllers.
- controllers e.g., KonicaMinolta, EFI, and Creo
- advantages of having submodules 94 - 100 and optionally 101 in plug-ins include: (a) the ability to support a new device model by adding a new plug-in rather than making changes throughout a relatively large software program, such as print management program 38 ; (b) allowing a customer or output device manufacturer to have installed in print server 14 a required plug-in which is owned or provided by the customer or output device manufacturer, which results in improved print server performance as the seek time to find an appropriate submodule for handling a print order is reduced; and (c) deployment and patch releases can be accomplished within the framework of a plug-in, which requires less software testing time.
- each plug-in 91 B-E handles communications between server 14 and only one of the output devices to complete a single print order 16 .
- Each plug-in 91 B-E does not handle communications with more than one output device for a single print order 16 .
- plug-in 91 A handles communications between server 14 and either printer 18 A, 18 B, or 18 E to complete a single print order 16 .
- FIG. 6 may be modified to include one or more group plug-ins.
- a group plug-in handles communications between server 14 and two or more output devices to complete a single print order 16 .
- a group plug-in may handle communication with two printers as shown in FIG. 8 .
- a group plug-in may handle communication with one printer and one finisher as shown in FIG. 11 .
- FIG. 8 shows group plug-ins 93 A and 93 B that can be added to FIG. 6 .
- Group plug-ins 93 A and 93 B handle communication between server 14 and two printers to complete a single print order 16 .
- Plug-in 93 A handles communications to two type P1 printers to complete a single print order 16 .
- a single print order 16 may require 2-sided printing of thousands of BW letter size pages.
- job dispatcher 80 E may divide the pages between printers 18 A and 18 B. Some pages of print order 16 may be assigned to printer 18 A, and the remaining pages of print order 16 may be assigned to printer 18 B. Alternatively, if printer 18 B is busy, job dispatcher 80 E may assign to printer 18 E instead.
- Plug-in 93 B handles communications between server 14 and two types of printers: type P1 and type P2. For example, a single print order may have BW pages and color pages. Based on Table III, job dispatcher 80 E may assign the BW pages to printer 18 A (type P1) and assign the color pages to printer 18 C (type P2).
- FIG. 9 shows functional submodules 94 - 101 of group plug-in 93 B.
- Group plug-in 93 A has the same functional submodules as group plug-in 93 B.
- Submodules 94 - 100 function as described for plug-ins 91 A-E.
- Cluster management submodule 101 splits print order 16 into multiple jobs, referred to as child jobs 17 , if job dispatcher 80 E in print management program 38 has assigned print order 16 to multiple printers 18 .
- FIG. 10 shows an example print management method that can be performed with system 10 of FIGS. 1-9 or by another system.
- server 14 receives print order 16 .
- server 14 determines whether the received print order is to be split among plural output devices.
- the plural output devices includes a first device and a second device.
- the first and second devices can be printers 18 A and 18 C.
- the determination at block S 104 can be made by job dispatcher 80 E of print management program 38 .
- Job dispatcher 80 E analyzes job ticket 88 to determine whether print order 16 is to be split among plural output devices.
- job dispatcher submodule 80 E assigns print order 16 to a single printer.
- Job dispatcher 80 E analyzes job ticket 88 . If the print process requirements defined in job ticket 88 match capabilities of one of printers 18 , then job dispatcher 80 E assigns print order 16 to that printer. For example, if job ticket 88 includes a parameter value that prohibits group processing and the print process requirements defined in job ticket 88 match capabilities of printer 18 C, then job dispatcher 80 E assigns print order 16 to printer 18 C and no other printer.
- Print order 16 may have BW and color pages, in which case printer 18 C is instructed to print both the BW and color pages.
- print order 16 is completed by using plug-in 91 corresponding to the assigned printer to instruct the assigned printer to execute the print job. For example, if print order 16 was assigned to printer 18 C at block S 106 , then print order 16 can be completed by using plug-in 91 B ( FIG. 6 ) to instruct printer 18 C to execute the print job.
- job dispatcher 80 E assigns print order 16 to multiple printers 18 .
- Job dispatcher 80 E analyzes job ticket 88 . If the print process requirements defined in job ticket 88 match capabilities of the first and second devices, then job dispatcher 80 E assigns the print order to the first and second devices. For example, if the print process requirements defined in job ticket 88 match capabilities of printers 18 A and 18 C, then job dispatcher 80 E assigns the print order to printers 18 A and 18 C.
- the combination of printers 18 A and 18 C can be represented in print management program 38 as a virtual cluster printer with type P1 and P2 capabilities.
- plug-in manager 92 determines whether print server 14 has a group plug-in corresponding to both the first and second devices that were selected at block S 112 . For example, if printer 18 A (type P1) and printer 18 C (type P2) were selected at block S 112 , plug-in manager 92 determines whether print server 14 has group plug-in 93 B ( FIG. 8 ). Plug-in 93 B can be referred to as a plug-in for a virtual cluster printer with type P1 and P2 capabilities.
- cluster management module 101 of the group plug-in (not the cluster management submodule 82 A of print management program 38 ) creates a first child job and a second child job from print order 16 .
- the print order is completed by using the group plug-in to instruct the first device to execute the first child job and to instruct the second device to execute the second child job. For example, if group plug-in 93 B was found at block S 114 , group plug-in 93 B is used to instruct printer 18 A to execute the first child job for BW pages only and to instruct printer 18 C to execute the second child job for color pages only.
- cluster management submodule 82 A of print management program 38 (not cluster management module 101 of a group plug-in) creates a first child job and a second child job from print order 16 .
- print order 16 is completed by using a first plug-in (not a group plug-in) to instruct the first device to execute the first child job and a second plug-in (not a group plug-in) to instruct the second device to execute the second child job.
- the first and second plug-ins can be plug-ins corresponding to the printer type of the selected printers.
- plug-in 91 A of FIG. 6 (an example of a first plug-in) is used to instruct printer 18 A to execute the first child job for BW pages only
- plug-in 91 B of FIG. 6 (an example of a second plug-in) is used to instruct printer 18 C to execute the second child job for color pages only.
- FIG. 11 shows group plug-ins 93 C and 93 D that can be added to FIG. 6 or FIG. 6 in combination with FIG. 8 .
- Group plug-ins 93 C and 93 D handle communication between server 14 and a printer and a finisher.
- Plug-in 93 C handles communications between server 14 , a type P1 printer, and type F1 finisher.
- a single print order 16 may require 2-sided BW letter size pages that are to be collated with colored paper.
- job dispatcher 80 E may divide the print order between printer 18 A and finisher 20 A.
- Plug-in 93 D handles communications between server 14 , a type P2 printer, and type F2 finisher.
- a single print order 16 may require 2-sided color tabloid size pages that are to be stapled.
- job dispatcher 80 E may divide the print order between printer 18 C and finisher 20 B.
- FIG. 12 shows functional submodules 94 - 100 of group plug-in 93 D.
- Group plug-in 93 C has the same functional submodules as group plug-in 93 B.
- Submodules 94 - 100 function as described for plug-ins 91 A-E.
- Group plug-ins 93 C and 93 D do not include a cluster management module.
- FIG. 13 shows an example print management method that can be performed with system 10 of FIGS. 1-9, 11, and 12 or by another system.
- server 14 receives print order 16 .
- server 14 determines whether the received print order is to be split among plural output devices.
- the plural output devices includes a first device and a second device.
- the first and second devices can printer 18 C and finisher 20 B.
- Job dispatcher 80 E analyzes job ticket 88 to determine whether print order 16 is to be split among plural output devices.
- job ticket 88 may include parameter values that requires printing color pages and then stapling.
- job dispatcher submodule 80 E assigns print order 16 to a printer only. Print order 16 is not assigned to any finisher 20 which does not have any printing capability. Job dispatcher 80 E analyzes job ticket 88 . If the print process requirements defined in job ticket 88 match capabilities of one of printers 18 , then job dispatcher 80 E assigns print order 16 to that printer. For example, if job ticket 88 includes a parameter value that prohibits group processing and the print process requirements (printing color pages and then stapling) defined in job ticket 88 match capabilities of printer 18 C in a lookup table, then job dispatcher 80 E may assign print order 16 to printer 18 C. Printer 18 C will print pages and then staple them.
- print order 16 is completed by using plug-in 91 corresponding to the assigned printer to instruct the assigned printer to execute the print job. For example, if print order 16 was assigned to printer 18 C at block S 206 , then print order 16 can be completed by using plug-in 91 B ( FIG. 6 ) to instruct printer 18 C to execute the print job.
- job dispatcher module 80 E assigns print order 16 to multiple output devices 18 , 20 .
- Job dispatcher 80 E analyzes job ticket 88 . If the print process requirements defined in job ticket 88 match capabilities of the first and second devices, then job dispatcher 80 E assigns the print order to the first and second devices. For example, if the print process requirements (printing color pages and then stapling) defined in job ticket 88 match capabilities of printer 18 C (color pages) and finisher 20 B (stapling) in a lookup table, then job dispatcher 80 E assigns the print order to printer 18 C and finisher 20 B.
- plug-in manager 92 determines whether print server 14 has a group plug-in corresponding to both the first and second devices that were selected at block S 212 . For example, if printer 18 C (type P2) and finisher 20 B (type F2) were selected at block S 212 , plug-in manager 92 determines whether print server 14 has group plug-in 93 D ( FIG. 11 ).
- a first child job and a second child job are created from print order 16 .
- a first child job would have a first job ticket defining a set of print process requirements (e.g., color printing, no stapling) relevant to printer 18 C.
- a second child job would have a second job ticket defining a set of print process requirements (e.g., stapling) relevant to finisher 20 B.
- the print order is completed by using the group plug-in to instruct the first device to execute the first child job and to instruct the second device to execute the second child job.
- group plug-in 93 D was found at block S 214
- the print order is completed by using group plug-in 93 D to instruct printer 18 C to execute the first child job for printing and to instruct finisher 20 B to execute the second child job for stapling.
- print order 16 is completed by using a first plug-in (not a group plug-in) to instruct the first device to execute the first child job and a second plug-in (not a group plug-in) to instruct the second device to execute the second child job.
- the first plug-in can be a plug-in corresponding to the printer type of the selected printer.
- the second plug-in can be a plug-in corresponding to the finisher type of the selected finisher.
- plug-in 91 B of FIG. 6 (an example of a first plug-in) is used to instruct printer 18 C to execute the first child job for printing
- plug-in 91 E of FIG. 6 (an example of a second plug-in) is used to instruct finisher 20 B to execute the second child job for stapling.
- Group plug-in 93 D provides certain advantages over generic plug-ins 91 B and 91 E.
- the group plug-in can reduce costs associated with plug-in loading time and job splitting time.
- plug-in loading time if there is no group plug-in present, then print management program 38 has to load two or more plug-ins to complete print order 16 .
- the associated cost for an individual print order is small, but the costs multiply in high volume printing operations. The cost can be significant in a print shop that handles a thousand or more print orders.
- job splitting time as discussed for block S 114 in FIG. 10 , print management program 38 will first try to figure out if an appropriate group plug-in is present. If not, then print management program 38 returns from plug-in manager 92 to cluster manager 82 A (S 120 in FIG. 10 ) to split the job. This increases costs particularly when there are a large number of print orders.
- the child jobs are created by the group plug-in at block S 216 or S 220 after block S 214 .
- the child jobs may be created at point 213 by print management program 83 .
- cluster management submodule 82 A of print management program 83 may create child jobs at point 213 .
- FIG. 14 shows printer-specific plug-in 300 that can be added to FIG. 6 alone or in combination with FIG. 8 and/or FIG. 11 .
- FIG. 15 shows functional submodules 94 - 100 of printer-specific plug-in 300 .
- Submodules 94 - 100 function as described for plug-ins 91 A-E.
- Printer-specific plug-in 300 does not include a cluster management module.
- printer-specific plug-in 300 does not communicate with more than one printer for a single print order.
- FIG. 16 shows an example print management method that can be performed with system 10 of FIGS. 1-9, 11, and 12 or by another system.
- server 14 receives print order 16 .
- job dispatcher submodule 80 E assigns print order 16 to a printer.
- Job dispatcher 80 E analyzes job ticket 88 as part of the assignment process. If group processing is prohibited and the print process requirements defined in job ticket 88 match capabilities of one of printers 18 , then job dispatcher 80 E assigns print order 16 to that printer. For example, if job ticket 88 prohibits group processing and includes print process requirements (printing color pages) defined in job ticket 88 that match capabilities of printer 18 C in a lookup table, then job dispatcher 80 E may assign print order 16 to printer 18 C.
- device manager 82 creates a print job from print order 16 .
- plug-in manager 92 determines whether print server 14 has a printer-specific plug-in corresponding to the printer selected at block S 304 . For example, if printer 18 C was selected at block S 304 , plug-in manager 92 determines whether print server 14 has printer-specific plug-in 300 ( FIG. 14 ).
- print server 14 When print server 14 is determined to have a printer-specific plug-in corresponding to the selected printer (S 306 :YES), then at block S 308 the print order is completed by using the printer-specific plug-in to instruct the selected printer to execute the print job. For example, if printer-specific plug-in 300 was found at block S 306 , the print order is completed by using printer-specific plug-in 300 to instruct printer 18 C to execute the print job.
- print server 14 When print server 14 is determined to not have a printer-specific plug-in corresponding to the selected printer (S 314 :NO), then at block S 310 the print order is completed by using a first plug-in (not a printer-specific plug-in) to instruct the selected printer to execute the print job.
- the first plug-in can be a plug-in corresponding to the printer type of the selected printer. For example, if printer-specific plug-in 300 was not found at block S 314 , plug-in 91 B of FIG. 6 (an example of a first plug-in) is used to instruct printer 18 C to execute the print job.
- printer-specific plug-in 300 can have advantages over plug-in 91 B, which is generic to type 2 printers.
- Printer-specific plug-in 300 can be optimized to the configuration of a particular printer so as to reduce the amount of time to generate a job ticket, such as a job ticket in JDF format.
- a printer may be capable of stapling but not capable of any other finishing operation.
- a printer-specific plug-in for that printer will specify a stapling option in the job ticket.
- the stapling option determines whether or not stapling is to be performed. If stapling is to be performed, the stapling option will specify how it be performed, such as a stapling on the top left corner of the paper.
- the printer-specific plug-in will skip or omit options for any other finishing operation since only stapling applies to the printer.
- the job ticket is not have options for any finishing operation except for stapling. This increases efficiency in creating job tickets compared to generic plug-in 91 B. If a printer-specific plug-in is not available for the printer and generic plug-in 91 B is used, the generic plug-in 91 B may have to specify options for all finishing operations that apply to type P2 printers.
- FIG. 17 shows setting-specific plug-in 400 that can be added to FIG. 6 alone or in combination with FIG. 8 , FIG. 11 , and/or FIG. 14 .
- FIG. 18 shows functional submodules 94 - 100 of setting-specific plug-in 400 .
- Submodules 94 - 100 function as described for plug-ins 91 A-E.
- Setting-specific plug-in 400 does not include a cluster management module.
- setting-specific plug-in 300 does not communicate with more than one printer for a single print order.
- FIG. 19 shows an example print management method that can be performed with system 10 of FIGS. 1-9, 11, 12, 14 and 15 or by another system.
- server 14 receives print order 16 .
- job dispatcher submodule 80 E assigns print order 16 to a printer.
- Job dispatcher 80 E analyzes job ticket 88 as part of the assignment process. If the print process requirements defined in job ticket 88 match capabilities of one of printers 18 , then job dispatcher 80 E assigns print order 16 to that printer. For example, if the print process requirements (booklet print setting) defined in job ticket 88 match capabilities of printer 18 B in a lookup table, then job dispatcher 80 E may assign print order 16 to printer 18 B.
- Booklet print setting involves printing two pages of a document on a single sheet of paper.
- device manager 82 creates a print job from print order 16 .
- plug-in manager 92 determines whether print server 14 has a setting-specific plug-in corresponding to the print setting and the printer selected at block S 404 . For example, if printer 18 B (type P1) was selected at block S 404 , plug-in manager 92 determines whether print server 14 has setting-specific plug-in 400 ( FIG. 14 ) for booklet printing on type P1 printers.
- print server 14 When print server 14 is determined to have the corresponding setting-specific plug-in (S 406 :YES), then at block S 408 the print order is completed by using the setting-specific plug-in to instruct the selected printer to execute the print job. For example, if setting-specific plug-in 400 was found at block S 406 , the print order is completed by using setting-specific plug-in 400 to instruct printer 18 B to execute the print job.
- the print order is completed by using a first plug-in (not a setting-specific plug-in) to instruct the selected printer to execute the print job.
- the first plug-in can be a plug-in corresponding to the printer type of the selected printer. For example, if setting-specific plug-in 400 was not found at block S 414 , plug-in 91 A of FIG. 6 (an example of a first plug-in) is used to instruct printer 18 B to execute the print job.
- setting-specific plug-in 400 can have advantages over plug-in 91 B, which is generic to type 2 printers, by increasing efficiency in creating a job ticket.
- type P1 printers are assumed to have multiple finishing capabilities, such as stapling, folding, and others.
- type P1 printers may have multiple folding capabilities, including booklet folding, letter folding, z-folding, and others. If the particular print shop only produces booklet printing products or produces mostly booklet printing products, a setting-specific plug-in for printer type P1 with booklet print setting may create a JDF job ticket by skipping or omitting options for all finishing operations except for folding. Furthermore, the setting-specific plug-in may omit options for all folding operations except for booklet folding. That is, the JDF job ticket does not include options for any finishing operation except for booklet folding.
- FIG. 20 shows customer-specific plug-in 55 that can be added to FIG. 6 alone or in combination with FIGS. 8, 11, 14 , and/or 17 .
- FIG. 21 shows functional submodules 94 - 100 of customer-specific plug-in 500 .
- Submodules 94 - 100 function as described for plug-ins 91 A-E.
- Customer-specific plug-in 500 does not include a cluster management module.
- customer-specific plug-in 300 does not communicate with more than one printer for a single print order.
- FIG. 22 shows an example print management method that can be performed with system 10 of FIGS. 1-9, 11, 12, 14, 15, 17 and 18 or by another system.
- server 14 receives print order 16 .
- Print order 16 includes information identifying a specific customer associated with print order 16 .
- job dispatcher submodule 80 E assigns print order 16 to a printer.
- Job dispatcher 80 E analyzes job ticket 88 as part of the assignment process. If the print process requirements defined in job ticket 88 match capabilities of one of printers 18 , then job dispatcher 80 E assigns print order 16 to that printer.
- job dispatcher 80 E may assign print order 16 to printer 18 E. Also at block S 504 , device manager 82 creates a print job from print order 16 .
- plug-in manager 92 determines whether print server 14 has a customer-specific plug-in corresponding to the customer from which print order 16 was received.
- print order 16 includes information identifying a specific customer.
- Plug-in manager 92 may compare that information with a listing of the plug-ins that are available. For example, if print order 16 belongs to customer C 1 and printer 18 E (type P1) was selected at block S 504 , plug-in manager 92 determines whether print server 14 has customer-specific plug-in 500 ( FIG. 14 ) for customer C 1 for use with type P1 printers.
- print server 14 When print server 14 is determined to have the corresponding customer-specific plug-in (S 506 :YES), then at block S 508 the print order is completed by using the customer-specific plug-in to instruct the selected printer to execute the print job. For example, if customer-specific plug-in 500 was found at block S 506 , the print order is completed by using customer-specific plug-in 500 to instruct printer 18 E to execute the print job.
- the print order is completed by using a first plug-in (not a customer-specific plug-in) to instruct the selected printer to execute the print job.
- the first plug-in can be a plug-in corresponding to the printer type of the selected printer. For example, if customer-specific plug-in 500 was not found at block S 514 , plug-in 91 A of FIG. 6 (an example of a first plug-in) is used to instruct printer 18 E to execute the print job.
- customer-specific plug-in 500 can have advantages over plug-in 91 B, which is generic to type 2 printers, by increasing efficiency in creating a job ticket.
- type P1 printers are capable of multiple finishing operations, namely stapling, various types of folding, and others.
- Customer C 1 always sends print orders to make brochures that are stapled on the top left and booklet folded.
- the customer specific plug-in for type P1 printers+Customer C 1 would create a JDF job ticket by skipping or omitting options for all finishing operations except for stapling and folding.
- the customer-specific plug-in may omit options for all folding operations except for booklet folding. That is, the JDF job ticket does not include options for any finishing operation except for stapling and booklet folding.
- Plug-in manager may store information about use time of various plug-ins. Server 14 may display the information on server display 35 . Server 14 may analyze the information to determine whether a group plug-in or other type of plug-in should be installed on server 14 .
- FIG. 23 shows information 600 about use time of various plug-ins that may be displayed on server display 35 .
- Column 602 lists the output devices 18 , 20 connected to server 14 .
- Column 604 lists the plug-ins that were used to complete print jobs.
- the gray, black, and striped bars represent print jobs performed over time.
- the horizontal length of the bars represent use time of the plug-ins and the time duration for completing the print job.
- the plug-in use times and print job time durations are stored in server memory 31 .
- the left end of the bar represents the print job start time, and the right end of the bar represents the print job finish time.
- the gray bars are print jobs 17 of print orders 16 that were completed without group process, meaning that only a single output device was used to complete the print order.
- the back bars and striped bars represent child jobs 17 of print orders 16 that were completed with group processing, meaning that at least two output devices were used to complete the print order.
- the child jobs belonging to the same print order are connected with a curved line.
- a group plug-in e.g., plug-in 93 C of FIG. 11
- the print order was completed by using the group plug-in to instruct printer 18 A and finisher 20 A to execute child jobs 17 A and 17 B.
- a group plug-in was not found to be installed at block S 114 of FIG. 10 . That is, there was no group plug-in available for cluster printer type P1 and P3.
- the print order was completed by using a first plug-in based on printer type (e.g., plug-in 91 A of FIG. 6 ) to instruct printer 18 A to execute child job 17 C, and by using a second plug-in based on printer type (e.g., plug-in 91 C of FIG. 6 ) to instruct printer 18 D to execute child job 17 D.
- Server 14 may analyze the duration and/or quantity of child jobs (e.g., 17 C and 17 D) that were not executed with a group plug-in. If the durations exceeds a time threshold and/or the quantity exceeds a quantity threshold, then server 14 may indicate a need for a corresponding group plug-in. For example, if the duration of the a first child job and the duration a second child job, individually or combined, exceed a time duration, then server 14 may indicate a need for a corresponding group plug-in.
- server 14 may analyze the duration and/or quantity of print jobs (e.g., 17 E and 17 F) that each used a plug-in based printer type and involved no group processing, meaning that the print orders were completed by a single output device. If the duration exceeds a time threshold and/or the quantity exceeds a quantity threshold, then server 14 may indicate a need for a corresponding printer-specific plug-in.
- a time threshold and/or the quantity exceeds a quantity threshold then server 14 may indicate a need for a corresponding printer-specific plug-in.
- Information table 600 may include additional columns that indicate the printer setting (print process requirements) and/or customer identification.
- server 14 may analyze the duration and/or quantity of print jobs for printer settings to indicate a need for a new setting-specific plug-in and/or customer-specific plug-in.
- the need for a new plug-in may be indicated on server display 35 so that the user can be instructed to install the new plug-in.
- the new plug-in may be generated by server 14 .
- the new-plug in may be generated by a software engineer at the print shop, by the customer, or by the output device manufacturer.
- any of the above-described plug-ins may be received by server 14 from a client-side user (e.g., customer of the print shop) via the client device operated by the customer.
- client-side user e.g., customer of the print shop
- customer-specific plug-in 500 FIG. 20
- the plug-in may be included with print order 16 .
- Print order 16 including the plug-in may be sent using the web browser of client device 12 and transmitted via the Internet 24 and network 22 to server 14 .
- any of the above-described plug-ins may be received by server 14 from printer manufacturer 610 .
- printer-specific plug-in 300 ( FIG. 15 ) may be received by server 14 from printer manufacturer 610 .
- Block 610 representing the printer manufacturer, may be a computer or device similar to any of client devices 12 capable of transmitting the plug in via the Internet 24 and network 22 to server 14 .
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)
Abstract
Description
- This disclosure relates generally to image processing and, more particularly, to print management involving multiple printing and/or finishing machines.
- Cluster printing involves the use of multiple machines to complete a print job. For example, a print job may have a very large number of pages, so printing may be distributed to multiple printing machines for faster completion time. A print job may have some pages requiring color, which can be distributed to a color printer while other pages not requiring color (BW pages) can be distributed to a black-and-white only printer. In this way, the run time of the color printer is not wasted on BW pages. Also, a print job may involve printing and a subsequent finishing operation, such as stapling, collating, hole punching, folding, and/or binding. The printing operation can be distributed to a printer, and the finishing operation can be distributed to a dedicated finishing machine. Splitting operations in this way can help balance operations in a print shop to reduce idle time and help avoid workflow bottlenecks at a particular machine.
- A print server may perform print management to identify printing and finishing machines appropriate for a print job. The process of identifying appropriate machines for cluster printing can become complicated when the server must work with a large number of possible printing and finishing machines having diverse capabilities and constraints. The job ticket created by a conventional server, even with the help of user input, may be missing a parameter required by a printing or finishing machine. Also, the job ticket may have many parameters which do not apply to a printing or finishing machine. Situations like these and others may decrease the efficiency of the print server.
- Another issue with conventional cluster print management is that new models of printing and finishing machines are constantly being developed, and it is contemplated that capabilities not previously seen could be introduced. To handle a new model, the cluster print management software in the server usually needs to be updated by a software engineer, which can increases the complexity of the software, which can in turn make it more time consuming to make updates for new models in the future.
- The issues related to proper job ticket creation and efficiency discussed above for cluster printing also apply to print jobs that are not subject to cluster printing. Even when a client user does not designate a print job for cluster printing, issues related to missing parameters and/or unnecessary parameters can decrease efficiency significantly, particularly in high volume printing operations.
- Briefly and in general terms, the present invention is directed to a method, print server, and non-transitory computer readable medium for print management.
- In aspects of the invention, a print management method comprises receiving a print order at a print server, determining whether the received print order is to be split among plural output devices, the plural output devices including a first output device and a second output device, determining whether the print server has a group plug-in corresponding to both the first output device and the second output device, the group plug-in enabling the print server to communicate with both the first output device and the second output device to complete the print order, creating a first child job and a second child job from the print order, assigning the first child job to the first output device, assigning the second child job to the second output device, when the print server is determined to have the group plug-in, completing the print order by using the group plug-in to instruct the first output device to execute the first child job and to instruct the second output device to execute the second child job, and when the print server is determined to not have the group plug-in, completing the print order by using a first plug-in to instruct the first output device to execute the first child job, and using a second plug-in to instruct the second output device to execute the second child job.
- In aspects of the invention, a print server is in communication with plural output devices, print server executing a print management program to perform a print management method. The print management method comprises receiving a print order at a print server, determining whether the received print order is to be split among the plural output devices, the plural output devices including a first output device and a second output device, determining whether the print server has a group plug-in corresponding to both the first output device and the second output device, the group plug-in enabling the print server to communicate with both the first output device and the second output device to complete the print order, creating a first child job and a second child job from the print order, assigning the first child job to the first output device, assigning the second child job to the second output device, when the print server is determined to have the group plug-in, completing the print order by using the group plug-in to instruct the first output device to execute the first child job and to instruct the second output device to execute the second child job, and when the print server is determined to not have the group plug-in, completing the print order by using a first plug-in to instruct the first output device to execute the first child job, and using a second plug-in to instruct the second output device to execute the second child job.
- In aspects of the invention, a non-transitory computer readable medium has stored thereon computer readable instructions that, when executed by a server processor of print server, cause the print server to perform a process for print management. The process comprises receiving a print order at a print server, determining whether the received print order is to be split among plural output devices, the plural output devices including a first output device and a second output device, determining whether the print server has a group plug-in corresponding to both the first output device and the second output device, the group plug-in enabling the print server to communicate with both the first output device and the second output device to complete the print order, creating a first child job and a second child job from the print order, assigning the first child job to the first output device, assigning the second child job to the second output device, when the print server is determined to have the group plug-in, completing the print order by using the group plug-in to instruct the first output device to execute the first child job and to instruct the second output device to execute the second child job, and when the print server is determined to not have the group plug-in, completing the print order by using a first plug-in to instruct the first output device to execute the first child job, and using a second plug-in to instruct the second output device to execute the second child job.
- The features and advantages of the invention will be more readily understood from the following detailed description which should be read in conjunction with the accompanying drawings.
-
FIG. 1 is a schematic block diagram showing an example system for print management. -
FIG. 2 is a schematic block diagram showing an example print server ofFIG. 1 . -
FIG. 3 is a schematic block diagram showing an example client device ofFIG. 1 . -
FIG. 4 is a schematic block diagram showing an example printer ofFIG. 1 . -
FIG. 5 is a schematic block diagram showing an example finisher ofFIG. 1 . -
FIG. 6 is a schematic block diagram showing example functional modules of a print management program and example plug-ins mounted in the print server ofFIG. 1 . -
FIG. 7 is a schematic block diagram showing example functional modules of the plug-ins ofFIG. 6 . -
FIG. 8 is a schematic block diagram showing example group plug-ins mounted in the print server ofFIG. 1 , the group plug-ins being for cluster printers. -
FIG. 9 is a schematic block diagram showing example functional modules of the plug-ins ofFIG. 8 . -
FIG. 10 is a flow diagram showing an example method for print management using the plug-ins ofFIGS. 6 and 8 . -
FIG. 11 is a schematic block diagram showing example group plug-ins mounted in the print server ofFIG. 1 , the group plug-ins being for printers and finishers. -
FIG. 12 is a schematic block diagram showing example functional modules of the plug-ins ofFIG. 11 . -
FIG. 13 is a flow diagram showing an example method for print management using the plug-ins ofFIGS. 6 and 11 . -
FIG. 14 is a schematic block diagram showing an example printer-specific plug-in mounted in the print server ofFIG. 1 . -
FIG. 15 is a schematic block diagram showing example functional modules of the plug-in ofFIG. 14 . -
FIG. 16 is a flow diagram showing an example method for print management using the plug-ins ofFIGS. 6 and 14 . -
FIG. 17 is a schematic block diagram showing an example setting-specific plug-in mounted in the print server ofFIG. 1 . -
FIG. 18 is a schematic block diagram showing example functional modules of the plug-in ofFIG. 17 . -
FIG. 19 is a flow diagram showing an example method for print management using the plug-ins ofFIGS. 6 and 17 . -
FIG. 20 is a schematic block diagram showing an example customer-specific plug-in mounted in the print server ofFIG. 1 . -
FIG. 21 is a schematic block diagram showing example functional modules of the plug-in ofFIG. 20 . -
FIG. 22 is a flow diagram showing an example method for print management using the plug-ins ofFIGS. 6 and 20 . -
FIG. 23 is table showing example information about use time of various plug-ins, which use times may be analyzed by the print server. -
FIGS. 24 and 25 are schematic block diagrams showing example transmission routes of plug-ins to the print server. - Referring now in more detail to the example drawings for purposes of illustrating aspects of the invention, wherein like reference numerals designate corresponding or like elements among the several views, there is shown in
FIG. 1 example system 10 for print management. -
System 10 includesclient devices 12, print server 14 (abbreviated as server 14), and printing machines 18 (abbreviated as printers 18), and finishing machines 20 (abbreviated as finishers 20). Some of these system elements are labeled in the figures using numerals and letters (e.g., 18A, 18B, 18C) to distinguish particular elements within the group. Numerals without letters refer to any or all members of the group. -
Client devices 12 communicate withserver 14 to haveprint orders 16 completed byprinters 18 andfinishers 20. Eachprint order 16 can be request to print a single copy document, or a request to print multiple copies of a single document. Printing and finishing requirements (collectively referred to as print process requirements) inprint orders 16 are not in a format that can be understood and used byprinters 18 andfinishers 20.Server 14 translatesprint orders 16 to printjobs 17 having print process requirements in a format that can be understood and used byprinters 18 andfinishers 20. - A print shop, such as one in an office or building, may
house server 14,printers 18, andfinishers 20. The print shop can be a commercial establishment that takesprint orders 16 from a variety of organizations, such as hospitals, schools, and financial institutions. The print shop can be a department within a large organization, such as a government agency or large corporation, in need of high speed and high volume printing services. The print shop hasclient device 12A which can sendprint orders 16 toserver 14 vianetwork 22, such as a local or wide area network.Other client devices print orders 16 toserver 14 via theInternet 24 andnetwork 22.Server 14 sendsprint jobs 17 toprinters 18 andfinishers 20 vianetwork 22. - As shown in
FIG. 2 ,server 14 includes one ormore computer processors 30, one ormore memory devices 31, one ormore input devices 34,server display 35, andserver network interface 36 which are interconnected via data communication bus 37. The one ormore computer processors 30 are collectively referred to asserver processor 30.Server processor 30 includes circuits and electronic components that execute instructions withinprint management program 38 for performing the methods described herein. - The one or more
computer memory devices 31 are collectively referred to asserver memory 31.Server memory 31 includes any one or a combination of random-access memory (RAM) modules, read-only memory (ROM) modules, and other electronic data storage devices.Server memory 31 may include a mass storage type of device such as an optical CD or DVD drive, magnetic hard disk drive, or solid-state flash drive.Server memory 31 includes a non-transitory computer readable medium that storesprint management program 38. -
Server memory 31 stores a file system comprisinghot folders 39.Hot folders 39 are monitored byprint management program 38, which is executed byserver processor 30, such that a new file that arrives in any of the hot folders is processed byprint management program 38. - The one or
more input devices 34 are collectively referred to asserver input device 34.Server input device 34 may include any one or more of a keyboard with buttons, touch-sensitive screen, mouse, electronic pen, microphone, and other means of user input.Server display 35 may include a liquid crystal display, projector, or other type of visual display device.Server input device 34 anddisplay 35 may be used by a server-side user (such as a print shop administrator) to runprint management program 38 and to install plug-ins described below. - Server network interface (I/F) 36 is configured to allow
server 14 to communicate withclient devices 12,printers 18, andfinishers 20 throughnetwork 22 and theInternet 24. Server network I/F 36 includes circuits and electronic components configured for data communication throughnetwork 22. Server network I/F 36 enablesserver 14 to receiveprint orders 16, and optionally plug-ins, fromclient devices 12. - As shown in
FIG. 3 ,client device 12 includes one ormore computer processors 40, one ormore memory devices 41, one ormore input devices 44, client display 45, andclient network interface 46 which are interconnected via data communication bus 47. For example,client device 12 can be a computer workstation, laptop computer, tablet, or smartphone. The one ormore computer processors 40 are collectively referred to asclient processor 40.Client processor 40 includes circuits and electronic components that execute instructions of a web browser program and/or a file manager program. - The one or more
computer memory devices 41 are collectively referred to asclient memory 41.Client memory 41 includes any one or a combination of random-access memory (RAM) modules, read-only memory (ROM) modules, and other electronic data storage devices.Client memory 41 may include a mass storage type of device such as an optical CD or DVD drive, magnetic hard disk drive, or solid-state flash drive.Client memory 41 includes a non-transitory computer readable medium that optionally stores files associated with a file manager program, such as Windows Explorer. For example,client device 12A (FIG. 1 ) may run the file manager program to allow a client-side user to drag and drop a printing source file in any one of hot folders 39 (FIG. 2 ) managed byserver 14. The client-side user can be an employee of the print shop. A printing source file contains data that the client-side user wants to have printed. The data may correspond to a photograph, illustration, and/or text. A printing source file can be a single PDF file, JPG file, or other format. The drag and drop operation by the client-side user causesclient device 12A to send the printing source file toserver 14. By default, eachhot folder 39 has associated with it a data set of print process requirements that establishes whether the contents of the printing source file will be subjected to 2-sided printing, for example. Other example print process requirements include, without limitation: paper type, paper size, color or BW printing, output resolution or quality, and finishing such as stapling, collating, hole punching, folding, and stitching. - The non-transitory computer readable medium of
client memory 41 may store files associated with a web browser. For example, each ofclient devices FIG. 1 ) may run the web browser, which provides a web-based user interface (U/I) with which a client-side user creates print orders 16. The client-side user can be print shop customer located remotely from the print shop. Eachprint order 16 fromclient devices client device 12 toserver 14. - The one or
more input devices 44 are collectively referred to asclient input device 44.Client input device 44 may include any one or more of a keyboard with buttons, touch-sensitive screen, mouse, electronic pen, microphone, and other means of user input. Client display 45 may include a liquid crystal display, projector, or other type of visual display device.Client input device 44 and display 45 may be used by the client-side user to interact with the web browser or file manager program ofclient device 12 to sendprint order 16 toserver 14. - Client network interface (I/F) 46 is configured to allow
client device 12 to communicate withserver 14 throughnetwork 22 and theInternet 24. Client network I/F 46 includes circuits and electronic components configured for data communication throughnetwork 22. Client network I/F 46 enablesclient device 12 to sendprint orders 16, and optionally plug-ins, toserver 14. - As shown in
FIG. 4 ,printer 18 includes one ormore computer processors 50, one ormore memory devices 51, scanner 52,print assembly 53, one ormore input devices 54,printer display 55,printer paper conveyor 56, and printer network interface 57. These machine elements ofprinter 18 are interconnected viadata communication bus 58. The one ormore computer processors 50 are collectively referred to asprinter processor 50.Printer processor 50 includes circuits and electronic components that execute instructions withinprinter program 59 for controlling the above-mentioned machine elements ofprinter 18. - The one or more
computer memory devices 51 are collectively referred to asprinter memory 51.Printer memory 51 includes any one or a combination of random-access memory (RAM) modules, read-only memory (ROM) modules, and other electronic data storage devices.Printer memory 51 may include a mass storage type of device such as an optical CD or DVD drive, magnetic hard disk drive, or solid-state flash drive.Printer memory 51 includes a non-transitory computer readable medium that stores files associated withprinter program 59. The non-transitory computer readable medium ofprinter memory 51 may also store data forprint job 17 received byprinter 18 fromserver 14. The data for a print job sent to a printer includes a job ticket and a printing language file that will be described below. - Scanner 52 reads optical information of images on pages of a physical document placed by a user on
printer 18. Light is emitted by scanner 52, which is reflected by the pages. Scanner 52 senses the reflected light and converts it to electrical or digital information, which can be used to print pages that are duplicates of those of the physical document. Other scanning techniques may be used. Someprinters 18 may not have a scanner. - For example,
print order 16 may involve making one or more duplicate copies of a physical document that is brought to a print shop by a customer.Scanner 12 is used to create a printing source file of the physical document, which is sent byprinter 18 toserver 14. The customer may tell a print shop employee what the print process requirements are, and then the employee may use the input device ofclient device 12A orserver 14 to create a data set of print process requirements and associate that data set with the printing source file of the physical document. Included in the print process requirements is whether cluster printing is permitted. Thereafter,server 14 will determine the machines (one ormore printers 18 andfinishers 20, as appropriate) that will completeprint order 16. -
Print assembly 53 prints images on sheets of paper. The images can be based on information received from scanner 52 orserver 14. For example,print assembly 53 generates an electrostatic latent image on a rotating transfer device, which receives toner on the latent image and then transfers the toner to a sheet of paper. Other printing techniques may be used, such as ink jet printing. - The one or
more input devices 54 are collectively referred to asprinter input device 54.Printer input device 54 may include any one or more of a keyboard with buttons, touch-sensitive screen, mouse, electronic pen, microphone, and other means of user input.Printer display 55 may include a liquid crystal display, projector, or other type of visual display device.Printer input device 54 anddisplay 55 may be used by a user (such as a printer operator working in the print shop) to adjust operation ofprinter 18. -
Printer paper conveyor 56 includes rollers, belts, and mechanical guides that obtain sheets of paper from the appropriate printer trays and conveys the sheets to printassembly 53. The printer trays may contain papers differing in size, material type, and weight. The rollers, belts, and mechanical guides are actuated by various motors that are electrically controlled based on signals generated byprinter processor 50.Printer processor 50 determines the appropriate printer tray from which to obtain a sheet of paper based on the print process requirements ofprint job 17 received byprinter 18. - Printer network interface (I/F) 57 is configured to allow
printer 18 to communicate withserver 14 throughnetwork 22. Printer network I/F 57 includes circuits and electronic components configured for data communication throughnetwork 22. Printer network I/F 57 enablesprinter 18 to receiveprint jobs 17 fromserver 14. Each print job to a printer includes a printing language file (discussed below) and a job ticket that that defines print process requirements relevant to that printer. - As shown in
FIG. 5 ,finisher 20 includes one ormore computer processors 60, one ormore memory devices 61,stapler 62,collator 63,hole puncher 64, foldingassembly 65,finisher paper conveyor 66, andfinisher network interface 67. These machine elements offinisher 20 are interconnected viadata communication bus 68. The one ormore computer processors 60 are collectively referred to asfinisher processor 60.Finisher processor 60 includes circuits and electronic components that execute instructions withinfinisher program 69 for controlling the above-mentioned machine elements offinisher 20. - The one or more
computer memory devices 61 are collectively referred to asfinisher memory 61.Finisher memory 61 includes any one or a combination of random-access memory (RAM) modules, read-only memory (ROM) modules, and other electronic data storage devices.Finisher memory 61 may include a mass storage type of device such as an optical CD or DVD drive, magnetic hard disk drive, or solid-state flash drive.Finisher memory 61 includes a non-transitory computer readable medium that stores files associated withfinisher program 69. The non-transitory computer readable medium offinisher memory 61 may also store data forprint jobs 17 received byfinisher 20 fromserver 14. The data for a print job sent to a finisher includes a job ticket, which will be described below. -
Stapler 62 is configured to staple sheets of paper together. For example,stapler 62 includes a pusher that pushes a cartridge of metal staples toward a driver which, when actuated, pushes one staple into two or more printed sheets. The driver is actuated by a stapler motor that is electrically controlled based on a signal generated byfinisher processor 60. Alternatively,stapler 62 may have other mechanisms known in the art for driving a staple into paper. -
Collator 63 is configured to insert one or more sheets of paper between two sheets of paper. For example,collator 63 includes an arm or roller that pushes a sheet of paper between two other sheets of paper. The arm or roller is actuated by a collator motor that is electrically controlled based on a signal generated byfinisher processor 60. Alternatively,collator 63 may have other mechanisms known in the art for inserting sheets of paper between two other sheets of paper. -
Hole puncher 64 is configured to make a hole in sheets of paper. For example,hole puncher 64 includes a circular blade which, when pressed against paper, cuts a hole in the paper. The circular blade is actuated by a puncher motor that is electrically controlled based on a signal generated byfinisher processor 60. Alternatively,hole puncher 64 may have other mechanisms known in the art for cutting a hole in the paper. - Folding
assembly 65 is configured to fold paper. For example, foldingassembly 65 includes a paper guide, two rollers, and a fold blade. The fold blade is centered between the two rollers at a location below the rollers. The paper guide conveys a sheet of paper next to the fold blade, and then the fold blade pushes a central part of the paper into a nip area between the two rollers. The rollers rotate to pull the central part of the paper into the nip area. The nip area applies pressure to produce a fold at the central part of the paper. The rollers and fold blade are actuated by various motors that are electrically controlled based on signals generated byfinisher processor 60. Alternatively, foldingassembly 65 may have other mechanisms known in the art for folding paper. -
Finisher paper conveyor 66 includes rollers, belts, and mechanical guides that obtain sheets of paper from the appropriate finisher trays and conveys the sheets to any ofstapler 62,collator 63,hole puncher 64, and foldingassembly 65. The rollers, belts, and mechanical guides are actuated by various motors that are electrically controlled based on signals generated byfinisher processor 60. The finisher trays contain stacks of printed sheets of paper from one ormore printers 18. The stacks of printed sheets of paper may be transferred manually by a user fromprinters 18 to the finisher trays. Each stack may have a top sheet having a machine readable code, such as a bar code, that associates the stack with a particular print job. Each finisher tray may include an optical scanner, such as a bar code reader, that reads the machine readable code. Based on information from the optical scanner,finisher processor 60 determines the appropriate finisher tray from which to obtain a sheet of paper and determines an appropriate destination according toprint job 17 received byfinisher 20. The appropriate destination can be any ofstapler 62,collator 63,hole puncher 64, and foldingassembly 65. For example,finisher paper conveyor 66 may transport sheets of paper fromcollator 63 and then tostapler 62. - Some
finishers 20 may have additional capabilities, such as stitching, whileother finishers 20 may have fewer capabilities. For example, onefinisher 20A may be limited to collating, while anotherfinisher 20B may be limited to stapling. Thus, a stack of collated sheets of paper fromfinisher 20A may be transferred manually by a user tofinisher 20B. - Finisher network interface (I/F) 67 is configured to allow
finisher 20 to communicate withserver 14 throughnetwork 22. Finisher network I/F 67 includes circuits and electronic components configured for data communication throughnetwork 22. Finisher network I/F 67 enablesfinisher 20 to receiveprint jobs 17 fromserver 14. Each print job to a finisher includes a job ticket that defines print process requirements relevant to that particular finisher. Unlikeprinter 18,finisher 20 does not haveprint assembly 53. - As shown in
FIG. 6 ,print management program 39 includes jobmanager software module 80 and output devicemanager software module 82. The term “output device” refers toprinters 18 andfinishers 20. - Job manager software module (abbreviated as job manager) 80 processes print
orders 16 fromclient devices 12. Functional submodules 80A-80E ofjob manager 80 are described below. - Print orders 16 (
FIG. 1 ) fromclient devices printing source file 84 and a corresponding data set ofprint process requirements 86. Such print orders are processed by job receiver submodule 80A. Print orders 16 fromclient device 12A includesprinting source file 84 placed in one of hot folders 39 (FIG. 2 ) managed byserver 14. As previously mentioned, eachhot folder 39 has associated with it a data set ofprint process requirements 86. Hotfolder monitor submodule 80B monitorshot folders 39 for any newly depositedprinting source file 84. Hotfolder monitor submodule 80B associates any newly depositedprinting source file 84 with a corresponding data set ofprint process requirements 86 previously stored inserver memory 31. - As previously mentioned, the data set of
print process requirements 86 is not in a format that can be understood and used byprinters 18 andfinishers 20. Job ticket creator submodule 80C createsjob ticket 88 based on the data set ofprint process requirements 86 forprint order 16.Job ticket 88 is in a format, such as JDF or other XML-based format, that can be understood and used by the selected output device. JDF refers to Job Definition Format, which is an industry standard for exchanging information in the graphics industry.Job ticket 88 may be created with some user input via user interface (U/I) submodule 80D. User interface submodule 80D receives input from the user throughserver input device 34 and displays information to the user onserver display 35. - Job dispatcher submodule 80E dispatches or assigns
print order 16 to one ormore output devices job ticket 88 to determine whetherprint order 16 is to be split amongplural output devices job ticket 88 includes a parameter value that allows group processing, job dispatcher submodule 80E will assignprint order 16 tomultiple printers 18, or to at least oneprinter 18 and at least onefinisher 20. Ifjob ticket 88 includes a parameter value that prohibits cluster printing, job dispatcher submodule 80E will assignprint order 16 to a single printer and no other printer. - Assignment of
print order 16 may include some user input via U/I 80D andserver input device 34 to select output devices having capabilities that match the print process requirements defined injob ticket 88. Alternatively or additionally, assignment ofprint order 16 may includeserver 14 analyzingjob ticket 88 to select output devices having capabilities that match the print process requirements defined injob ticket 88. A match occurs when an output device is capable of each of the individual print process requirements. - Output device manager software module (abbreviated output device manager) 82 handles communications with
output devices Output device manager 82 includescluster management submodule 82A that createsprint jobs 17 corresponding to printorders 16. Eachprint job 17 forprinter 18 includes printing language file 90 that is in a language recognized and usable by the printer to allow printing of images defined inprinting source file 84 ofprint order 16. Example printing languages include PostScript (R), Printer Control Language, Portable Document Format (PDF), and XML Paper Specification (XPS). For example, printingsource file 84 may be in bitmap format (.BMP file), andprinter 18 recognizes PostScript but not bitmap.Cluster management submodule 82A createsprint job 17 including printing language file 90 in PostScript. - If job dispatcher 80E has assigned
print order 16 tomultiple output devices cluster management submodule 82A splitsprint order 16 into multiple print jobs, referred to aschild jobs 17. Each child job can have its own printing language file 90. - For example,
print order 16 may be split into first, second, and third child jobs.First child job 17 may be a print job for printing color pages defined in first printing language file 90, and the first printing language file 90 is sent bycluster management submodule 82A to a color printer. First printing language file 90 does not define any BW pages.Second child job 17 may be a print job for printing BW pages defined in second printing language file 90, and second printing language file 90 is sent bycluster management submodule 82A to a black-and-white only (BW) printer. Second printing language file 90 does not define any color pages.Third child job 17 may be a finishing job for collating printed color pages obtained from the color printer into BW pages obtained from the BW printer, and the third child job is sent bycluster management submodule 82A to a collating finisher. Collating is performed according tojob ticket 88. - Referring again to
FIG. 6 , various software plug-ins 91 are installed inserver 14. Plug-ins 91 are mounted onprint management program 38 to handle communications betweenserver 14 andoutput devices - For example, there can be three types of
printers 18 according to Table I, and two types of finishers according to Table II. -
TABLE I Printer Types Capability Type P1 2-sided *; BW-only Type P2 2-sided *; color ** Type P3 1-sided only; BW-only * Printers capable of 2-sided printing are capable of 1-sided printing. ** Printers capable of color printing are capable of BW printing. -
TABLE II Finisher Types Capability Type F1 collating only Type F2 binding: stapling and stitching - Plug-in 91A works only with type P1 printers, which are
printers printers printer 18E may have 2-sided, BW-only printing capability on letter and tabloid size sheets. Plug-in 91B works only with type P2 printers, which corresponds only toprinter 18C having 2-sided, color printing capability on letter and tabloid size sheets. Plug-in 91C works only with type P3 printers, which corresponds only toprinter 18D having single-sided, BW-only printing on letter and tabloid size sheets. The printer capabilities in this example are summarized in Table III. Job dispatcher 80E may use a lookup table similar to Table III stored inserver memory 31 to select one ormore printers 18 to completeprint order 16. -
TABLE III Printer Type Capability 18A P1 2-sided, BW-only, letter size only 18B P1 2-sided *, BW-only, letter size only, booklet printing 18C P2 2-sided *, color **, letter and tabloid sizes, stapling 18D P3 1-sided only, BW-only, letter and tabloid sizes 18E P1 2-sided *, BW-only, letter and tabloid sizes * Printers capable of 2-sided printing are capable of 1-sided printing. ** Printers capable of color printing are capable of BW printing. - Plug-in 91D works with all type F1 finishers, which corresponds only to
finisher 20A in this example. Plug-in 91E works with all type F2 finishers, which corresponds only tofinisher 20B in this example. The finisher capabilities in this example are summarized in Table IV. Job dispatcher 80E may use a lookup table similar to Table IV stored inserver memory 31 to select one ormore finishers 20 to completeprint order 16. -
TABLE IV Finisher Type Capability 20A F1 collating only, letter and tabloid size 20B F2 stapling, stitching, letter and tabloid size - Plug-in
manager 92 is a software module ofprint management program 38. Plug-inmanager 92 analyzes all plug-ins 91 to determine what type of plug-ins have been mounted. InFIG. 6 , plug-inmanager 92 determines that plug-ins for printer types P1, P2, and P3 are available, and that plug-ins for finisher types F1 and F2 are available. IfFIG. 6 is modified by removing plug-in 91A, plug-inmanager 92 will determine that no plug-in for printer type P1 is available. Plug-inmanager 92 may maintain a listing of the plug-ins that are available, and the listing is accessed plug-inmanager 92 whenever a print order is received byserver 14 - The plug-ins are not essential parts of
print management program 38, which includesjob manager module 80, outputdevice manager module 82, and plug-inmanager module 92. Each ofmodules - Referring to
FIG. 7 , functional submodules 94-100 of plug-in 91A will be described below. All other plug-ins 91B-E have the same functional submodules 94-100. - Job ticket submitter
submodule 94 sendsjob ticket 88 to the selected output device. For example,printer 18E has 2-sided only, BW-only printing capability on letter and tabloid size sheets as shown in Table III. Ifjob ticket 88 from job ticket creator 80C (FIG. 6 ) specifies 1-sided, BW printing on tabloid size sheets, job dispatcher 80E may selectprinter 18E, and then jobticket submitter submodule 94 of plug-in 91A sendsjob ticket 88 toprinter 18E. Plug-in 91A would also send printing language file 90 toprinter 18E. Printing language file 90 defines the content to be printed, andjob ticket 88 defines the requirements (2-sided, BW printing on tabloid size sheets) for printing the content. For example, the content could be a photograph, illustration, text, or a combination thereof. -
Constraint check submodule 95 enables the selected output device to confirm that it supports all print process requirements injob ticket 88. Continuing from the previous example,printer 18E is capable of printing on tabloid size paper, but tabloid size paper may be currently unavailable inprinter 18E, so the constraint is communicated to job dispatcher submodule 80E. - Job dispatcher submodule 80E (
FIG. 6 ) performs a printer constraint resolution process. For example, job dispatcher submodule 80E may try to find another printer capable of 1-sided, BW printing on tabloid size paper. As shown in Table III,printer 18C is capable of 2-sided color printing on tabloid size paper, which means that it is also capable of printing on a single side (1-sided printing) using black only (BW printing). To resolve the constraint, job dispatcher submodule 80E may autonomously change the selection fromprinter 18E toprinter 18C, or it may allow the server-side user to confirm the change via U/I 80D. - In a further example,
job ticket 88 may require finishing that includes both stapling and stitching, sofinisher 20B is selected bycluster management submodule 82A based on Table IV, which shows thatfinisher 20B can staple and stitch on tabloid size paper. However,finisher 20B is incapable for performing both stapling and stitching on the sheets of paper, so the constraint is communicated to dispatcher submodule 80E. - Job dispatcher submodule 80E performs a finisher constraint resolution process. For example, job dispatcher 80E may allow the server-side user to waive or remove one of the binding requirements via U/I 80D. If the user removes the stapling requirement, the constraint is resolved, and the print job will proceed with
finisher 20B performing stitching only. - Referring again to
FIG. 7 ,device register submodule 96 obtains identifying information from alloutput devices server 14. Identifying information, such as a machine name and/or machine location are displayed by U/I 80D on server display 35 (FIG. 2 ).Device status submodule 97 polls alloutput devices output devices - Job
status monitor submodule 98 receives job status indicator aboutprint job 17 that was sent tooutput devices FIG. 2 ). -
Audit monitor submodule 99 receives and analyzes audit information fromoutput devices print management program 38, and transmits the readable data to printmanagement program 38. The audit information fromprinter 18 includes information on a number of pages printed relative to a printer tray and paper sheet size. For example, the audit information may specify that letter size paper fromprinter tray 1 was used for 205 pages. The audit information fromfinisher 20 includes information on a number of pages subjected to a finishing operation. - Paper
catalog manager submodule 100 receives a paper catalog from eachprinter 18 and transmits the paper catalog to printmanagement program 38. Eachprinter 18 has a function for storing paper-related settings associated with a printer tray. Paper-related settings are a group of paper parameters, such as paper size, color, weight, and material type. Each paper-related setting (group of paper parameters) is given a catalog name in a paper catalog. Since the paper catalog (a group of catalog names) is transmitted by papercatalog manager submodule 100 toprint management program 38, a client-side user may assign one or more catalog names to printorder 16. Advantageously, the client-side user does not have to specify paper parameters individually forprint order 16.Print management program 38 recognizes the catalog names inprint order 16 and assigns the appropriate printer or printers to completeprinter order 16. The selected printer or printers are those that have printer trays that correspond to the catalog names inprint order 16. Papercatalog manager submodule 100 is an interface for communicating withprinter 18 to obtain information about paper-related settings associated with printer trays, analyzing said information and then converting it into data (a paper catalog) that is recognizable byprint management program 18. - There are several advantages to having submodules 94-101 in plug-ins instead of in
print management program 38. First, each output device model (e.g. Accurio Press C6100, C1100, Accurio Pro 1250, etc.) typically has slightly different specifications for color support, paper size, print speed, supported finishing options, and so on. As such, print job settings that are possible will differ among output devices. In addition, each printer typically supports multiple controllers that are developed by different companies (e.g., KonicaMinolta, EFI, and Creo), and each controller provides different protocols that are not compatible with those of other controllers. Having submodules 94-101 in plug-ins allow for efficient handling of different device specifications and controller protocols. In particular, advantages of having submodules 94-100 and optionally 101 in plug-ins include: (a) the ability to support a new device model by adding a new plug-in rather than making changes throughout a relatively large software program, such asprint management program 38; (b) allowing a customer or output device manufacturer to have installed in print server 14 a required plug-in which is owned or provided by the customer or output device manufacturer, which results in improved print server performance as the seek time to find an appropriate submodule for handling a print order is reduced; and (c) deployment and patch releases can be accomplished within the framework of a plug-in, which requires less software testing time. - Referring again to
FIG. 6 , each plug-in 91B-E handles communications betweenserver 14 and only one of the output devices to complete asingle print order 16. Each plug-in 91B-E does not handle communications with more than one output device for asingle print order 16. For example, plug-in 91A handles communications betweenserver 14 and eitherprinter single print order 16. -
FIG. 6 may be modified to include one or more group plug-ins. A group plug-in handles communications betweenserver 14 and two or more output devices to complete asingle print order 16. For example, a group plug-in may handle communication with two printers as shown inFIG. 8 . As a further example, a group plug-in may handle communication with one printer and one finisher as shown inFIG. 11 . -
FIG. 8 shows group plug-ins FIG. 6 . Group plug-ins server 14 and two printers to complete asingle print order 16. Plug-in 93A handles communications to two type P1 printers to complete asingle print order 16. For example, asingle print order 16 may require 2-sided printing of thousands of BW letter size pages. Based on Table III, job dispatcher 80E may divide the pages betweenprinters print order 16 may be assigned toprinter 18A, and the remaining pages ofprint order 16 may be assigned toprinter 18B. Alternatively, ifprinter 18B is busy, job dispatcher 80E may assign toprinter 18E instead. - Plug-in 93B handles communications between
server 14 and two types of printers: type P1 and type P2. For example, a single print order may have BW pages and color pages. Based on Table III, job dispatcher 80E may assign the BW pages toprinter 18A (type P1) and assign the color pages toprinter 18C (type P2). -
FIG. 9 shows functional submodules 94-101 of group plug-in 93B. Group plug-in 93A has the same functional submodules as group plug-in 93B. - Submodules 94-100 function as described for plug-
ins 91A-E.Cluster management submodule 101 splitsprint order 16 into multiple jobs, referred to aschild jobs 17, if job dispatcher 80E inprint management program 38 has assignedprint order 16 tomultiple printers 18. -
FIG. 10 shows an example print management method that can be performed withsystem 10 ofFIGS. 1-9 or by another system. At block S102,server 14 receivesprint order 16. At block S104,server 14 determines whether the received print order is to be split among plural output devices. The plural output devices includes a first device and a second device. For example, the first and second devices can beprinters - The determination at block S104 can be made by job dispatcher 80E of
print management program 38. Job dispatcher 80E analyzesjob ticket 88 to determine whetherprint order 16 is to be split among plural output devices. - If
job ticket 88 includes a parameter value that prohibits group processing (S104:NO), then at block S106 job dispatcher submodule 80E assignsprint order 16 to a single printer. Job dispatcher 80E analyzesjob ticket 88. If the print process requirements defined injob ticket 88 match capabilities of one ofprinters 18, then job dispatcher 80E assignsprint order 16 to that printer. For example, ifjob ticket 88 includes a parameter value that prohibits group processing and the print process requirements defined injob ticket 88 match capabilities ofprinter 18C, then job dispatcher 80E assignsprint order 16 toprinter 18C and no other printer.Print order 16 may have BW and color pages, in whichcase printer 18C is instructed to print both the BW and color pages. - At block S108,
device manager 82 creates a print job fromprint order 16. At block S110,print order 16 is completed by using plug-in 91 corresponding to the assigned printer to instruct the assigned printer to execute the print job. For example, ifprint order 16 was assigned toprinter 18C at block S106, then printorder 16 can be completed by using plug-in 91B (FIG. 6 ) to instructprinter 18C to execute the print job. - If
job ticket 88 includes a parameter value that allows group processing (S104:YES), then at block S112 job dispatcher module 80E assignsprint order 16 tomultiple printers 18. Job dispatcher 80E analyzesjob ticket 88. If the print process requirements defined injob ticket 88 match capabilities of the first and second devices, then job dispatcher 80E assigns the print order to the first and second devices. For example, if the print process requirements defined injob ticket 88 match capabilities ofprinters printers printers print management program 38 as a virtual cluster printer with type P1 and P2 capabilities. - At block S114, plug-in
manager 92 determines whetherprint server 14 has a group plug-in corresponding to both the first and second devices that were selected at block S112. For example, ifprinter 18A (type P1) andprinter 18C (type P2) were selected at block S112, plug-inmanager 92 determines whetherprint server 14 has group plug-in 93B (FIG. 8 ). Plug-in 93B can be referred to as a plug-in for a virtual cluster printer with type P1 and P2 capabilities. - When
print server 14 is determined to have a group plug-in corresponding to both the first and second devices (S114:YES), then at block S116cluster management module 101 of the group plug-in (not thecluster management submodule 82A of print management program 38) creates a first child job and a second child job fromprint order 16. At block S118, the print order is completed by using the group plug-in to instruct the first device to execute the first child job and to instruct the second device to execute the second child job. For example, if group plug-in 93B was found at block S114, group plug-in 93B is used to instructprinter 18A to execute the first child job for BW pages only and to instructprinter 18C to execute the second child job for color pages only. - When
print server 14 is determined to not have a group plug-in corresponding to both the first and second devices (S114:NO), then at block S120cluster management submodule 82A of print management program 38 (notcluster management module 101 of a group plug-in) creates a first child job and a second child job fromprint order 16. At block S122,print order 16 is completed by using a first plug-in (not a group plug-in) to instruct the first device to execute the first child job and a second plug-in (not a group plug-in) to instruct the second device to execute the second child job. The first and second plug-ins can be plug-ins corresponding to the printer type of the selected printers. For example, if group plug-in 93B was not found at block S114, plug-in 91A ofFIG. 6 (an example of a first plug-in) is used to instructprinter 18A to execute the first child job for BW pages only, and plug-in 91B ofFIG. 6 (an example of a second plug-in) is used to instructprinter 18C to execute the second child job for color pages only. -
FIG. 11 shows group plug-ins FIG. 6 orFIG. 6 in combination withFIG. 8 . Group plug-ins server 14 and a printer and a finisher. Plug-in 93C handles communications betweenserver 14, a type P1 printer, and type F1 finisher. For example, asingle print order 16 may require 2-sided BW letter size pages that are to be collated with colored paper. Based on Tables III and IV, job dispatcher 80E may divide the print order betweenprinter 18A andfinisher 20A. - Plug-in 93D handles communications between
server 14, a type P2 printer, and type F2 finisher. For example, asingle print order 16 may require 2-sided color tabloid size pages that are to be stapled. Based on Tables III and IV, job dispatcher 80E may divide the print order betweenprinter 18C andfinisher 20B. -
FIG. 12 shows functional submodules 94-100 of group plug-in 93D. Group plug-in 93C has the same functional submodules as group plug-in 93B. Submodules 94-100 function as described for plug-ins 91A-E. Group plug-ins -
FIG. 13 shows an example print management method that can be performed withsystem 10 ofFIGS. 1-9, 11, and 12 or by another system. At block S202,server 14 receivesprint order 16. At block S204,server 14 determines whether the received print order is to be split among plural output devices. The plural output devices includes a first device and a second device. For example, the first and second devices canprinter 18C andfinisher 20B. - The determination at block S204 can be made by job dispatcher 80E of
print management program 38. Job dispatcher 80E analyzesjob ticket 88 to determine whetherprint order 16 is to be split among plural output devices. For example,job ticket 88 may include parameter values that requires printing color pages and then stapling. - If
job ticket 88 includes a parameter value that prohibits group processing (S204:NO), then at block S206 job dispatcher submodule 80E assignsprint order 16 to a printer only.Print order 16 is not assigned to anyfinisher 20 which does not have any printing capability. Job dispatcher 80E analyzesjob ticket 88. If the print process requirements defined injob ticket 88 match capabilities of one ofprinters 18, then job dispatcher 80E assignsprint order 16 to that printer. For example, ifjob ticket 88 includes a parameter value that prohibits group processing and the print process requirements (printing color pages and then stapling) defined injob ticket 88 match capabilities ofprinter 18C in a lookup table, then job dispatcher 80E may assignprint order 16 toprinter 18C.Printer 18C will print pages and then staple them. - At block S208,
device manager 82 creates a print job fromprint order 16. At block S210,print order 16 is completed by using plug-in 91 corresponding to the assigned printer to instruct the assigned printer to execute the print job. For example, ifprint order 16 was assigned toprinter 18C at block S206, then printorder 16 can be completed by using plug-in 91B (FIG. 6 ) to instructprinter 18C to execute the print job. - If
job ticket 88 includes a parameter value that allows group processing (S204:YES), then at block S212 job dispatcher module 80E assignsprint order 16 tomultiple output devices job ticket 88. If the print process requirements defined injob ticket 88 match capabilities of the first and second devices, then job dispatcher 80E assigns the print order to the first and second devices. For example, if the print process requirements (printing color pages and then stapling) defined injob ticket 88 match capabilities ofprinter 18C (color pages) andfinisher 20B (stapling) in a lookup table, then job dispatcher 80E assigns the print order toprinter 18C andfinisher 20B. - At block S214, plug-in
manager 92 determines whetherprint server 14 has a group plug-in corresponding to both the first and second devices that were selected at block S212. For example, ifprinter 18C (type P2) andfinisher 20B (type F2) were selected at block S212, plug-inmanager 92 determines whetherprint server 14 has group plug-in 93D (FIG. 11 ). - When
print server 14 is determined to have a group plug-in corresponding to both the first and second devices (S214:YES), then at block S216 a first child job and a second child job are created fromprint order 16. For example, a first child job would have a first job ticket defining a set of print process requirements (e.g., color printing, no stapling) relevant toprinter 18C. A second child job would have a second job ticket defining a set of print process requirements (e.g., stapling) relevant tofinisher 20B. - At block S218, the print order is completed by using the group plug-in to instruct the first device to execute the first child job and to instruct the second device to execute the second child job. For example, if group plug-in 93D was found at block S214, the print order is completed by using group plug-in 93D to instruct
printer 18C to execute the first child job for printing and to instructfinisher 20B to execute the second child job for stapling. - When
print server 14 is determined to not have a group plug-in corresponding to both the first and second devices (S214:NO), then at block S220 a first child job and a second child job are created fromprint order 16. At block S222,print order 16 is completed by using a first plug-in (not a group plug-in) to instruct the first device to execute the first child job and a second plug-in (not a group plug-in) to instruct the second device to execute the second child job. The first plug-in can be a plug-in corresponding to the printer type of the selected printer. The second plug-in can be a plug-in corresponding to the finisher type of the selected finisher. For example, if group plug-in 93B was not found at block S214, plug-in 91B ofFIG. 6 (an example of a first plug-in) is used to instructprinter 18C to execute the first child job for printing, and plug-in 91E ofFIG. 6 (an example of a second plug-in) is used to instructfinisher 20B to execute the second child job for stapling. - Group plug-in 93D provides certain advantages over generic plug-
ins print management program 38 has to load two or more plug-ins to completeprint order 16. The associated cost for an individual print order is small, but the costs multiply in high volume printing operations. The cost can be significant in a print shop that handles a thousand or more print orders. With regard to job splitting time, as discussed for block S114 inFIG. 10 ,print management program 38 will first try to figure out if an appropriate group plug-in is present. If not, thenprint management program 38 returns from plug-inmanager 92 tocluster manager 82A (S120 inFIG. 10 ) to split the job. This increases costs particularly when there are a large number of print orders. - In
FIG. 13 , the child jobs are created by the group plug-in at block S216 or S220 after block S214. Alternatively, the child jobs may be created atpoint 213 by print management program 83. For example,cluster management submodule 82A of print management program 83 may create child jobs atpoint 213. -
FIG. 14 shows printer-specific plug-in 300 that can be added toFIG. 6 alone or in combination withFIG. 8 and/orFIG. 11 . -
FIG. 15 shows functional submodules 94-100 of printer-specific plug-in 300. Submodules 94-100 function as described for plug-ins 91A-E. Printer-specific plug-in 300 does not include a cluster management module. Optionally, printer-specific plug-in 300 does not communicate with more than one printer for a single print order. -
FIG. 16 shows an example print management method that can be performed withsystem 10 ofFIGS. 1-9, 11, and 12 or by another system. At block S302,server 14 receivesprint order 16. At block S304, job dispatcher submodule 80E assignsprint order 16 to a printer. Job dispatcher 80E analyzesjob ticket 88 as part of the assignment process. If group processing is prohibited and the print process requirements defined injob ticket 88 match capabilities of one ofprinters 18, then job dispatcher 80E assignsprint order 16 to that printer. For example, ifjob ticket 88 prohibits group processing and includes print process requirements (printing color pages) defined injob ticket 88 that match capabilities ofprinter 18C in a lookup table, then job dispatcher 80E may assignprint order 16 toprinter 18C. Also at block S304,device manager 82 creates a print job fromprint order 16. - At block S306, plug-in
manager 92 determines whetherprint server 14 has a printer-specific plug-in corresponding to the printer selected at block S304. For example, ifprinter 18C was selected at block S304, plug-inmanager 92 determines whetherprint server 14 has printer-specific plug-in 300 (FIG. 14 ). - When
print server 14 is determined to have a printer-specific plug-in corresponding to the selected printer (S306:YES), then at block S308 the print order is completed by using the printer-specific plug-in to instruct the selected printer to execute the print job. For example, if printer-specific plug-in 300 was found at block S306, the print order is completed by using printer-specific plug-in 300 to instructprinter 18C to execute the print job. - When
print server 14 is determined to not have a printer-specific plug-in corresponding to the selected printer (S314:NO), then at block S310 the print order is completed by using a first plug-in (not a printer-specific plug-in) to instruct the selected printer to execute the print job. The first plug-in can be a plug-in corresponding to the printer type of the selected printer. For example, if printer-specific plug-in 300 was not found at block S314, plug-in 91B ofFIG. 6 (an example of a first plug-in) is used to instructprinter 18C to execute the print job. - Use of printer-specific plug-in 300 can have advantages over plug-in 91B, which is generic to type 2 printers. Printer-specific plug-in 300 can be optimized to the configuration of a particular printer so as to reduce the amount of time to generate a job ticket, such as a job ticket in JDF format.
- For example, a printer may be capable of stapling but not capable of any other finishing operation. A printer-specific plug-in for that printer will specify a stapling option in the job ticket. The stapling option determines whether or not stapling is to be performed. If stapling is to be performed, the stapling option will specify how it be performed, such as a stapling on the top left corner of the paper. When creating the job ticket, the printer-specific plug-in will skip or omit options for any other finishing operation since only stapling applies to the printer. The job ticket is not have options for any finishing operation except for stapling. This increases efficiency in creating job tickets compared to generic plug-in 91B. If a printer-specific plug-in is not available for the printer and generic plug-in 91B is used, the generic plug-in 91B may have to specify options for all finishing operations that apply to type P2 printers.
-
FIG. 17 shows setting-specific plug-in 400 that can be added toFIG. 6 alone or in combination withFIG. 8 ,FIG. 11 , and/orFIG. 14 . -
FIG. 18 shows functional submodules 94-100 of setting-specific plug-in 400. Submodules 94-100 function as described for plug-ins 91A-E. Setting-specific plug-in 400 does not include a cluster management module. Optionally, setting-specific plug-in 300 does not communicate with more than one printer for a single print order. -
FIG. 19 shows an example print management method that can be performed withsystem 10 ofFIGS. 1-9, 11, 12, 14 and 15 or by another system. At block S402,server 14 receivesprint order 16. At block S404, job dispatcher submodule 80E assignsprint order 16 to a printer. Job dispatcher 80E analyzesjob ticket 88 as part of the assignment process. If the print process requirements defined injob ticket 88 match capabilities of one ofprinters 18, then job dispatcher 80E assignsprint order 16 to that printer. For example, if the print process requirements (booklet print setting) defined injob ticket 88 match capabilities ofprinter 18B in a lookup table, then job dispatcher 80E may assignprint order 16 toprinter 18B. Booklet print setting involves printing two pages of a document on a single sheet of paper. Also at block S404,device manager 82 creates a print job fromprint order 16. - At block S406, plug-in
manager 92 determines whetherprint server 14 has a setting-specific plug-in corresponding to the print setting and the printer selected at block S404. For example, ifprinter 18B (type P1) was selected at block S404, plug-inmanager 92 determines whetherprint server 14 has setting-specific plug-in 400 (FIG. 14 ) for booklet printing on type P1 printers. - When
print server 14 is determined to have the corresponding setting-specific plug-in (S406:YES), then at block S408 the print order is completed by using the setting-specific plug-in to instruct the selected printer to execute the print job. For example, if setting-specific plug-in 400 was found at block S406, the print order is completed by using setting-specific plug-in 400 to instructprinter 18B to execute the print job. - When
print server 14 is determined to not have the corresponding setting-specific plug-in (S414:NO), then at block S410 the print order is completed by using a first plug-in (not a setting-specific plug-in) to instruct the selected printer to execute the print job. The first plug-in can be a plug-in corresponding to the printer type of the selected printer. For example, if setting-specific plug-in 400 was not found at block S414, plug-in 91A ofFIG. 6 (an example of a first plug-in) is used to instructprinter 18B to execute the print job. - Use of setting-specific plug-in 400 can have advantages over plug-in 91B, which is generic to type 2 printers, by increasing efficiency in creating a job ticket. For example, type P1 printers are assumed to have multiple finishing capabilities, such as stapling, folding, and others. Further, type P1 printers may have multiple folding capabilities, including booklet folding, letter folding, z-folding, and others. If the particular print shop only produces booklet printing products or produces mostly booklet printing products, a setting-specific plug-in for printer type P1 with booklet print setting may create a JDF job ticket by skipping or omitting options for all finishing operations except for folding. Furthermore, the setting-specific plug-in may omit options for all folding operations except for booklet folding. That is, the JDF job ticket does not include options for any finishing operation except for booklet folding.
-
FIG. 20 shows customer-specific plug-in 55 that can be added toFIG. 6 alone or in combination withFIGS. 8, 11, 14 , and/or 17. -
FIG. 21 shows functional submodules 94-100 of customer-specific plug-in 500. Submodules 94-100 function as described for plug-ins 91A-E. Customer-specific plug-in 500 does not include a cluster management module. Optionally, customer-specific plug-in 300 does not communicate with more than one printer for a single print order. -
FIG. 22 shows an example print management method that can be performed withsystem 10 ofFIGS. 1-9, 11, 12, 14, 15, 17 and 18 or by another system. At block S502,server 14 receivesprint order 16.Print order 16 includes information identifying a specific customer associated withprint order 16. At block S504, job dispatcher submodule 80E assignsprint order 16 to a printer. Job dispatcher 80E analyzesjob ticket 88 as part of the assignment process. If the print process requirements defined injob ticket 88 match capabilities of one ofprinters 18, then job dispatcher 80E assignsprint order 16 to that printer. For example, if the print process requirements (2-sided BW printing on tabloid sheet size) defined injob ticket 88 match capabilities ofprinter 18E in a lookup table, then job dispatcher 80E may assignprint order 16 toprinter 18E. Also at block S504,device manager 82 creates a print job fromprint order 16. - At block S506, plug-in
manager 92 determines whetherprint server 14 has a customer-specific plug-in corresponding to the customer from whichprint order 16 was received. As previously mentioned,print order 16 includes information identifying a specific customer. Plug-inmanager 92 may compare that information with a listing of the plug-ins that are available. For example, ifprint order 16 belongs to customer C1 andprinter 18E (type P1) was selected at block S504, plug-inmanager 92 determines whetherprint server 14 has customer-specific plug-in 500 (FIG. 14 ) for customer C1 for use with type P1 printers. - When
print server 14 is determined to have the corresponding customer-specific plug-in (S506:YES), then at block S508 the print order is completed by using the customer-specific plug-in to instruct the selected printer to execute the print job. For example, if customer-specific plug-in 500 was found at block S506, the print order is completed by using customer-specific plug-in 500 to instructprinter 18E to execute the print job. - When
print server 14 is determined to not have the corresponding customer-specific plug-in (S514:NO), then at block S510 the print order is completed by using a first plug-in (not a customer-specific plug-in) to instruct the selected printer to execute the print job. The first plug-in can be a plug-in corresponding to the printer type of the selected printer. For example, if customer-specific plug-in 500 was not found at block S514, plug-in 91A ofFIG. 6 (an example of a first plug-in) is used to instructprinter 18E to execute the print job. - Use of customer-specific plug-in 500 can have advantages over plug-in 91B, which is generic to type 2 printers, by increasing efficiency in creating a job ticket. For example, we assume that type P1 printers are capable of multiple finishing operations, namely stapling, various types of folding, and others. Also, Customer C1 always sends print orders to make brochures that are stapled on the top left and booklet folded. The customer specific plug-in for type P1 printers+Customer C1 would create a JDF job ticket by skipping or omitting options for all finishing operations except for stapling and folding. Furthermore, the customer-specific plug-in may omit options for all folding operations except for booklet folding. That is, the JDF job ticket does not include options for any finishing operation except for stapling and booklet folding.
- Plug-in manager may store information about use time of various plug-ins.
Server 14 may display the information onserver display 35.Server 14 may analyze the information to determine whether a group plug-in or other type of plug-in should be installed onserver 14. -
FIG. 23 showsinformation 600 about use time of various plug-ins that may be displayed onserver display 35.Column 602 lists theoutput devices server 14.Column 604 lists the plug-ins that were used to complete print jobs. - The gray, black, and striped bars represent print jobs performed over time. The horizontal length of the bars represent use time of the plug-ins and the time duration for completing the print job. The plug-in use times and print job time durations are stored in
server memory 31. The left end of the bar represents the print job start time, and the right end of the bar represents the print job finish time. The gray bars areprint jobs 17 ofprint orders 16 that were completed without group process, meaning that only a single output device was used to complete the print order. - The back bars and striped bars represent
child jobs 17 ofprint orders 16 that were completed with group processing, meaning that at least two output devices were used to complete the print order. The child jobs belonging to the same print order are connected with a curved line. Referring to blackbar child jobs FIG. 11 ) was found to be installed at block S214 ofFIG. 13 , and the print order was completed by using the group plug-in to instructprinter 18A andfinisher 20A to executechild jobs - For the striped
bar child jobs FIG. 23 , a group plug-in was not found to be installed at block S114 ofFIG. 10 . That is, there was no group plug-in available for cluster printer type P1 and P3. The print order was completed by using a first plug-in based on printer type (e.g., plug-in 91A ofFIG. 6 ) to instructprinter 18A to executechild job 17C, and by using a second plug-in based on printer type (e.g., plug-in 91C ofFIG. 6 ) to instructprinter 18D to executechild job 17D. -
Server 14 may analyze the duration and/or quantity of child jobs (e.g., 17C and 17D) that were not executed with a group plug-in. If the durations exceeds a time threshold and/or the quantity exceeds a quantity threshold, thenserver 14 may indicate a need for a corresponding group plug-in. For example, if the duration of the a first child job and the duration a second child job, individually or combined, exceed a time duration, thenserver 14 may indicate a need for a corresponding group plug-in. - As a further example,
server 14 may analyze the duration and/or quantity of print jobs (e.g., 17E and 17F) that each used a plug-in based printer type and involved no group processing, meaning that the print orders were completed by a single output device. If the duration exceeds a time threshold and/or the quantity exceeds a quantity threshold, thenserver 14 may indicate a need for a corresponding printer-specific plug-in. - Information table 600 may include additional columns that indicate the printer setting (print process requirements) and/or customer identification. As in the two examples above,
server 14 may analyze the duration and/or quantity of print jobs for printer settings to indicate a need for a new setting-specific plug-in and/or customer-specific plug-in. - The need for a new plug-in (e.g., a group plug-in, printer-specific plug-in, setting-specific plug-in, or customer-specific plug-in) may be indicated on
server display 35 so that the user can be instructed to install the new plug-in. The new plug-in may be generated byserver 14. The new-plug in may be generated by a software engineer at the print shop, by the customer, or by the output device manufacturer. - As shown in
FIG. 24 , any of the above-described plug-ins may be received byserver 14 from a client-side user (e.g., customer of the print shop) via the client device operated by the customer. For example, customer-specific plug-in 500 (FIG. 20 ) may be received byserver 14 from anyclient device 12. The plug-in may be included withprint order 16.Print order 16 including the plug-in may be sent using the web browser ofclient device 12 and transmitted via theInternet 24 andnetwork 22 toserver 14. - As shown in
FIG. 25 , any of the above-described plug-ins may be received byserver 14 fromprinter manufacturer 610. For example, printer-specific plug-in 300 (FIG. 15 ) may be received byserver 14 fromprinter manufacturer 610.Block 610, representing the printer manufacturer, may be a computer or device similar to any ofclient devices 12 capable of transmitting the plug in via theInternet 24 andnetwork 22 toserver 14. - While several particular forms of the invention have been illustrated and described, it will also be apparent that various modifications can be made without departing from the scope of the invention. It is also contemplated that various combinations or subcombinations of the specific features and aspects of the disclosed embodiments can be combined with or substituted for one another in order to form varying modes of the invention. Accordingly, it is not intended that the invention be limited, except as by the appended claims.
Claims (21)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/727,348 US10261737B1 (en) | 2017-10-06 | 2017-10-06 | Print management method, apparatus, and computer-readable medium |
JP2018171444A JP7248398B2 (en) | 2017-10-06 | 2018-09-13 | Print management method, apparatus, and computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/727,348 US10261737B1 (en) | 2017-10-06 | 2017-10-06 | Print management method, apparatus, and computer-readable medium |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190107977A1 true US20190107977A1 (en) | 2019-04-11 |
US10261737B1 US10261737B1 (en) | 2019-04-16 |
Family
ID=65993192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/727,348 Active US10261737B1 (en) | 2017-10-06 | 2017-10-06 | Print management method, apparatus, and computer-readable medium |
Country Status (2)
Country | Link |
---|---|
US (1) | US10261737B1 (en) |
JP (1) | JP7248398B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200089440A1 (en) * | 2018-09-14 | 2020-03-19 | Canon Kabushiki Kaisha | Server system that improves availability of a plurality of printers, print controller, information processing apparatus, and print service system |
US11070696B2 (en) * | 2019-04-25 | 2021-07-20 | Kyocera Document Solutions Inc. | Information processing system |
US11385842B2 (en) * | 2018-09-21 | 2022-07-12 | Canon Kabushiki Kaisha | Printing system, information processing apparatus, control method therefor, and storage medium |
US20220266614A1 (en) * | 2018-09-12 | 2022-08-25 | David Wachs | Mechanical handwriting barcode apparatus and method of use thereof |
US11531507B2 (en) * | 2018-09-14 | 2022-12-20 | Canon Kabushiki Kaisha | Information processing apparatus, method and storage medium for using extension modules to generate print commands compliant with a plurality of different printing protocols |
EP4224390A1 (en) * | 2022-02-02 | 2023-08-09 | Fujifilm Business Innovation Corp. | Information processing apparatus, information processing program, and information processing method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018194965A (en) * | 2017-05-15 | 2018-12-06 | コニカミノルタ株式会社 | Dispersion printing system, sheet assortment method, and job management device |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6621589B1 (en) * | 1999-09-24 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | Print job processing in a printer network using selected printer attributes |
US7079273B2 (en) * | 2001-02-22 | 2006-07-18 | Konica Corporation | Print management server, printing management system and printing method |
JP2003157154A (en) * | 2001-11-20 | 2003-05-30 | Fuji Photo Film Co Ltd | Print service system, print service method, print order managing device and print request information preparing device |
JP3962612B2 (en) * | 2002-03-12 | 2007-08-22 | キヤノン株式会社 | Information processing apparatus and setting method and program executed by information processing apparatus |
US7304760B2 (en) * | 2002-09-30 | 2007-12-04 | Sharp Laboratories Of America, Inc. | Providing capabilities matching for cluster printing |
JP2004220565A (en) | 2002-12-27 | 2004-08-05 | Seiko Epson Corp | Distributed printing system, distributed printing method, distributed printing program, printer and printer management server |
US7702673B2 (en) * | 2004-10-01 | 2010-04-20 | Ricoh Co., Ltd. | System and methods for creation and use of a mixed media environment |
US8270007B2 (en) | 2008-02-11 | 2012-09-18 | Konica Minolta Laboratory U.S.A., Inc. | Print job assignment method allowing user-prioritization |
JP4885904B2 (en) * | 2008-04-15 | 2012-02-29 | コニカミノルタビジネステクノロジーズ株式会社 | Image processing method, image processing program, and image processing apparatus |
JP2010003028A (en) * | 2008-06-19 | 2010-01-07 | Konica Minolta Business Technologies Inc | Image forming system, image forming device, print server, image forming method, and image forming program |
JP5284011B2 (en) * | 2008-08-29 | 2013-09-11 | キヤノン株式会社 | Printing system, printing control method and program |
US8693012B2 (en) * | 2008-09-04 | 2014-04-08 | Xerox Corporation | Run cost optimization for multi-engine printing system |
US20120218594A1 (en) * | 2011-02-28 | 2012-08-30 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for fulfilling a customer's print job needs by selecting and assigning the print job to one or more qualified printers from a group of participating printers |
JP5803290B2 (en) * | 2011-06-01 | 2015-11-04 | 株式会社リコー | Data processing apparatus and program |
JP6127597B2 (en) | 2013-03-12 | 2017-05-17 | 株式会社リコー | Information processing apparatus, control method thereof, and program |
JP5977790B2 (en) * | 2014-03-31 | 2016-08-24 | 富士フイルム株式会社 | Print production system, method, program, and print management server |
EP3143488B1 (en) * | 2014-05-16 | 2022-08-17 | Canon Production Printing Netherlands B.V. | A method for a print fleet system |
JP2016177550A (en) | 2015-03-20 | 2016-10-06 | 株式会社リコー | Information processing device, program, output system and output method |
US9753678B1 (en) * | 2016-09-29 | 2017-09-05 | Konica Minolta Laboratory U.S.A., Inc. | System and method for displaying color reproduction status on a job scheduling screen |
-
2017
- 2017-10-06 US US15/727,348 patent/US10261737B1/en active Active
-
2018
- 2018-09-13 JP JP2018171444A patent/JP7248398B2/en active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220266614A1 (en) * | 2018-09-12 | 2022-08-25 | David Wachs | Mechanical handwriting barcode apparatus and method of use thereof |
US20200089440A1 (en) * | 2018-09-14 | 2020-03-19 | Canon Kabushiki Kaisha | Server system that improves availability of a plurality of printers, print controller, information processing apparatus, and print service system |
US10956095B2 (en) * | 2018-09-14 | 2021-03-23 | Canon Kabushiki Kaisha | Server system that improves availability of a plurality of printers, print controller, information processing apparatus, and print service system |
US11531507B2 (en) * | 2018-09-14 | 2022-12-20 | Canon Kabushiki Kaisha | Information processing apparatus, method and storage medium for using extension modules to generate print commands compliant with a plurality of different printing protocols |
US12112084B2 (en) * | 2018-09-14 | 2024-10-08 | Canon Kabushiki Kaisha | Information processing apparatus, method for controlling information processing apparatus, and storage medium for using print driver extensions to convert a format of print data |
US11385842B2 (en) * | 2018-09-21 | 2022-07-12 | Canon Kabushiki Kaisha | Printing system, information processing apparatus, control method therefor, and storage medium |
US11070696B2 (en) * | 2019-04-25 | 2021-07-20 | Kyocera Document Solutions Inc. | Information processing system |
EP4224390A1 (en) * | 2022-02-02 | 2023-08-09 | Fujifilm Business Innovation Corp. | Information processing apparatus, information processing program, and information processing method |
Also Published As
Publication number | Publication date |
---|---|
JP2019091414A (en) | 2019-06-13 |
JP7248398B2 (en) | 2023-03-29 |
US10261737B1 (en) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10261737B1 (en) | Print management method, apparatus, and computer-readable medium | |
US7999955B2 (en) | Printing system, print server and computer program that differentiate between on-line and off-line finishing devices in said printing system | |
KR100776439B1 (en) | Image processing apparatus, image processing method, and image processing system | |
US8031359B2 (en) | Information processing apparatus, control method therefor, and program | |
JP5164663B2 (en) | Print job management apparatus, print job management method, and computer program | |
US10423367B1 (en) | Print management visualization method, system, and computer-readable medium | |
JP5189814B2 (en) | Print shop management method and apparatus for printing using a plurality of apparatuses | |
US8533540B2 (en) | Error identification and recovery in variable print jobs | |
US8634758B2 (en) | Printing system, job processing method, storage medium, and printing apparatus | |
US8422053B2 (en) | Print options for productivity | |
JP5849707B2 (en) | Preview display program, preview display device, preview display method, and recording medium | |
JP2006301741A (en) | Printer, print control device and print control method | |
JP4764061B2 (en) | Image forming apparatus, image forming method, image forming program, and printing system | |
JP2008033659A (en) | Image processor and image processing method | |
US8305620B2 (en) | Print management apparatus, print management system and print management method which uses job tickets | |
US8145088B2 (en) | Print management apparatus, print management method, computer-readable recording medium, and computer program | |
US9772806B2 (en) | Method for producing packages of printed materials by printing multiple documents in order as one print job | |
JP7352422B2 (en) | Information processing device, its control method, and program | |
JP2017033050A (en) | Information processing device, control method, and program | |
JP2014178962A (en) | Printing system, client terminal, program, and recording medium | |
JP2010117780A (en) | Information processing apparatus and information processing program | |
JP2011118628A (en) | Information processor, information processing method and program | |
JP2018206028A (en) | Information processing device and control method thereof | |
JP2018028901A (en) | Print control device, print control method, and program | |
JP2019159512A (en) | Print job management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: KONICA MINOLTA LABORATORY U.S.A., INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YOKOOHJI, RYOICHI;REEL/FRAME:043808/0515 Effective date: 20171005 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
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 |