Patent ID: 11941355
Assignee: GOOGLE LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 14:
15. A system comprising:
a processor, a computer-readable memory, one or more computer-readable storage media, and program instructions collectively stored on the one or more computer-readable storage media, the program instructions executable to:
identify a first operation to be performed on a document model, wherein, in a first thread, a document is rendered in a user interface using a first parallel copy of the document model that is maintained by the first thread;
based on a task configuration corresponding to the first operation, determine that the first operation is to be performed, in a second thread, on a second parallel copy of the document model that is maintained by the second thread, before applying commands associated with the first operation to the first parallel copy of the document model that is used to render the document in the user interface; and
in response to determining that the first operation is to be performed, in the second thread, on the second parallel copy of the document model:
determine that a revision of the first parallel copy of the document model matches a revision of the second parallel copy of the document model; and
in response to determining that the revision of the first parallel copy of the document model matches the revision of the second parallel copy of the document model:
perform, in the second thread, the first operation on the second parallel copy of the document model to obtain a calculation result of the first operation, the calculation result comprising a first list of commands;
apply, in the second thread, the first list of commands to the second parallel copy of the document model;
perform an operational transform on at least one command in the first list of commands based on queued user edits to the first parallel copy of the document model, the queued user edits comprising a second list of commands, to obtain a transformed list of commands; and
apply, in the first thread, the transformed list of commands to the first parallel copy of the document model.