×

Systems and methods for mutations and operational transforms in a collaborative spreadsheet environment

  • US 9,720,897 B2
  • Filed: 06/11/2013
  • Issued: 08/01/2017
  • Est. Priority Date: 02/27/2013
  • Status: Active Grant
First Claim
Patent Images

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;

    determining that the first mutation and the second mutation each correspond to a merge mutation; and

    generating the modified mutation by merging non-conflicting subfields of the first mutation and the second mutation in response to the determination;

    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.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×