Patent attributes
A device may participate in a shared data state in which editing operations performed locally are distributed and synchronized with other devices participating in the shared data state. Data may be maintained in log-structured storage files on each device. Changes made locally may be represented by change descriptors conditionally appended to the end of a log. The size of the log may be monotonically increasing. Monotonically increasing identifiers may be used to implicitly or explicitly identify change descriptors. Upon conflict resolution, conditionally appended change descriptors may be committed. Non-committed change descriptors may be conditionally reappended to the end of the log for further conflict resolution.