US 11,886,507 B2
Multi-tenant knowledge graph databases with dynamic specification and enforcement of ontological data models
Jason Crabtree, Vienna, VA (US); and Richard Kelley, Woodbridge, VA (US)
Assigned to QOMPLX LLC, New York, NY (US)
Filed by QOMPLX, INC., Tysons, VA (US)
Filed on Nov. 7, 2022, as Appl. No. 17/982,457.
Application 17/982,457 is a continuation of application No. 16/864,133, filed on Apr. 30, 2020, granted, now 11,494,665.
Application 16/864,133 is a continuation in part of application No. 15/847,443, filed on Dec. 19, 2017, abandoned.
Application 15/847,443 is a continuation in part of application No. 15/790,457, filed on Oct. 23, 2017, granted, now 10,884,999, issued on Jan. 5, 2021.
Application 15/790,457 is a continuation in part of application No. 15/790,327, filed on Oct. 23, 2017, granted, now 10,860,951, issued on Dec. 8, 2020.
Application 15/790,327 is a continuation in part of application No. 15/616,427, filed on Jun. 7, 2017, abandoned.
Application 16/864,133 is a continuation in part of application No. 15/847,443.
Application 15/847,443 is a continuation in part of application No. 15/616,427, filed on Jun. 7, 2017, abandoned.
Application 15/616,427 is a continuation in part of application No. 14/925,974, filed on Jan. 28, 2015, abandoned.
Application 16/864,133 is a continuation in part of application No. 15/847,443.
Application 15/847,443 is a continuation in part of application No. 15/489,716, filed on Apr. 17, 2017, abandoned.
Application 15/489,716 is a continuation in part of application No. 15/409,510, filed on Jan. 18, 2017, abandoned.
Application 15/409,510 is a continuation in part of application No. 15/379,899, filed on Dec. 15, 2016, abandoned.
Application 15/379,899 is a continuation in part of application No. 15/376,657, filed on Dec. 13, 2016, granted, now 10,402,906, issued on Sep. 3, 2019.
Application 15/376,657 is a continuation in part of application No. 15/237,625, filed on Aug. 15, 2016, granted, now 10,248,910, issued on Apr. 2, 2019.
Application 15/237,625 is a continuation in part of application No. 15/206,195, filed on Jul. 8, 2016, abandoned.
Application 15/206,195 is a continuation in part of application No. 15/186,453, filed on Jun. 18, 2016, abandoned.
Application 15/186,453 is a continuation in part of application No. 15/166,158, filed on May 26, 2016, abandoned.
Application 15/166,158 is a continuation in part of application No. 15/141,752, filed on Apr. 28, 2016, granted, now 10,860,962, issued on Dec. 8, 2020.
Application 15/790,327 is a continuation in part of application No. 15/141,752.
Application 15/141,752 is a continuation in part of application No. 15/091,563, filed on Apr. 5, 2016, granted, now 10,204,147, issued on Feb. 12, 2019.
Application 15/091,563 is a continuation in part of application No. 14/986,536, filed on Dec. 31, 2015, granted, now 10,210,255, issued on Feb. 19, 2019.
Application 14/986,536 is a continuation in part of application No. 14/925,974.
Claims priority of provisional application 62/568,298, filed on Oct. 4, 2017.
Claims priority of provisional application 62/568,291, filed on Oct. 4, 2017.
Prior Publication US 2023/0153355 A1, May 18, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/90 (2019.01); G06F 16/901 (2019.01); G06N 5/02 (2023.01); G06F 16/28 (2019.01); G06F 16/22 (2019.01); G06F 16/2458 (2019.01); G06F 18/20 (2023.01)
CPC G06F 16/9024 (2019.01) [G06F 16/2272 (2019.01); G06F 16/2458 (2019.01); G06F 16/284 (2019.01); G06F 18/29 (2023.01); G06N 5/02 (2013.01)] 19 Claims
OG exemplary drawing
 
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.