Final report for project 153 - Implement print quotas via Pcounter.


The genesis of this project lie in the realisation in early 2010 of just how much the School of Informatics was spending on printing, particularly printing from the Appleton Tower labs. A number of steps were taken to reduce this outgoing, including the monthly printing reports sent to users, and the decision to fall in line with the vast majority of other schools and charge taught students for printing. At first, the possibility of the School running its own accounting system was investigated, but it soon became clear that this would be no trivial task. This, combined with the central infrastructure already in place for print charging, soon made using the central Pcounter service by far the favourite option, assuming that it was technically feasible. This project was created to cover the investigation and introduction of print quotas into the School of Informatics. The early investigations were performed by Ian Durkacz, whilst the eventual final implementation was carried out by Craig Strachan.

Initial investigations

Since Pcounter is heavily windows based and the School's printing infrastructure is Linux based, it was obvious from the start that a fair amount of work would be required to bring the two together. Another Linux based School, the School of Engineering and Electronics (SEE) was already making use of Pcounter and our initial approach was to try to replicate their setup. This proved unworkable for several reasons (the issues encountered are recorded by Ian in this document), and it was decided that a new approach was needed. At this stage, Craig took over the project.

A new tack

In theory CUPS, the print system in use within the School supported Kerberos authenticated printing. The new approach was to set up a separate, Kerberos authenticated, print server for student print queues. This server would accept jobs from users once they had proved who they were via Kerberos and would then forward these jobs to unauthenticated pcounter print queues pointed at our lab printers. Since the queues were unauthenticated, it was obviously vital that they should only accept jobs from the authenticated print server. This approach was eventually made to work, though not without a considerable struggle to get the CUPS authentication features working reliably.

This setup provided charged printing from DICE machine but many students print from their own laptops. To cater for this, a Cosign authenticated web form was written which allowed users to upload files from their laptops and send them to the lab print queues. Though not ideal (users have to save their work and print it separately rather than printing directly from applications), it is a solution which seems to work well.

Teething troubles

Print quotas were introduced for the start of the 2011 - 2012 academic year. In the main things went smoothly though there were issues with users being unable to see the state of Pcounter queues and repeatedly sending jobs to printers with dire affects on their Pcounter credit. Extra command line and web based tools were introduced to allow users to monitor the state of Pcounter queues. It was also found that the initial allocation of Pcounter credit to students by the School, intended to cover any printing required by their course work had been excessively generous and these were dialled back considerably.

Summary and lessons learned

Print quotas using Pcounter have now been in place for nearly two years and appear to be working smoothly. In general, the project went well with all important deadlines being met and the implementation being completed successfully. The project has perhaps spent an excessive amount of time in user acceptance however.

Time taken

The total time spent on this project by both Ian and myself was just over 10 FTE weeks. This does not include the time spent by IS staff, particularly Thomas Gooddy, setting up things at their end and giving advice for which they should be thanked.

-- CraigStrachan - 29 May 2013

Topic revision: r2 - 29 May 2013 - 23:34:00 - IanDurkacz
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies