Patent attributes
A method is implemented on a server, the method includes storing, on a database of the server, a causal tree structure corresponding to a document, where the causal tree structure includes a sequence of editing instructions and each editing instruction is assigned an identifier unique to such editing instruction. The method further includes receiving, at the server, a user editing instruction for the document, where the user editing instruction is assigned an identifier unique to the user editing instruction. The method includes storing, using a processor of the server, the user editing instruction and the identifier assigned to the user editing instruction as an additional node to the causal tree structure. The method further includes broadcasting, to a plurality of client devices connected to the server, the user editing instruction and the identifier assigned to the user editing instruction.

