Server Caching

From OLPC
Revision as of 14:08, 5 June 2008 by 83.229.15.66 (talk) (Caching use case)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page discusses a number of issues surrounding caching of (HTTP) data locally on school servers.

Immediate questions

Software to use for caching. The current possibilities are

  • Lighttpd [1] -- Why?
  • Polipo [2] -- Recommended as an alternative by the Tor developers since it works well for them in an environment that is in many ways similar to ours. Polipo is fast and small (one binary file)
  • Roxen
  • Apache
  • a trimmed-down and optimized Perl script offering wwwoffle's magic and more

Questions about School server caching

Squid does not work well if it is not online. wwwoffle does - don't know about the others.

Wizzy Digital Courier has a system where cache contents from one server are tarred up, and transferred (possibly via USB stick, or - in South Africa - via overnight dialup) and unpacked on another cache. This works with wwwoffle - it would be nice if a chosen solution could be made to work the same way.

Looking over polipo - it looks like a good candidate.

Short Term Questions about Use cases

Caching use case

Caching materials after viewing

  • One laptop caches locally, both in memory and on disk (in case of failure?)
  • A set of laptops sharing a cache that's too large for any individually
  • A server caching and aggregating caches from individual machines -- can it uptake cached materials if a connecting laptop has something in its cache that's not on the server?
    polipo and wwwoffle will allow you to copy the relevant files out of the daughter cache into the parent cache.

Queuing requests

  • A laptop requests something from a local cache;
  • A cluster of laptops listens to requests from individual laptops in the cluster;
  • A server listens to requests from connected laptops (directly, or passed on from others not currently on the mesh)

Caching requests without viewing

  • A laptop passes on a request, a server picks it up while the laptop is off-mesh and caches the result
    Some sort of notification or syndication of the incoming material