Order independent batched updates on a text buffer

Information

  • Patent Application
  • 20070204221
  • Publication Number
    20070204221
  • Date Filed
    February 27, 2006
    18 years ago
  • Date Published
    August 30, 2007
    17 years ago
Abstract
The embodiments contemplate a system and method for the application of concurrent edits to the same version of a text. The concurrent edits may occur simultaneously or near simultaneously through collaborative editing schemes, where more than one user, processor, or agent applies edits to the version of the text. The application of the concurrent edits includes modifying or transforming the edits to account for changes made to the version of the text and applying the modified edits to the most recent version of the text. As edits may change the positioning of the text, an evaluation of the changes in the positioning of the text may be part of the modification.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing summary and the following detailed description are better understood when read in conjunction with the appended drawings. Exemplary embodiments are shown in the drawings, however it is understood that the embodiments are not limited to the specific methods and instrumentalities depicted therein. In the drawings:



FIG. 1 is a block diagram representing an exemplary computing device;



FIG. 2 is a block diagram representing a portion of an exemplary concurrent tracking buffer;



FIG. 3 is a block diagram representing another exemplary concurrent tracking buffer;



FIG. 4 is a table representing an example scenario of concurrent edits applied to text;



FIG. 5 is a block diagram representing an edit processor;



FIG. 6 is a block diagram representing a modification component of an edit processor; and



FIG. 7 is a flow diagram illustrating one embodiment of a method of applying edits to text.


Claims
  • 1. A method of applying edits to text, wherein the text is stored in a buffer, the method comprising: applying a first edit to a first version of the text to create a second version of the text;modifying a second edit; andapplying the modified second edit to the second version of the text to create a third version of the text.
  • 2. The method of claim 1, wherein modifying the second edit comprises: comparing the second version of the text to the first version of the text; andtransforming the second edit to adjust for the first edit.
  • 3. The method of claim 2, wherein comparing the second version of the text to the first version of the text comprises comparing a position of the second version of the text to a position of the first version of the text.
  • 4. The method of claim 1, wherein the first edit and the second edit to the text occur substantially simultaneously.
  • 5. The method of claim 1, wherein the buffer is a text buffer.
  • 6. The method of claim 1, wherein the first edit is applied to the text before the second edit.
  • 7. The method of claim 1, wherein the second edit is applied to the text before the first edit.
  • 8. The method of claim 1, further comprising: modifying a third edit; andapplying the modified third edit to the third version of the text to create a fourth version of the text.
  • 9. The method of claim 8, wherein modifying the third edit comprises: comparing the third version of the text to the first version of the text; andtransforming the third edit to adjust for the first edit and second edit.
  • 10. An edit processor for applying edits to text, comprising: a modification component for modifying a second edit; andan application component for applying a first edit to a first version of the text to create a second version of the text, and for applying the modified second edit to the second version of the text to create a third version of the text.
  • 11. The edit processor of claim 10, wherein the modification component comprises a comparison component for comparing the second version of the text to the first version of the text, and a transformation component for transforming the second edit to adjust for the first edit.
  • 12. The edit processor of claim 11, wherein the comparison component compares the second version of the text to the first version of the text by comparing a position of the second version of the text with a position of the first version of the text.
  • 13. The edit processor of claim 10, wherein the modification component modifies a third edit, and wherein the application component applies the modified third edit to the third version of the text to create a fourth version of the text.
  • 14. The edit processor of claim 10, further comprising a buffer component for storing the first version of the text and the second version of the text.
  • 15. A computer-readable medium having computer-executable modules for applying edits to text, comprising: a buffer module for storing versions of the text;an edit application module for applying edits to the versions of the text; andan edit modifier module for modifying edits for the edit application module to apply the modified edits to subsequent versions of the text when a first version of the text has been edited.
  • 16. The computer-readable medium of claim 15, wherein the buffer module stores a first version of the text, and wherein the edit application module applies a first edit to the first version of the text to create a second version of the text, and wherein the edit modifier module modifies a second edit, and wherein the edit application module applies the modified second edit to the second version of the text to create a third version of the text.
  • 17. The computer-readable medium of claim 16, wherein the buffer module stores the second version of the text and the third version of the text.
  • 18. The computer-readable medium of claim 16, wherein the edit modifier module modifies the second edit to adjust for the first edit.
  • 19. The computer-readable medium of claim 15, wherein the edit modifier module modifies a third edit, and wherein the edit application module applies the modified third edit to the third version of the text to create a fourth version of the text.
  • 20. The computer-readable medium of claim 15, further comprising: an advancement module for advancing the text to a new buffer after the edits have been applied.