IP Library Granted Patent US 11,436,279
Granted Patent B2
US 11,436,279 · App. 16/186,376 · Granted Sep 6, 2022

Dynamically building file graph

Inventor: Andrew Moravec (Hugo, MN)
Assignee: Code42 Software, Inc.
G06F16/9024G06F16/13G06F16/148G06F16/178
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,436,279
App. No.
16/186,376
Granted
Sep 6, 2022
Kind
B2
Abstract

System and techniques for dynamically building a file graph are described herein. Meta data is received for a first and a second file. An intersection of the first metadata set and the second metadata set is computed. An edge in a file graph is created based on the intersection. Then, after receiving a query about the first file, the second file is provided as a result to the query based on the edge in the file graph.

Claims (44)

1. A device for dynamically building a file lifecycle graph, the device comprising:

a memory including instructions; and

processing circuitry that, when in operation, is configured by the instructions to:

receive a first metadata set for a first file;

receive a second metadata set for a second file;

compute an intersection of the first metadata set and the second metadata set;

create an edge in a file lifecycle graph based on the intersection, wherein the edge is an event in a lifecycle of the first file;

receive a query about the first file; and

provide the second file, by traversing the edge in the file lifecycle graph from the first file, as a result to the query.

2. The device of claim 1 , wherein a node in the file lifecycle graph identifies a file.

3. The device of claim 1 , wherein the edge is a file creation type, and wherein the first metadata set is empty.

4. The device of claim 1 , wherein the edge is a file rename type, and wherein the intersection does not include a file name.

5. The device of claim 1 , wherein the edge is a file revision type, and wherein the intersection does not include a content hash.

6. The device of claim 1 , wherein the edge is a file move, and wherein the intersection does not include a path.

7. The device of claim 1 , wherein the edge is a file share, and wherein the intersection does not include an access control list.

8. The device of claim 1 , wherein, to compute the intersection, the processing circuitry compares each member of the first metadata set and the second metadata set within a tolerance; the tolerance specific to a type of member, the intersection including members that are within the tolerance.

9. A method for dynamically building a file lifecycle graph, the method comprising:

receiving a first metadata set for a first file;

receiving a second metadata set for a second file;

computing an intersection of the first metadata set and the second metadata set;

creating an edge in a file lifecycle graph based on the intersection, wherein the edge is an event in a lifecycle of the first file;

receiving a query about the first file; and

providing the second file, by traversing the edge in the file lifecycle graph from the first file, as a result to the query.

10. The method of claim 9 , wherein a node in the file lifecycle graph identifies a file.

11. The method of claim 9 , wherein the edge is a file creation type, and wherein the first metadata set is empty.

12. The method of claim 9 , wherein the edge is a file rename type, and wherein the intersection does not include a file name.

13. The method of claim 9 , wherein the edge is a file revision type, and wherein the intersection does not include a content hash.

14. The method of claim 9 , wherein the edge is a file move, and wherein the intersection does not include a path.

15. The method of claim 9 , wherein the edge is a file share, and wherein the intersection does not include an access control list.

16. The method of claim 9 , wherein computing the intersection includes comparing each member of the first metadata set and the second metadata set within a tolerance, the tolerance specific to a type of member, the intersection including members that are within the tolerance.

17. A non-transitory machine readable media including instructions to dynamically build a file graph, the instructions, when executed by processing circuitry, causing the processing circuitry to perform operations comprising:

receiving a first metadata set for a first file;

receiving a second metadata set for a second file;

computing an intersection of the first metadata set and the second metadata set;

creating an edge in a file lifecycle graph based on the intersection, wherein the edge is an event in a lifecycle of the first file;

receiving a query about the first file; and

providing the second file, by traversing the edge in the file lifecycle graph from the first file, as a result to the query.

18. The machine readable media of claim 17 , wherein a node in the file lifecycle graph identifies a file.

19. The non-transitory machine readable media of claim 17 , wherein the edge is a file creation type, and wherein the first metadata set is empty.

20. The non-transitory machine readable media of claim 17 , wherein the edge is a file rename type, and wherein the intersection does not include a file name.

21. The non-transitory machine readable media of claim 17 , wherein the edge is a file revision type, and wherein the intersection does not include a content hash.

22. The non-transitory machine readable media of claim 17 , wherein the edge is a file move, and wherein the intersection does not include a path.

23. The non-transitory machine readable media of claim 17 , wherein the edge is a file share, and wherein the intersection does not include an access control list.

24. The non-transitory machine readable media of claim 17 , wherein computing the intersection includes comparing each member of the first metadata set and the second metadata set within a tolerance, the tolerance specific to a type of member, the intersection including members that are within the tolerance.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2026
From: CODE42 SOFTWARE, INC.
To: MIMECAST NORTH AMERICA, INC.
Reel/Frame 073501/0393 →
CERTIFICATE OF AMENDMENT TO THE FOURTH AMENDED AND RESTATED CERTIFICATE OF INCORPORATION Recorded Jul 19, 2022
From: CODE 42 SOFTWARE, INC.
To: CODE42 SOFTWARE, INC.
Reel/Frame 060726/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2018
From: MORAVEC, ANDREW
To: CODE 42 SOFTWARE, INC.
Reel/Frame 047467/0238 →
Continuity (1)
Related Publication 20200151280A1 · May 14, 2020