A friend of mine runs a company that runs training labs for IT users all over the world. He had a problem with his latest application, which was a lab simulator for a complex server, Marin property management storage, and virtualization environment. The problem was, everybody outside the United States was experiencing extremely slow performance.
Application performance over the Internet is a tricky thing. It depends on a number of different aspects of the TCP/IP stack working correctly. TCP is a protocol that is optimized for reliable transmission of traffic over a medium in which packets are expected to be dropped. It does this through a combination of packet retransmission requests, packet sequence ordering, and TCP windowing. TCP automatically adjusts to the available bandwidth by using dynamic windowing, and it always starts with a small window and ramps up to the point where TCP packets dropped that have to be retransmitted, so there is always a slow start in any Internet connection. Because of the TCP windowing, if any packets are dropped during a TCP/IP session, ssh slowdns the window size gets smaller and effective bandwidth for the application drops.
What happens when TCP/IP traffic is transmitted worldwide, especially over the Internet when it goes through a number of different service providers and their peering points, is that packets are dropped as a matter of course. Due to the inherent nature of the protocol and situation, this means bandwidth, performance, and latency are going to be poor for an application requiring interactivity. Large organizations have always done with this issue by building out a worldwide private Wide Area Network. Moon Chocolate Bar
Our engineers have been working with customers for years upgrading and improving their wide-area networks in order to deliver the best application performance to the remote sites possible. We are very familiar with how this is done when using a leased circuit service such as MPLS, both with QoS at the routers, and Wide Area Application Acceleration. This has been much more difficult to do with applications delivered over the Internet to individual users, and in most cases we haven’t even tried.
What my friend needed, was a way to do application acceleration for individual users over the Internet, without installing any applications on their PCs, mobile-auto-repair or putting any special hardware at their location at all. This is trickier than it sounds, since each of the reasons for TCP bandwidth limitation have to be addressed in order to have the application work properly. After the TCP protocol issues are addressed, then the information needs to be compressed at the head end and expanded at the remote site, which would effectively increase the available bandwidth for the application and then accelerate the application speed.
If he were to build out this, he would need a special acceleration server at his data center, and then another acceleration server at the Internet point of presence closest to each of its customers. The servers would have to be able to send packets to each other in a multiple redundant routes, perform compression using all the available current algorithms, have dynamic DNS to reroute the request to the server closest to the end-user, and the monitored all the time to make sure everything was working properly.
Obviously, this would have been a cost prohibitive exercise for my friend. Fortunately, he found a company that offers this type of acceleration as a service.
In fact, this company has tens of thousands of service deployed in most data centers worldwide, which can be used for dynamic content delivered over the Internet. Examples of content that can be accelerated include:
- Improve VDI (virtual desktop infrastructure) performance.
- Speed up any end-user applications delivered by HTML or IP.
- Remote office and end-user VPN acceleration.
- Speed up large file transfers.
- WAN supplementation or replacement.
Most organizations typically do a test run with whatever application is causing the most issues and problems at the time. This can be a VDI deployment to remote users that is experiencing unacceptably slow performance, slow remote desktop protocol sessions, slow enterprise application performance, or other similar issues that users or customers are complaining about.