We are about to begin work on an LPD server to replace our current model
of spooling to each machine that has a printer on it and making one
central print server for all printers on our net.
Essentially, we have several labs with 1-2 printers each that we want to
be able to control the jobs and maintain accounting records for printing.
Our initial design is to have one machine do all the spooling for the
clients, and to have it spool on to the printers, via jetdirect
devices for each printer.
We wish to make the user login to a "console" at each printer or workstation
to do a final submission of each job, as well.
Before we get started, I was interested if anyone else has seen or uses
some type of LPD daemon that already does some of what we are looking for, so
we can have a basis to begin. If you have something that may be beneficial to
us, I'd appreciate a note describing it, or how we can find it.
Below is a description of what we are trying to accomplish:
Goal: To exercise greater control over printing to minimize abuse, maintain
records of printing activity and charge back, if necessary.
Needs: The initial printing must be transparant to the user, allowing them
to use normal lpr and lp commands with the respective options.
Provide an interface to the printer that allows the user to cancel
a print job if necessary.
Warn the user of the size in pages of the print job about to print.
Allow operators the ability to cancel jobs.
Hold jobs for no more than one hour after submission.
Mechanisim to "lock" a user out from printing if needed.
Provide a console at the printer and a remote version to be used
at the individual workstation.
Allow user to watch the print queue to tell how many jobs are before
Plan: Provide a universal print server that will route all print requests
for all labs and handle all logging and accounting.
Clients will only be set to print to a printer located in that lab.
Print server will accept job, calculate number of pages, include
username on job and submit it to the "wait" queue for the particular
printer. If that printer is down, notify the user and either re-route
the job or delete it (if after hours printing).
If file is not acceptible for printing, either a binary file or a
postscript file printing to a line printer, notify the user and
remove file from queue.
User opens up the console window on console of workstation or at
printer. They then sign in, and either print the job, cancel the
job or move the job to another printer.
Users will not be able to accept print jobs unless logged in on console
in the lab or at the printer. This will disallow remote printing
and jobs that are printed and never picked up.
Equipment: All new printers purchased should include a jetdirect print
card so they may be attached directly to the network.
Older printers will have an external jetdirect box attached to them.
If anyone is interested in keeping up on the work we are doing, in case you
would like to make use of what ever we come up with, please send me a note
and we will keep you up-to-date.
Mike Hollyman www.uiuc.edu/ph/www/mikeh
Computing & Communications Services Office