IP Library › Granted Patent US 11,507,741
Granted Patent B2
US 11,507,741 · App. 17/068,545 · Granted Nov 22, 2022

Document tracking through version hash linked graphs

Inventors: Robert Evon Maguire (San Rafael, CA); Ravinder P. Krishnaswamy (San Francisco, CA)
Assignee: AUTODESK, INC.
G06F40/197G06F16/137G06F16/152G06F16/9014G06F16/9024G06F16/93
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,507,741
App. No.
17/068,545
Granted
Nov 22, 2022
Kind
B2
Abstract

Embodiments of the invention provide the ability to track document versioning. Before executing an open operation on a first document version, a first before-hash is generated. After executing the open operation, a first after-hash is generated. Before executing a save operation, the first before-hash is acquired, and after execution (resulting in a second document version), a second after-hash of the second document version is generated. A version hash linked graph (VHLG) is generated and includes document nodes for the different document versions where each node includes a hash of that document version, a user-application node corresponding to the user or application that executed the operations, and edges connecting the nodes (e.g., that identify the operation and/or the document lineage) Based on the VHLG, a full history of a document is provided.

Claims (123)

1. A computer-implemented method for tracking document versioning, comprising:

(a) before executing an open operation on a first document version, generating a first before-hash of the first document version;

(b) a user or an application executing the open operation;

(c) after executing the open operation, generating a first after-hash of the first document version;

(d) before executing a save operation on the first document version, acquiring the first before-hash of the first document version;

(e) the user or the application executing a save operation on the first document version resulting in a second document version;

(d) after executing the save operation, generating a second after-hash of the second document version;

(e) generating a version hash linked graph (VHLG), wherein the VHLG comprises:

(i) a first document version node comprising the first before-hash;

(ii) a second document version node comprising the second after-hash;

(iii) a user-application node corresponding to the user or application that executed the open operation and the save operation;

(iv) an open operation edge connecting the user-application node to the first document version node, wherein the open operation edge identifies the open operation;

(v) a save operation edge connecting the user-application node to the second document version node, wherein the save operation edge identifies the save operation; and

(vi) a document edge connecting the first document version node to the second document version node; and

(f) providing a full history of a document based on the VHLG.

2. The computer-implemented method of claim 1 , wherein the generating the VHLG comprises:

sending information for the open operation and information for the save operation to a VHLG generating service, wherein:

the information for the open operation comprises the first before-hash, the first after-hash, and an identification of the open operation; and

the information for the save operation comprises the first before-hash, the second after-hash, and an identification of the save operation; and

the VHLG generating service generating the VHLG based on the information.

3. The computer-implemented method of claim 2 , wherein:

the information for the open operation comprises a first log item;

the first log item comprises:

an anonymized user identification corresponding to the user or the application;

a platform used by the user or the application;

the identification of the open operation;

the first before-hash;

the first after-hash; and

a time the open operation was performed;

the information for the save operation comprises a second log item;

the second log item comprises:

the anonymized user identification corresponding to the user or the application;

the platform used by the user or the application;

the identification of the save operation;

the first before-hash;

the second after-hash; and

a time the save operation was performed.

4. The computer-implemented method of claim 1 , further comprising:

scaling the VHLG across time and multiple users or multiple applications;

determining a lineage based on the VHLG, wherein:

the lineage comprises a collection of documents related by a version chain;

the collection of documents comprises the first document version and the second document version; and

the version chain comprises the document edge.

5. The computer-implemented method of claim 4 , further comprising:

augmenting the first document version node and the second document version node with contextual data;

determining, based on the lineage and contextual data, a community that collaborates.

6. The computer-implemented method of claim 5 , further comprising:

determining, based on the contextual data, an industry type of the community.

7. The computer-implemented method of claim 5 , further comprising:

determining, based on the VHLG, an access pattern over time.

8. The computer-implemented method of claim 1 , wherein:

data for the document is stored independently from the VHLG;

regardless of a device platform being used to access the first document version, the first before-hash remains the same; and

regardless of the device platform being used to access the second document version, the second after-hash remains the same.

9. The computer-implemented method of claim 1 , further comprising:

providing, to collaborating users, a graphical user interface (GUI) comprising a visualization of the VHLG, wherein the visualization displays access patterns and dependencies between the first document version and the second document version.

10. The computer-implemented method of claim 1 , further comprising:

the user or the application accessing the first document version or the second document version;

determining, based on the VHLG, whether the first document version or the second document version is a most current version of the document, wherein the determining comprises querying the VHLG; and

informing the user or the application a result of the determining.

11. A computer-implemented system for tracking document versioning, comprising:

(a) a computer having a memory;

(b) a processor executing on the computer;

(c) the memory storing a set of instructions, wherein the set of instructions, when executed by the processor cause the processor to perform operations comprising:

(i) before executing an open operation on a first document version, generating a first before-hash of the first document version;

(ii) a user or an application executing the open operation;

(iii) after executing the open operation, generating a first after-hash of the first document version;

(iv) before executing a save operation on the first document version, acquiring the first before-hash of the first document version;

(v) the user or the application executing a save operation on the first document version resulting in a second document version;

(vi) after executing the save operation, generating a second after-hash of the second document version;

(vii) generating a version hash linked graph (VHLG), wherein the VHLG comprises:

(A) a first document version node comprising the first before-hash;

(B) a second document version node comprising the second after-hash;

(C) a user-application node corresponding to the user or application that executed the open operation and the save operation;

(D) an open operation edge connecting the user-application node to the first document version node, wherein the open operation edge identifies the open operation;

(E) a save operation edge connecting the user-application node to the second document version node, wherein the save operation edge identifies the save operation; and

(F) a document edge connecting the first document version node to the second document version node; and

(viii) providing a full history of a document based on the VHLG.

12. The computer-implemented system of claim 11 , wherein the operations generating the VHLG comprises:

sending information for the open operation and information for the save operation to a VHLG generating service, wherein:

the information for the open operation comprises the first before-hash, the first after-hash, and an identification of the open operation; and

the information for the save operation comprises the first before-hash, the second after-hash, and an identification of the save operation; and

the VHLG generating service generating the VHLG based on the information.

13. The computer-implemented system of claim 12 , wherein:

the information for the open operation comprises a first log item;

the first log item comprises:

an anonymized user identification corresponding to the user or the application;

a platform used by the user or the application;

the identification of the open operation;

the first before-hash;

the first after-hash; and

a time the open operation was performed;

the information for the save operation comprises a second log item;

the second log item comprises:

the anonymized user identification corresponding to the user or the application;

the platform used by the user or the application;

the identification of the save operation;

the first before-hash;

the second after-hash; and

a time the save operation was performed.

14. The computer-implemented system of claim 11 , wherein the operations further comprise:

scaling the VHLG across time and multiple users or multiple applications;

determining a lineage based on the VHLG, wherein:

the lineage comprises a collection of documents related by a version chain;

the collection of documents comprises the first document version and the second document version; and

the version chain comprises the document edge.

15. The computer-implemented system of claim 14 , wherein the operations further comprise:

augmenting the first document version node and the second document version node with contextual data;

determining, based on the lineage and contextual data, a community that collaborates.

16. The computer-implemented system of claim 15 , wherein the operations further comprise:

determining, based on the contextual data, an industry type of the community.

17. The computer-implemented system of claim 15 , wherein the operations further comprise:

determining, based on the VHLG, an access pattern over time.

18. The computer-implemented system of claim 11 , wherein:

data for the document is stored independently from the VHLG;

regardless of a device platform being used to access the first document version, the first before-hash remains the same; and

regardless of the device platform being used to access the second document version, the second after-hash remains the same.

19. The computer-implemented system of claim 11 , wherein the operations further comprise:

providing, to collaborating users, a graphical user interface (GUI) comprising a visualization of the VHLG, wherein the visualization displays access patterns and dependencies between the first document version and the second document version.

20. The computer-implemented system of claim 11 , wherein the operations further comprise:

the user or the application accessing the first document version or the second document version;

determining, based on the VHLG, whether the first document version or the second document version is a most current version of the document, wherein the determining comprises querying the VHLG; and

informing the user or the application a result of the determining.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2020
From: MAGUIRE, ROBERT EVON; KRISHNASWAMY, RAVINDER P.
To: AUTODESK, INC.
Reel/Frame 054031/0222 →
Continuity (2)
Provisional Application 62913380 · Oct 10, 2019
Related Publication 20210110108A1 · Apr 15, 2021
Cited By (1)
US 12,705,282