IP Library Granted Patent US 12,293,212
Granted Patent B2
US 12,293,212 · App. 18/535,241 · Granted May 6, 2025

Analytic model execution engine with instrumentation for granular performance analysis for metrics and diagnostics for troubleshooting

Inventors: Stuart Bailey (San Jose, CA); Matthew Mahowald (Chicago, IL); Maksym Kharchenko (Kyiv, UA)
Assignee: ModelOp, Inc.
G06F9/45558G06F8/31G06F8/51G06F8/60G06F9/455G06F9/45504G06F9/5077G06F8/30G06N5/01G06N20/00G06N20/20G06Q10/067
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 12,293,212
App. No.
18/535,241
Granted
May 6, 2025
Kind
B2
Abstract

At an interface an analytic model for processing data is received. The analytic model is inspected to determine a language, an action, an input type, and an output type. A virtualized execution environment is generated for an analytic engine that includes executable code to implement the analytic model for processing an input data stream.

Claims (45)

1. A system, comprising:

a processor configured to:

receive, at an interface of the system, an analytic model for processing an input data stream, wherein the analytic model is implemented using a dynamically scalable container;

generate a virtualized execution environment (VEE) for an analytic engine that includes executable code to implement the analytic model, wherein the VEE implements a concurrency model and includes a sensor for instrumenting the VEE for the analytic engine;

dynamically scale the VEE based on the concurrency model and a measurement associated with the sensor;

deploy additional containers for the analytic engine; and

execute the additional containers in parallel; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system recited in claim 1 , wherein the additional containers are executed in parallel for an R model.

3. The system recited in claim 1 , wherein the container is a portable and independently executable microservice.

4. The system recited in claim 1 , wherein the analytic model includes an input configuration schema that specifies a type of the input data stream, an output configuration schema that specifies a type of an output data stream, and an I/O descriptor abstraction that specifies a stream type.

5. The system recited in claim 1 , wherein the VEE for the analytic engine includes a plurality of runtime engines that each supports a distinct analytic model programming language.

6. The system recited in claim 1 , wherein the analytic model includes an input configuration schema that specifies a type of the input data stream, an output configuration schema that specifies a type of an output data stream, and a stream configuration descriptor that specifies a stream type, and wherein the processor is further configured to:

bind the analytic model and the stream configuration descriptor;

receive the input data stream at a stream processor;

process the input data stream using the executable code that implements the analytic model, wherein the stream processor enforces the type of the input data stream; and

generate the output data stream using the stream processor based on the type of the output data stream, wherein the output data stream includes a score and/or a metric.

7. The system recited in claim 1 , wherein the interface for receiving the analytic model for processing data includes an Application Programming Interface (API), a Command Line Interface (CLI), and/or a dashboard interface.

8. The system recited in claim 1 , wherein the analytic model for processing data is coded in a first programming language, and wherein the VEE includes a plurality of runtime engines that each supports a distinct analytic model programming language, and wherein the processor is further configured to:

translate the first programming language of the analytic model for processing data to a first analytic model programming language to generate the executable code to implement the analytic model for processing the input data stream; and

route the executable code to implement the analytic model for processing the input data stream to one of the plurality of runtime engines based on the first analytic model language.

9. The system recited in claim 1 , wherein the

sensor provides metrics for monitoring, testing, statistically analyzing, and/or debugging a performance of the analytic model.

10. The system recited in claim 1 , wherein the

analytic model is associated with code points for one or more of the following: state initialization, concurrency controls, state management, safety and reliability controls, beginning and end of model execution framework for input and output of data, and post-execution clean-up.

11. A method, comprising:

receiving, at an interface of a system, an analytic model for processing an input data stream, wherein the analytic model is implemented using a dynamically scalable container;

generating a virtualized execution environment for an analytic engine that includes executable code to implement the analytic model, wherein the VEE implements a concurrency model and includes a sensor for instrumenting the VEE for the analytic engine;

dynamically scaling the VEE based on the concurrency model and a measurement associated with the sensor;

deploying additional containers for the analytic engine; and

executing the additional containers in parallel.

12. The method of claim 11 , wherein the additional containers are executed in parallel for an R model.

13. The method of claim 11 , wherein the container is a portable and independently executable microservice.

14. The method of claim 11 , wherein the analytic model includes an input configuration schema that specifies a type of the input data stream, an output configuration schema that specifies a type of an output data stream, and a stream configuration descriptor that specifies a stream type.

15. The method of claim 11 , wherein the VEE for the analytic engine includes a plurality of runtime engines that each supports a distinct analytic model language.

16. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving, at an interface of a system, an analytic model for processing an input data stream, wherein the analytic model is implemented using a dynamically scalable container;

generating a virtualized execution environment (VEE) for an analytic engine that includes executable code to implement the analytic model, wherein the VEE implements a concurrency model and includes a sensor for instrumenting the VEE for the analytic engine;

dynamically scaling the VEE based on the concurrency model and a measurement associated with the sensor;

deploying additional containers for the analytic engine; and

executing the additional containers in parallel.

17. The computer program product recited in claim 16 , wherein the additional containers are executed in parallel for an R model.

18. The computer program product recited in claim 16 , wherein the container is a portable and independently executable microservice.

19. The computer program product recited in claim 16 , wherein the analytic model includes an input configuration schema that specifies a type of the input data stream, an output configuration schema that specifies a type of an output data stream, and a stream configuration descriptor that specifies a stream type.

20. The computer program product recited in claim 16 , wherein the VEE for the analytic engine includes a plurality of runtime engines that each supports a distinct analytic model language.

Continuity (6)
Continuation 18070168 · Nov 28, 2022
Continuation 17074271 · Oct 19, 2020
Continuation 16782904 · Feb 5, 2020
Continuation 15721310 · Sep 29, 2017
Provisional Application 62542218 · Aug 7, 2017
Related Publication 20240176646A1 · May 30, 2024
References Cited (46)
US 8910124B1 · Bhansali · 2014 [cited by applicant]
US 9306965B1 · Grossman · 2016 [cited by examiner]
US 9400889B2 · Chess · 2016 [cited by applicant]
US 9667725B1 · Khanduja · 2017 [cited by applicant]
US 9798788B1 · Reiner · 2017 [cited by applicant]
US 20020062475A1 · Iborra · 2002 [cited by applicant]
US 20030163603A1 · Fry · 2003 [cited by applicant]
US 20090025009A1 · Brunswig · 2009 [cited by applicant]
US 20090119275A1 · Chen · 2009 [cited by examiner]
US 20100325206A1 · Dayal · 2010 [cited by examiner]
US 20100332968A1 · Squillace · 2010 [cited by applicant]
US 20110307871A1 · Branda · 2011 [cited by applicant]
US 20120257255A1 · Rowson · 2012 [cited by applicant]
US 20120304172A1 · Greifeneder · 2012 [cited by applicant]
US 20130007720A1 · Cai · 2013 [cited by applicant]
US 20130152080A1 · Sachindran · 2013 [cited by applicant]
US 20130317803A1 · Manley · 2013 [cited by examiner]
US 20140012799A1 · Eberlein · 2014 [cited by examiner]
US 20140236564A1 · Biberstein · 2014 [cited by applicant]
US 20140278337A1 · Branson · 2014 [cited by applicant]
US 20140330745A1 · Hampapur · 2014 [cited by applicant]
US 20140372167A1 · Hillier · 2014 [cited by applicant]
US 20150005903A1 · Worek · 2015 [cited by examiner]
US 20150082284A1 · Badea · 2015 [cited by applicant]
US 20160048388A1 · Eksten · 2016 [cited by applicant]
US 20160182315A1 · Salokanto · 2016 [cited by applicant]
US 20160196204A1 · Allen · 2016 [cited by applicant]
US 20160270659A1 · Gandhi · 2016 [cited by examiner]
US 20160292591A1 · Guirguis · 2016 [cited by applicant]
US 20160292598A1 · Kumar · 2016 [cited by applicant]
US 20170006135A1 · Siebel · 2017 [cited by applicant]
US 20170034016A1 · Carroll · 2017 [cited by applicant]
US 20170084295A1 · Tsiartas · 2017 [cited by examiner]
US 20170104780A1 · Zaffarano · 2017 [cited by applicant]
US 20170111236A1 · Bielenberg · 2017 [cited by applicant]
US 20170178027A1 · Duggan · 2017 [cited by applicant]
US 20180027080A1 · Yang · 2018 [cited by applicant]
US 20180121221A1 · Ahuja · 2018 [cited by applicant]
US 20180157517A1 · Dong · 2018 [cited by applicant]
US 20180189743A1 · Balasubramanian · 2018 [cited by applicant]
US 20180276256A1 · Sarkar · 2018 [cited by applicant]
US 20180293511A1 · Bouillet · 2018 [cited by applicant]
WO 2017025203 · 2017 [cited by applicant]
Almeida et al., “Hydra: An Ubiquitous Application for Service Rerouting,” 2012 9th International Conference on Ubiquitous u Intelligence and Computing and 9th International Conference on Autonomic and Trusted Computing,… [cited by applicant]
Koliogeorgi et al., “Aegle's Cloud Infrastructure for Resource Monitoring and Containerized Accelerated Analytics,” 2017 IEEE Computer Society Annual Symposium on VLSI (ISVLSI), Bochum, 2017, pp. 362-367, doi: 10.1109/I… [cited by applicant]
Nastic et al., “PatRICIA—A Novel Programming Model for IoT Applications on Cloud Platforms,” 2013 IEEE 6th International Conference on Service-Oriented Computing and Applications, Koloa, HI, 2013, pp. 53-60, doi: 10.110… [cited by applicant]