<<

Context-Aware Encoding & Delivery in the Web ICWE 2020

Benjamin Wollmer, Wolfram Wingerath, Norbert Ritter Universität Hamburg

9 - 12 June, 2020 Business Impact of Page Speed

Business Uplift

Speed Speed Downlift Uplift

Business Downlift

Felix Gessert: Mobile Site Speed and the Impact on E-Commerce, CodeTalks 2019 So Far On Compression…

GZip SDCH

Deflate Delta Encoding / – The De Facto Standard in the Web

Encoding Size None 200 kB Gzip ~36 kB

This example text is used to show how LZ77 finds repeating elements in the example[70;14] text

~81.9% saved data

J. Alakuijala, E. Kliuchnikov, Z. Szabadka, L. Vandevenne: Comparison of Brotli, Deflate, , LZMA, LZHAM and Compression Algorithms, 2015 – Updating Stale Content

Encoding Size None 200 kB Gzip ~36 kB Delta Encoding ~34 kB

83% saved data

J. . Mogul, F. Douglis, A. Feldmann, B. Krishnamurthy: Potential Benefits of Delta Encoding and for HTTP, 1997 SDCH – Reusing Dictionaries

Encoding Size

This is an example None 200 kB Gzip ~36 kB Another example Delta Encoding ~34 kB SDCH ~7 kB

Up to 81% better results (compared to gzip)

O. Shapira: Shared Dictionary Compression for HTTP at LinkedIn, 2015 Brotli – SDCH for Everyone

Encoding Size None 200 kB Gzip ~36 kB Delta Encoding ~34 kB SDCH ~7 kB Brotli ~29 kB ~85.6% saved data

J. Alakuijala, E. Kliuchnikov, Z. Szabadka, L. Vandevenne: Comparison of Brotli, Deflate, Zopfli, LZMA, LZHAM and Bzip2 Compression Algorithms, 2015 So Far On Compression… Theory vs. Reality

GZip (~80%) SDCH

Deflate Delta Brotli (~20%) Encoding

https://almanac.httparchive.org/en/2019/compression What Went Wrong?

Share Efficient Metadata State Transmition Synchronization

Efficient Partial Cache Usage Predict Cache Usage client needs

Cutting-Edge New Technology Dependencies Possibilities The Main Problem

Dependencies on non-standardized features Speed Kit – Enabling End-To-End Opimizations

Standard Through Service Worker

Wolfram Wingerath, Felix Gessert, Erik Witt, Hannes Kuhlmann, Florian Bücklers, Benjamin Wollmer, Norbert Ritter: Speed Kit: A Polyglot & GDPR-Compliant Approach For Caching Personalized Content, ICDE 2020 Goals

Gold Standard End-to-End Approach Understand potential gains Control over the whole architecture of different encodings from client to server Evaluate Delta 1 2 Implement Prototype Encoding on Top of Speed Kit

Cross-Entity Scope Context-Aware Optimizations Find closed delta to an Autonomously choose protocol to a arbitrary related file given runtime context The First Start with Brotli and 3 4 Implementation Cross-Entity Encoding Thanks!

Benjamin Wollmer Wolfram Wingerath Norbert Ritter [email protected] [email protected] [email protected]