I am implementing a basic sync strategy for a multi-client application that needs to support offline data access. I am using @Chris' suggestion in his answer to this question (not required reading).
One detail I would like to add is the ability to resolve conflicts based on the last change saved, not the last change synced. In other words, if two clients update the same item, the client that saved the change last should win, even if the other client syncs later.
Clearly I need some way to timestamp each change on the client, so I can compare the stamps on the server at the time of sync. However, I can't guarantee much about each client's internal clock.
I would like to know if there is an established way to solve this? The simpler the better!