Cache Coherency in the face of flaky networks and sudden shutdowns
When I was at Ph.D. student at Stanford, we researched hardware cache coherency for multiprocessing. In these environments, network messages are not lost and the components do not fail or shutdown unexpectedly.
You would think that when building a caching client that works in offline mode for the web, that you could apply this knowledge. In reality though, the internet, with its flaky networks and unreliable client computers poses unique challenges.
At Phanfare, we have now built 3 caching clients that need to work offline and with intermittent network connectivity and sudden client shutdowns: the mac client, the PC client, and Phanfare Photon for the iPhone. Every one of them has a way of “clearing the cache” which is an admission that from time to time, state becomes corrupted and must be rebuilt from the server.
Outlook offers a cached disconnected mode and it has a way of starting in safe mode, and sometimes rebuilds its outlook database on startup.
Now Gmail is going to offer an offline mode through Google Gears and it too has a “flaky connection mode,” making the underlying network infrastructure visible in the user interface. Instead, it should just work.
Seems to me that what Ph.D.s should be studying is how to build reliable cache coherent systems in the face of flaky networks and sudden shutdowns.





