For those of you who have been anxiously waiting for the Citrix Universal Print Server, it’s finally here!

As promised during my Summit session in Barcelona a few weeks ago, the technical preview of Project Phaser was posted to on Nov 8th, 2011.   Any Citrix customer who is current with Subscription Advantage can download and evaluate this new feature of XenDesktop and XenApp.

It also means that you guys stop can stop filling my inbox with requests for beta UPS packages and start sending me some real feedback on your experiences with the preview release code 🙂

What is Project Phaser?
Project Phaser represents the second phase of Laser, a multiyear printing improvement initiative.  The first fruits of Laser were delivered last year in the XenApp 6 Printing Optimization Pack which focused on print content optimization and improved printing speed. The Laser features are now built into XenDesktop 5.0 & 5.5 as well as XenApp 6.5.

Building on these initial Laser deliverables, Project Phaser now extends Citrix universal printing solutions to cover network printing scenarios. Here we are talking about the situation where the application host directly accesses printers shared from a network print server.  Since the access happens directly from the session to the print server, sessions initiated from any type of client will now have access to a full-featured universal printing facility.

A universal universal printing solution
When I say any type of client, I truly mean ANY client.  The solution does not in any way depend upon client capabilities because the clients are simply not involved in the printing functions.

For users, the solution looks and behaves exactly like Windows native print sharing solution with two notable exceptions:

  1. The Citrix universal drivers can be used for these network printer connections.  This means there is no need for all the world’s printer drivers to be available on your XenDesktop or XenApp host.
  2. When application host and print server are separated by a wide area network, the user experience interacting with the remote printer will be vastly improved because the protocols employed have been optimized for WANs.

Here is a link to a short video done by Nicholas Carpenter (Phaser project test lead) provides a succinct introduction to the value prop of Project Phaser.

How does Phaser work?
As you may be aware, the current universal printing solution provided in XenDesktop and XenApp works only with Windows end-points equipped with the native Win32 client software.  That is because the solution relies a on thin universal driver running in the host which acts as a proxy for the printer driver running on the Windows client machine. The universal driver communicates with print engine running on the client through a specially designed ICA virtual channel.

So what the engineering team has done is to adapt the UPD print engine to operate as a network service on a Windows based printer server instead of a Windows client.  Sounds easy, right?
Conceptually yes… but in practice it meant building a complete end-to-end network print server solution with client, server, and protocols that work like Windows expects PLUS doing all the unique things that are needed to support the Citrix universal printing requirements.

Furthermore, the protocols employed had to be carefully designed in order to perform well on wide area networks.  In the end, we opted for a SOAP based web service protocol for the procedural elements of the universal driver  print server communication.  However that would not be the best choice for delivering print streams.  So the delivery of the compressed print data is accomplished through a secondary TCP connection with one connection utilized per active print stream.

The block diagram below illustrates the key components of the solution.

Tech Preview Packages
The Project Phaser tech preview release works with either XenDesktop 5.5 or XenApp 6.5.  However, to utilize the solution, you’ll also need one or more print servers running Windows Server 2008 x86  (e.g. original 32 bit WS 2008).  Print servers running on 64-bit Windows Server 2008 R2 is not quite ready yet.

Upon downloading the tech preview, you will see two self-extracting exes (UPClient and UPServer) plus a several scripts for patching necessary components.

The UPClient package must be deployed to XenApp 6.5 server or XenDesktop 5.5 VDA machine.  In future versions XenApp and XenDesktop, this component will be bundled and installed automatically.  The UPClient package can be installed on any platform supported by XenDesktop 5.5 VDA (WinXP, Vista, or Win 7, 64 or 32 bit) or on XenApp 6.5 (Windows Server 2008 R2).

The UPServer package adds the required services to an existing Windows print server.  For tech preview, this must be a Windows Server 2008 x86 server, but we’ll be adding support for Windows Server 2008 R2 in the GA version.

The batch files are necessary to update a couple of components with knowledge of UPS.  In particular, the Citrix print manager service must be aware of UPS network printer connections in order to properly enforce driver policies.  Also, in order to configure UPS usage (it is off by default), an updated policy console is needed. Directions for applying these updates are provided in the release notes with the tech preview package.

GA is planned for first half of 2012, but the actual release date will depend on your beta feedback as well as our ability complete testing on all supported platforms.  So please download the tech preview bits and lets us know what you think.


– Gary Barton
Architect, Citrix HDX Team