VMware has a server hypervisor, and VMware has announced a client hypervisor. Citrix has a server hypervisor, and Citrix has announced a client hypervisor. Microsoft has a server hypervisor, so why haven’t they announced a client hypervisor? Are they being smart, stupid, or clueless?
I guess this depends on whether (and why) you think client hypervisors will be important.
I’ve written in the past that I think the big reason client hypervisors will be important is not because people will run side-by-side operating systems, but instead because the hypervisor “scrubs” the hardware, thus allowing a single disk image to be used on multiple types of client devices. (You get the management ease of VDI while letting users leverage local computing resources and work offline.)
If you agree that’s the reason client hypervisors will be big, then it’s no surprise that Microsoft is ignoring this space since they already have a solution that runs directly on client hardware. (see ‘Windows’) Back in the old days, you couldn’t just “port” one installed copy of Windows from machine to machine. (In other words, if you popped the hard drive out of one laptop and stuck it in another, there was a pretty good chance that it wouldn’t boot.) That was because (1) older versions of Windows were’t too good at dealing with unexpected new hardware, and (2) different laptop models were actually kind of unique and different back then.
But think of that same disk-swapping experiment today. I’ll bet if you pulled a Vista hard drive out of a random laptop and stuck it in another, there’s a pretty good chance that thing would work. And that’s because (1) as much as we all hate Vista, the PE / hardware recognition part of it is actually quite good, and (2) nowadays all the laptops have the same chips in them anyway. From a driver standpoint, there’s not too much variety out there.
Given all that, you can understand how Microsoft would be saying “Client hypervisor? Pfft! We don’t need a stinking client hypervisor! We’ll use Windows 7. Remember how I wrote about the client hypervisor becoming the new HAL? Microsoft would disagree..Microsoft wants the HAL to be the new HAL. ;)
If you narrow your focus enough…
The other ironic thing is that building a client hypervisor is actually a lot harder than a server hypervisor because you have to support everything on the box. A client hypervisor needs to expose the battery’s power state to the VM and provide direct USB access and GPU support and all sorts of tricky stuff. So how are the client hypervisor vendors achieving this goal? Sure, partly by building cool new technology, but a big part is also due to them narrowing the field of devices they’ll support. (So far it seems that everything will require an Intel CPU with V-Pro.)
The irony is that by narrowing your landscape of potential clients so much, you marginalize the need for a client hypervisor in the first place!
So with these narrow HCLs, how much do you want to bet that a plain Windows 7 image (with maybe two sets of graphics drivers and two sets of network drivers) will work on all these anyway?
This almost makes sense, but kind of not
Of course the “catch” in all of this is that this is assuming that a bare-metal client hypervisor is only used to scrub the hardware. If it’s actually used to run multiple VMs, well, then I guess none of this matters?
What do you think Microsoft’s play is here? Are they secretly acting aloof until they suddenly release Hyper-V for clients? (Hey, it worked for Hamlet!) Are they actually scared about losing control, or will Windows forever be Windows? Or will Microsoft just roll their eyes and try to invalidate and trivialize client hypervisors until they buy one and put the rest of their partners out of business?
(By the way, for this whole article, I’m talking about bare-metal Type 1 client hypervisors. This has nothing to do with Microsoft Virtual PC and their purchase of Kidaro which they’ve released as MED-V. MED-V is an application compatibility solution that happens to run in a VM on the client, and not relevant here.)