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 access virtualization in desktop virtualization. We'll look at the role of application virtualization and processing virtualization in future posts.
While these devices were limited to displaying text or limited forms of graphics, they were durable, easy to learn and didn't demand long, irritating vacations while software was being updated. Furthermore, they didn't offer an invitation to malicious code, such as worms or viruses. No special tools were needed to back up data or applications that where housed close to the user because these devices were just "windows" into what was happening on the server. Server backup software was all that was necessary.
Desktop virtualization can be seen as a way to reach back to the past and provide a reliable, durable environment while still offering modern graphical applications.
The remote device runs the client software that implements the chosen protocol(s) and allows the user to access an entire desktop environment that is being projected from a remote server or group of servers. Although the remote device may be a personal computer running an agent, the remote device, some times called a "Thin Client," does not need to have a large amount of memory or storage. In fact, it may offer no local storage at all. The remote device does not need to be based upon the same hardware architecture or operating system as used by the remote servers. It is quite possible for a small, hand held device based upon an X-scale processor running some embedded operating system to display Linux, Windows, UNIX or even Z/OS applications.
A "connection broker" might be used to increase the levels of reliability and availability of application access. If one server becomes unavailable, the connection broker would simply reconnect the user to another server. Unless some other form of technology, such as storage virtualization is in use, the user might have to restart a transaction.
The challenge this approach offers is that high graphical performance requires reliable, relatively high speed network communications to work. When a person is "off the grid" they're also out of luck unless some special provisions have been made for them to still access the necessary applications using either application virtualization or processing virtualization.
Citrix XenApp, Microsoft Terminal Services, and X-windows that is provided as a standard part of Linux and UNIX operating systems are all approaches to access virtualization