Systems and methods for generating an edit script
AssigneeAtlassian Pty Ltd.
InventorsHaymo Meran, Tobias Steiner
Life of this patent
Estimating the term…
Abstract
A method for generating a hierarchical edit script comprises generating, using a first linear sequence of nodes of a first hierarchical dataset and a second linear sequence of nodes of a second hierarchical dataset, a linear edit script defining a linear sequence of operations that can be applied to the first linear sequence to generate the second linear sequence, generating a first delta by matching one or more operations of the linear sequence of operations to the first hierarchical dataset, generating a second delta by matching one or more operations of the linear sequence of operations to the second hierarchical dataset, and generating the hierarchical edit script by merging the first delta and the second delta.
Claims17
A data synchronization process comprising:
- receiving a first edit script from a first client device, the first edit script corresponding to a first set of changes performed on a document at the first client device to create a first version of a document;
- receiving a second edit script from a second client device, the second edit script corresponding to a second set of changes performed on the document at the second client device to create a second version of the document;
- applying the first edit script to a master dataset to create the first version of the document within the master dataset;
- transmitting the first edit script to the second client device displaying the second version of the document;
- in response to transmitting the first edit script to the second client device:
- causing, at the second client device, creation of a transformed edit script based on the first edit script and the second edit script;
- causing, at the second client device, the transformed edit script to be applied to the second version of the document to produce a third version of the document;
- and
- causing, at the second client device, display of the third version of the document on the second client device;
- transmitting the second edit script to the first client device displaying the first version of the document;
- and
- in response to transmitting the second edit script to the first client device:
- causing, at the first client device, creation of a second transformed edit script based on the first edit script and the second edit script;
- causing, at the first client device, the second transformed edit script to be applied to the first version of the document to produce the third version of the document;
- and
- causing, at the first client device, display of the third version of the document on the first client device.
A computer implemented method for synchronizing data, the computer implemented method comprising:
- storing, within a server device, a master version of a document, the document accessible by a first client device and a second client device;
- receiving, from a first client device, a first indication of a first set of changes to the document performed at the first client device;
- receiving, from a second client device, a second indication of a second set of changes to the document performed at the second client device;
- determining a priority between the first indication of the first set of changes and the second indication of the second set of changes;
- in response to determining to prioritize the first indication of the first set of changes above the second indication of the second set of changes, transmitting the first indication of the first set of changes to the second client device, thereby causing the second client device to display an updated version of the document incorporating the first set of changes and the second set of changes;
- applying the first indication of the first set of changes to the master version of the document to generate a first version of the document;
- causing the second indication of the second set of changes to be transformed by the first indication of the first set of changes to produce a hierarchical edit script;
- and
- applying the hierarchical edit script to the master version of the document to generate the updated version of the document.
A computer implemented method for synchronizing data, the computer implemented method comprising:
- storing a document as an initial version;
- receiving, from a first client device, a first linear edit script defining a first linear sequence of operations that can be applied to the document to generate a first version, the first linear sequence of operations performed on the first client device;
- receiving, from a second client device, a second linear edit script defining a second linear sequence of operations that can be applied to the document to generate a second version, the second linear sequence of operations performed on the second client device;
- determining a priority with respect to the first linear edit script and the second linear edit script, the priority corresponding to an order the first linear edit script and the second linear edit script are applied to the initial version;
- in accordance with the determined priority, causing the second linear edit script to be transformed by the first linear edit script to produce a transformed edit script;
- and
- applying the transformed edit script to the initial version of the document to produce a third version of the document.
Dependencies are inferred from the claim text.