While there have been some major announcements at Synergy, like the Microsoft / Citrix pact including Azure, Office 356, Windows 10 VDI and more, some huge improvements to MCS regarding I/O storage optimizations, including MCS provisioning for the Nutanix Acropolis Hypervisor, the Federated Authentication Service, which was also (very) well received, I’d like to focus on a few smaller enhancements. Though ‘small’ does not mean less important, au contraire – as the French would say.
As a side note – if you have read my book, or are planning to do so, then you probably know (or will find out) that I’m using my blog as an update mechanism for what’s missing in the book as a result of new XenDesktop and XenApp releases going forward, like version 7.9 last week. The enhancements around printing are a great example to start with, keeping it a work in progress!
Business critical
First off, I like printing. It’s not that I have implemented dozens of complicated print architectures, no, a couple, but far from many. I just like the technology and processes behind it. Especially since printing is being considered business critical at almost all customers I have visited.
While the reasons for this may vary, imagine this, and I’m sure you’ve seen it as well; a user receives an important e-mail, or perhaps he or she has come across an interesting white paper or other type of document, what will be one of the first things they’ll do? They will print it. Then they’ll read it, us it as a reference, make notes, they’ll take it home with them, save it on their desks and so on. Not everybody, but it sure does happen a lot. I know I do it.
Although I prefer pen and paper over a keyboard as well, so perhaps I’m not the best reference.
Universal Print Server
Historically the Citrix Universal Print Server (UPS) combined with the Citrix Universal Print Driver (UPD) have long been considered to (preferably) fit smaller to mid-sized companies, where printing was important, but not business critical per see. One of the (main) reasons for this was that prior to version 7.9 the UPS was basically a single point of failure. There was no way to setup and configure multiple print servers and apply HA and/or Load balancing. Luckily that all changed with the introduction of XenDesktop and XenApp 7.9
Today we DO have the option to configure multiple Universal Print Servers in an LB and/or HA set up, pretty sweet right? Note that you will have to be on a Current Release (no LTSR) version to be able to make use of this functionality, since updating your base XenDesktop / XenApp opponents will be necessary, VDA’s included.
UPS load balancing in more detail
This is (roughly) how it works. At logon time session (network) printers are mapped to different print servers. Each VDA has a separate (built-in) load balancer service responsible for distributing the print load to all configured print servers as part of the HA / LB setup, and policy. If one of the print servers should fail or become unresponsive for whatever reason (*checks are performed periodically) and it does not respond within a certain (configurable) time frame, set to 180 seconds by default, it will be removed form the VDA load balancing scheme. The load balancer service also has a fail-over mechanism built-in, which will make sure that any failed print connections will automatically be redistributed to the still healthy and active print servers. So it is not HA as in active / passive, but as part of the load balancing policy.
FMA fact: In theory there is no limit to the amount of print servers that can be configured.
For the above-mentioned functionality you need to configure the following policies:
‘Universal Print Server for load balancing’ and ‘Universal Print Server out-of-service threshold’
The latter (see below as well) is to configure a default time-out value after which a failed, or unresponsive print server is considered to be permanently offline and thus cannot be recovered within the specified amount of time; the earlier mentioned 180 seconds by default.
Checks and validation
*As mentioned, checks between the VDAs and the print servers are performed periodically to see if they, the print servers, are online and active. When a VDA is unable to establish a network connection to one of the print servers, or if a print server fails to respond to PING messages it is considered down and/or unresponsive. This is also where the abovementioned ‘Out-of-service threshold’ policy comes in. If the print server does not respond within the time-out window configured as part of this policy it will be considered permanently offline and it will be removed from the load-balancing scheme part of the VDA, as highlighted earlier. The PING interval is configurable through a registry key (I’ll find out which one), no policy just yet.
When configuring a UPS load balance policy, as shown above, you also have the option to manually validate all print servers involved. After clicking the ‘Validate servers’ button the configured print servers are first queried for their printing queue names, which will be validated on the Delivery Controller as part of the Load Balance policy or on the VDA when the Citrix Management service starts. It will check to see if all servers are indeed print servers and if they are configured identically. Citrix recommends configuring each print server identically to optimize the printer creation time as part the XA and/or XD session. Again this is just a validation, nothing more. Besides an event log entry no other action is taken.
UPS components
The Universal Print Server itself consists out of two main components, a client (UpsClient) and a server component. The client component is part of the installed VDA, but disabled by default. To enable the client component you will have to configure the policy ‘Universal Print Server enable’. The UpsServer, or server component must be separately installed on the print server, for more information on how to accomplish this check here. The UPS can be configured though policies using Citrix Studio.
Universal Print Diver
The XPS UPD (there is also an EMF based UPD, which is used by default) has also been enhanced with a couple of more advanced printing features like stapling and print draw selection. If the physical print device and the accompanying native print driver both support it, users can now select their paper draw of choice, next to that, the stapling of documents is also supported.
Printing and the CEIP
When you install and configure the Universal Print Server, or multiple as part of a LB/HA setup, you will automatically be enrolled in the Citrix Experience Improvement Program (CEIP). While this is nothing to worry about, it’s still worth a mention so you, as a customer know what is going on. In fact, I would encourage all customers to participate in the CEIP since all data send is completely unanimous, encrypted and only used by Citrix for analyses purposes, so that they know how their products are used and what they can do to improve them.
The E-docs state “CEIP for UPS” so I guess it’s safe to assume that only UPS related statistics and usage information will be collected, uploaded and analyzed, though I will be double checking this with Citrix engineering and/or fellow CTP’s to make sure.
If you have no idea what I am talking about, please have a quick look at the following page, it explains what the CEIP is about, how it works and what the though behind it is.
Since the customer is king, you always have a choice. While you automatically opt-in, you can opt-out just as easy. To opt out of the CEIP (UPS specific) edit the registry key HKLM\Software\Citrix\Universal Print Server\CEIPEnabled and set the DWORD value to 0. Change it back to 1 to opt-in again.