×

Realtime synchronized document editing by multiple users

  • US 8,656,290 B1
  • Filed: 04/28/2009
  • Issued: 02/18/2014
  • Est. Priority Date: 01/08/2009
  • Status: Active Grant
First Claim
Patent Images

1. A server system comprising:

  • at least one processor;

    memory; and

    one or more programs, wherein the one or more programs are stored in the memory andconfigured to be executed by the one or more processors, the one or more programs includinginstructions for;

    storing a document as an ordered set of revision records, wherein the document is accessible to a plurality of client computer systems including a first client and a second client;

    receiving, from the first client, a representation of a first changeset specifying one or more changes relative to a first version of the document;

    receiving, from the second client, a representation of a second changeset specifying one or more changes relative to the first version of the document;

    identifying a respective revision record for the document, wherein the respective revision record corresponds to one or more changes that were made to the document prior to receiving the representation of the first changeset and the representation of the second changeset;

    generating a translated changeset;

    based on a merge of the first changeset and the second changeset, and one or more revision records including the respective revision record;

    adding a new revision record that includes the translated changeset to an end of the ordered set of revision records;

    transmitting a first representation of the translated changeset to the first client; and

    transmitting a second representation of the translated changeset to the second client, wherein each of the first changeset and the second changeset further comprises;

    a first length of a version of the document before a change is applied;

    a second length of a next version of the document subsequent to the change; and

    an array indicating which characters from the version of the document are retained, the characters represented by indices in the version of the document, and which characters are being added to the next version of the document.

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