US 11,055,140 B2
Platform for hierarchy cooperative computing
Jason Crabtree, Vienna, VA (US); and Andrew Sellers, Monument, CO (US)
Assigned to QOMPLX, Inc., Tysons, VA (US)
Filed by QOMPLX, Inc., Tysons, VA (US)
Filed on Dec. 18, 2019, as Appl. No. 16/718,906.
Application 16/718,906 is a continuation of application No. 15/879,182, filed on Jan. 24, 2018, granted, now 10,514,954.
Application 15/879,182 is a continuation in part of application No. 15/850,037, filed on Dec. 21, 2017.
Application 15/850,037 is a continuation in part of application No. 15/673,368, filed on Aug. 9, 2017.
Application 15/673,368 is a continuation in part of application No. 15/376,657, filed on Dec. 13, 2016, granted, now 10,402,906.
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.
Application 15/237,625 is a continuation in part of application No. 15/206,195, filed on Jul. 8, 2016.
Application 15/206,195 is a continuation in part of application No. 15/186,453, filed on Jun. 18, 2016.
Application 15/186,453 is a continuation in part of application No. 15/166,158, filed on May 26, 2016.
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.
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.
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.
Application 14/986,536 is a continuation in part of application No. 14/925,974, filed on Oct. 28, 2015, abandoned.
Application 14/986,536 is a continuation in part of application No. 16/718,906.
Application 16/718,906 is a continuation in part of application No. 15/489,716, filed on Apr. 17, 2017.
Application 15/489,716 is a continuation in part of application No. 15/409,510, filed on Jan. 18, 2017.
Application 15/409,510 is a continuation in part of application No. 15/379,899, filed on Dec. 15, 2016.
Prior Publication US 2020/0233710 A1, Jul. 23, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/46 (2006.01); G06F 9/50 (2006.01); G06N 5/02 (2006.01); G06Q 10/06 (2012.01); G06Q 30/02 (2012.01); G06Q 40/04 (2012.01)
CPC G06F 9/5011 (2013.01) [G06N 5/025 (2013.01); G06Q 10/067 (2013.01); G06Q 30/0201 (2013.01); G06Q 30/0205 (2013.01); G06Q 40/04 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A system for hierarchical cooperative computing, comprising:
a computing device comprising a memory and a processor; and
a vector definition service platform comprising a first plurality of programming instructions stored in the memory and operating on the processor, wherein the first plurality of programming instructions, when operating on the processor, causes the computing device to:
receive a user-submitted request comprising a cooperative computing request and a pre-defined constraint; and
compile the user-submitted request into a vector using a model definition language;
a rules engine comprising a second plurality of programming instructions stored in the memory and operating on the processor, wherein the second plurality of programming instructions, when operating on the processor, causes the computing device to:
retrieve the vector from the vector definition service; and
evaluate the vector based on a predefined rule, data associated with the user-submitted request, and processing localities;
a parametric evaluator comprising a third plurality of programming instructions stored in the memory and operating on the processor, wherein the third plurality of programming instructions, when operating on the processor, causes the computing device to:
parameterize the vector based at least on an intended purpose of the user-submitted request and the predefined constraint of the user-submitted request; and
generate at least a run from the parameterized vector; and
an optimizer comprising a fourth plurality of programming instructions stored in the memory and operating on the processor, wherein the fourth plurality of programming instructions, when operating on the processor, causes the computing device to:
retrieve the run from the parametric evaluator; and
determine an optimal plan for executing the user-submitted request based on the run, wherein the optimal plan includes executing the user-submitted request in an optimal processing locality of the processing localities, and wherein the optimal processing locality is determined based at least on the status of connections from the system to the optimal processing locality and availability of computational resources of the optimal processing locality.