Jay Kreps of LinkedIn recently made an [excellent detailed 360' overview][log] post explaining why log is an underlying data structure of pretty much everything in distributed systems.
Well, I feel tempted to add that same holds true for collaborative editing (like in Google Docs and others).
Also, I'd like to point out the relation between partially ordered logs, the offline-first approach, AP systems and the so-called Web 3.0 (like in Meteor, pouchdb and others).
[log]: http://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying The Log: What every software engineer should know about real-time data's unifying abstraction
Any real-time approach to collaborative editing decomposes a document into a sequence of atomic operations. The most known one is OT, also there is the WOOT/CRDT based family, including CT. GDocs is an OT system. I did a CT system currently in beta at http://letters.yandex.ru.
Note that letters is a tiny pilot project