One of the vendors that Gabe and I met with at Synergy last week was IPeak Networks, a company with solutions to deal with packet loss over WAN environments. IPeak's main business today is in the telepresence and video conferencing markets, although they realized a few months ago that their stuff could potentially work for VDI and remote desktop environments as well.
The current IPeak product is a pair of hardware devices you put on each side of your WAN. They're completely transparent to the network (no IP address or anything) and they learn of each other's presence by marking unused areas of the TCP packet (similar to the way that many WAN optimization products find each other). Then they watch the traffic and figure out how many packets are being retransmitted due to loss.
Then when the IPeak things kick in, they actually slice the TCP stream into chunks and embed each chunk into multiple packets. That way if a single packet is lost, the receiving IPeak can reconstruct it on the fly from the other data it did receive. (In other words, it's like RAID for TCP packets.) Obviously there's a tradeoff between retransmits and efficiency, but the idea is that for situations where packet loss is bad (like remote display protocols) then you might be comfortable reducing your packet loss in exchange for the increase in bandwidth due to the redundancy of data.
And that's really the key: You're purposefully using a bit more bandwidth to make up for the packet loss. (Although one could argue that a retransmit due to a lost packet is already just another form of additional bandwidth consumption since the same data is sent twice.)
I specifically called out PC-over-IP in the title of this article because that's the most notorious (especially when compared to HDX) for not doing too well over the WAN. (Although that could be mostly due to the fact that it's UDP-based.) Claudio Rodrigues (Microsoft MVP, Citrix CTP, and BriForum presenter) has recently started working with IPeak and he recorded a YouTube video demo of the Win32 VMware View client connecting to a View 4 environment from his hotel in San Francisco to the ESX server in Ottawa. The IPeak thing has a management interface that reports actual real-world packet loss (in addition to the "effective" packet loss after IPeak corrects it), so this video is an actual real WAN on the real Internet. (i.e. no faking it with a WAN simulator to make the demo look good.)
And here's a YouTube video showing IPeak's effect on HDX over the WAN (via XenApp 6 on 2008 R2):
How real is packet loss today?
The demo video showed around 3% packet loss. I don't have access to any data that would show how common that is. On the one hand, I'd like to think that packet loss is a thing of the past. On the other, IPeak has a great business selling $25k IPeak things to companies who just spent $250k on telepresence solutions, so this problem is real enough that people are paying for IPeak in other areas. And it seems like what they're doing should work in our space?
Quite frankly I think this is one of the more ingenuous things I've seen in awhile, although I'm not a network guy so maybe this kind of stuff common already?
These IPeak folks definitely deserve a reward for creativity. I love the concept of applying a RAID-like system to network packets and I can think of several scenarios where I'd gladly give up some bandwidth in exchange for fewer dropped packets.
I'm hoping that as IPeak comes to market in the virtual desktop space that they release a software version of their client that could run on an end user's device or snap-in to the Citrix Receiver software.
What do you think? Is packet loss a real problem in the desktop virtualization world that we need something like IPeak to solve? Would you exchange bandwidth for reliability?