Patent ID: 7849401

Claim:
A method in a distributed computer system for enabling authors to work on a shared hierarchical document, the hierarchical document having a node, comprising: receiving an indication of the node; receiving an indication to lock the node, the indication identifying an owner of the lock and specifying either a complete deep lock, a contiguous deep lock, or a non-contiguous deep lock as a lock structure; if the indication specifies a complete deep lock as the lock structure, then: only locking the node and descendents of the node when the node and the descendants of the node are lockable; if the indication specifies a contiguous deep lock as the lock structure, then: locking lockable contiguous descendants of the node; if the indication specifies a non-contiguous deep lock as the lock structure, locking descendants of the node even when an ancestor of the descendants cannot be locked, wherein an ancestor of the descendants is locked according to a lock structure other than the non-contiguous deep lock; receiving an indication of a request to mutate the node; determining whether the request is from a user other than the owner of the lock; when the user is the owner of the lock, mutating the node; and when the user is not the owner of the lock, denying the request.