IP Library Granted Patent US 11,361,150
Granted Patent B2
US 11,361,150 · App. 17/350,395 · Granted Jun 14, 2022

System and method for convergent document collaboration

Inventors: Grant Nelson (Bozeman, MT); Michael J. Thiesen (Bozeman, MT); Aaron Hall (Bozeman, MT); Nathan Woods (Bozeman, MT); David Marne (Bozeman, MT)
Assignee: WORKIVA INC.
G06F40/143G06F16/9027G06F16/93G06F40/134G06F40/14G06F40/166G06F40/197G06Q10/10G06Q10/103
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,361,150
App. No.
17/350,395
Granted
Jun 14, 2022
Kind
B2
Abstract

In various implementations, a computing device: displays the document outline on the user interface; maintains, in a non-transitory computer-readable medium, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a level of the document outline; receives, via the user interface, an insertion of a new level to the document outline; in response to the insertion, defines a structure node that represents the inserted level; inserts a transition node in the causal graph data structure, wherein the transition node represents a relationship between the structure node and at least one other node of the causal graph data structure; inserts the structure node into the causal graph data structure as a child of the transition node; and updating the user interface to display the inserted level.

Claims (50)

1. A computing device comprising a processor, wherein the processor is configured to perform operations comprising:

causing a document outline to be displayed on a user interface, wherein the document outline includes a plurality of levels;

maintaining, in a memory of the computing device, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a different level of the plurality of levels;

receiving a deletion instruction to delete a level of the plurality of levels;

in response to the deletion instruction, inserting, in the causal graph data structure, a deletion node as a child of the structure node representing the level for which the deletion instruction was received, wherein the deletion node refers to the level that is to be deleted; and

updating the user interface to delete the level for which the deletion instruction was received.

2. The computing device of claim 1 , wherein the deletion node includes an identifier of the structure node to be deleted.

3. The computing device of claim 1 , wherein the processor is configured to perform further operations comprising:

receiving an insertion instruction to insert the level as a new level to the document outline;

in response to the insertion instruction, defining the structure node to represent the inserted level;

inserting a transition node in the causal graph data structure, wherein the transition node represents a relationship between the structure node and at least one other node of the causal graph data structure;

inserting the structure node into the causal graph data structure as a child of the transition node; and

updating the user interface to display the inserted level within the document outline.

4. The computing device of claim 3 , wherein inserting a transition node comprises inserting the transition node as a child of a second transition node, wherein the second transition node is a child of the structure node.

5. The computing device of claim 3 , wherein inserting a transition node comprises inserting the transition node as a child of the structure node.

6. The computing device of claim 3 , wherein text to be displayed as a title for the inserted level is contained in an attribute node linked to the structure node.

7. The computing device of claim 3 , wherein the inserted structure node includes at least one identifier of a parent node.

8. The computing device of claim 3 , wherein the inserted structure node includes at least one identifier of a child node.

9. The computing device of claim 1 , wherein the processor is configured to perform further operations comprising:

receiving a formatting instruction to apply formatting to a level of the plurality of levels;

in response to the formatting instruction, inserting an attribute node as a child of a structure node representing the level for which the formatting instruction was received, wherein the attribute node indicates the type of formatting that is to be applied;

applying the formatting to a section of the document within the level being formatted; and

updating the user interface to display the updated formatting of the section.

10. A computing device comprising a processor, wherein the processor is configured to perform operations comprising:

causing a document outline to be displayed on a user interface, the document outline comprising a plurality of levels, each of the plurality of levels representing a different section of a document;

maintaining, in a memory of the computing device, a causal graph data structure representing the document outline, wherein the causal graph data structure includes a plurality of structure nodes, each structure node representing a different level of the plurality of levels;

receiving a formatting instruction to apply formatting to a level of the plurality of levels;

in response to the formatting instruction, inserting an attribute node as a child of the structure node representing the level for which the formatting instruction was received, wherein the attribute node indicates the type of formatting that is to be applied;

applying the indicated type of formatting to a section of the document within the level for which the formatting instruction was received; and

updating the user interface to display the section as being formatted according to the indicated type.

11. The computing device of claim 10 , wherein the processor is configured to perform further operations comprising:

receiving an additional formatting instruction to apply additional formatting to the section;

in response to receiving the additional formatting instruction, inserting, in the causal graph data structure, a second attribute node as a child of the attribute node, wherein the second attribute node indicates the type of additional formatting to be applied;

applying the additional formatting to the section of the document; and

updating the user interface to display the section as being formatted according to the indicated type of additional formatting.

12. The computing device of claim 11 , wherein the attribute node includes one or more key-value pairs, wherein each key-value pair includes a key that corresponds to a format property and a value that corresponds to the value of the format property.

13. A computing device comprising a processor, wherein the processor is configured to perform operations comprising:

causing a document to be displayed on a user interface of the computing device, wherein the document includes a plurality items ordered according to a plurality of levels;

maintaining, in a memory of the computing device, a causal graph data structure that includes a plurality of structure nodes, each structure node representing a level of the plurality of levels;

receiving, via the user interface, a gesture indicating a move of an item from a first level of the plurality of levels to a second level of the plurality of levels;

in response to the gesture,

inserting a transition node into the causal graph data structure, wherein the transition node has a parent node representing the second level, and

updating a structure node representing the level being moved so that its parent node is the transition node; and

updating the user interface to display the item within the document as having been moved.

14. The computing device of claim 13 , wherein inserting a transition node comprises inserting the transition node as a child of the structure node.

15. The computing device of claim 13 , wherein the processor is configured to perform further operations comprising:

receiving a formatting instruction to apply formatting to a level of the plurality of levels;

in response to the formatting instruction, inserting an attribute node as a child of a structure node representing the level for which the formatting instruction was received, wherein the attribute node indicates the type of formatting that is to be applied;

applying the formatting to a section of the document within the level being formatted; and

updating the user interface to display the updated formatting of the level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2021
From: NELSON, GRANT; THIESEN, MICHAEL J.; HALL, AARON; WOODS, NATHAN; MARNE, DAVID
To: WORKIVA INC.
Reel/Frame 056575/0671 →
Continuity (8)
Continuation 16293998 · Mar 6, 2019
Continuation 16191821 · Nov 15, 2018
Continuation In Part 15411237 · Jan 20, 2017
Continuation 15049221 · Feb 22, 2016
Continuation 14808029 · Jul 24, 2015
Provisional Application 62587177 · Nov 16, 2017
Provisional Application 62155000 · Apr 30, 2015
Related Publication 20210312119A1 · Oct 7, 2021