SYSTEMS AND METHODS FOR MUTATIONS AND OPERATIONAL TRANSFORMS IN A COLLABORATIVE SPREADSHEET ENVIRONMENT
2 Assignments
0 Petitions
Accused Products
Abstract
Mutations representing spreadsheet edit operations are received at a server from client computers of collaborators and also at a collaborator'"'"'s client computer from other collaborators and the server. Different mutations may conflict, i.e., provide contradictory instructions on how a spreadsheet is to be edited. Techniques for representing sort operations, cut-and-paste operations, and operations to change cell properties as mutations, and operational transform techniques that can be used to resolve conflicts between such mutations, are disclosed herein. Further disclosed herein are techniques for identifying and processing computationally intensive types of mutations in a calculation thread which operates asynchronously with respect to a UI thread at a collaborator'"'"'s client computer. The processing may include performing an operational transform on results of the calculation thread based on results obtained in the UI thread.
16 Citations
44 Claims
-
1-30. -30. (canceled)
-
31. A method for updating a property of a cell in a collaborative spreadsheet, the method comprising:
-
receiving a first mutation from a first source, the first mutation comprising a value of a first cell property of a cell in the spreadsheet; receiving a second mutation from a second source, the second mutation comprising a value of a second cell property of the cell in the spreadsheet; determining that the first cell property and the second cell property belong to a common property field; performing an operational transform based on the first mutation and the second mutation to generate a modified mutation; and updating a property of the cell in the spreadsheet based on the modified mutation. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. A computing system configured to update a spreadsheet based on user inputs, the computing system comprising:
-
a network interface configured to; receive a first mutation from a first source, the first mutation comprising a value of a first cell property of a cell in the spreadsheet; and receive a second mutation from a second source, the second mutation comprising a value of a second cell property of the cell in the spreadsheet; and a processor configured to; determine that the first cell property and the second cell property belong to a common property field; perform an operational transform based on the first mutation and the second mutation to generate a modified mutation; and update a property of the cell in the spreadsheet based on the modified mutation. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
Specification