XS Server P2P Cache
This is a description of an "ideal" distributed caching system for a School server.
While it has been suggested numerous times to build this distributed cache out of student laptops, the storage available on each laptop is currently limited. This will only increase, however, and such a fully distributed cache will eventually be feasible.
These are still just ramblings, feel free to interject. I am leaning toward forgoing any distributed caching (even between servers in a school) over the next year.
Is a distributed cache worthwhile ?
Until the storage capability of the laptops is increased beyond the current 512 Mbytes, we look primarily at the number of school servers available in a typical school (2 to 15), and the power of aggregating their cache storage instead of duplicating it. This question is better phrased as:
Will N independent caches (slightly more local to the request) perform as well as a single cache N times larger.
In our case, the requests on each classroom server will be strongly correlated (related to the lesson plan for those classes). There will be correlations across Classroom servers (common topics such as news, sports, history, science) but unless there are enough students at each age level that multiple servers (caches) are used to support them, this correlation should be secondary.
The HTTP request for the document must be converted to a distributed lookup. I would prefer to keep the browser as the primary client, and hide the details of the distributed cache in the network.
It doesn't help that all network traffic for a school will converge on a single server before uplinking, as the storage is still distributed around the school.