IP Library Granted Patent US 11,886,507
Granted Patent B2
US 11,886,507 · App. 17/982,457 · Granted Jan 30, 2024

Multi-tenant knowledge graph databases with dynamic specification and enforcement of ontological data models

Inventors: Jason Crabtree (Vienna, VA); Richard Kelley (Woodbridge, VA)
Assignee: QOMPLX LLC
G06F16/9024G06F16/2272G06F16/2458G06F16/284G06F18/29G06N5/02
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,886,507
App. No.
17/982,457
Granted
Jan 30, 2024
Kind
B2
Abstract

A system and method for cybersecurity analysis utilizing high-performance, scalable, multi-tenant, dynamically specifiable, knowledge graph information storage and utilization. The system uses an in-memory associative array for high-performance graph storage and access, with a non-volatile distributed database for scalable backup storage, a scalable, distributed graph service for graph creation, an indexing search engine to increase searching performance, and a graph crawler for graph traversal. One or more of these components may be in the form of a cloud-based service, and in some embodiments the cloud-based services may be containerized to allow for multi-tenant co-existence with no possibility of data leakage or cross-over. The system uses a cyber-physical graph to represent an enterprise's cyber-physical system and can provide graph analysis, graph security, and graph fusion related tasks to identify potential cybersecurity threats.

Claims (89)

1. A system for cybersecurity analysis utilizing high-performance, dynamically-specifiable, knowledge graph-based information storage and utilization, comprising:

a computing device comprising a processor and a memory;

an in-memory associative array comprising key-value pairs stored in the memory of the computing device and configured to represent a knowledge graph;

an integration platform comprising a first plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the first plurality of programming instructions, when operating on the processor, cause the computing device to:

compile a received schema into data types, each data type comprising an entity definition, one or more link definitions, and one or more attribute definitions;

receive one or more data clumps, each data clump comprising entity, link, and attribute data;

for each received data clump, determine whether the respective data clump complies with the schema;

send each compliant data clump to the knowledge graph engine for assembly into a new knowledge graph that is fully compliant with the schema; and

the knowledge graph engine comprising a second plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the second plurality of programming instructions, when operating on the processor, cause the computing device to:

instantiate the knowledge graph in the in-memory associative array;

receive data clumps from the integration platform wherein the data clumps are known to be fully compliant with the schema; and

populate the knowledge graph in the in-memory associative array with the entity, link, and attribute data in each fully-compliant data clump to generate a new fully-compliant knowledge graph.

2. The system of claim 1 , further comprising a graph access control module comprising a third plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the third plurality of programming instructions, when operating on the processor, cause the computing device to assign access rights to a user, the access rights allowing the user to interact with a at least one node, and its associated edges, of the knowledge graph.

3. The system of claim 1 , wherein the integration platform is further configured to:

retrieve one or more known schemas from a database;

apply a known schema to the one or more data clumps;

identify any errors in the application of the known schema to the data clumps and compute an error rate based on any identified errors;

wherein if the error rate is below a predetermined threshold value the known schema is added to a list; and

display the list to a user, wherein the user can optionally select a known schema from a plurality of known schemas on the list.

4. The system of claim 1 , further comprising a graph manager comprising a fourth plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the fourth plurality of programming instructions, when operating on the processor, cause the computing device to:

receive a network event, the network event related to a cybersecurity event;

apply a known schema to create a constrained knowledge graph;

analyze the constrained knowledge graph to identify a cybersecurity threat;

generate one or more subgraphs from the constrained knowledge graph based on the identified cybersecurity threat, wherein each subgraph maps the identified cybersecurity threat to a threat scenario;

perform graph fusion on the subgraphs to form a fused knowledge graph;

store the fused knowledge graph in a database; and

present the fused knowledge graph to a user for graph analysis.

5. The system of claim 1 , wherein the knowledge graph is a cyber-physical graph representing an enterprise's cyber-physical system.

6. A system for cybersecurity analysis utilizing high-performance, scalable, multi-tenant, dynamically specifiable, knowledge graph based information storage and utilization, comprising:

a computing device comprising a processor and a memory;

a distributed in-memory associative array comprising key-value pairs stored in the memory of a plurality of networked computing devices and configured to represent a knowledge graph;

an integration platform comprising a first plurality of programming instructions stored in the memory of, and operating on the processor of, the computing device, wherein the first plurality of programming instructions, when operating on the processor, cause the computing device to:

compile a received schema into data types, each data type comprising an entity definition, one or more link definitions, and one or more attribute definitions;

send the compiled schema to a cloud-based knowledge graph service, wherein the cloud-based knowledge graph service instantiates a knowledge graph;

retrieve the knowledge graph from the knowledge graph service and implement the knowledge graph in the distributed in-memory associative array;

receive one or more data clumps, each data clump comprising entity, link, and attribute data;

for each received data clump, determine whether each data clump complies with the schema;

send each compliant data clump to the cloud-based knowledge graph service engine for assembly into a new knowledge graph that is created to be fully compliant with the schema, wherein the cloud-based knowledge graph service:

receives data clumps from the integration platform wherein the data clumps are known to be fully compliant with the schema; and

populates the knowledge graph in the distributed in-memory associative array with the entity, link, and attribute data from each fully-compliant data clump to generate a new fully-compliant knowledge graph; and

retrieve the populated knowledge graph from the knowledge graph service and update the distributed in-memory associative array with the populated knowledge graph.

7. The system of claim 6 , wherein the integration platform uses a cloud-based graph access control module which is configured to assign access rights to a user, the access rights allowing the user to interact with a at least one node, and its associated edges, of the knowledge graph.

8. The system of claim 6 , wherein the integration platform is further configured to:

retrieve one or more known schemas from a database;

apply a known schema to the one or more data clumps;

identify any errors in the application of the known schema to the data clumps and compute an error rate based on any identified errors;

wherein if the error rate is below a predetermined threshold value the known schema is added to a list; and

display the list to a user, wherein the user can optionally select a known schema from a plurality of known schemas on the list.

9. The system of claim 6 , wherein the integration platform uses a cloud-based graph manager which is configured to:

receive a network event, the network event related to a cybersecurity event;

apply a known schema to create a constrained knowledge graph;

analyze the constrained knowledge graph to identify a cybersecurity threat;

generate one or more subgraphs from the constrained knowledge graph based on the identified cybersecurity threat, wherein each subgraph maps the identified cybersecurity threat to a threat scenario;

perform graph fusion on the subgraphs to form a fused knowledge graph;

store the fused knowledge graph in a database; and

present the fused knowledge graph to a user for graph analysis.

10. The system of claim 6 , wherein the knowledge graph is a cyber-physical graph representing an enterprise's cyber-physical system.

11. The system of claim 6 , wherein the integration platform, the distributed in-memory associative array, and the cloud-based knowledge graph service are instantiated as services in a containerized service management application.

12. The system of claim 11 , wherein separate copies of the integration platform, the distributed in-memory associative array, and the cloud-based knowledge graph service are instantiated for each client as services in a containerized service management application.

13. A method for system for cybersecurity analysis utilizing high-performance, scalable, multi-tenant, dynamically specifiable, knowledge graph-based information storage and utilization, comprising the steps of:

instantiating a distributed in-memory associative array comprising key-value pairs stored in the memory of a plurality of networked computing devices and configured to represent a knowledge graph;

compiling a received schema into data types, each data type comprising an entity definition, one or more link definitions, and one or more attribute definitions;

sending the compiled schema to a cloud-based knowledge graph service, wherein the cloud-based knowledge graph service

instantiates a knowledge graph;

retrieving the knowledge graph from the knowledge graph service and implementing the knowledge graph in the distributed in-memory associative array;

receiving one or more data clumps, each data clump comprising entity, link, and attribute data;

determining whether each data clump complies with the schema;

enforcing compliance of each data clump by accepting compliant data clumps and rejecting non-compliant data clumps;

sending each compliant data clump to the cloud-based knowledge graph service, wherein the cloud-based knowledge graph service

populates the knowledge graph in the distributed in-memory associative array with the entity, link, and attribute data in each data clump to generate a new fully-compliant knowledge graph; and

retrieving the populated knowledge graph from the knowledge graph service and updating the distributed in-memory associative array with the populated knowledge graph.

14. The method of claim 13 , wherein a cloud-based graph access control service is used and is configured to assign access rights to a user, the access rights allowing the user to interact with a at least one node, and its associated edges, of the knowledge graph.

15. The method of claim 13 , further comprising the steps of:

retrieving one or more known schemas from a database;

applying a known schema to the one or more data clumps;

identifying any errors in the application of the known schema to the data clumps and compute an error rate based on any identified errors;

wherein if the error rate is below a predetermined threshold value the known schema is added to a list; and

displaying the list to a user, wherein the user can optionally select a known schema from a plurality of known schemas on the list.

16. The method of claim 13 , wherein a cloud-based graph manager service is used and is configured to:

receive a network event, the network event related to a cybersecurity event;

apply a known schema to create a constrained knowledge graph;

analyze the constrained knowledge graph to identify a cybersecurity threat;

generate one or more subgraphs from the constrained knowledge graph based on the identified cybersecurity threat, wherein each subgraph maps the identified cybersecurity threat to a threat scenario;

perform graph fusion on the subgraphs to form a fused knowledge graph;

store the fused knowledge graph in a database; and

present the fused knowledge graph to a user for graph analysis.

17. The method of claim 13 , wherein the knowledge graph is a cyber-physical graph representing an enterprise's cyber-physical system.

18. The method of claim 13 , wherein the distributed in-memory associative array and the cloud-based knowledge graph service are instantiated as services in a containerized service management application.

19. The method of claim 18 , wherein separate copies of the distributed in-memory associative array, and the cloud-based knowledge graph service are instantiated for each client as services in a containerized service management application.

Assignments (6)
CHANGE OF ADDRESS Recorded Oct 1, 2024
From: QOMPLX LLC
To: QOMPLX LLC
Reel/Frame 069083/0279 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA NAME: RICHARD KELLEY PREVIOUSLY RECORDED AT REEL: 064412 FRAME: 0327. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 17, 2024
From: CRABTREE, JASON; KELLEY, RICHARD
To: QOMPLX, INC.
Reel/Frame 066343/0845 →
CHANGE OF NAME Recorded Sep 27, 2023
From: QPX LLC
To: QOMPLX LLC
Reel/Frame 065036/0449 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 064674 FRAME: 0408. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 20, 2023
From: QOMPLX, INC.
To: QPX LLC
Reel/Frame 064966/0863 →
PATENT ASSIGNMENT AGREEMENT TO ASSET PURCHASE AGREEMENT Recorded Aug 23, 2023
From: QOMPLX, INC.
To: QPX, LLC.
Reel/Frame 064674/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2023
From: CRABTREE, JASON; KELLY, RICHARD
To: QOMPLX, INC.
Reel/Frame 064412/0327 →
Continuity (25)
Continuation 16864133 · Apr 30, 2020
Continuation In Part 15847443 · Dec 19, 2017
Continuation In Part 15790457 · Oct 23, 2017
Continuation In Part 15790327 · Oct 23, 2017
Continuation In Part 15616427 · Jun 7, 2017
Continuation In Part 15847443
Continuation In Part 15616427 · Jun 7, 2017
Continuation In Part 14925974 · Jan 28, 2015
Continuation In Part 15847443
Continuation In Part 15489716 · Apr 17, 2017
Continuation In Part 15409510 · Jan 18, 2017
Continuation In Part 15379899 · Dec 15, 2016
Continuation In Part 15376657 · Dec 13, 2016
Continuation In Part 15237625 · Aug 15, 2016
Continuation In Part 15206195 · Jul 8, 2016
Continuation In Part 15186453 · Jun 18, 2016
Continuation In Part 15166158 · May 26, 2016
Continuation In Part 15141752 · Apr 28, 2016
Continuation In Part 15141752
Continuation In Part 15091563 · Apr 5, 2016
Continuation In Part 14986536 · Dec 31, 2015
Continuation In Part 14925974
Provisional Application 62568298 · Oct 4, 2017
Provisional Application 62568291 · Oct 4, 2017
Related Publication 20230153355A1 · May 18, 2023