INFERRING A SEQUENCE OF EDITING OPERATIONS TO FACILITATE MERGING VERSIONS OF A SHARED DOCUMENT
First Claim
1. A method for inferring a sequence of editing operations that were applied to a document to produce an updated version of the document, comprising:
- determining a minimum edit distance between the document and the updated version of the document;
wherein determining the minimum edit distance involves associating a block cost with each contiguous block of characters that is changed by an editing operation associated with the minimum edit distance; and
using information stored while determining the minimum edit distance to determine the sequence of editing operations, including changes to contiguous blocks of characters, which were used to achieve the minimum edit distance.
4 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments relate to a system that infers a sequence of editing operations that were applied to a document to produce an updated version of the document. During operation, the system computes a minimum edit distance between the document and the updated version of the document. During this process, the system associates a block cost with each contiguous block of characters that is changed by an editing operation and also a character cost with each character that is changed. Next, the system uses information stored during the computation to determine the sequence of editing operations which were used to achieve the minimum edit distance. The system communicates the sequence of editing operations to a remote computing device, wherein the remote computing device uses an operational transformation technique to transform the sequence of editing operations before applying the transformed sequence of editing operations to a remote version of the document.
14 Citations
33 Claims
-
1. A method for inferring a sequence of editing operations that were applied to a document to produce an updated version of the document, comprising:
-
determining a minimum edit distance between the document and the updated version of the document; wherein determining the minimum edit distance involves associating a block cost with each contiguous block of characters that is changed by an editing operation associated with the minimum edit distance; and using information stored while determining the minimum edit distance to determine the sequence of editing operations, including changes to contiguous blocks of characters, which were used to achieve the minimum edit distance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for applying editing operations associated with a remote version of a document to a local version of the document, comprising:
-
receiving a sequence of editing operations associated with the remote version of the document, wherein the sequence of editing operations was generated while computing a minimum edit distance between the remote version of the document and an updated remote version of the document, wherein during the minimum edit distance computation a block cost is associated with each contiguous block of characters that is changed by an editing operation and a character cost with each character that is changed by an editing operation; using an operational transformation technique to transform the received sequence of editing operations; and applying the transformed sequence of editing operations to the local version of the document. - View Dependent Claims (10, 11)
-
-
12. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for inferring a sequence of editing operations that were applied to a document to produce an updated version of the document, the method comprising:
-
determining a minimum edit distance between the document and the updated version of the document; wherein determining the minimum edit distance involves associating a block cost with each contiguous block of characters that is changed by an editing operation associated with the minimum edit distance; and using information stored while determining the minimum edit distance to determine the sequence of editing operations, including changes to contiguous blocks of characters, which were used to achieve the minimum edit distance. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for applying editing operations associated with a remote version of a document to a local version of the document, the method comprising:
-
receiving a sequence of editing operations associated with the remote version of the document, wherein the sequence of editing operations was generated while computing a minimum edit distance between the remote version of the document and an updated remote version of the document, wherein during the minimum edit distance computation a block cost is associated with each contiguous block of characters that is changed by an editing operation and a character cost with each character that is changed by an editing operation; using an operational transformation technique to transform the received sequence of editing operations; and applying the transformed sequence of editing operations to the local version of the document. - View Dependent Claims (21, 22)
-
-
23. A system that infers a sequence of editing operations that were applied to a document to produce an updated version of the document, comprising:
-
at least one processor; a memory coupled to the at least one processor; and an application stored in the memory and configured to, determine a minimum edit distance between the document and the updated version of the document; wherein determining the minimum edit distance involves associating a block cost with each contiguous block of characters that is changed by an editing operation associated with the minimum edit distance; and use information stored while determining the minimum edit distance to determine the sequence of editing operations, including changes to contiguous blocks of characters, which were used to achieve the minimum edit distance. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
-
31. A system that applies editing operations associated with a remote version of a document to a local version of the document, comprising:
-
at least one processor; a memory coupled to the at least one processor; and an application stored in the memory and configured to, receive a sequence of editing operations associated with the remote version of the document, wherein the sequence of editing operations was generated while computing a minimum edit distance between the remote version of the document and an updated remote version of the document, wherein during the minimum edit distance computation a block cost is associated with each contiguous block of characters that is changed by an editing operation and a character cost with each character that is changed by an editing operation; use an operational transformation technique to transform the received sequence of editing operations; and apply the transformed sequence of editing operations to the local version of the document. - View Dependent Claims (32, 33)
-
Specification