| CPC G06F 40/177 (2020.01) [G06F 16/9027 (2019.01); G06F 16/93 (2019.01); G06F 40/197 (2020.01); H04L 65/403 (2013.01); H04L 67/10 (2013.01)] | 14 Claims |

|
1. A method for facilitating private drafting, the method comprising:
displaying, on a computing device of a first user, a document including a table comprising a plurality of cells, wherein at least some of the plurality of cells are governed by respective formulas and wherein the first user is one of a plurality of users collaborating on the document;
maintaining an interval-based dependency graph comprising a plurality of nodes, such that each node of the graph represents a range of locations on the table on which at least one of the respective formulas depends, at least one node representing a range greater than one, wherein the graph represents the respective formulas of the at least some of the plurality of cells of the table, wherein associated with each node of the graph is at least one cell that depends on at least one cell that falls within the range of locations represented by the each node;
receiving, from the first user, a request to edit the table in a draft mode;
in response to the edit request, creating a copy of at least a portion of the dependency graph to manage editing instructions in the draft mode;
receiving, from the first user, an edit for the table in the draft mode;
displaying a result of the edit on the computing device of the first user but not on computing devices of other users of the plurality of users, wherein displaying the result of the edit on the computing device of the first user comprises:
searching the copy of the portion of the dependency graph to identify formulas that depend from the edit; and
recalculating the identified formulas;
storing, in an additional node of the copy of the portion of the dependency graph, an editing instruction that represents the edit by the first user;
receiving, from the first user, a request to publish the edit; and
in response to the request to publish the edit,
merging the copy of the portion of the dependency graph with the dependency graph, and
displaying the result of the edit on the computing devices of the other users of the plurality of users.
|