Conservative approaches are not well adapted to large numbers of replicas, mobile access and firewalling. The consistency issues may be divided into conflict avoidance, conflict detection, and repair. Classical techniques are low-level, i.e. take into account only read, write and synchronisation operations. A high-level approach takes into account the semantics of the shared data. A basic working assumption is a low probability of conflicts per unit of isolation.
Conflict detection uses either timestamps or assertions.
Detection must take into account operations on several data items and dependencies between items. This is typical of CVS and many commercial file synchronisers. State-based repair does not deal well with certain data types, especially when the users' intents cannot be inferred from the final state. The alternative is to maintain a log of actions at each site. Reconciliation replays a schedule combining two logs from a common initial state.