IP Library Granted Patent US 10,585,980
Granted Patent B2
US 10,585,980 · App. 16/148,361 · Granted Mar 10, 2020

Methods and a computing device for maintaining comments and graphical annotations for a document

Inventors: Nathan Raleigh (Parker, CO); Todd Kaji (Littleton, CO); Brandon Carpenter (Highlands Ranch, CO); Shane Sawyer (Centennial, CO); Jason Moore (Bozeman, MT)
Assignee: Workiva Inc.
G06F17/241G06F17/212G06F17/2235G06Q10/101
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 10,585,980
App. No.
16/148,361
Granted
Mar 10, 2020
Kind
B2
Abstract

In various implementations, a first computing device (such as a cloud-based server) receives, from a second computing device (e.g., a notebook computer, tablet computer, or smartphone) a graphical annotation for a document displayed on the second computing device. The first computing device stores the graphical annotation in a database in a graphical annotation data entity and creates an association between an entity containing the portion of the document to which the graphical annotation is to be anchored and the graphical annotation entity.

Claims (90)

1. A method for processing graphical annotations on a document, the method comprising:

a first computing device transmitting instructions for rendering a document to a second computing device via a computer network;

in response to the instructions, the second computing device

rendering the document on a display device as view-only;

defining a transparent drawing canvas over the rendered document;

the second computing device receiving a user input indicating a coordinate on the rendered document and a graphical annotation;

the second computing device drawing the graphical annotation on the drawing canvas anchored at the coordinate;

the second computing device mapping the coordinate to a paragraph or section of the document underneath the drawing canvas to which the graphical annotation is to be anchored;

the second computing device transmitting, to the first computing device, an identifier of the paragraph or section of the document and a request for the graphical annotation to be anchored to the paragraph or section of the document;

the first computing device using the identifier to determine a database entity containing the paragraph or section of the document;

the first computing device storing the graphical annotation in a database in a graphical annotation entity of the database; and

the first computing device creating, within the database, an association between the entity containing the paragraph or section of the document and the graphical annotation entity.

2. The method of claim 1 , further comprising:

the first computing device retrieving the graphical annotation entity from the database; and

the first computing device visually rendering the graphical annotation at a location on a display indicated by location data in the graphical annotation entity.

3. The method of claim 2 , wherein

the graphical annotation entity is a scripting data structure, and

visually rendering the graphical annotation comprises the first computing device

converting contents of the scripting data structure into drawing instructions, and

transmitting the drawing instructions to the second computing device.

4. The method of claim 1 , further comprising:

the first computing device receiving a comment for the graphical annotation;

the first computing device determining that the received comment is directed to a user or to a group of users; and

the first computing device sending a message regarding the comment to the user or group of users.

5. The method of claim 4 , wherein the message includes a link to a portion of the document to which the graphical annotation is anchored.

6. The method of claim 4 , further comprising:

the first computing device storing the comment in the database in a comment entity; and

the first computing device creating an association between the graphical annotation entity and the comment entity within the database.

7. The method of claim 6 , wherein creating an association between the graphical annotation entity and the comment entity comprises including a reference to the comment entity within the graphical annotation entity or including a reference to the graphical annotation entity within the comment entity.

8. The method of claim 6 , further comprising the first computing device:

receiving an input of a second comment for the graphical annotation;

instantiating, in the database, an entity for a comment thread; and

in the database, associating the comment thread with both the comment and the second comment.

9. The method of claim 1 , further comprising the first computing device including, in the graphical annotation entity, location data that indicates the location at which the graphical annotation is to be displayed.

10. The method of claim 9 , wherein the location data comprises the coordinates at which the graphical annotation is to be displayed.

11. The method of claim 9 , wherein the location data comprises the paragraph or section of the document that contains content to which the graphical annotation is to be anchored.

12. The method of claim 1 , further comprising the first computing device including, in the graphical annotation entity, graphics data that indicates the graphics to be used to render the graphical annotation.

13. The method of claim 1 , wherein the graphical annotation comprises a check mark, a geometric shape, or a line figure.

14. A method for maintaining graphical annotations, the method comprising:

a first computing device transmitting instructions for rendering a first version of a document to a second computing device via a computer network;

in response to the instructions, the second computing device

rendering the first version of the document on a display device as view-only;

defining a transparent drawing canvas over the rendered document;

the second computing device receiving, via the user interface, a user input indicating a coordinate on the first version of the document and a graphical annotation;

the second computing device drawing the graphical annotation on the drawing canvas anchored at the coordinate;

the second computing device mapping the coordinate to a paragraph or section of the document underneath the drawing canvas to which the graphical annotation is to be anchored;

the second computing device transmitting, to the first computing device, an identifier of the paragraph or section of the document and a request for the graphical annotation to be anchored to the paragraph or section of the document;

the first computing device using the identifier to determine a database entity containing the paragraph or section of the document;

the first computing device storing the graphical annotation in a graphical annotation entity in a database separately from the document;

the first computing device storing the identifier in the database;

the first computing device creating, within the database, an association between the entity containing the paragraph or section of the document and the graphical annotation entity;

the first computing device receiving a request for the first version of the document to be replaced by a second version of the document;

the first computing device retrieving the graphical annotation and the identifier from the database;

the first computing device transmitting the graphical annotation and the identifier to the second computing device;

the second computing device displaying the second version of the document in the display area of the user interface;

the second computing device determining, based on the retrieved identifier, a location on the second version of the document at which to display the graphical annotation; and

the second computing device displaying the retrieved graphical annotation on the second version of the document at the determined location.

15. The method of claim 14 , the method further comprising:

the first computing device storing, in the database, a character offset that indicates a number of characters from the beginning of the identified paragraph or section;

the first computing device retrieving the character offset from the database; and

the second computing device determining, based on the retrieved character offset, a location within the paragraph or section at which to anchor the graphical annotation.

16. The method of claim 14 , further comprising:

in response to a user input, the second computing device moving the graphical annotation to a second location; and

the first computing device updating the identifier in the database in accordance with the second location.

17. The method of claim 16 , wherein:

the graphical annotation is one of a plurality of graphical annotations being displayed; and

the user input includes a selection of one or more, but not all, of the plurality of annotations.

18. The method of claim 14 , further comprising:

the second computing device receiving a user request to replace the first version of the document with the second version of the document; and

the second computing device receiving an indication from the user that the graphical annotation is to be maintained for the second version of the auxiliary document,

wherein retrieving the graphical annotation and the identifier from the database is carried out in response to the received indication.

19. The method of claim 14 , further comprising:

the second computing device receiving, via the user interface, a user input indicating a comment for the graphical annotation;

the second computing device mapping the coordinate to the paragraph or section of the document underneath the drawing canvas to which the comment is to be anchored;

the first computing device storing the text in the database in a comment entity; and

the first computing device creating an association between the graphical annotation entity and the comment entity within the database.

20. A system for processing graphical annotations on a document, the system comprising:

a first computing device configured to transmit instructions for rendering a document;

a second computing device configured to:

receive the instructions;

render the document on a display device as view-only;

define a transparent drawing canvas over the rendered document;

receive a user input indicating a coordinate on the rendered document and a graphical annotation;

draw the graphical annotation on the drawing canvas anchored at the coordinate;

map the coordinate to a paragraph or section of the document underneath the drawing canvas to which the graphical annotation is to be anchored; and

transmit, to the first computing device, an identifier of the paragraph or section of the document and a request for the graphical annotation to be anchored to the paragraph or section of the document;

the first computing device being further configured to:

use the identifier to determine a database entity containing the paragraph or section of the document;

store the graphical annotation in a database in a graphical annotation entity of the database; and

create, within the database, an association between the entity containing the paragraph or section of the document and the graphical annotation entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2018
From: RALEIGH, NATHAN; KAJI, TODD; CARPENTER, BRANDON; SAWYER, SHANE; MOORE, JASON
To: WORKIVA INC.
Reel/Frame 047020/0714 →
Continuity (4)
Continuation 15725973 · Oct 5, 2017
Continuation In Part 14817444 · Aug 4, 2015
Provisional Application 62086178 · Dec 1, 2014
Related Publication 20190042553A1 · Feb 7, 2019