A method of facilitating collaborative editing of a document between a first user at a first computing device (110, 810, 910, 1010) and at least one other user, the method comprising: accessing a user copy of the document at the first computing device (110, 810, 910, 1010) including accessing content of the document and accessing metadata (154, 1011) associated with the document, the content of the document being organized into units of data; receiving metadata updates periodically from a storage device (120, 820, 1020), the metadata updates including any locks on the units of data of the document that are associated with the other user; wherein the lock metadata is stored in a lock table, wherein the lock table includes a list of users, each of whom is identified with a user identifier that is uniquely assigned to the user and data units to be locked are identified with unit identifiers that are uniquely assigned to each data unit within the document and the lock table associates the unit identifiers of the one or more data units to be locked with the user identifiers of the users who own the locks; instantiating the received metadata updates automatically including storing the locks on the units of data of the document with the metadata (154, 1011) associated with the document, wherein storing the locks with the metadata associated with the document prevents the first user from editing any units of data that have locks associated with the other user; and receiving content updates periodically from the storage device (120, 820, 1020), the content updates including any modifications made to the content of the document by the other user; the method further comprising releasing a lock after the other user selects another data unit or the other user begins editing another data unit. accessing a user copy of the document at the first computing device (110, 810, 910, 1010) including accessing content of the document and accessing metadata (154, 1011) associated with the document, the content of the document being organized into units of data; receiving metadata updates periodically from a storage device (120, 820, 1020), the metadata updates including any locks on the units of data of the document that are associated with the other user; wherein the lock metadata is stored in a lock table, wherein the lock table includes a list of users, each of whom is identified with a user identifier that is uniquely assigned to the user and data units to be locked are identified with unit identifiers that are uniquely assigned to each data unit within the document and the lock table associates the unit identifiers of the one or more data units to be locked with the user identifiers of the users who own the locks; instantiating the received metadata updates automatically including storing the locks on the units of data of the document with the metadata (154, 1011) associated with the document, wherein storing the locks with the metadata associated with the document prevents the first user from editing any units of data that have locks associated with the other user; and receiving content updates periodically from the storage device (120, 820, 1020), the content updates including any modifications made to the content of the document by the other user; the method further comprising releasing a lock after the other user selects another data unit or the other user begins editing another data unit.