Skip to Main Content
We present Flashback, a ready-to-use system for scalably handling large unexpected traffic spikes on web-sites. Unlike previous systems, our approach does not rely on any intermediate nodes to cache content. Instead, the clients (browsers) create a dynamic, self-scaling peer-to-peer (P2P) Web-server that grows and shrinks according to the load. This approach translates into a challenging problem - a P2P data exchange protocol that can operate in churn rates where more than 90% of peers can leave the overlay in under 10 seconds. This is at least an order of magnitude higher churn rate than previously addressed research. Additionally, our system operates under two strict constraints - users are assured that they upload only as much as they download and second, end-user browsing experience is preserved, i.e., low latency downloads and zero configuration or download of any software. Various innovations were required to meet these challenges. Key among them are (a) A TCP-friendly, UDP protocol (Roulette) for tit-for-tat data exchange under extreme churn, (b) A novel data structure (NOIS) for partial-data management and (c) A distributed hole-punching protocol for automatic NAT traversal. Experimental results show the effectiveness and near optimal scaling of Flashback. For a Web-server (and clients) running on a DSL-like connection, end-user latency increases only one second for every doubling in Web-server load.