FlexiWeb: Network-Aware Compaction for Accelerating Mobile Web

Similar documents
PARCEL: Proxy Assisted BRowsing in Cellular networks for Energy and Latency reduction

Feedback: Twitter: #TechTalk #wpo #io2011. Make The Web Faster. Joshua Marantz Richard Rabbat Håkon Wium Lie.

A Library and Proxy for SPDY

Website Acceleration with mod_pagespeed

Keys to Web Front End Performance Optimization

Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things

Investigating Transparent Web Proxies in Cellular Networks

Drupal Frontend Performance & Scalability

90 Minute Optimization Life Cycle

AccWeb Improving Web Performance via Prefetching

Executive Summary. Performance Report for: The web should be fast. Top 1 Priority Issues. How does this affect me?

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Speeding up Web Page Loads with Shandian. Sophia Wang University of Washington

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10

Web, HTTP and Web Caching

Executive Summary. Performance Report for: The web should be fast. How does this affect me?

Factors Affecting Performance of Web Flows in Cellular Networks

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

Executive Summary. Performance Report for: The web should be fast. Top 4 Priority Issues

Factors Affecting Performance of Web Flows in Cellular Networks

HyperText Transfer Protocol

Why is My Website Running Slow? Edmond Chan & Feybian Yip Akamai Professional Services September 2018

Tuning RED for Web Traffic

Demystifying Mobile Web Browsing under Multiple Protocols

Annoyed Users: Ads and Ad-Block Usage in the Wild

Outline Computer Networking. HTTP Basics (Review) How to Mark End of Message? (Review)

Homework 2 50 points. CSE422 Computer Networking Spring 2018

Paper survey related with web/app performance optimization and MEC. Youngseok Lee

Content Distribution. Today. l Challenges of content delivery l Content distribution networks l CDN through an example

WEB resource loading is a critical part of Web browsing.

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

CMSC 332 Computer Networking Web and FTP

HN/HX System Bandwidth Efficiency

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Detects Potential Problems. Customizable Data Columns. Support for International Characters

Front End Optimization for Enterprise Grade Applications

AGENCE WEB MADE IN DOM

Toward Next-Gen Low Latency Mobile Networks

SPDY - A Web Protocol. Mike Belshe Velocity, Dec 2009

Adoption, Human Perception, and Performance of HTTP/2 Server Push

Summary Report. Prepared for: Refresh Date: 28 Oct :02

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Computer Networks. Wenzhong Li. Nanjing University

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues

Bandwidth, Latency, and QoS for Core Components

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Session Level Techniques for Improving Web Browsing Performance on Wireless Links

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Internet Content Distribution

ABSTRACT. Speeding Up Mobile Browsers without Infrastructure Support. Zhen Wang

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Module 6 Node.js and Socket.IO

Unit 3 - Week 2 lectures: Building your webapp

c) With the selective repeat protocol, it is possible for the sender to receive an ACK for a packet that falls outside of its current window.

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Fig. 2: Time gap between retransmission clusters for different connections.

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Computer Network Midterm Explain Internet protocol stack (1% each layer s name, 1% each layer s functions, 10% total)

CSC 4900 Computer Networks:

SaaS Providers. ThousandEyes for. Summary

Content Delivery on the Web: HTTP and CDNs

Gen Z demands instant gratification

Testing & Assuring Mobile End User Experience Before Production Neotys

How speedy is SPDY? Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall University of Washington Abstract

New Cisco 2800 And 3800 Series Integrated Services Router Wan Optimization Bundles

CS 43: Computer Networks. HTTP September 10, 2018

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION

ThousandEyes for. Application Delivery White Paper

Customizing Progressive JPEG for Efficient Image Storage

Monitoring and Analysis

How Far Can Client-Only Solutions Go for Mobile Browser Speed?

Control for CloudFlare - Installation and Preparations

Uniform Resource Locators (URL)

How Far Can Client-Only Solutions Go for Mobile Browser Speed?

HTTP/2: What You Need to Know. Robert

Lecture 12. Application Layer. Application Layer 1

Computer Networks. HTTP and more. Jianping Pan Spring /20/17 CSC361 1

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Fixed Size Ad Specifications

Search Engines. Information Retrieval in Practice

CSE/EE 461 HTTP and the Web

RKN 2015 Application Layer Short Summary

Web Quality of Experience

CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 1

Application Protocols and HTTP

IETF96 INFO SECURE CONTENT DELEGATION (BLIND CACHE)

The unprecedented popularity of mobile

Quickly Starting Media Streams Using QUIC

How to get a perfect 100 in Google PageSpeed Insights

Accessing Cellular Network Efficiently Without the Battery Drain. Lee, Chang Hwan, SK Telecom lipisoft at gmail dot com Kandroid: Lipi(리피)

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

What is Network Acceleration?

CIS 632 / EEC 687 Mobile Computing

Measuring, modeling and troubleshooting Quality of Experience at Internet access:

HTTP, WebSocket, SPDY, HTTP/2.0

RPT: Re-architecting Loss Protection for Content-Aware Networks

Preliminary Measurements on the Effect of Server Adaptation for Web Content Delivery

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Transcription:

FlexiWeb: Network-Aware Compaction for Accelerating Mobile Web

What s the impact of web latency?

100ms 1% Delay sales Source : https://speakerdeck.com/deanohume/faster-mobilewebsites!

100ms 1% Delay revenue Source : https://speakerdeck.com/deanohume/faster-mobilewebsites!

400ms 9% Delay traffic Source : https://speakerdeck.com/deanohume/faster-mobilewebsites!

500ms 25% Delay searches Source : https://speakerdeck.com/deanohume/faster-mobilewebsites!

What does it take to load a web page? Prompt for Unload DNS Resolution TCP Handshake and Connection X 400 Send Request and Wait for Response Request Sub Resources Execute Scripts and Apply CSS Number of RTTs dominates the web latency

Existing Approaches?

Follow the best practices Images Html, JS, CSS Text Optimized Minified, Gzipped HTTP/2 SPDY... New optimizations every few weeks

Data Compression Proxies (or Cloud Assisted Browsing ) Data Compression : OFF Data Compression : ON http website Compression Proxy Content-aware Compression eg. minify JS Transcoding Images eg. PNG to WebP

Data Compression Proxies (or Cloud Assisted Browsing ) Data Compression : OFF Data Compression : ON http website Compression Proxy Client s network condition is ignored Static transformation of content

Related Work Towards a spdy ier mobile web?, ACM CoNEXT 2013 PARCEL: Proxy Assisted BRowsing in Cellular networks for Energy and Latency reduction, ACM CoNEXT 2014 Klotski: Reprioritizing Web Content to Improve User Experience on Mobile Devices, NSDI 2015

Is Compression proxy always useful?

Measurement Study

Measurement Setup Clients : Multiple Android devices with Google chrome browser Network Conditions : 2 Cellular service providers : AT&T and T- Mobile Choose 4 different locations ( based on similar RTT and throughput values ) Source : Measuring Cellular Networks: Characterizing 3G, 4G, and Path Diversity, ACITA 2012

Measurement Setup Schemes : Direct : All the requests are directly sent to the web server Compression Proxy ( Google s data compression proxy) : All the requests are sent to the compression proxy Data Collection : Each phone downloads the Alexa s top 500 websites All experiments were performed with cold browser cache Page Load Time (PLT) is recorded for each page Results are averaged over 10 trials

Measurement Results Data Compression Proxy Performance : Gain of 32% in bad network conditions 28% degradation in excellent network conditions Avg. Percentage Gain (%) 40 30 20 10 0-10 -20-30 -40 AT&T T-Mobile Excellent Good Fair Poor Network Conditions

Why does performance degrade in excellent network conditions?

Measurement Results Circuitous Routing Paths were inflated by up to 8 hops, which increased the RTT by up to 80 ms Processing Overhead For example, the encoding and decoding of WebP is ~10X and ~1.4X slower than JPEG

Measurements: Controlled settings Set up our own compression proxy on Amazon EC-2 Compression Proxy : Apache + mod_pagespeed (with recommended settings) Replayed captured webpages to avoid change in content

Measurement Results Object Size VS. Average Load Time Avg. Load Time (msec) 4000 3500 3000 2500 2000 1500 1000 500 0 Conventional Proxy Assisted 0-1 1-3 3-6 6-10 10-20 20-40 >40 Object Size (KB) Avg. Load Time (msec) 4000 3500 3000 2500 2000 1500 1000 500 0 Conventional Proxy Assisted 0-1 1-3 3-6 6-10 10-20 20-40 >40 Object Size (KB) Avg. Load Time (msec) Excellent Good Fair Poor 6000 5000 4000 3000 2000 1000 0 Conventional Proxy Assisted 0-1 1-3 3-6 6-10 10-20 20-40 >40 Object Size (KB) Avg. Load Time (msec) 7000 6000 5000 4000 3000 2000 1000 0 Conventional Proxy Assisted 0-1 1-3 3-6 6-10 10-20 20-40 >40 Object Size (KB) Good/Excellent conditions only fetch objects >30KB via proxy Fair/Poor conditions fetch all objects via proxy

FlexiWeb : A framework that determines both when to use a compression proxy and how to use it, based on the client s network conditions.

flexiweb : overview

splitting requests Request Splitting Module Uses measurement based mapping to dynamically send the request either directly to the web server or to the proxy. Network Condition 0 1 KB 1 3 KB 3 6 KB 6 10 KB 10 20 KB 20 40 KB 40 KB Excellent Direct Direct Direct Direct Direct Proxy Proxy Good Direct Direct Direct Direct Proxy Proxy Proxy Fair Direct Direct Proxy Proxy Proxy Proxy Proxy Poor Proxy Proxy Proxy Proxy Proxy Proxy Proxy Challenge : How to figure out the size of the object without downloading it?

predicting object size Browser downloads the main html file (index.html) with object URLs How to predict the size range of an object using only its URL? Issuing a HTTP Head request? Incurs an additional RTT Multi-Class Classification Problem : Classifying a URL into one of the size ranges We use Random Forest Classifier to classify the objects in different size ranges

predicting object size Feature Extraction : We extract features from the object URL using bag of words technique For example : http://i.cdn.turner.com/cnn/.e/ img/3. 0/global/icons/gallery_icon2.png Yields following bag of words : {i, cdn, turner, com, cnn,.e, img, 3.0, global, icons, gallery_icon2, png} Occurrence of each word is used as a feature for training the classifier Client uses the classifier to predict the object size range

Assessing Network Conditions Network measurement module tracks RTT, loss rate, and TCP throughput to the client. Browser always downloads the main html file via the proxy Proxy calculates the median RTT and TCP throughput to the client using packets exchanged during the main html file download Proxy sends this Network Condition Report back to the client via object response headers

Network aware compression Goal : Adaptively transform a web page s content to deliver the page within the user s attention span (2 to 5 sec) We only focus on adaptively transforming the images on the web page Images make up around 60% percent of the bytes on a average web page Text and JS are compressed similar to traditional proxy assisted browsers Source : httparchive.org

Network aware compression For tractability, we consider limited number of transformations Set of transformations : WebP with 85% quality, WebP with 65% quality, WebP with 45% quality, WebP with 25% quality, WebP with 5% quality Each transformation has an associated cost and utility Cost : Time required to download the transformed image from the proxy to client Utility : PSNR of the resulting transformation Challenge : How to choose the right transformation based on the cost and utility?

Network aware compression Lets assume that there are N images in a web page and a total page load time budget of B seconds Goal : Maximize the sum of utilities of all the selected versions of N images B subject to (1) Exactly one version of each image can be selected (2) Total cost of all the selected versions can not exceed the total budget This problem can be mapped to the Online Multi- Choice Knapsack Problem (MCKP)

Implementation and Setup Client Side Implementation : Using Google s Chromium open source android browser Proxy Side Implementation : Using mod_pagespeed and apache web server Network Conditions : Controlled Settings : Dummynet to emulate the network conditions to reduce the variability Cellular Networks : AT&T and T-Mobile

Implementation and Setup WebPage Requested : Alexa top 500 web sites visited by mobile users Metric : Page Load Time Schemes : 1. Direct : All the request are directly sent to the web server 2. Compression Proxy : All the requests are sent to compression proxy (with WebP quality 75%) 3. FlexiWeb

Performance of FlexiWeb FlexiWeb provides up to 38% gain in excellent network condition 8% gain in poor Avg. Percentage Gain(%) -10-20 -30 network conditions -40 40 30 20 10 0 Compression Proxy FlexiWeb Excellent Good Fair Poor Network Conditions (c)

Performance of FlexiWeb 100 ( Precision(%) = TruePositive TruePositive+ FalsePositive Avg. precision >90% for objects of size < 1Kb & > 20Kb ) 100. Average Precision(%) 80 60 40 20 We can predict other object sizes with at least 70% precision 0 0-1kb 1-3kb 3-6Kb 6-10Kb >40Kb 20-40Kb 10-20Kb Object Size Range

Conclusions We show that today s compression proxies can increase mobile web page load times! Content transformations should be network aware! Based on these observations we implemented FlexiWeb, a framework that support network aware proxy usage!