Patent application EP20158806A (EP), filed 2020-02-21
Publication number: EP3745257A1
Title: METHOD AND APPARATUS FOR EXECUTING WORKFLOW INCLUDING FUNCTIONS WRITTEN IN HETEROGENEOUS PROGRAMING LANGUAGE
Abstract: The inventive concept relates to a method and device for executing a workflow including functions written in a heterogeneous programming language. The method for executing heterogeneous language functions comprises obtaining a workflow that includes a call for a first function written in a first programming language and a call for a second function written in a second programming language, wherein input data of the second function includes output data of the first function, and setting, in response to completing execution of the first function, the output data of the first function in a format capable of being processed in the second programming language.
IPC codes: G06F  16/    25            A I
G06F   8/    34            A I
G06F   9/    50            A I
G06Q  10/    06            A I
Claims: number: 1
text: A method for executing heterogeneous language functions, the method being performed by a computing device, and comprising:
number: 2
text: The method of claim 1, wherein executing the workflow comprises comparing an execution time of a workflow including a first candidate function with an execution time of a workflow including a second candidate function, and executing a workflow calling a candidate function that takes a minimum execution time.
number: 3
text: The method of claim 2, wherein executing the workflow comprises, only in the case of an initial first time execution of the workflow, comparing the execution time of the workflow including the first candidate function with the execution time of the workflow including the second candidate function, and executing a candidate function included in a workflow that takes the minimum execution time.
number: 4
text: The method of claim 1, wherein obtaining the workflow comprises obtaining a workflow that includes a call for a functionality to perform a first function and a call for a function to perform a second functionality,
wherein executing the candidate function included in the workflow comprises executing one of a first candidate function and a second candidate function performing the first functionality, and executing one of a third candidate function and a fourth candidate function performing the second functionality, wherein a programming language of the first candidate function and a programming language of the second candidate function are different, and a programming language of the third candidate function and a programming language of the fourth candidate function are different.
number: 5
text: The method of claim 4, wherein executing one of the third candidate function and the fourth candidate function comprises obtaining a workflow including one of the first candidate function or the second candidate function and one of the third candidate function or the fourth candidate function, wherein the obtained workflow takes a minimum execution time.
number: 6
text: The method of claim 5, wherein obtaining the workflow including one of the first candidate function or the second candidate function and one of the third candidate function or the fourth candidate function comprises obtaining the workflow including one of the first candidate function or the second candidate function and one of the third candidate function or the fourth candidate function by using an optimization algorithm.
number: 7
text: A computing device, comprising:
number: 8
text: The device of claim 7, wherein the instruction to obtain the workflow comprises an instruction to obtain a workflow including a call for a function to perform a first functionality and a call for a function to perform a second functionality,
wherein an instruction to execute the candidate function included in the workflow comprises an instruction to execute one of a first candidate function and a second candidate function performing the first functionality, and to execute one of a third candidate function and a fourth candidate function performing the second functionality, wherein a programming language of the first candidate function and a programming language of the second candidate function are different, and a programming language of the third candidate function and a programming language of the fourth candidate function are different.
number: 9
text: The method of claim 8, wherein the instruction to execute one of the third candidate function and the fourth candidate function comprises an instruction to obtain a workflow including one of the first candidate function or the second candidate function and one of the third candidate function or the fourth candidate function, wherein the obtained workflow takes a minimum execution time.
number: 10
text: The device of claim 9, wherein the instruction to obtain the workflow including one of the first candidate function or the second candidate function and one of the third candidate function or the fourth candidate function, wherein the obtained workflow takes the minimum execution time, comprises an instruction to obtain the workflow including one of the first candidate function or the second candidate function and one of the third candidate function or the fourth candidate function by using an optimization algorithm.
number: 11
text: The device of claim 7, wherein the instruction to execute the workflow comprise comparing an execution time of a workflow including a first candidate function with an execution time of a workflow including a second candidate function, and executing a workflow calling a candidate function that takes a minimum execution time.
number: 12
text: The device of claim 11, wherein the instruction to execute the workflow comprise an instruction, only in the case of an initial first time execution of the workflow, to compare the execution time of the workflow including the first candidate function with the execution time of the workflow including the second candidate function, and to execute a candidate function included in a workflow that takes the minimum execution time.
Office action: search_report, dated 2020-12-02
Rejection reasons: novelty_epc_54
Prior art cited: ref_id: EP3267310A1
ref_type: patent
severity: background
ref_id: US7886264B1
ref_type: patent
severity: background
ref_id: US2017090882A1
ref_type: patent
severity: background
ref_id: - SHAWN BOWERS ET AL: "Actor-Oriented Design of Scientific Workflows", 2005, CONCEPTUAL MODELING - ER 2005 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, PAGE(S) 369 - 384, ISBN: 978-3-540-29389-7, XP019021937
ref_type: npl
severity: background
ref_id: EP3267310
ref_type: patent
severity: novelty_destroying
Final disposition: pending (2020-12-02)