US 12,229,502 B2
Method, system, and computing device for facilitating private drafting
Travis Smith, Ames, IA (US); Michael Jerome Thiesen, Helena, MT (US); Hannah Joy Deering, Ames, IA (US); Mark David Erickson, Ankeny, IA (US); Ross W. Hendrickson, Prescott, AZ (US); Bryon Lee Marks, Huxley, IA (US); and Tanner Davis Miller, Alpharetta, GA (US)
Assigned to WORKIVA INC., Ames, IA (US)
Filed by WORKIVA INC., Ames, IA (US)
Filed on Dec. 2, 2021, as Appl. No. 17/540,424.
Application 17/540,424 is a division of application No. 17/018,054, filed on Sep. 11, 2020.
Claims priority of provisional application 62/899,380, filed on Sep. 12, 2019.
Prior Publication US 2022/0092256 A1, Mar. 24, 2022
Int. Cl. G06F 40/177 (2020.01); G06F 16/901 (2019.01); G06F 16/93 (2019.01); G06F 40/197 (2020.01); H04L 65/403 (2022.01); H04L 67/10 (2022.01)
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
OG exemplary drawing
 
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.