Composing and executing workflows made up of functional pluggable building blocks
US-9436507-B2 · Sep 6, 2016 · US
US10026041B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10026041-B2 |
| Application number | US-201414576249-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 19, 2014 |
| Priority date | Jul 12, 2014 |
| Publication date | Jul 17, 2018 |
| Grant date | Jul 17, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An interoperable platform that provides a way to automatically compose and execute even complex workflows without writing code is described. A set of pre-built functional building blocks can be provided. The building blocks perform data transformation and machine learning functions. The functional blocks have few well known plug types. The building blocks can be composed to build complex compositions. Interoperability between data formats, metadata schema and interfaces to machine learning (ML) functions and trained machine learning models can be provided with no loss of information. A cloud runtime environment can be provided in which the composed workflows can be hosted as REST API to run in production.
Opening claim text (preview).
What is claimed: 1. A computing device, comprising: at least one processor, and a memory connected to the at least one processor, wherein the at least one memory and the at least one processor are respectively configured to store and execute instructions for causing the computing device to perform operations, the operations comprising: receiving one or more modules of a machine learning workflow; composing the one or more received modules of the machine learning workflow into at least a portion of a machine learning application; and processing a machine learning dataset with the composed machine learning application, the processing of the machine learning dataset including: automatically interfacing the dataset, at runtime, between a first execution environment configured to execute machine learning code in a first programming language and a second execution environment configured to execute code written in a second programming language; and interfacing metadata schema, at runtime, between the first execution environment configured to execute the machine learning code in the first programming language and the second execution environment configured to execute the code written in the second programming language. 2. The computing device of claim 1 , wherein interfacing the metadata schema comprises: translating a machine learning-specific schema for the first execution environment to a schema for the second execution environment without loss of information. 3. The computing device of claim 1 , wherein interfacing the metadata schema comprises: translating a machine learning-specific schema associated with the second execution environment to a schema associated with the first machine learning execution environment without loss of information. 4. The computing device of claim 1 , wherein the second programming language is at least one of R, JAVA, or Python. 5. The computing device of claim 4 , wherein the operations further comprise: converting an R factor data type associated with the second programming language to a categorical data type associated with the first programming language. 6. The computing device of claim 4 , wherein the operations further comprise: converting an R missing value type associated with the second programming language to a missing value associated with the first programming language. 7. The computing device of claim 3 , wherein the machine-learning specific metadata is not lost when execution passes from the first execution environment to the second execution environment. 8. The computing device of claim 3 , wherein the machine-learning schema comprises metadata about feature columns, labels, scores, and weights. 9. A method, comprising: receiving one or more modules of a machine learning workflow; composing the one or more received modules of the machine learning workflow into at least a portion of a machine learning application; and processing a machine learning dataset with the composed machine learning application, the processing of the machine learning dataset including: automatically interfacing the dataset, at runtime, between a first execution environment configured to execute machine learning code in a first programming language and a second execution environment configured to execute code written in a second programming language; and interfacing metadata schema, at runtime, between the first execution environment configured to execute the machine learning code in the first programming language and the second execution environment configured to execute the code written in the second programming language. 10. The method of claim 9 , wherein the second programming language is R. 11. The method of claim 9 , wherein the second programming language is Python. 12. The method of claim 9 , wherein the second programming language is JAVA. 13. The method of claim 9 , further comprising: converting data types of the second programming language of the second execution environment into .NET data types in accordance with an extensible data table. 14. A method, including: composing the one or more modules of a machine learning workflow into at least a portion of a machine learning application; automatically interfacing a machine learning dataset, while processing the machine learning dataset with the composed machine learning application running on an interoperability platform, between a first execution environment configured to execute machine learning code in a first language for the composed machine learning application and a second execution environment configured to execute code written in a second language for the composed machine learning application; and automatically interfacing metadata, while processing the machine learning dataset with the composed machine learning application running on the interoperability platform, between the first execution environment configured to execute the machine learning code in the first language for the composed machine learning application and the second execution environment configured to execute the code written in the second language for the composed machine learning application. 15. The method of claim 14 , further comprising: mapping a scripting language schema of the first language to a schema in a data table in the second language. 16. The method of claim 14 , further comprising: mapping a scripting language schema to a schema in a data table in a machine learning execution environment, wherein the scripting language is R. 17. The method of claim 14 , further comprising: mapping a scripting language schema to a schema in a data table in a machine learning execution environment, wherein the scripting language is Python. 18. The method of claim 14 , further comprising mapping a scripting language schema to a schema in a data table in a machine learning execution environment, wherein the data table is extensible. 19. The method of claim 14 , further comprising: mapping a scripting language schema to a schema in a data table in a machine learning execution environment, wherein the data types of the scripting language are converted into .NET data types in accordance with an extensible data table. 20. The method of claim 14 , further comprising: wrapping the scripting language code in a .NET wrapper.
via adapters, e.g. between incompatible applications · CPC title
Executing subprograms · CPC title
Logic programming, e.g. PROLOG programming language · CPC title
Plug-ins; Add-ons · CPC title
Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.