Mobile/Gonzales: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Blanked the page)
 
(40 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Gonzales is a SPDY compression proxy prototype for more efficient mobile browsing.


== Goals ==
The goal of Gonzales is to verify whether we can improve the mobile browsing experience by achieving the following improvements in a practical way:
* Reduce radio time
* Reduce page load times
* Reduce bandwidth requirements
* Increase user privacy
* Increase responsiveness for slow sites
== System Overview ==
Gonzales is a proxy server that accepts HTTP requests via the SPDY protocol and serves compressed content directly from its cache, if available.
<code>
Browser <-SPDY-> Gonzales                                <-HTTP/HTTPS/SPDY-> Web
                |                                        |
                Proxy <-> Cache <-?-> Compressor <-> Loader
</code>
Routing requests through a SPDY proxy does require less open TCP connections (multiplexing), decreases packet sizes (header compression) and reduces the number of packets (header caching) compared to HTTP/1. Low bandwidth and high latency connections should benefit from this.
The current trend on the Web shows an increase in average page size, especially due to high-resolution images. Additional image compression and downsizing should decrease the bandwidth requirements and enable faster page loads. To counteract the introduced processing overhead and boost load times for slow pages, we add intermediate caching for the compressed results.
== Experimental Setups ==
To evaluate the system, we test each component in isolation first.
=== SPDY Proxy ===
Currently, only Google Chrome supports secure SPDY proxies [still holds?], but it requires valid certificates, which makes it unsuitable for testing. We bypass the missing support by using '''shrpx''' in client mode as a ''forward proxy'', and that way simulate SPDY support on the client.
Dependencies:
* Firefox/Fennec
* Spdylay (http://tatsuhiro-t.github.io/spdylay)
* Squid (http://www.squid-cache.org)
==== P1 ====
<code>
Desktop Client              <-SPDY-> SPDY Proxy <-HTTP-> Web Proxy <-HTTP-> Web
                              |      |            |      |          |
Firefox <-HTTP-> [shrpx -k -p]      --[shrpx -s]--      ----Squid----
</code>
==== P2 ====
<code>
Mobile Client              <-SPDY-> SPDY Proxy <-HTTP-> Web Proxy <-HTTP-> Web
                            |      |            |      |          |
Fennec <-HTTP-> [shrpx -k -p]      --[shrpx -s]--      ----Squid----
</code>
=== Compression ===
=== Caching ===

Latest revision as of 15:45, 30 June 2014