A term that I've been hearing more frequently in the past few months is "desktop virtualization." What does that mean anyway? It seems to me that this could be the use of any one of several different virtualization technologies in several categories of virtualization software (see Sorting out the different layers of virtualization for the Kusnetzky Group model of virtualization software.) Let's examine what desktop virtualization is and how it can be accomplished using several different types of software. Today's topic will be the role of processing virtualization in desktop virtualization. We looked at the role access virtualization plays in the post Just what is “desktop virtualization” anyway? and application virtualization in the post The Role Application Virtualization Plays in Desktop Virtualization
To review one final time, desktop virtualization is encapsulating and delivering either access to an entire information system environment or the environment itself to a remote device. This device may be based upon an entirely different hardware architecture than that used by the projected desktop environment. It may also be based upon an entirely different operating system as well.
For the most part, desktop virtualization can be accomplished using either virtual machine software to encapsulate an operating system and all of its supported applications, data management tools, etc. into a single capsule that can be hosted on any compatible physical system using a "hypervisor."
Another, perhaps more efficient approach, is to use operating system virtualization/partitioning software to host multiple independent applications on a single operating system.
In either case, a capsule containing either an operating system plus its supported software or an operating system partition can be copied or streamed to a remote desktop system and execute there.
Another approach is running one or more capsules on a local Blade PC, on a remote Blade computer or even on a remote general purpose computer. In this case a special form of "virtual device interface", such as VMware VDI or Citrix's XenDesktop, allows the remote system to access the virtual machine or partition running on the remote system.
Additionally, a "connection broker" might be utilized to increase the levels of reliability and availability of application delivery. If one server becomes unavailable, the connection broker would simply reconnect the user to another server.
As with access or application virtualization, unless some other form of technology, such as storage virtualization is in use, the user might have to restart a transaction.
This approach is another solution to the network access and network bandwidth problems found with access virtualization. The application and a complete operating system can simply be streamed down or copied to the remote device prior to it being "taken on the road." When a person is "off the grid", he/she can just use the encapsulated version. Citrix XenServer and VMware Workstation or ESX Server are examples of this type of software. All Linux distributions contain both Xen and the KVM hypervisors which can do the same trick. Sun has announced that it is going to included Xen into Solaris as well.