Patent ID: 9720897
Date: 2017-08-01
CPC Classifications: G06F,G06Q

Claim:
1. A method for transforming conflicting mutations from different client computers into a collaborative spreadsheet stored at a server, the method comprising: providing a display of the collaborative spreadsheet to a first client computer and a second client computer located remotely from the first client computer; receiving, at a server, a first mutation from the first client computer, the first mutation comprising a value of a first cell property of a cell in the collaborative spreadsheet, wherein the first mutation is processed in a UI thread; receiving, at the server, a second mutation from the second client computer, the second mutation comprising a value of a second cell property of the cell in the collaborative spreadsheet, wherein the second mutation is processed in the UI thread; receiving, at the server, a third mutation from the second client computer, the third mutation comprising a value of the second cell in the collaborative spreadsheet, wherein the third mutation is processed in a calculation thread; identifying, by the server, a common property field between the first mutation and the second mutation; performing, at the server, an operational transform on the first mutation, the second mutation and the third mutation to modify a value generated by the calculation thread from the third mutation based on changes resulted from the first and the second mutations and processed in the UI thread and generating a modified mutation by: generating an updated collaborative spreadsheet by updating a property of the cell in the collaborative spreadsheet to reflect the modified mutation, wherein the updated property is different from the common property field; and sending the modified mutation to the first client computer and the second client computer to reflect the updated property.