Find-Me printing

Find-Me Printing is best described not by what it does but by the problem it solves. Consider a large organization with hundreds of printers. The task of selecting the "best" printer from the list at the time of print can be daunting. Organizations tend to mitigate this concern using a number of methods:

  • Naming conventions—use a printer naming convention that helps users locate the best printer. A common convention is to use the room name or floor number. This is usually complemented by a sign on the printer itself.

  • Location adaptive login scripts—a location adaptive login script automatically adds printers to a computer based on the computer's physical location (denoted by the computer name). For example, any workstation containing "lvl2" in the name has the two printers on Level-2 by default. Users need to consult the full list of printers only on the rare occasion that they want to print to a printer outside their physical level/room.

  • Global profile—administrators map the "best" printer based on location of the workstation (e.g. using rundll32 printui.dll,PrintUIEntry /ga /n\\server\printer on Windows). Any user that logs in to the computer has the most appropriate printer selected by default.

All these methods have their drawbacks and require careful planning on the part of administrators, and the need for end users to understand conventions/processes. Find-Me Printing solves the problem by asking the print job to find the user, rather than having the user find the printer. It works as follows:

  1. The user prints to a single site-wide global queue.

  2. The user then walks up to a Release StationPrint Release Stations place a print job on hold and allow users to release it when required. Often a Release Station is a dedicated PC terminal located next to the printers, however, Release Stations can take other forms such as a web browser based interface. Some common examples where Release Stations can be used include secure printing, approved printing, and authentication. In a secure printing environment jobs are only printed when the user arrives at the print area and confirms his or her identity. This ensures the user is there to collect the job and other users can't "accidentally" collect the document. In some organizations it may be appropriate to hold jobs until they are approved by selected individuals. A good example would be a teacher approving printing on an expensive color printer. Hold/Release queues can be used as a form of authentication in an unauthenticated environment. Users must authenticate prior to releasing their jobs allowing PaperCut NG to confirm their identity., logs in, locates their job, then releases it.

  3. The job automatically prints to the printer closest to the Release Station.

Find-Me Printing is also known as Follow-me printing (because print jobs follow you to a printer), Pull Printing (because the job is pulled from the global queue), or Push Printing (because the Release Station pushes the job to the nearest printer).

Administrators need to consider and plan hardware and driver compatibility. Find-Me Printing works by re-directing a job targeted at one queue to another so printer compatibility is important. For example, a job designed to print on an inkjet photo printer is not usually suitable for printing on a laser printer.

Note:

If you’re using virtual queues on a Windows server that are redirecting to other target queues, you can use LPT or ‘nul’ ports for the virtual queues, since no jobs should be printing from that queue.

Implementation by example

Implementing Find-Me Printing is best described by way of example. The following sections cover some common scenarios for implementing Find-Me Printing.

Example 1: Single virtual queue (high school)

Scenario

East Beach High School has seven high volume laser printers of the same model at various locations throughout the campus. When sending a print job students must currently select the printer nearest to them before retrieving the document. Students often send jobs to the wrong queue and rather than going to pick it up they re-send the document to a closer queue and leave the original document uncollected.

The current print queues are named laser-1 through laser-7 with the number corresponding to a label on the printer. All printers are hosted on the print serverA print server is a system responsible for hosting print queues and sharing printer resources to desktops. Users submit print jobs to a print server rather then directly to the printer itself. A print server can be a dedicated server but on many networks this server also performs other tasks, such as, file serving called print-server. All printers are the same make and model (using the same driver).

In the library there are two printers, laser-6 and laser-7, side by side.

The goal is to implement one central queue to receive all print jobs. A Release Station is set up next to each printer. Each Release Station allows users to have their job printed at the nearby printer.

Implementation

The first step is to create a new print queueA print queue displays information about documents that are waiting to be printed, such as, the printing status, document owner, and number of pages to print. You can use the print queue to view, pause, resume, restart, and cancel print jobs. on the print server. This queue is a virtual queue with hold/release enabled. When students print to the virtual queue, their job is held, and the Release Station the user releases the job at determines the printer to which the job is sent (the job is pulled from the virtual queue to a printer near the user).

A new queue is called find-me-queue is created by the administrator on print-server using the normal methods for the operating system in use. The queue is created using the same driver that laser-1 through laser-7 use. The queue points to the IP address of one of the printers - this is not strictly necessary as the "virtual queue" is just a collecting queue that forwards jobs to real queues, however, some printer drivers "complain" if they do not point to a real printer.

The administrator ensures that the print queue has registered itself with PaperCut NG by checking the Printers tab of the Admin web interface. For more information about adding printers, see Adding and removing/deleting/ignoring printers.

After creating of the new virtual queue, the administrator performs the following:

  1. Click the Printers tab.

    The Printer List page is displayed.

  2. Select find-me-queue.

  3. In the Configuration area, change Queue type to This is a virtual queue (jobs will be forwarded to a different queue).

    This displays the Job Redirection Settings section. Jobs may be forwarded to these queues determines which queues find-me-queue is capable of redirecting to.

  4. Select print-server\laser-1 through print-server\laser-7.

  5. Select the Enable hold/release queue check box; then set Release mode to User release (the default). This ensures that jobs are held in the virtual queue and not automatically forwarded to one of the targets.

  6. Click OK.

The next step is to configure the Release Stations:

  1. The administrator first configures each Release Station as per Configure a Release Station . The administrator decides that students should only be able to see and release the jobs they have personally printed, so sets up the Release Station in Secure mode.

  2. Configure each Release Station to release jobs on the printer it is associated with by setting the releases-on option in the Release Station config file. E.g. for the Release Station set up near the printer laser-4, set the option to:

    releases-on=print-server\\laser-4

    In the library (where there are two printers side by side) the administrator configures a single Release Station to release to either printer by setting the option to:

    releases-on=print-server\\laser-6,print-server\\laser-7

    In this case, when a user releases a job at the library Release Station, PaperCut NG selects either laser-6 or laser-7 based on a load balancingPrinter load balancing automatically distributes print jobs between two or more printers. Load balancing is generally used to equally distribute print jobs across a pool of printers saving valuable time in document output for the user and at the same time balancing the wear and tear among printer devices. algorithm (see Example 1: Simple Load Balancing).

Now when students print from a lab computer to the virtual find-me-queue queue, their job is held. The student can visit any Release Station and see their job. When the student releases their job at a Release Station, the job is pulled from the virtual queue into the queue or queues associated with the Release Station for printing. This setup is illustrated inthe image below. Administrators should also ensure that the find-me-queue queue is set as the default queue on all workstations.

The administrator can now optionally un-share all but the virtual queue. This would enforce that users use the "find me" process rather than printing directly to one of the target printers.

Figure 40: Single virtual queue (high school)

Example 2: Multiple virtual queues (different printer types)

Scenario

West Face University has a Graphic Design department who use two wide format plotters and seven color laser printers. The two plotters and two of the laser printers are located in the department print room, while the other laser printers are scattered around various locations. The plan is to add more printers next year.

The two wide format plotter queues are named wf-plotter-1 and wf-plotter-2, and the color laser printers are named color-laser-1 through color-laser-7. Laser 1 and 2 are located in the print room with the plotters.

The goals of the project are:

  • Implement Find-Me Printing so users don't need to remember the names associated with the ever growing list of printers.

  • Implement Release Stations. This ensures the student/staff member is there to collect their work minimizing the chance of one person accidently collecting another's work.

  • Ensure the procedure is similar for all types of printers, meaning users only have to learn one process.

  • Automatic load balancing in the print room to ensure all printers receive an equal load and throughput is maximized.

Implementation

This implementation differs from the previous implementation in that you have two distinct printer types. It is not technically possible to have one "find-me-queue" as jobs rendered by the application for the wide-format printer can't be printed on a laser printer and vice versa. See Requirements for job redirection (load balancing or Find-Me printing) for more discussion on compatibility.

The first step is to create a new print queue for each printer type on the print server. These queues are virtual queues with hold/release enabled. When a student prints to a virtual queue, their job is held at displayed at the Release Station. When a student releases their job, PaperCut NG knows which target queues are compatible (based on configuration) and selects one of the available target queues using an intelligent load balancing algorithm.

Two new queues called wf-plotter and color-laser respectively are created by the administrator on the print server graphics-print. wf-plotter is created using the same driver as the existing queues wf-plotter-1 and wf-plotter-2, and likewise color-laser uses the same driver as its counterparts. Both new queues point to any physical device of the same type, e.g. wf-plotter to wf-plotter-1. This last point is not strictly necessary but some printer drivers complain if they do not point to a real printer.

The administrator ensures that both print queues have registered themselves with PaperCut NG by checking the Printers tab of the Admin web interface. For more information about adding printers, see Adding and removing/deleting/ignoring printers.

Following creation of the new queues the administrator performs the following:

  1. Click the Printers tab.

    The Printer List page is displayed.

  2. Select wf-plotter.
  3. In the Configuration area, in Queue type, select This is a virtual queue (jobs will be forwarded to a different queue).

    The Job Redirection Settings area is displayed.

    Jobs may be forwarded to these queues determines which queues wf-plotter is capable of redirecting to.

  4. Select graphics-print\wf-plotter-1 and graphics-print\wf-plotter-2.

  5. Select the Enable hold/release queue check box; then set Release mode to User release (the default). This ensures that jobs are held in the virtual queue and not automatically forwarded to one of the targets.

  6. Click OK.

  7. Repeats steps 2 through 5 for the color-laser queue, except set Jobs may be forwarded to these queues in step 4 to graphics-print\color-laser-1 through graphics-print\color-laser-7.

The next step is to configure the Release Station:

  1. The administrator first configures a Release Station as per Configure a Release Station . The administrator decides that students should only be able to see and release the jobs they have personally printed, so sets up the Release Station in Secure mode.

  2. Configure a single Release Station to release jobs to the printers it is associated with by setting the releases-on option in the Release Station config file. In the print room the administrator sets the option to the four printers:

    releases-on=graphics-print\\wf-plotter-1,graphics-print\\wf-plotter-2,\

    graphics-print\\color-laser-1,graphics-print\\color-laser-2

  3. A separate Release Station is also set up next to each of the five remaining laser printers in the department. The releases-on is set to the single adjacent printer in each case.

Now when a student prints from a lab computer to either virtual queue (wf-plotter or color-laser), their job is held. The student can visit the Release Station and see their job. When the student releases their job in the print room, the system automatically implements load balancing and select an available compatible printer. This setup is illustrated in the image below.

Important:

Load balancing is not appropriate on plotters if manual loading of paper media is required, as it is not possible to know beforehand which target printer will be selected. In this case a separate Release Station is required for each plotter.

Figure 41: Multiple virtual queues (Graphics department)

Example 3: Multiple location specific virtual queues (large company)

Scenario

Acme Inc. is a large organization with hundreds of printers located throughout. They maintain a common printer fleet of grayscale devices and a smaller but matching fleet of color devices.

The existing grayscale devices use a naming scheme such as site1-server\B02_F12_G04, where B02 represents "building 2", F12 represents "floor 12", G04 meaning it is the fourth grayscale printer on that floor. Color devices use the same naming scheme except the G is replaced with a C.

Each floor of each building has a print room with several grayscale devices and two color devices. The organization also has multiple offices located and separate physical sites. Each sites hosts their local print queues on their own local print server, however, all sites exist in a single WAN and shared domain.

Through trial testing, the IT administrators have confirmed that the Postscript drivers supplied with the color devices also work with the lower cost grayscale-only version of the printers. This means that one common driver will work across the full fleet.

The main goals of the project are:

  • Simplify the printing process for users, so that they do not need to decipher the naming scheme to work out their closest available printer.

  • Implement a system/procedure common across all sites.

  • Reduce wasted printing by ensuring the user is physically present in the print room to pick up their job when it prints.

  • Ensuring high uptime by minimizing single points of failure.

Implementation

This implementation differences from the previous implementation in that there is a large number of printers and users spread across multiple physical sites. Although it would be possible to implement one global virtual "Find-Me Queue", there are some benefits in implementing multiple virtual queues - one per site:

  • Minimize network traffic - jobs should only spool on queues on the local server where possible.

  • No single-point-of-failure - if an issues occurs on the single "find me queue", it would affect printing on all sites.

Implementing multiple virtual queues offers considerable benefits. Consider one queue per site, or maybe even one queue per floor/department on larger sites as the benefits outweigh the small additional overhead in administration/setup.

The first step is to create the new print queues that will become the virtual queues. The administrator installs a separate queue for each site called "find-me-queue" on each of the site's servers. This queue is set up using the common Postscript driver that was confirmed to work with all models in the printer fleet.

The administrator ensures that all print queues have registered themselves with PaperCut NG by checking the Printers tab of the Admin web interface. For more information about adding printers, see Adding and removing/deleting/ignoring printers.

After creation of the new queues the administrator performs the following on each new virtual queue. (site1 example).

  1. Click the Printers tab.

    The Printer List page is displayed.

  2. Select site1-server\find-me-queue.
  3. In the Configuration area, in Queue type, select This is a virtual queue (jobs will be forwarded to a different queue).

    The Job Redirection Settings area is displayed. The option Jobs may be forwarded to these queues determines which queues are compatible.

  4. Because this virtual queue is capable of forwarding to all printers in the organization, select the Select all printers check box.

  5. Select the Enable hold/release queue check box; then set Release mode to User release (the default). This ensures that jobs are held in the virtual queue and not automatically forwarded to one of the targets.

  6. Click OK.

  7. Repeats steps 2 through 5 for all other find-me-queue's on each Site ServerSite Servers take over the role of a Primary Application Server in the event of network outages. Key roles taken over include authentication, copy and print tracking and Find-Me printing. Site Servers ensure continuous availability of printing resources to support key business functions over unreliable network links or during unplanned network disruptions..

The next step is to configure a Release Station for each floor's print room:

  1. The administrator first configures a Release Station as per Configure a Release Station . The Release Station is configured in Secure mode so that staff can only see and release the jobs they have personally printed.

  2. Configure the Release Station to release jobs to the printers it is associated with by setting the releases-on option in the Release Station config file. The administrator sets the option to the full name of the printer(s) in each print room:

    releases-on=site1-server\\B02_F1_G01,\

    site1-server\\B02_F1_G02,site1-server\\B02_F1_C01

Configure all workstations to use the local find-me-queue on each site by default.

Now when a staff member prints to either virtual queue, their job is held. The staff member can visit the Release Station and see their job. When the staff member releases their job, it is sent to any of the available and compatible devices in the floor's print room. This setup is illustrated in the image below (Multiple Location Specific Virtual Queues (Large Company)).

Advanced: PaperCut NG can also support redirection between print queues in different servers. In this example, it might occur when a laptop user that roams between sites prints. Their laptop might be configured to print to the virtual queue on site1, but they have release their job on a printer hosted on the server in site2. Directing between different servers is supported, however, some additional configuration might be required. For more information, see Cross-Server Job Redirection.

Figure 42: Multiple location specific virtual queues (large company)

Find-Me printing and web-based release

The Find-Me printing examples covered above involve setting up a Release Station so that users can release jobs to the printers at their current location. The web based release interfaces are also supported (via the user web tools, Admin web interface or full screen web based release interface), although due to the lack of location information the user is asked to select the destination printer.

When a user releases a job held in a virtual queue using one of the web based release interfaces they are presented with a list of target printers and their locations, as shown in the image below.

When using web based release interfaces in conjunction with Find-Me Printing you should populate the Location field on printers for the convenience of users.

Automatic detection of a virtual queue

You can configure PaperCut NG to automatically create a virtual queue for any printer that has a specified keyword in its name (default is virtual). You can change the default keyword to anything you want, or alternatively, you can turn off this feature.

Specifying a keyword has the same effect as setting Queue Type in the Configuration area on the Printers > Printer Details > Summary page to This is a virtual queue (jobs will be forwarded to a different queue). You do however, still need to select the printers to which print jobs can be redirected in the Job Redirection Settings area.

Change the keyword used to automatically detect a virtual queue

  1. Click the Options tab.

    The General page is displayed.

  2. In the Actions menu, click Config editor (advanced).

    The Config EditorThe Config Editor stores information used by PaperCut to configure advanced options and functions. This information is stored in config keys, which are editable by an administrator. page is displayed.

  3. In Quick find, enter keyword; then click Go.

    The virtual-queue.naming.keyword configuration key is displayed.

  4. In Value, type the keyword you want to use.
  5. Click Update.

Turn off virtual queue auto-detection

  1. Click the Options tab.

    The General page is displayed.

  2. In the Actions menu, click Config editor (advanced).

    The Config Editor page is displayed.

  3. In Quick find, enter keyword; then click Go.

    The virtual-queue.naming.keyword configuration key is displayed.

  4. Click Remove.