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.
Defining desktop virtualizationDesktop 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.
Why should I care about this?Organizations have learned that acquiring desktop or mobile personal computers, installing software, training and supporting the users of these systems, updating the software on these systems and even maintaining these systems is a costly and time-consuming business. Many in the IT organization remember a time when the organization provided people with either a block-mode device, such as a member of the IBM 3270 family, or a character cell devices, such as the Digital Equipment Corporation VT family, and that device provided a secure access mechanism to the organization's applications and data for as much as a decade. Once the device was installed, it didn't need updates or changes throughout its long life. The device didn't need to be updated each time there was a change in operating system, application development tool, application framework, databased manager or system hardware.
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.
How does virtualization software help?There are several different ways to provide a virtualized desktop environment. They may be used separately or in conjunction with one another. The goals are offering the users of IT-based solutions access to modern, graphical applications while also reducing or totally removing the liabilities of having one's own general purpose computer and having to learn to be a computer administrator, offering the world an unmanaged (from an IT point of view) access point to the organization's network and to lower the overall costs of installation, updating, operations, backup and the like. Virtual access software, virtual application environment software, processing virtualization software and management software for virtual environments all can play a role in offering an organization's staff a virtualized environment.
The role of access virtualizationAccess virtualization is one of the earliest forms of desktop virtualization. It is just an evolutionary step away from using one of the early "dumb" terminals. Software running on the server "grabs" the user interface portion of the operating system and applications, encapsulates it and then delivers it to a remote device using an efficient special-purpose protocol, such as Citrix's ICA, Microsoft's RDB, HP's RGS or even the venerable X display protocol that is part of X11.
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