Quest recently released version 7.1 of their vWorkspace Desktop Virtualization Suite. One of the cool new features is something called EOP "Xtream," an enhancement to RDP that increases performance in environments with high latency. When Quest visited our office a few weeks ago, we got to spend some time with EOP Xtream and were able to record this conversation and demo video.
I'll come out and say it right now: EOP Xtream is very, very cool.
In this video, Quest's Rob Mallicoat shows us Microsoft RDP (actually running RemoteFX beta) connecting with a wide open network connection. Then we methodically increase the latency to 20, 40, and 80ms. Since RemoteFX (in its current form) is a LAN-only solution, the high def video we were watching started to break down once the latency got up there.
Then we disconnected and reconnected with EOP Xtream enabled, and we saw that even with 80ms, the video playback was smooth. (And since this was via RemoteFX, it was 100% host-side rendering--no multimedia redirection or anything.
EOP Xtream is amazing. How does it work?
So at first glance, EOP Xtream looked amazing. We had four (!) Quest people in the room during that demo, so naturally I asked them how it worked.
And then things got weird.
All I got were vague answers about it "increasing the efficiency of RDP in highly latent connections" and vague marketing crap like that. No one would actually explain what this was doing. Of course the folks in the room from Quest were huge nerds like Gabe and me, and the said that they wanted to explain it to us, but that their legal team told them they were not allowed to. After laughing for a few minutes about how dumb lawyers are (Like hello?!? This is production software that's for sale to the public. There are no secrets dumbasses!!!), Gabe and I decided to investigate. We noticed that the vWorkspace EOP configuration screen has an option for "maximum number of connections." We also noticed via netstat and a network sniffer that when EOP Xtream was used, the RDP client and host actually opened multiple TCP connections (in our case there were three TCP connections between the host and client with EOP Xtream, and a single one with straight RDP).
Interesting! After some quick Google research, we learned that there is a theory that opening multiple TCP streams can increase performance in environments where latency is an issue. The advantage comes from the "reliable" nature of TCP, and the fact and senders have to wait for acknowledgement packets, and since TCP window sizes can't be too huge across real world WANs, you can get better performance if you take your TCP stream and slice it into a bunch of parallel streams. Of course these same websites also said this would be extremely difficult to build in real life, but based on what we can see by playing with EOP Xtream, this is exactly what they're doing. So congrats to them!
I'll be spending more team with EOP Xtream over the next few months, but in the meantime, here's what we know about what it does and how it works. (Oh, and how cool is RemoteFX?)