Monad based cloud computing
AssigneeMicrosoft Corporation
InventorsZijian Zheng, Shengquan Yan, Peng Yu
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for using monads to facilitate complex computation tasks in a cloud computing environment. In particular, monads can be employed to facilitate creation and execution of data mining jobs for large data sets. Monads can allow for improved error handling for complex computation tasks. Monads can also facilitate identification of opportunities for improving the efficiency of complex computations.
Claims16
One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for using monads to facilitate data mining tasks, comprising:
- obtaining a plurality of functions in a relational language;
- transforming, by a processor, the plurality of functions to monadic form;
- arranging the plurality of transformed function monads to create a data mining workflow;
- converting an input data source to a monadic form;
- performing, by a processor, the data mining workflow on the converted input data source, including
- identifying a workflow computation that is repeated in a plurality of transformed function monads within the data mining workflow, the workflow computation being performed on at least a portion of the converted input data source;
- performing a single instance of the repeated workflow computation on the at least a portion of the converted input data source to generate an output from repeated workflow computation;
- and
- associating the output from the repeated workflow computation with the plurality of transformed function monads containing the repeated workflow computation;
- and
- storing the output from the data mining workflow.
A method for using monads to facilitate data mining tasks, comprising:
- obtaining a plurality of functions in a relational language;
- transforming, by processor, the plurality of functions to monadic form;
- arranging the plurality of transformed function monads to create one or more data mining workflows;
- wrapping at least one data mining workflow in an error handling monad;
- constructing a job monad including the wrapped at least one data mining workflow;
- converting an input data source to a monadic form;
- performing, by a processor, the data mining workflow on the converted input data source, the performing of the data mining workflow comprising:
- identifying a workflow computation that is repeated in a plurality of transformed function monads within the wrapped at least one data mining workflow, the workflow computation being performed on at least a portion of the converted input data source;
- performing a single instance of the repeated workflow computation on the at least a portion of the converted input data source to generate an output from repeated workflow computation;
- and
- associating the output from the repeated workflow computation with the plurality of transformed function mounds containing the repeated workflow computation;
- and
- storing the output from the data mining workflow.
Dependencies are inferred from the claim text.