Compilation and execution of source code as services
AssigneeMicrosoft Technology Licensing, LLC
InventorsRobert Lovejoy Goodwin, Janaina Barreiro Gambaro Bueno, Sitaramaswamy V. Lanka, Dragos Barac, Javier Garcia Flynn, Pedram Faghihi Rezaei, Karthik Pattabiraman
Life of this patent
Estimating the term…
Abstract
This document relates to compilation of source code into services. One example method involves receiving input source code, identifying data dependencies in the input source code, and identifying immutability points in the input source code based at least on the data dependencies. The example method also involves converting at least some of the input source code occurring after the immutability points to one or more service modules.
Claims21
A method performed by a computing device, the method comprising:
- receiving input source code specifying a particular order to perform multiple operations involving calling a particular function with data items as input parameters;
- identifying data dependencies in the input source code;
- based at least on the data dependencies, identifying immutability points in the input source code;
- converting at least some of the input source code occurring after the immutability points to one or more service modules;
- and
- generating a workflow module, wherein, when compiled with the one or more service modules and executed at runtime with the one or more service modules, the workflow module is configured to designate respective service tasks that execute the one or more service modules and coordinate runtime processing by the respective service tasks,
- the workflow module allowing the respective service tasks to perform the multiple operations by calling the particular function with the data items as input parameters in a different order than the particular order specified by the input source code.
A system comprising:
- a hardware processing unit;
- and
- a storage resource storing computer-readable instructions which, when executed by the hardware processing unit, cause the hardware processing unit to:
- receive input source code specifying a particular order to perform multiple operations involving calling a particular function with data items as input parameters;
- identify data dependencies in the input source code;
- based at least on the data dependencies, identify immutability points in the input source code;
- convert at least some of the input source code occurring after the immutability points to one or more service modules;
- and
- generate a workflow module, wherein, when compiled with the one or more service modules and executed at runtime with the one or more service modules, the workflow module is configured to designate respective service tasks that execute the one or more service modules and coordinate runtime processing by the respective service tasks,
- the workflow module allowing the respective service tasks to perform the multiple operations by calling the particular function with the data items as input parameters in a different order than the particular order specified by the input source code.
A computer-readable storage medium storing executable instructions which, when executed by a hardware processing unit, cause the hardware processing unit to perform acts comprising:
- receiving input source code specifying a particular order to perform multiple operations
- involving calling a particular function with data items as input parameters;
- identifying data dependencies in the input source code;
- based at least on the data dependencies, identifying immutability points in the input source code;
- converting at least some of the input source code occurring after the immutability points to one or more service modules;
- and
- generating a workflow module, wherein, when compiled with the one or more service modules and executed at runtime with the one or more service modules, the workflow module designates respective service tasks that execute the one or more service modules and coordinates runtime processing by the respective service tasks,
- the workflow module allowing the respective service tasks to perform the multiple operations by calling the particular function with the data items as input parameters in a different order than the particular order specified by the input source code.
Dependencies are inferred from the claim text.