1. Field of the Invention
The present invention relates to a method and apparatus for controlling routing of print jobs.
2. Description of the Related Art
Print services may be provided in many different ways. In offices, for example, printers, such as multifunction peripherals (MFPs), are often provided for access by employees. In order to control printing to an MFP, the MFP is typically connected to a print server. In simple systems, print jobs sent to the MFP are received by the print server, where they are queued and then spooled to the MFP. Increasingly, however, print manager software is being provided on the print server to enhance the functionality. The print manager may allow print jobs to be stored on the server, modified, and/or printed by different printers. In an office this allows an employer to control which printers different employees are able to print to, and the type of printing or finishing that they may perform (such as colour, or black and white printing, stapling).
Another printing environment in which print manager software may be provided is in a print shop or on-line printing service. In these businesses printing is charged for, typically per page, and the print manager records jobs being sent to different printers to provide accounts for billing purposes.
A print manager is provided in the above situations to allow control over how print jobs are processed at the print server. However, in view of the cost of large-scale printing and in order to reduce waste, it is desirable to improve the level of control relating to how jobs are printed. Further, because the decision on how a job should be printed usually rests with a user sending a job for printing, it would be desirable to be able to influence the user's decision-making process in order to prevent careless or unintentional waste of printing resources.
According to an aspect of the present invention, a computer-implemented method for controlling routing of print jobs includes determining whether a print job meets at least one predetermined criteria and sending a notification based on a result of the determination.
a to 6e show notifications that may be sent to the client.
Installed on the server 1 is print manager software 10 (hereinafter the print manager) that embodies the present invention.
The RAM 11 is provided store instructions and to act as a work area for commands being processed by the CPU 18. ROM 12 is provided to store certain software on the server, such as the BIOS. Hard disk 13 is a high capacity storage area provided to store software and data on the server 1. The communication module 14 represents software and hardware provided on the server 1 to allow the server to communicate over the LAN. The display 15 is a TFT display, which, along with the keyboard 16 and mouse 17, provides a user interface to allow a user to control the server.
The CPU 18 is a processor, such as those manufactured by Intel (®) or AMD (®). The CPU processes instructions from programs stored in ROM 12 or Hard disk 13 in order to allow the server to carry out the steps described below in connection with
Installed on the client 2 are a plurality of printer drivers. These printer drivers include a number of conventional printer drivers, which are provided to drive specific printers, and a default printer driver. The default printer driver is a conventional postscript driver except that the driver is not configured for printing to any particular printer on the LAN. Postscript output from the default postscript driver does not identify any particular model of printer for printing to but instead includes a “default” value for the printer identity in the output print attributes.
In step S32, the user then selects a printer to print to and has an option to enter settings into a printer-driver user interface. The printer-driver user interface allows entry of settings that are generally printer specific and which depend on the capabilities of the printer. The options that may be entered into the printer-driver user interface may include stapling options, binding options, single or double-sided printing, watermarking etc.
If the user has selected one of the conventional printer drivers, the user enters print attributes from attributes available on the selected printer, which attributes are selectable in the printer-driver user interface. If the user has selected the default printer driver, the user may enter print attributes based on options that are not printer specific, but which cover a large number of possible print settings. As will be explained later by selecting to use the default printer driver the print manager 10 is configured to send, after receipt of the print job, a message to the user to allow him or her to select an appropriate printer from a selection of available printers that can print the print job.
Once the user has entered his or her print settings, he or she selects a print command from within the application in step S33. The printer driver then converts the content selected for printing in step S31 and the selected print settings into a print job in a page description language compatible with the selected printer or into postscript in the case of the default printer driver. The print job is then sent to the print manager 10 in step S34.
Looking at the entries in
Printer 2 is an example of a black and white office copier/printer. This printer is a default printer in this embodiment, so the maximum number of pages that may be printed has been set as unlimited. It is desirable that at least one printer set up on the print management system be set to allow an unlimited number of pages to be printed, because otherwise very long documents may not be printed on the print management system. The print resolution of printer 2 is 1200 dpi and, because printer 2 is a black and white printer, the colour field (column 53) is set to indicate that colour printing is not available. The cost of printing from printer 2 is much lower than that of printer 1 at 0.01 per page. Printer 2 has a stapler built into it so the stapling field (column 55) is set to yes. Printer 2 does not have a hole punching facility so the punching field (column 56) is set to no.
Printer 3 is an example of a colour office copier. The copier is able to print at around 30 pages per minute, so the maximum number of pages is set higher than printer 1 at twenty pages. This number has been selected to ensure that a user does not have to wait too long for a job to print and bearing in mind the per page cost of copying, which on printer 3 is 0.03. Printer 3 is provided with both a stapling unit and a punching unit so that both stapling and punching fields are set to yes.
Returning to
For the purposes of illustration, it is assumed that the printer selected by the user in step S32 was printer 1. In step S403 the print manager examines the print job to determine the number of pages being printed. The determined number of pages is then compared with the maximum number of pages specified in the look-up table 5. If the number of pages being printed is greater than the number of pages specified in the table 5, in this case ten, the step is failed and the method proceeds to step S407. Otherwise, the method proceeds to step S404. In step S404, the print manager 10 determines whether the quality of printing is compatible with the printer. In particular, the print manager 10 examines the print job to determine a requested print resolution of the print job and compares it with the maximum print resolution of printer 1 from the printer look-up table, in this case 4800 dpi.
If the requested print resolution is greater than the maximum print resolution of printer 1, the step S404 is failed and the method proceeds to step S407. If the print job resolution is printable by printer 1, the method proceeds to step S405. In step S405 the print manager determines whether or not finishing options specified in the print job are compatible with the printer specified in the print job. In particular, the print manager 10 examines the print job to determine whether stapling or punching are requested as finishing options. Once the specified finishing options are determined, the print manager 10 compares the specified finishing options with capabilities of the printer listed in the printer look-up table 5. If all the requested print options are available on the printer, the method proceeds to step S406, and the print job is sent to a print authorisation routine, which will be described later in connection with
In the case that a printer was not specified because the default printer driver was used or the printer selected appears not to be suitable for the print job because one of steps S403 to S405 was failed, the method proceeds to step S407. In step S407, the printers are filtered by job attributes. This process involves examining the print job to determine the number of pages in the print job. The print manager then examines the printers in the printer look-up table 5 and forms a first subset of printers that have a maximum number of pages listed in column 51 that is greater than or equal to the number of pages of the print job. The print manager then examines the print job to determine the requested print resolution of the print job. Once the requested print resolution has been determined, the print manager examines the first subset of printers and creates a second subset of those printers in the first subset that have a print resolution greater than or equal to the requested print resolution. The print manager then examines the print job to determine whether stapling or punching is requested. Once the requested finishing options (stapling or punching) have been determined, the print manager 10 examines the second subset of printer names and creates a third subset of those printers that are able to perform the requested finishing options.
If there are no printers or only one printer in the third subset, the method proceeds to step S409. If there are at least two printers in the third subset, the method proceeds to step S408. In step S408, the printers are sorted into an order and priority based in this example on the cost per page of printing based on data from column 54 of printer look-up table 5. Thus, printers having lower costs per page are given priority over printers having higher costs per page.
In step S409, a notification is sent to the user. The print job is now held at the server 1 until a response is received from the user. In this embodiment, the notification is provided to the user in the form of a pop-up window including a message. The notification is sent in html and is displayed in a web browser or other application at the client 2. In an alternative embodiment, the notification is sent to the user by email. The content of the notification varies depending on the circumstances.
If the notification is sent as a result of a failure of step S403, and one or more printers have been identified in step S407 that could print the job, a notification of the type shown in
If the notification is sent as a result of a failure of step S404, and one or more printers have been identified that could print the job, a notification of the type shown in
If the notification is sent as a result of a failure of step S405, and one or more printers have been identified that could print the job, a notification of the type shown in
If the notification is sent because no printer was specified in the print job (i.e. the default printer driver was used), the notification shown in
If no printers that can process the job are found in step S407, the notification shown in
The print job is then held at the print manager 10 until a response from the user is received.
In step S410, a response from the user is received including a selected printer for printing. This response is sent by the user selecting a printer using one of the radii buttons shown in
In the case that a printer is selected in response to a notification (
The print job is then sent to the print authorisation routine in step S406.
In step S72, the print manager 10 determines whether the cost of the print job is greater than a threshold. In order to determine this, the print manager 10 refers to a limit look-up table 8 of the print manager. The limit look-up table 8 of the print manager is shown in
The limit look-up table 8 includes identities of users of the print management system in column 80, cost thresholds of the users in column 81, and email addresses of managers of the users in column 82. The cost threshold corresponds to the largest cost of a single print job that a user may print without authorisation by a manager. For example, Bob has a cost threshold of 1, above which cost threshold Bob requires authorisation from manager P Able whose email address is p.able@company.com.
If the cost of the print job is determined to be greater than the threshold in step S72, the job is held in an authorization queue on the server 2 and the method proceeds to step S73. Otherwise the method proceeds to step S77 where the job is sent to a print queue for printing according to the print attributes.
In step S73 a notification is sent to and displayed at the manager 3. In this embodiment the notification is displayed in a web browser on the manager PC 3. However, in other embodiments the notification is sent to the manager 3 by email. The email may include a URL, which, when actuated by the manager at the manager PC 3, causes the manager PC 3 to display the authorization queue showing all jobs waiting to be authorized by the manager. An example of such a notification is shown in
In step S74 a notification 10, shown in
In step S75, a reply is received from the manager 3 in which either the print job has been authorized or refused. In step S75, the print manager 10 determines from the received reply whether the job has been authorized or refused. If the job has been authorized the method proceeds to step S77. If the job has been refused, the method proceeds to step S78.
In step S77, the print job is sent to a print queue corresponding to the printer specified in the print job. The print job is then queued and spooled to the printer in a conventional manner.
In step S78, the print manager 10 sends a notification 12 to the sender. An example of the notification is shown in
In the first embodiment messages sent to the sender to allow the sender to select the printer to be printed were described in connection with
In
As described in connection with
A further embodiment provides a method for controlling routing of print jobs comprising the steps of determining whether or not a print job meets one or more predetermined criteria, and sending a notification depending upon a result of the determination in the determining step.
The one or more predetermined criteria may include at least one of a number of pages to be printed, quality of printing, and finishing options of the print job.
In some embodiments the step of sending a notification comprises a step of sending a notification to a sender of the print job.
If the print job specifies a printer to print the job, the one or more predetermined criteria may include whether the specified printer is suitable for printing the job. The print job may include at least one specified print attribute, such as quality of printing (dpi), number of pages, colour or black and white printing, finishing settings etc, and the determining step determines whether the printer is suitable for printing the job may comprise a step of comparing such a specified print attribute with a corresponding capability of the selected printer.
The step of sending a notification to the sender of the print job may comprise the step of determining an alternative printer to which the print job could be sent and notifying the sender of the alternative printer. The step of determining an alternative printer may be carried out if a printer originally specified for the print job does not meet said one or more predetermined criteria. In addition or alternatively, the step of determining an alternative printer may be carried out if at least one other printer in addition to a printer originally specified for the print job meets said one or more predetermined criteria. The step of determining the alternative printer may comprise a step of filtering a list of available printers using print attributes of the print job as criteria. In the case that a plurality of printers are available that are able to meet the print attributes of the print job used for filtering, one or more printer may be selected or ordered based on a predetermined printer priority. The predetermined priority may be the cost of printing a page from the printer. The sender may be sent a notification indicating some or all of the printers that are able to meet the print attributes of the print job.
The notification of an alternative printer may include information including at least one of a status of the alternative printer, a capability of the alternative printer, a location of the alternative printer, and an amount of money that may be saved by printing to the alternative printer. The status of the alternative printer may include information such as whether the printer is on-line or off-line and/or a number of jobs waiting to be printed by the alternative printer.
The step of sending a notification may comprise the step of sending a notification to a manager. In such cases, the notification may request approval to print the print job. The method may further comprise the step of holding the print job until approval is received from the manager. The method may comprise the step of sending a notification to a sender of the print job indicating that the print job is being held pending approval by the manager.
The term manager used herein refers to any individual or entity entitled to approve printing of a print job. The role of the manager may be performed by an individual or may be implemented by a computer program and does not necessarily refer to a position or title of the individual or entity within an organisation or company.
The method may further comprise the steps of receiving authorisation from the manager. In such a case, the method may further comprise the step of releasing the print job for printing in the case that the job is authorised. The method may further comprise the step of receiving a refusal from the manager. In such a case, the method may further comprise the step of sending a notification to the sender of the print job that the print job has been refused.
A further embodiment provides an apparatus for controlling routing of print jobs comprising determining means configured to determine whether a print job meets a predetermined criteria and communication means configured to send a notification depending upon a result of the determination carried out by the determining means.
A further embodiment provides a program for controlling routing of print jobs comprising determining means configured to determine whether a print job meets a predetermined criteria and communication means configured to send a notification depending upon a result of the determination carried out by the determining means.
Number | Date | Country | Kind |
---|---|---|---|
07124158.2 | Dec 2007 | EP | regional |
This application is a continuation of U.S. patent application Ser. No. 12/341,937, which was filed on Dec. 22, 2008, which claims priority to European Patent Application No. 07124158.2, which was filed on Dec. 28, 2007.
Number | Date | Country | |
---|---|---|---|
Parent | 12341937 | Dec 2008 | US |
Child | 14149449 | US |