×

Device, method, and graphical user interface for collaborative editing in documents

  • US 9,886,230 B2
  • Filed: 09/30/2015
  • Issued: 02/06/2018
  • Est. Priority Date: 06/07/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method of maintaining a consistent output based on concurrent drawing edits received at multiple collaborating devices, including:

  • at a first device of the multiple collaborating devices, wherein the first device comprises one or more processors, memory, and a display;

    maintaining a command sequence for a drawing currently rendered at the first device, wherein the command sequence includes a plurality of past drawing commands sorted according to respective sequence numbers of the past drawing commands, and wherein a sequence number of a drawing command is defined by (1) a device identifier for a device at which the drawing command was first received, (2) a primary local sequence number representing a local synchronization epoch during which the drawing command was first received, and (3) a secondary local sequence number representing an order of the drawing command within the local synchronization epoch;

    receiving a plurality of additional drawing commands from two or more devices of the multiple collaborating devices, each of the plurality of additional drawing commands having a respective sequence number;

    updating the command sequence, including merging and sorting the plurality of additional drawing commands and the plurality of past drawing commands in accordance with an ordering rule based on the respective sequence numbers of the plurality of past drawing commands and the plurality of additional drawing commands, wherein the ordering rule gives more significance to the primary local sequence number than the device identifier, and gives more significance to the device identifier than to the secondary local sequence number when comparing the respective sequence numbers; and

    re-rendering at least a portion of the drawing based on the command sequence after updating the command sequence.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×