Dynamic synchronization in non-multimedia collaborative applications


What is it?


Levels of synchronization

When are the different applications synchronized in collaborative applications? Do all users see the changes made by other users immediately or is there a delay between updates? When does this matter? All these questions are related to to keeping shared objects (both view and model) consistent. This notion of synchronization is interrelated to how objects are shared in collaborative applications.

For example, if floor control is used as the concurrency model for both read and write (like xtv), then synchronization is not much of an issue. Since only one person can input any action at any one time, the action should be seen by all views as soon as possible.

However, if you have fine grained concurrency control with locks for changes (like the spreadsheet application), then there are different times when synchronization can happen. In the spreadsheet application, they called this coupling. They separate out the import (when you see the changes made by other users) and export (when other users see the changes made by you) aspect of synchronization. The spreadsheet application supports two levels of synchronization for each dimension: all (after every keystroke) and committed (after an implicit commit by the user - the cursor is moved to another cell). There are other possible levels of synchronization when using locks. For example, when getting or releasing a lock. If locks are used in the collaboration model, it can be seen as implicit notification of potential changes.

On the other end, some collaborative applications can let multiple users make changes to the same objects at any time, then merge the changes. Synchronization could be different in this context because changes have a different meaning. Do you see only the final results of the merging? Or do you see all the individual changes? And when will changes get merged? When will they be seen?


Measuring system performance


Methods of coupling levels of synchrony with system performance


Papers


Other Issues


@ Return to main page