The only good thing about printing in virtual environments is that it's a black-or-white issue. (Har, har!) What I mean is that either it works or it doesn't. There isn't really a middle ground. So that said, the "goal" of printing from virtual desktop environments is simple: It should work just like it does in nonvirtualized environments.
The fundamental problem is the fact that when using virtual desktop infrastructure (VDI), a user's application "prints" from the remote host location, but the user typically wants the printout to emerge from a printer that's near him. In other words, the application data that needs to be printed is "remote," while the printer is "local." This is a problem because the Windows print subsystem was never designed to work this way.
Ideally, your client device will share its printer so the software running on the remote host can see it and print to it. The real world, however, is fraught with complexities. For example, in order to print to a client printer, the remote VDI host needs to have the right drivers installed. How are you going to manage that? And what about performance? How big is a print job that's spooled on the remote host and then sent down to the
Luckily, the Big 3 desktop virtualization vendors feel your pain and have taken steps to address these issues.
Citrix has included custom-printing technology in its XenApp product for the better part of a decade, and that same technology is now included in XenDesktop. Called "UPD III," XenDesktop's printing architecture uses a service in the remote host that reads client printers, makes them available remotely, and sends bandwidth-efficient EPS, EMF or XPS print data directly to the user's printer.
VMware, on the other hand, included ThinPrint's driver-free technology in View 3 and newer. While the version in View 3 could be viewed as a "light" version, ThinPrint makes some pretty great products. This single OEM deal puts VMware right back in line with Citrix in terms of VDI printing robustness.
Of course, Microsoft hasn't been sleeping in the printing space either. Its EasyPrint product (which debuted years ago in Terminal Server) is now built-in to Windows 7. In other words, if you connect to Windows 7 remote VDI hosts, you get the Microsoft EasyPrint technology. EasyPrint simply creates XPS printers for each real printer you have installed or mapped from your client before you connect, removing the need to manually install and configure drivers for each printer.
While each of the products from these vendors solves basic printing problems better than they did a few years ago, there's always room for improvement. Fortunately, there are several third-party printing vendors, most notably ThinPrint, triCerat and UniPrint. These products extend the capabilities of the Big 3 by adding stuff like the ability to print to network print servers without drivers, secure printing, and advanced performance and bandwidth controls.
Even though 2009 is almost over, printing complexities are still as real as ever. But between the capabilities added to the VDI products by the Big 3 vendors and the ingenuity of the smaller dedicated vendors, printing doesn't have to be a problem anymore.
|ABOUT THE AUTHOR:|
Brian Madden, Independent Industry Analyst and Blogger|
Brian Madden is known throughout the world as an opinionated, supertechnical, fiercely independent desktop virtualization expert. He has written several books and over 1,000 articles about desktop and application virtualization. Madden's blog, Brianmadden.com, receives millions of visitors per year and is a leading source for conversation, debate and discourse about the application and desktop virtualization industry. He is also the creator of BriForum, the premier independent application delivery technical conference.