Patent ID: 8909596

Claim:
A system for applying multiple changes to a shared document in a state-less manner, the system comprising: a processor; and a processor-readable memory having stored thereon a representation of the shared document as a series of one-dimensional vectors, where each one-dimensional vector corresponds to a vertical column of a particular width, the shared document being divided into a particular number of the vertical columns, and where each one-dimensional vector represents a top-down sequential list of blocks in that column, each block representing a content item included in the document and each block being associated with a starting column location, a block height, and a block width, where the block width is represented by a number of columns the block occupies; and where each block is associated with at least one row index, each associated row index representing a relative position of the block in each document column occupied by that block in relation to other blocks in that column; and the processor-readable memory having stored thereon instructions which, when executed by the processor, cause the processor to increase or decrease a row index of a particular block to indicate a change in the relative position of that particular block in each column occupied by the block according to a transfer function, the transfer function representing an effect of a document modification command on a particular column in the document, the document modification command including at least one of an insertion of a new block into the shared document, a deletion of an existing block from the shared document, re-positioning of a block within the shared document, and a change in the height or width of a block within the shared document.