Interoperable machine learning platform

US10026041B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10026041-B2
Application numberUS-201414576249-A
CountryUS
Kind codeB2
Filing dateDec 19, 2014
Priority dateJul 12, 2014
Publication dateJul 17, 2018
Grant dateJul 17, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10026041B2 cover?
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 compos…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06N99/005. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 17 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).