Squirrel. Decentralized Web Cache


Problem and Proposal

It is a decentralized, P2P web cache. The key point is to enable web browsers on desktop machines to share their local caches. to form an efficient and scalable web cache, without the need for dedicated hardware and the associated administrative cost.

Authors proposed and evaluate decentralized web caching algorithm (they actually found that behavior of their system is comparable to centralized web cache in terms of hit ratio, bandwidth usage and latency).

So, the paper proposes decentralized algorithms for the web caching problem. Squirrel enables nodes to export their local caches to other nodes on the corporate network. Each node then performs both web browsing and web caching. Overall, the system pools resources from many desktop machines. For this it uses a self-organizing P2P routing substrate Pastry. Pastry is resilient concurrent node failures and so is Squirrel. The system has only to re-fetch a small fraction of cached objects from the origin web server.


Authors supposed that the system will be applied to corporates networks (100 - 100 000) and even more. Each participant should run an instance of a Squirrel and configure their browser to use this instance as its proxy cache. Then they assumed that communication latency within the system is less that latency to outside. Authors developed 2 algorithms for this system:

  • Home-store scheme.

Home-store scheme

  • Directory scheme.

Directory scheme

Main difference is that in the last one home nodes could create a directory with delegates responsible to the recent copy of the data (based on the previous nodes activity), while in the fist approach - only home node and client cache have the copy of the file.

Simulation this two approaches gives quite interesting results. They found that the first algorithm has less load. In this case to prevent some nodes overload, the system puts restriction on the concurrent requests per file. If this bound reaches, data is replicated to a predecessor.

Related Works:

Squirrel is a combination of cooperative web caching and P2P request routing.

Forms of caching:

  • A hierarchical web cache
  • Hash-based schemes
  • Directory-based (with centralized table of references)
  • Multicast-based schemes

Other works mostly related to some kind of web cache storages but with some disadvantages, like having small amount of nodes supported, focusing on flash crowd only and other.


Squirrel - feasible, efficient and comparable in performance, also inexpensive, highly scalable, resilient to node failures and requires little administration. System imposes a small extra load on each machine but really easy to deploy in a corporate networks.

decentralized_storage_systems/squirrel.txt · Last modified: 2012/04/23 01:01 by julia
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki