First let’s start with describing the main reasons which cause these challenges concerning printing.
- Printer drivers are not written to be used on Terminal Servers
Finally, though, a lot of printer manufacturers see the necessity of developing their drivers to be used on Terminal Servers. But there are still printer drivers which are written for usage on a workstation by one user at the time. Printer drivers not written for Terminal Servers are, most of the time, not capable of handling so many printing jobs. When the driver becomes overwhelmed, this can cause the spooler services to crash, or even worse the operating system will blue screen. Happily, the most important manufacturers like HP, Xerox, Nashuatec and Lexmark build Terminal Server ready drivers, which are often tested by Citrix and Microsoft.
- Printjobs use a lot of bandwidth
Printjobs normally consume a large amount of bandwidth. This is not specifically related to Terminal Server environments, but most times it is a bigger issue when using Terminal Services. Because Terminal Services are used a lot when users need access from co-locations, home locations or supplier/customer offices where the bandwidth is limited to the location where the Terminal Servers are. Within environments with a small amount of bandwidth and lots of printjobs these jobs can use the full amount of bandwidth. This actually means that users are not able to work anymore because Terminal Server related traffic is brought to a stand still by the printer traffic.
- Version conflicts by third party drivers
Often (especially with new printers) the Windows operating system doesn’t have the driver for that printer. To use all the functionality of that printer the driver made by the manufacturer must be used. It may happen that one new driver overwrites a DLL also used by another driver. It may also happen that the printers using the pre-existing DLL do not function anymore. Therefore every new printer driver must be tested extensively before using it a production environment.
- All printer drivers need to be available on all Terminal Servers
The most important rule in the Terminal Server world is that all servers hosting the same applications must be 100% identical. This rule also applies to the printer drivers. It is a difficult job to keep all related files to printer drivers identical on all servers especially if you have lots of printer drivers.
For more information about printer basics on Terminal Servers I would like to refer you to the article Surviving Printing on Citrix by Stefan Vermeulen. I will continue with the above described causes and take a look at third party solutions.
What solutions are built-in the “default” products
Before we can even begin talking about the possible value of third party products, first we need to know what solutions are built-in the “default” products. In general Microsoft Terminal Server and Citrix Presentation Server are the most used products.
Microsoft Terminal Server before Windows 2003 SP1
Microsoft did not need to implement a solution for these printer driver challenges till Windows 2003 Service Pack 1. In other words, in earlier versions, no options are given through Microsoft Terminal Server to control these printer challenges.
Microsoft Terminal Server Windows 2003 SP1
With Service Pack 1 of Windows 2003 Microsoft introduced the so called Fallback Printer Driver. When this Fallback Printer Driver option is enabled (via Group Policy Objects) Windows Terminal Server checks the local printers available on the client (as it always does). If a corresponding native driver is found on the Terminal Server, this driver will be connected to the auto created client printer. If no native driver is found Terminal Server tries to find out which kind of driver it should use for the printer in question Terminal Server tries to determine which fallback driver to use by reading the printer name and looking for certain words/phrases like PCL, PS and/or Color. Depending on the decision taken by Terminal Server, the following fallback drivers are used: HP DeskJet 500, HP DeskJet 500C, HP LaserJet 4/4M PS, and the HP Color LaserJet 5/5M PS. This decision making behavior can be edited to suit your needs by modifying a registry setting. More information about the Fallback Driver can be found at What's new in Terminal Services for SP1 and How Microsoft's Windows 2003 SP1 Fallback Printer Driver Works.
This Fallback driver only works with auto created client printers, has no compression and has no option to limit bandwidth usage.
Citrix Presentation Server before Citrix Presentation Server 4
Citrix released their Universal Printer Driver in Metaframe XP FR2. This Printer Driver evolved in the Feature Released and MPS3 to support color printers and PS scripts. In the latest version of Metaframe XP and MPS3 the universal printer driver is actually one of the following drivers: HP Color Laserjet 4500, HP Color Laserjet 5 PS and HP Laserjet II drivers. Via policies, a Citrix Administrator can limit the printer bandwidth usage based on several rules. The jobs themselves are compressed in the same way as the other Citrix channels.
The universal driver can only be used with auto created printers.
Citrix Presentation Server 4
With Presentation Server 4 Citrix completely redesigned their printer architecture. This new architecture contains an EMF based printer driver. EMF is a Windows standard format, jobs are not rendered by the server and EMF files are smaller. Also this EMF format makes it possible to support all kinds of printer options like duplex and tray selection. This new printer architecture is a superior improvement. Most of the other third party products use this kind of driver. Citrix also compresses the job before it is sent to the virtual channel. With CPS4 the possibilities to control printers are extended also. Logically the option to limit the bandwidth for the printer is still available.
What do third party products offer?
Now we know which options are available within the several versions of Windows Terminal Server and Citrix, we should ask the question: "What features are those third party products offering?" Mainly those products use a universal driver based on a PDF or an EMF format. If you are using auto created client printers the client needs to have additional software (the client of the product) installed. Besides this client software, most third party products have an agreement with printer manufacturers to put the “client” in the printer hardware. Using these kinds of printers, the client does not need to have any additional software and the server part of the solution will also send the job directly to the printer. With these products it also possible to use mapped network drives (directly in combination with a universal driver on the Terminal Servers).
These kinds of products also have additional products to support environments using other operating systems, gateway options, NAT and special application support. All products support compression and bandwidth limitations. Also most products support Cluster configurations for the server part. Logically it is not possible to explain the products in great detail, because they are all fairly different although they try to achieve the same result. If you are interested in a detailed explanation of some of these products take a look at the review at: http://sbc.vanbragt.net.
Let’s go back to the first question posed at the beginning of the article. Can third party software solve your printer problems? It depends mostly on the basis of your infrastructure.
Windows 2000 Terminal Server does not have any options to help you, so third party products definitely should be considered. If you are using Windows 2003 without SP1 the same story is applicable as Windows 2000.
With Service Pack 1 you have almost the same functionality as Citrix Metaframe XP FR2 or higher and Presentation Server 3. Although this kind of universal driver does not work for all printer devices you can definitely decrease the amount of (unsupported) printer drivers on your servers. Unfortunately this Fallback driver does not have any compression options or bandwidth limitations. So if you have an infrastructure with WAN connections and that is your main issue, again third party products can help you.
Within Citrix Metaframe XP and Presentation Server these bandwidth limitations can be set. Although compression is used, this is not just as effective as third party products. So again if you have lots of small bandwidth WAN links third party products should be considered.
Presentation Server 4 was a big improvement concerning the Printing architecture. If you compare this architecture with third party products they both get pretty close to each other.
Don’t forget those Microsoft and Citrix universal driver solutions only work with auto created client printers. If you would like to have a solution for network printers with a universal driver, compression, bandwidth limitation or a combination, a third party product is the only solution at this time.
The last tip: if you would like to use a third party product thoroughly consider for which reasons you need that product. Select more than one product for evaluation. The products aim for the same goal but are fairly different in the way they try to reach that goal.