As remote access to the corporate network has improved over the years, so has running applications remotely by
doing all the work on a server and displaying the results on the remote PC. Microsoft's RemoteFX hopes to help make the next technical leap forward.
During the Windows 2000 Beta days, enterprise IT ran remote apps on Terminal Services. Applications running on high-end servers could taking advantage of local resources and minimize the network dependency for application performance by sending the resultant display to the remote desktop's screen. There were several problems with this feature. Terminal Services took on a life of its own, such as profile and registry bloat difficulties, which led to Group Policies to try to tame them.
Then all the possibilities of virtual desktop infrastructure (VDI) emerged. Thin clients, once a cast-off technology known as "terminals," moved back into the picture. Although today's thin client has some resources and is much more sophisticated that the old VT100 terminals of the 1970s and '80s, the principle is the same: Do all the work on the server. Now, the advantage is in security and administration -- keeping client blades or terminal server sessions locked up in the data center. Thirty years ago, there was no streaming media, DVD recordings, or 3-D and high-definition video to display to the client. Today, those media technologies are not only common but preferred for delivering Webcasts, training media, advertisements and entertainment.
Windows 2008 R2 took a big step forward by providing support for multiple screens, bi-directional audio, Windows Media Player redirection and enhanced bitmap remoting. The client side to this required Remote Desktop Protocol (RDP) Version 7. However, the rendering required by running multiple video streams simultaneously and in high definition was still beyond reach.
Available in Windows Server 2008 R2 Service Pack (SP) 1, RemoteFX is quite impressive. This service pack is currently in beta, and while no announcement has been made for its release, it's imminent. RemoteFX uses advanced coder/decoders (codecs) for a richer user experience. It supports either host- or client-side rendering and uses RDP client v7.1.
One of the key pieces to this technology is the graphics processing unit (GPU), which is essentially a big video card in the server. The idea isn't new: Many years ago, I managed a group of numerical control programmers whose high-end graphics workstations generated machine-tool paths for milling machines. Each workstation had a GPU, but it was about the size of a server (tower cabinet) today, and it took two men to lift. The GPU today is a card that sits inside the server cabinet. It does all the number crunching for the video in hardware, and it's not only more efficient but also permits rich graphics to be produced that would not otherwise be possible in an acceptable time. A single GPU can be used for multiple virtual guest machines, depending on the load.
A variety of client devices can display these images, using hardware decoding to further enhance the user experience.
In addition to the video experience, RemoteFX supports USB device redirection. It supports many more USB devices than was previously possible via redirection over RDP. There are no client drivers to load, further enhancing the user experience. Note that a single USB device on the server can be used by only one client at a time.
But the proof is in the pudding. At TechEd North America last summer, I listened to a couple of RemoteFX sessions and decided to go to the vendor area and see for myself. I started at the Microsoft booth and was directed to the HP booth in the Partner Pavilion. The representative there demonstrated a RemoteFX-configured server displaying high-definition video on a thin client. There were four screens, each running a high-def movie fed from the server host. No stalls, bumps or hiccups. Excellent rendering and performance. Just so I appreciated what I was seeing, he switched it back to the non-RemoteFX configuration -- I presume without the enhancements and no GPUs. Running only one high-def video in one remote screen looked like satellite TV on a stormy day -- video was choppy and blacked out. I was convinced. It seems that RemoteFX has lived up to its billing.
So RemoteFX is ready, but is the hardware? Remember that video cards (the GPU in this case) go against what hardware manufacturers have done for years. It's not so easy to just put high-end video components in a normal server. Is the hardware ready for more than just demos? Will it be ready to satisfy the demand when SP1 releases? Will RemoteFX really be in demand for virtual desktops?
All in all, RemoteFX is an impressively powerful technology that will move the virtual desktop user experience very near to that of a user on a local workstation. Only time will tell if it will be widely adopted in virtual desktop deployments.
ABOUT THE AUTHOR
Gary Olsen is a systems software engineer in Global Solutions Engineering at Hewlett-Packard. He authored Windows 2000: Active Directory Design and Deployment and co-authored Windows Server 2003 on HP ProLiant Servers. Olsen is a Microsoft MVP for Directory Services and formerly for Windows File Systems.