Did you ever wonder how roadmaps are defined at Citrix? Why feature ‘A’ makes it and feature ‘B’ doesn’t? We Product Managers have guidelines on how to operate – do we want to innovate with new features or optimize an existing one? Is there an immediate business opportunity attached to a Request for Enhancement, or are we penetrating a green field market? In this blog, I want to share with you a story of how one of the most important features HDX has ever seen came to life.
Before I joined Citrix, I worked in the satellite telecommunications industry. I had the pleasure of traveling the world, visiting remote United Nations branch offices where Satlinks were the only means of communication. Satellite connections are generally limited in bandwidth, as this resource is finite on the “bird” up in the geostationary orbit. This is due to the maximum available power of the high-power amplifier (HPA) and antenna size. As a result, bandwidth is an expensive commodity.
But if there is one distinctive characteristic of this industry, it is latency. The laws of physics (and equipment performance) generally produce a round-trip time of 600-1,200 msec. TCP throughput behaves very differently under these conditions. The degradation effect of latency (and packet loss) on TCP can be especially challenging for an interactive protocol such as ICA.
I experienced that first hand back in 2012. I was working on a Citrix XenApp 6.5 project over a satellite. We used Citrix Consulting Services to tweak the XenApp 6.5 farm for the best WAN performance. (Curiously, the Citrix consultant on site, Roberto Moreno, is now my colleague in HDX Product Management and sits in front of me on the seventh floor of our building.)
The interesting part was that back in those days, we opened a ticket with Tech Support — a ticket that I can still find in Salesforce — titled “Low ICA Bandwidth Consumption.” I knew that I was not able to squeeze all the kilobits per second that I should have been able to with HDX/ICA. Countless hours of looking at Wireshark traces validated this.
We finally ended up tweaking a few reg keys and values in Citrix Receiver that resolved the issue. But this process was more of an art than a science, and it required manual intervention.
In 2014, I accepted an offer to work at Citrix as a sales engineer for the CSP team. Shortly thereafter, I switched to the HDX Product Management team to work on domains such as Multimedia, Devices-Peripherals and the ICA stack (known internationally as Hostcore).
As soon as we got Enlightened Data Transport (EDT) on by default in XenApp and XenDesktop 7.16, I knew this was the best opportunity to restore my good karma and work with our architects and engineering team on improving ICA bandwidth utilization.
So off we went, kick-starting a project that now is bearing fruit in Citrix Virtual Apps and Desktops 7 1811. We rewrote some of the core components of ICA, fine tuning buffers, window sizes, IOCTLs, and drivers.
(Note that a 2x throughput improvement is already present in the Citrix Workspace app 1808 for Windows, so by simply upgrading to that CWA version you are enjoying benefits without requiring a VDA upgrade.)
Now we are providing every virtual channel with a transport stack that can dynamically adjust its throughput to the available bandwidth of the network — without impacting interactivity.
The results of this have exceeded my expectations.
In CVAD 1811 you can enjoy HDX like never before. Trust me, your users will come to you saying, “I don’t know what you did, but the experience is twice as good!” The real number is 5x: We are going to be five times more efficient than XenApp and XenDesktop 7.15 over WAN links.
This means more throughput, more frames per second, more interactivity, and higher resolutions.
We call this feature HDX Adaptive Throughput, and it is part of our new A3 approach for HDX: Adaptive Display, Adaptive Transport, and Adaptive Throughput.
My colleague Miguel Contreras is now the Product Manager (PM) for ICA, EDT, and Adaptive Throughput, and he brings years of savvy Citrix Consulting field experience to the HDX team. Make sure you read his blog on HDX!
Mark Howell is now the PM for Devices, and he has been transforming our Client Drive Mapping virtual channel to make it even more efficient!
The story doesn’t end here, though, because the HDX Engineering and PM team have more bandwidth than ever (pun intended), and we have more tricks up our sleeves. You may recall from this blog post by Georgy (our architect) something about Enlightened Virtual Channels.
We are cross-pollinating Thinwire, Framehawk, and EDT. Next generation HDX is coming at full force and will, once again, set the industry standard for user experience and delivery of virtual apps and desktops.
So, stay tuned!
For Citrix Investors
This release contains forward-looking statements which are made pursuant to the safe harbor provisions of Section 27A of the Securities Act of 1933 and of Section 21E of the Securities Exchange Act of 1934. The forward-looking statements in this release do not constitute guarantees of future performance. Those statements involve a number of factors that could cause actual results to differ materially, including risks associated with the impact of the global economy and uncertainty in the IT spending environment, revenue growth and recognition of revenue, products and services, their development and distribution, product demand and pipeline, economic and competitive factors, the Company’s key strategic relationships, acquisition and related integration risks as well as other risks detailed in the Company’s filings with the Securities and Exchange Commission. Citrix assumes no obligation to update any forward-looking information contained in this press release or with respect to the announcements described herein. The development, release and timing of any features or functionality described for our products remains at our sole discretion and is subject to change without notice or consultation. The information provided is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making purchasing decisions or incorporated into any contract.