The Support Forum for our HDX MediaStream for Flash trial release recently included a post that raises some interesting concerns about how client-side rendering fits with the server-based computing model. To paraphrase the post:

“Citrix has always been the server-based computing company that wanted everything moved into the datacenter. That includes all code execution. Now, with HDX, some of the code is executed on the endpoint, which means it’s not SBC all the way anymore. Moving execution code to the endpoint means you will create application dependencies at some point. It’s not only KVM that’s sent to the endpoint anymore. My opinion is that SBC should always be client platform independent.

A great impetus for me to shed some light on Citrix’s strategy for HDX and multimedia virtualization…

Although the term “server-based computing” is no longer in vogue, there’s no denying the tremendous benefits of centralizing the complicated stuff in the data center where it’s easier to manage. And strategically, we view server-side rendering of multimedia content (including Flash) as a critical, core capability. This is the foundational technology that covers all the bases. Server-side rendering works whether the content is Flash or Silverlight or Windows Media or QuickTime or whatever. Server-side rendering works regardless of whether the user device (client) has the applicable media player (e.g. Adobe Flash Player) installed on it, or the applicable codec. And it works with all operating systems for which we offer our client or Citrix Receiver online app plug-in. Therefore, we’ve continued to invest in improving the delivery of server-rendered multimedia content with new codec technology and other technological advances.

But client-side rendering can be used opportunistically to great advantage when it fits. In those cases, offloading media processing to the endpoint reduces the load on the server and helps improve overall server scalability (number of concurrent users), sometimes by as much as an order of magnitude. Eliminating rendering and recompression on the server also generally results in less network bandwidth consumption since the native media format is already highly compressed.

My view is that there’s a fine line here. Running a browser plug-in like the Adobe Flash Player on the endpoint may be about as far as many customers would want to go with client-side media processing. Why? As you go farther, you increase the complexity of managing the user device and could lose a key benefit of the virtual desktop model (although client-side virtualization technologies can certainly mitigate that). 

So it all comes back to HDX Adaptive Orchestration, which is the key to our multimedia virtualization strategy. HDX Adaptive Orchestration includes SmartRendering, which intelligently and dynamically evaluates available resources (user device, network, server) and determines whether to stick with the foundational technology of server-side rendering or opportunistically leverage the endpoint device. Administrative policies factor in, too, especially when there are security and management considerations.

With upcoming improvements to frame rate (already 20 fps in XenDesktop 3 FP1) and audio quality (see my video on project Ulysses), server-based multimedia delivery keeps getting better. But even though it can deliver an excellent multimedia user experience, that will always come at the cost of server capacity and network bandwidth. So a multi-dimensional solution that can leverage client-side resources if they’re available provides the best of both worlds. 

Derek Thorslund
HDX Product Strategist & Sr. Manager, XenDesktop Product Management