Desktop virtualization can be used in conjunction with application virtualization and (Windows) user profile management systems, now termed "user virtualization," to provide a comprehensive desktop environment management system. In this mode, all the components of the desktop are virtualized, which allows for a highly flexible and much more secure desktop delivery model. In addition, this approach supports a more complete desktop disaster recovery strategy as all components are essentially saved in the data center and backed up through traditional redundant maintenance systems. If a user's device or hardware is lost, the restore is much more straightforward and simple, because basically all the components will be present at login from another device. In addition, because no data is saved to the user's device, if that device is lost, there is much less chance that any critical data can be retrieved and compromised. Below are more detailed descriptions of the types of desktop virtualization technologies that will be used in a typical deployment.
System architectures 
Desktop virtualization implementations are classified based on where the virtual desktop runs and whether or not the virtual desktop persists between sessions. Software products that deliver desktop virtualization solutions can combine these two implementation methods into a single product to provide the most appropriate implementation to support specific requirements. Neither approach explicitly requires the use of a hypervisor; however, in practice most desktop virtualization implementations do incorporate a hypervisor component.
Remote desktop virtualization 
Remote desktop virtualization implementations operate as client/server computing environments. Application execution takes place on a remote operating system which is linked to the local client device over a network using a remote display protocol through which the user interacts with the application. All applications and data used remain on the remote system with only display, keyboard, and mouse information communicated with the local client device which may be a conventional PC/laptop, a thin client device, a tablet, or even a smartphone. A common implementation of this approach is to host multiple desktop operating system instances on a server hardware platform running a hypervisor. This is generally referred to as "Virtual Desktop Infrastructure" or "VDI". It should be noted that VDI is often used incorrectly to refer to any desktop virtualization implementation.
Remote desktop virtualization is frequently used in the following scenarios:
- In distributed environments with high availability requirements and where desk-side technical support is not readily available, such as branch office and retail environments.
- In environments where high network latency degrades the performance of conventional client/server applications
- In environments where remote access and data security requirements create conflicting requirements that can be addressed by retaining all (application) data within the data center with only display, keyboard, and mouse information communicated with the remote client.
It is also used as a means of providing access to Windows applications on non-Windows endpoints including tablets, smart phones and non-Windows-based desktop PCs and laptops.
Remote desktop virtualization is also used as a means of resource sharing, to provide low-cost desktop computing services in environments where providing every user with a dedicated desktop PC is either too expensive or otherwise unnecessary.
Virtual desktop infrastructure 
Virtual desktop Infrastructure (VDI) is a desktop-centric service that hosts users desktop environments on remote servers and/or blade PCs, which are accessed over a network using a remote display protocol. A connection brokering service is used to connect users to their assigned desktop sessions. For users, this means they can access their desktop from any location, without being tied to a single client device. Since the resources are centralized, users moving between work locations can still access the same desktop environment with their applications and data. For IT administrators, this means a more centralized, efficient client environment that is easier to maintain and able to respond more quickly to the changing needs of the user and business.
Remote desktop services 
Remote Desktop Services (also called terminal services, server based computing, and presentation virtualization) is a component of Microsoft Windows that allows a user to access applications and data on a remote computer over a network using a remote display protocol. Another leading example of presentation virtualization is Citrix XenApp. Remote Desktop Services is functionally similar to VDI in that it hosts users desktop environments on remote servers; however it differs from VDI in two important ways.
- Where a VDI service provides individual desktop operating system instances (e.g. Windows XP, Windows 7, etc.) for each user, all Remote Desktop Services sessions run in a single shared server operating system (e.g. Windows Server 2008 R2, Windows Server 2012, etc.).
- Where VDI is designed to deliver full desktop environments, Remote Desktop Services can provide connections to both individual applications or full desktops as needed.
The use of a single shared server operating system instead of individual desktop operating system instances consumes significantly fewer resources than the same number VDI sessions. At the same time VDI licensing is both more expensive and less flexible than equivalent Remote Desktop Services licenses. Together these factor can combine to make Remote Desktop Services-based remote desktop virtualization more attractive than VDI.
Remote desktop services is generally understood to refer to the Microsoft Windows component, however an open source remote desktop protocol server is under development.
However, VDI implementations allow for delivering a personalized workspace back to a user, which retains all the user's customizations. There are several methods to accomplish this. One is to deliver fully persistent VM desktops, in which a user gets a dedicated desktop that functions essentially as their own PC. Another mode is to deliver non-persistent desktops which do not include user personalization. These are VM desktops delivered from a pool which then used for a session and returned to the pool. This approach has the advantage of keeping VM desktops "clean" as nothing is saved to the image by the user. Non-persistent desktops can be paired with user virtualization technologies to deliver user profiles and customizations(and all profiles settings, application data settings, configuration and user data), to the user upon login. The user profile is matched with a non-persistent desktop providing an experience that is very little different from a PC. All changes made to the user profile are saved to the profile and are restored to the user upon their next login. However, the VM is returned to the pool with no changes saved to it.
Application Virtualization 
Application virtualization improves delivery and compatibility of applications by encapsulating them from the underlying operating system on which they are executed. A fully virtualized application is not installed on hardware, in the traditional sense. Instead, a hypervisor layer intercepts the application which at runtime acts as if it is interfacing with the original operating system and all the resources managed by it, when in reality it is not. Examples of enterprise application virtualization software include VMware ThinApp and Microsoft App-V. Liquidware Labs offers a slightly different approach to application virtualization with its FlexApp feature in its ProfileUnity solution. FlexApp does not virtualize the application, instead it virtualizes the location of the application.
User Virtualization 
User virtualization separates all of the software aspects that define a user’s personality on a device from the operating system and applications to be managed independently and applied to a desktop as needed without the need for scripting, group policies or use of roaming profiles. The term “user virtualization” sounds misleading; this technology is not limited to virtual desktops. User virtualization can be used regardless of platform – physical, virtual, cloud, etc. The major desktop virtualization platform vendors, including VMware, Citrix and Microsoft, all offer a form of basic user virtualization in their platforms.
Desktop layering is a method of desktop virtualization that divides a disk image into logical parts to be managed individually. For example, if all members of a user group use the same OS, then the core OS only needs to be backed up once for the entire environment who share this layer. Layering can be applied to local physical disk images, client-based virtual machines, or host-based desktops. Windows operating systems are not designed for layering, therefore each vendor must engineer their own proprietary solution.
Desktop as a service 
Remote desktop virtualization can also be provided via a Cloud computing similar to that provided using a Software as a service model. This approach is usually referred to as Desktop-as-a-Service (DaaS). The DaaS provider typically takes full responsibility for hosting and maintaining the compute, storage and access infrastructure, as well as applications and application software licenses needed to provide the desktop service in return for a fixed monthly fee.
DaaS can be implemented using both VDI and Remote Desktop Services-based systems. DaaS can be provided through public cloud, private cloud infrastructure, and hybrid cloud platforms.
Local desktop virtualization 
Local desktop virtualization implementations run the desktop environment on the client device using hardware virtualization or emulation. For hardware virtualization, depending on the implementation both Type I and Type II hypervisors may be used.
Local desktop virtualization is well suited for environments where continuous network connectivity cannot be assumed and where application resource requirements can be better met by using local system resources. However, local desktop virtualization implementations do not always allow applications developed for one system architecture to run on another. For example, while it is possible to use local desktop virtualization to run Windows 7 on top of OS X on an Intel-based Apple Mac, using a hypervisor such as VirtualBox, Parallels Desktop for Mac, or VMware Fusion, as both use the same x86 architecture, and as it was possible to run Windows on a PowerPC-based Mac using Virtual PC, it is currently not possible to run Windows 7 on an ARM-based tablet, as there are no emulators that run on those tablets and emulate an x86-based PC.
See also 
- Remote Desktop Services
- Remote Desktop Protocol
- Application virtualization
- Workspace virtualization
- Multiseat desktop virtualization
- User environment management
- Remote desktop software
- Comparison of remote desktop software
- Web desktop
- Rouse, Margaret; Madden, Jack. "Desktop virtualization". TechTarget. Retrieved 1/3/2013.
- Keith Schultz (16). "Review: VDI without the server connection". InfoWorld. Retrieved 3 January 2013. "One subset of VDI, dubbed client-hosted or offline mode"
- Chernicoff, David, “HP VDI Moves to Center Stage,” ZDNet, August 19, 2011.
- Baburajan, Rajani, "The Rising Cloud Storage Market Opportunity Strengthens Vendors," infoTECH, August 24, 2011. It.tmcnet.com. 2011-08-24.
- Oestreich, Ken, "Converged Infrastructure," CTO Forum, November 15, 2010. Thectoforum.com.
- "Desktop virtualization cheat sheet". Networkworld.com. Retrieved 2010-03-17.
Further reading 
- Paul Venezia (April 13, 2011) Virtualization shoot-out: Citrix, Microsoft, Red Hat, and VMware. The leading server virtualization contenders tackle InfoWorld's ultimate virtualization challenge, InfoWorld
- Keith Schultz (December 14, 2011) VDI shoot-out: Citrix XenDesktop vs. VMware View. Citrix XenDesktop 5.5 and VMware View 5 vie for the most flexible, scalable, and complete virtual desktop infrastructure, InfoWorld
- Keith Schultz (December 14, 2011) VDI shoot-out: HDX vs. PCoIP. The differences between the Citrix and VMware remote desktop protocols are more than skin deep, InfoWorld
- xrdp open source remote desktop protocol server xrdp