Optimization… is a well-researched and debated term for long time and NetScaler as an ADC excels in traffic optimization for various applications, protocols and use cases. In last decade whenever the term “Optimization” came in, it always referred to how one can optimize the performance and efficiency of applications and severs. Today the situation has changed drastically with Mobility coming into play. Enterprises have embraced the concept of BYOD which further pushes Mobility as strategic move. All the Apps and Data are now streamed to Mobile devices and that pushes up the need for optimization of Mobile streaming. As business happens through Mobile, productivity on Mobile devices is a key concern for Enterprises. NetScaler MobileStream optimization technology focuses on new challenges and improves delivery of Data and Apps on Mobile devices by 5X.

Let us take a step back and think through what has changed with Mobility and how does it impact the end user experience. Following changes are worth noting.

  • Unique devices of various type
  • Running with different firmware
  • Different screen sizes and resolution
  • Unique browser characteristics
  • Connective mediums 2G, 3G, LTE/4G, Wifi
  • Multiple connected lines at same time
  • Location and type of access points
  • Different network speeds with varying loads
  • Heavier processing pushed to the Client

Now you see there are so many changes with Mobility and no single solution which can cover all of what we need to deal with. Hence the Mobile Stream Optimization solution packages multiple technologies in single bundle which takes care of optimization from Network and Connectivity to Application layer. Quick snapshot of what all is baked together:

Connectivity

  • Multi-Path TCP
  • Domain Shards

Protocol

  • SPDY
  • TCP Congestion Control

Application and Data

  • Image Optimization
  • JavaScript Optimization
  • Style Sheet Optimization

Connectivity

Every Mobile device today is connected and most times on multiple interfaces which mean you have parallel connected lines. Well, that is good news but do we really utilize these parallel connections? NetScaler introduces Multi-Path TCP protocol utilizing these multiple paths to same endpoint. Multi-Path TCP technology utilizes multiple paths in single logical MPTCP session on NetScaler where the connectivity remains alive as far as one of the paths is UP and running. When one of the path or connection goes down, data transfer continues to run on another connection in the session hence end user never experiences the outage.

While considering Mobile use case, connectivity with Web objects also play a big role. Most Web browsers have internal limit of opening up parallel connections with a given domain. For web pages with many objects, this limit becomes one of the main bottlenecks to have the page rendered with all embedded objects. Domain Shards is the way to create sub-domains in run time and trick the browser to open parallel connections with sub-domains. This would help with browsers having internal limitation of opening 8 or 10 parallel connections only with a given domain.

Protocol

Protocol layer optimization is one of the core ways to ensure data transfer is happening in most optimal way. We have been running optimized version of TCP and HTTP from long time. With Mobile focus we have added the capacity to run TCP congestion control algorithms like Westwood+ which are designed for Mobile use case where connectivity is not guaranteed and packet drops are frequent. For such networks and use cases the common algorithms would introduce higher latency as every drop reduces the window size by half.

Similarly on HTTP front we got SPDY protocol which is improved HTTP which is meant to speed up the Client communication. Most advance browsers today support SPDY and NetScaler can act as a SPDY v2 and v3 gateway ensuring client side communication can be made faster while Servers and Apps do not need to go through major changes.

Application and Data

Images consume as much as 60% of the web page in typical scenarios which is a lot of real state and hence lots of opportunity to optimize. Simple optimization is to convert the GIF format images to PNG and optimize the JPG images. Images can also be put in line saving another object download attempt. Image Lazy load is good one given the length of web pages and opportunity to load the relevant images while user views the section of web page. Given that we need to deal with different screen sizes, shrinking the image size to specific attributes can also increase the effectiveness and reduce the data on wire. Most of the image specific optimizations are considered pretty safe and hence first to begin with.

JavaScript is present in Web content all the time and many time multiple such files on single page. These files are mostly not put in logical order and even not attempted to combine them to reduce the number of objects. Some of the files can be so small that the content can just be put inline in the HTML code and hence removes the need to download another object. Reducing the space and cutting down on comments etc. can save as much as 30% bandwidth. If you know that most of the action oriented logic is required towards end of the page then whole JavaScript can be moved to end of the page for better loading and rendering experience.

CSS files or Style Sheets are also part of most of the Web pages today and help with layout of the content and display factors. Like JS, the CSS files can be many and there can be very specific small files written for specific need which can easily be put inline. It also makes sense to combine multiple CSS files as it helps with reducing number of objects and also the overall throughput. Most of the time CSS processing is required while page loads thus the CSS files can be combined and then moved to head of the page. External imports can also be converted to links and images within CSS can as well be put inline. Think of all those small arrow keys and buttons, they are primarily part of CSS files as images. Finally any opportunity to minify the files by reducing white-space and comments in added advantage.

That’s a lot of technology working together in a single system optimizing the delivery of data and making Applications delivered to Mobile devices 5X faster. We did multiple tests with well-known Web sites and noticed the performance improvement. Below is a quick snapshot of www.ndtv.com and the benefits we get with NetScaler Mobile Stream technology.

 

You can see the clear advantage in load and render time as the page is loaded through NetScaler Mobile Stream technology.

Below is quick waterfall chart for www.airfrance.com comparing direct access with optimized access.

Direct Access:

Download Size: 275.8 KB

Load Time: 11.26s

Access through NetScaler Mobile Stream:

Download Size: 76.9 KB

Load Time: 2.61s

You can see meaningful reduction in both the download size and load time for the site. Both these together improves the end user experience and load on the network/wire. Do note that all the technologies talked about here are part of single NetScaler stack which ensures they work together meaningfully. Hence a win-win for everyone! NetScaler MobileStream is the technology you want to embrace your Mobile users with.