VMware PCoIP; More than a year on the road. A recap

Since my first post about PCoIP basics, a lot has happend and changed around VMware View’s default remote display protocol. However, I still get the same questions/comments as a year ago. I also notice that the concept of PCoIP isn’t clear to everyone. In this article I would like to give everyone a recap with links to detailed, useful information.

Battle of the protocols

First of all, the “battle of the protocols” disappeared to the background. Yes, it’s still a topic but for sure not the only topic as it used to be (more information about the basics of PCoIP can be read here). Ease of installation, image management, storage efficiency, pool creation options etc became part of the conversation as it should be.

PCoIP and remote access

Since View 4.6 it also is possible to access a View environment remotely, over the internet using PCoIP. In 4.6 the VMware View Security Server has been optimized to handle PCoIP as well. Mark Benson, View Architect and guru at VMware posted an article and video on how to set up a Security Server, Connection Server and firewall to make the chain work so users can connect remotely using PCoIP. If you do experience issues, especially black screens, do read Mark’s article and also read the comments. If you have read it before, do read it again. Follow the 3 steps carefully and it will work.

I also had a discussion with someone about remote access with VMware View, from ANY place. This person kept on mentioning there is a chance a user can’t connect to his/her VM. Well, if the company has multiple sites, the IT department has control over network devices like firewalls, so internally (company wide, multiple sites) you can make View with PCoIP work. Also, I have never heard of any Internet Service Provide (nor it’s modems/routers) block PCoIP. People should be able to connect to a View environment from home by using PCoIP.

This might be different in hotels or when someone is trying to connect from other companies. That is true. Not every hotel will allow TCP/UDP port 4172 in and out. Same goes for companies and their networks (most likely when they don’t have a View environment). In that case, wanting VMware to tunnel PCoIP over TCP (and preferably port 443 because there is a big chance it is open) isn’t the solution. PCoIP is a real time protocol like VoIP and for that reason it is a UDP based protocol…. like VoIP. User experience is very important. Tunneling PCoIP over TCP, 443 will degrade the user experience. Overhead will be added; for example a second layer of encryption (PCoIP already has AES-128 encryption). For this case, turn to RDP as the display protocol which is TCP based and can be tunneled over 443. Yes you will have a degradation in user experience but you are able to connect and work. Once you have full access again, turn back to PCoIP for true user experience. Also, VMware View Local Mode can be a solution for this case as well.

PCoIP improvements View 5

Besides PCoIP improvements in View 5 (think about improved content compression algorithms, you can tweak and tune PCoIP more than ever before. This might be helpful in bandwidth constraint environment. From now on you can turn on/adjust/tune audio settings. band floor settings, initial quality settings, client side caching and turn on/off Build to Lossless. More details about the improvements can be found in this article on the VMware site. A good whitepaper about PCoIP and different scenarios can be found here.

Not that long ago I had a discussion about PCoIP and bandwidth usage (again). In that case the environment wasn’t working; slow screen refreshes, scrolling documents was bad etc. I was told PCoIP was taking 3Mbps! Basically it was unusable. Don’t get me wrong, I do understand why people point at VMware first. It’s a remote desktop environment, our protocol and user experience is bad. BUT, is it the View stack or something else?

Having 25% package loss doesn’t help user experience, same as a 1Mb link often isn’t 1Mb but could be 700Kbps. Tools like Wireshark and iPerf can give you a good insight on what’s going on on your network. Also, VMware recommends to have QoS on PCoIP, just like VoIP. Implement that. Also, capture PCoIP agent logging. Capture it around 5pm, from someone with and without issues, when a working day is over. Then you can see what a user is consuming on average over a day (in that case 170Kbps for someone without issues). Issues occured after an upgrade from XP/Office 2003 to Windows 7/Office2010. The 3-6Mbps was reached during a test where people only measured the peak, while scrolling a document, and playing a 480p movie.

Bottom line, when there are issues, analyze, do useful tests and use good tools to monitor. PCoIP is a very decent protocol : ) Since the introduction of View 5 you have many options to tune PCoIP to your specific network so user will have the best experience when running View.