IP Library Granted Patent US 10,860,365
Granted Patent B2
US 10,860,365 · App. 16/782,904 · Granted Dec 8, 2020

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/45504G06N5/003G06N20/00G06N20/20G06F8/30G06Q10/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 10,860,365
App. No.
16/782,904
Granted
Dec 8, 2020
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 (44)

1. A system, comprising:

a processor configured to:

receive at an interface an analytic model for processing data, wherein the analytic model for processing data is coded in a first programming language;

inspect the analytic model to determine a language, an action, an input type, and an output type;

generate a virtualized execution environment for an analytic engine that includes executable code to implement the analytic model for processing an input data stream, wherein the virtualized execution environment includes a plurality of runtime engines that each supports a distinct analytic model programming language;

add a sensor to instrument the virtualized execution environment for the analytic engine, wherein the sensor provides metrics for monitoring, testing, statistically analyzing, and/or debugging a performance of the analytic model;

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;

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 programming language; and

inspect the analytic model to determine 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; and

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

2. The system recited in claim 1 , wherein the analytic model is implemented using a container to provide the virtualized execution environment for the analytic engine.

3. The system recited in claim 1 , wherein the analytic model is implemented using a container to provide the virtualized execution environment for the analytic engine, and 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 an input type, an output configuration schema that specifies an output type, and an I/O descriptor abstraction that specifies a stream type.

5. The system recited in claim 1 , wherein the virtualized execution environment 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 an input type, an output configuration schema that specifies an output type, and a stream configuration descriptor that specifies a stream type, and wherein the processor is further configured to:

bind the analytic model and a stream 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 input type; and

generate an output data stream using the stream processor based on the output type, 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. A method, comprising:

receiving at an interface an analytic model for processing data; data, wherein the analytic model for processing data is coded in a first programming language;

inspecting the analytic model to determine a language, an action, an input type, and an output type;

generating a virtualized execution environment for an analytic engine that includes executable code to implement the analytic model for processing an input data stream, wherein the virtualized execution environment includes a plurality of runtime engines that each supports a distinct analytic model programming language;

adding a sensor to instrument the virtualized execution environment for the analytic engine, wherein the sensor provides metrics for monitoring, testing, statistically analyzing, and/or debugging a performance of the analytic model;

translating 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;

routing 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 programming language; and

inspecting the analytic model to determine 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.

9. The method of claim 8 , wherein the analytic model is implemented using a container to provide the virtualized execution environment for the analytic engine.

10. The method of claim 8 , wherein the analytic model is implemented using a container to provide the virtualized execution environment for the analytic engine, and wherein the container is a portable and independently executable microservice.

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

12. The method of claim 8 , wherein the virtualized execution environment for the analytic engine includes a plurality of runtime engines that each supports a distinct analytic model language.

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

receiving at an interface an analytic model for processing data, wherein the analytic model for processing data is coded in a first programming language;

inspecting the analytic model to determine a language, an action, an input type, and an output type;

generating a virtualized execution environment for an analytic engine that includes executable code to implement the analytic model for processing an input data stream, wherein the virtualized execution environment includes a plurality of runtime engines that each supports a distinct analytic model programming language;

adding a sensor to instrument the virtualized execution environment for the analytic engine, wherein the sensor provides metrics for monitoring, testing, statistically analyzing, and/or debugging a performance of the analytic model;

translating 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;

routing 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 programming language; and

inspecting the analytic model to determine 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.

14. The computer program product recited in claim 13 , wherein the analytic model is implemented using a container to provide the virtualized execution environment for the analytic engine.

15. The computer program product recited in claim 13 , wherein the analytic model is implemented using a container to provide the virtualized execution environment for the analytic engine, and wherein the container is a portable and independently executable microservice.

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

17. The computer program product recited in claim 13 , wherein the virtualized execution environment for the analytic engine includes a plurality of runtime engines that each supports a distinct analytic model language.

Continuity (3)
Continuation 15721310 · Sep 29, 2017
Provisional Application 62542218 · Aug 7, 2017
Related Publication 20200241912A1 · Jul 30, 2020