Red Hat’s Spice and VMware View’s PCoiP – aligned against Microsoft

In the Red Hat and Microsoft alliance against VMware, there is one  definite area of strain, namely VDI, or more generally  the way to deliver  applications  through a combination of  Presentation Virtualization (i.e. Terminal Services) and/or Hosted Desktops.  See  Andrew’s recent post for a discussion of the various options.   In many ways VMware and Red Hat are natural partners in VDI, and Microsoft and Red Hat on servers.

Red Hat’s emerging VDI offering is based on its acquisition of Qumranet in 2008, more specifically a technology known as Spice which is designed to replace RDP and ICA as the protocol between the server and the client.  Spice was made Open Source at the end of 2009.

Spice is different architecturally from most other VDI solutions.  The usual way  involves a desktop broker managing RDP (or ICA) connections guest O/Ses.  Similar technology is available from Citrix, Quest, Ericom etc.  An open source alternative, Ulteo, uses VNC into Linux guests and then on to RDP for windows guests. The desktop broker and protocol architecture can be can deliver both Presentation Virtualization and Hosted Desktop, and indeed blade PCs.

But there is another way of doing it. If you look at the commercial edition of VirtualBox, there are two ways of accessing your guest – either via an RDP connection into the guest O/S, or through an RDP port on the host which then gives access to the guest console.  Essentially the host provides a virtual graphics driver (just like virtual network adapter) and instead of sticking that on a dodgy console interface, Red Hat have decided to propagate it to the user. One disadvantage of the approach is that it isn’t compatible with Terminal Services, since the presentation layer has already been virtualized before it gets to the virtual graphics driver in the host. In other words, you can virtualize the console of the Terminal Server not the sessions within it.

Obviously the host doesn’t need to send RDP or ICA to the virtual desktop.  It can use whatever protocol the client can understand. There’s no reason why you couldn’t render a remote session directly in a browser using http/s, SVG, MPEG, and javascript.if that’s what the server could provide. An http-carried protocol is easy to proxy and reverse-proxy and actually could make sense if the right combination of mime types was used, but the RDP/ICA approach has been to use binary protocols on special ports, and Spice is no exception.  The Spice protocol is published.  It’s fairly turgid, but it’s ostentatiously open-sourced on the Spice website.

The detail of the protocol makes a huge difference in the perceived user acceptance of Presentation Virtualization/Hosted Desktop by making the desktop experience closer to that of a local desktop. The early versions of ICA and RDP carried very little information about the underlying windows objects they are displaying.  The result kind-a works, but with streaming video in particular, the user display is fairly poor. More recently, lots of content-aware features have emerged.in RDP 7, to allow streaming media to be transferred without “blockyness”.  However, you only get these features if you move to Windows 7 on the client.  But after all one of the main points about VDI is you don’t want to move to Windows 7 (or any new version of Windows ever) on the client.  And if you are a VDI vendor you are dependent on the Microsoft RDP client (typically embedded as an ActiveX control), or on reverse-engineering the proprietary RDP protocol to get access to these neat features in your non Windows-7 clients.

So, the subtext of the Spice Open Source message is that if you use Spice, in the long term you get all of the enhanced features (and more) that Microsoft is making available selectively to Windows 7 clients, without using Windows 7, or whatever O/S Microsoft wants you to use, on the client.  It’s not a Microsoft-allied message.  However, don’t expect all of these features soon.  Some basic features like virtual channels (for mapping printers/drives/scanners etc), multi-heading, cut and paste, local config files, etc. have still to be built.  It’s a long way from competitive in the marketplace, and it will still need a desktop broker layer to manage access to server resources.

In the meanwhile, however, VMware View 4  is doing something similar to Spice from a different starting point.  It has taken some embedded hardware from Teradici and turned it back into a software solution for adaptive compression of data sent out to clients using the same type of architecture as Spice. The protocol, PCoiP  is proprietary, not open, but there is already integration into the desktop broker, and this is a production-quality offering not an “emerging technology” project . There is also a fundamental difference in philosophy: Spice aims to push cpu-intensive processing to the client, PCoiP pushes it to the server. But both companies are agreed on one thing, Microsoft cannot control the technology by which VDI is delivered at the desktop.