Aug 15, 2010

Relay Data-Syncrhonization Protocol Lessons (name is still tentative)

1. Data are never updated at the very same moment users modify them. This implies a global mutual lock throughout the application.

2. When users change local data. (Users see the data changing immediately.) The new local data are submitted to the server. Until the approval or rejection is received (from the server), All new updates from the server are pended. This is to avoid data flickering.

This implies that we need a multiplexer in order to hold updates, and later decide which update to be fired after the approval and rejection is received.

Data Changes --- (All updates during these moments are held) --- Got approval or rejection ---> Decide which updates are the latest ones and fire them.

3. Every data shall hold a timestamp, which indicates the latest update that happened. And we shall never replace new data with older ones.