How cable companies can improve the Internet experience.

 

When you, a typical individual buys a car, you have options. Faster engine, upgraded interior, custom paint, special radio the list goes on and on, you have choices. I kinda like choices, I bet you do too. When buying Internet access the choices are much fewer. You can pick provider and a speed option. That’s about the end of your choices.

 

I don’t think speed/bandwidth should be the end of the consumer Internet service options! We can deploy some really exciting options (service enhancements) while adding value for the consumer and improving the Internet experience.

  1. Reducing latency – Image / video / content caching
  2. Kid safe web surfing – DNS / Proxy / Content filter
  3. Firewall, Virus and Mal-ware protection –  Firewall / IDS, AV file scanning and malicious code scanning
  4. Application and service prioritization control – Customer controllable bandwidth traffic shaping.

If we provide some additional features the customer may see us as an additional benefit, not simply a ISP. Giving the customer a reason to say! The main service offerings Internet providers have had is “Speed/Bandwidth”, we are approaching the point where we need to start improving and focusing on the response times of requested data, quality of data and safety of the data.

 

 

Reducing latency – Image / video / content caching

 

Basically, when your computer connects to ebay as en example, there are delays and retransmissions that occur and these are the typical reason a web site can “feel” slow. Reducing the delay/response times and nearly eliminating the retransmission of data will be the next user experience frontier.

Bandwidth (speed at which data can be transfered) is part of the experience, another major part is simply how long your request takes to arrive to the web server, how long the web server internalizes the request and then how long it takes to start sending you the content requested….and repeat for each element and content item on the website.

Here is a practical real world BEST CASE of a WORST CASE scenario.

You request data from a website in foreign country. Lets say, a website hosted by www.afrihost.com (Web hosting company in South Africa) Just a simple ping to them takes 271ms on average.

Below is a break down below are timing measurements.

 

Kentucky to Chicago – 21ms

Chicago to New York – 11ms

New York to London – 70ms

London to Johannesburg120ms

Johannesburg to Cape Town – 50ms

 

As we know the speed of light and switch/router delays add up. In the above example, we are in the 275ms range. Thats nearly 1/3 of a second. For every request you have to wait a 1/3 of a second. When your browser makes at least 5 calls to the web server you are seeing minimum of 1.6 seconds of delay for which there is no possible cure for… without content caching that is.

 

How your browser operates is more “chatty” than you might expect…..When you view http://www.msn.com or http://www.woot.com in your web browser, your PC has to communicate A LOT of times for all the content. Each image is a separate request and often there are additional pages requested and processed. Typically one page is built from data from many servers content. When you type in “www.ebay.com” and press enter, your PC connects to DNS servers (Think of this as a Phone book for web sites and servers), finds the IP address of “www.ebay.com” and then the browser requests the default page of a web server located at the IP address the DNS server provided you. The web server then determines as much as it can based on your IP and browser type. (Physical location, potential income, visiting frequency, etc) The web server then sends your browser some HTML code. This code contains the “layout” of text, images and instructions to contact other servers for other text data, advertisement,  images, video and music. Your Browser then connects back to the web server and requests the images, or other web pages that contain additional commands. You can often see this in a real example as you may wait for some of the images to load on the browser. With all the communications back and forth between your PC and the various web servers, it’s understandable where response time is just as important as bandwidth.

 

Retransmitting or retrying after a failed request is another point of delay. An example would be if you and I were in the same room, and for whatever reason I have a lot on my mind. You ask me a simple question, “Hey Steve, What time is it”….. “Steve?” I respond with, “sorry, I have a lot on my mind, what was your question?” You ask again, “What time is it” and I answer your question with “It’s 6:35 PM”

 

You can see where I, as the Time keeper was busy or slow and eventually answered your request. Once I did answer the request it was quick, but the time it look for me to answer you was longer than the actual answer…. You still with me on this?

 

Caching servers are the mechanism we can use to answer the requests for or on behalf of the busy/slower web servers. As we are the ISP we can anonymously analyze the requests going to the web servers and answer the requests for popular pictures or common download files. There are companies that do this akamai and cachefly are an example. They are for paying sites that have heavy traffic and want to improve the customer experience using the same process I’m recommending the Cable Companies provide. If we deploy this for the top 25% of the commonly visited websites we would improve the customer experience, reduce the ISP’s bandwidth consumption and in turn provide a better experience for the web servers we don’t cache for…. Kinda cool.

 

Next I’ll work on items 2, 3 and 4

  1. Reducing latency – Image / video / content caching
  2. Kid safe web surfing – DNS / Proxy / Content filter
  3. Firewall, Virus and Mal-ware protection –  Firewall / IDS, AV file scanning and malicious code scanning
  4. Application and service prioritization control – Customer controllable bandwidth traffic shaping