Now that Apollo, Gears, etc. will finally bring disconnectedness to the forefront of applications, here's a useful reference. I've used Paul Dourish's ideas in several settings both for hands-off and hands-on divergence and synchronization. It's not just about "offline" and "online" -- there are all kinds of divergence and synchronization in distributed systems.
The basis of this model is the explicit management of divergence between potentially simultaneous streams of activity over a shared workspace. Streams of activity correspond to user and system actions at one user’s node. Divergence occurs when actions across the shared workspace are unsynchronised, and hence two user’s views (or copies) of the shared workspace differ. Cooperation and coordination is achieved through the periodic synchronisation of streams. In the model, a collaborative system regulates divergence and synchronisation through the use of general consistency guarantees. The mechanisms by which divergence is admitted, consistency guarantees made, and later synchronisation achieved, are points within this model where a different strategies can be adopted. This openness leads to a wide range of resultant tools applicable in different situations, and supporting different working styles.
No comments:
Post a Comment