You are here: Introduction > How does PaperCut NG work?

How does PaperCut NG work?

Before explaining how PaperCut NG works at a technical and end user level, read through the following key concepts.

Key concepts

Understanding the print process flow

To help explain what PaperCut NG is and how it works we'll introduce the system by example. We'll start with a simple high school example:

The student's perspective (transparent quota control):

  1. Chris is a student at a local high school. He has logged onto the network using his username, chris.j.smith, and is surfing the Internet. He selects Print from his web browser to print out a web page for his school assignment.

  2. The network administrator has allocated Chris a printing credit budget of $20.00 a month. He can see his current account balance of $10.00 in the PaperCut User ClientThe User Client tool is an add-on that resides on a user's desktop. It allows users to view their current account balance via a popup window, provides users with the opportunity to confirm what they are about to print, allows users to select shared accounts via a popup, if administrators have granted access to this feature, and displays system messages, such as the "low credit" warning message or print policy popups..

  3. A confirmation screen listing the number of pages and the cost of the print job is displayed on the Workstation.

  4. Chris confirms the print job.

  5. 5 pages come out of the printer.

  6. The network administrator has set a cost-per-page inside PaperCut on the printer at $0.10. Chris' 5 page document costs $0.50.

  7. Chris' account balance is now at $9.50. He cancontinue to print until he submits a print job that has a cost that is higher than the balance in his account.

The teacher's perspective (allocation to accounts):

  1. Matt is an English and Mathematics teacher at the same local high school.

  2. Matt needs to print out a 279 page document for his next class.

  3. The network administrator has configured PaperCut to charge users in the faculty group $.01 per page, and has granted Matt access to charge to his personal account or to the English or math department's shared accounts.

  4. Matt clicks Print in the application.

  5. The PaperCut User Client displays a popup and presents Matt with information about the print jobs and requests an account selection. In this case accounts represent Departments but could also represent projects or other work areas.

  6. Matt selects the English department's shared account from the list.

  7. The print job is printed and the English department account is charged $2.79 for the print job.

The technical perspective (behind the scenes):

  1. When the teacher, Matt, prints from his application, his workstation transfers the print job to the server and places it in the print queue.

  2. The PaperCut Print Provider intercepts the print job in the queue prior to printing, pauses it, and analyzes the information determining:

    1. Who printed the document

    2. The number of pages in the document

    3. Other information such as duplex, grayscale mode, paper size, etc.

  3. The Print Provider submits the job's information to the Application Server to process the business logic.

  4. The Application Server determines that Matt needs to select the account to charge. It notifies the Client Software on Matt's desktop.

  5. The Client Software displays the Popup requesting for the user to select an account.

  6. After Matt selects the account, the Application Server is notified of Matt selection. The business logic validates that Matt is authorized to charge to the selected account.

  7. The Application Server charges the appropriate account, logs the job and instructs the Print Provider to resume or unpause the print job in the print queue allowing it to proceed to the printer.

Architecture overview

PaperCut NG was developed using the latest software development strategies, a strong influence being Service Oriented Architecture (SOA). The Print Provider, Application Server and Client Software all communicate with one another using XML-based web servicesWeb services are a standardized way of integrating Web-based applications using the XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. over HTTP.

Figure 1: Architecture - an advanced configuration

A more detailed explanation of the architecture and support for multiple servers, Web Print servers, server clusteringClustering allows your organisation to ensure your services are not affected if anything should happen to your main server. PaperCut is a cluster compatible application and is supported under Windows (Microsoft Cluster Server / MSCS, Microsoft Failover Cluster Manager / MSFCM, Vetitas Cluster Server / VCS) and Linux (Novell Cluster Services / NCS, Linux-HA) at all levels of the application, including: clustering at the print spooler service layer by integrating with clustering services, failover based clustering at the Application Server layer using clustering services, and at the database layer by utilising cluster aware databases such as Microsoft SQL Server, PostgreSQL, or Oracle., and payment gateways is provided in subsequent sections of this User Guide.


Comments

Share your findings and experience with other PaperCut users. Feel free to add comments and suggestions about this Knowledge Base article. Please don't use this for support requests.