Information processing device, information processing method, and program

JP7900703B2Active Publication Date: 2026-08-05NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NIPPON TELEGRAPH & TELEPHONE CORP
Filing Date
2022-10-25
Publication Date
2026-08-05

AI Technical Summary

Benefits of technology

【0011】 本発明によれば、管理主体の異なるデータとファンクションの効果的な利用を容易にできる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007900703000001
    Figure 0007900703000001
  • Figure 0007900703000002
    Figure 0007900703000002
  • Figure 0007900703000003
    Figure 0007900703000003
Patent Text Reader

Abstract

A module creation platform 10 comprises: a data catalog 11 that holds schema information of data as a catalog; a function catalog 12 that holds input / output information of a function as a catalog; a management unit 16 that manages a data conversion module which outputs data in a format indicated by schema information of the data, a function conversion module which receives input of data in a format indicated by input / output information of a function and which performs substitution for an argument of the function, and a mapping module which maps data obtained by output from the data conversion module to arguments of a function and which outputs data in a format indicated by input / output information of the function; and a flow creation unit 17 that assists creation of a flow in which the data conversion module, the function conversion module, and the mapping module are connected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, an information processing method, and a program.

Background Art

[0002] In order to solve social issues such as the realization of a resource recycling society, initiatives in which multiple companies cooperate have become active, and inter-organizational data circulation to support these initiatives is also starting. To improve the efficiency of data circulation, there are products for cataloging schema information (data models) of data (Non-Patent Document 1).

[0003] In addition to data circulation, it is expected that by circulating functions (also referred to as data processing algorithms and data processing modules) that process data and multiplying data and functions, new business creation and the solution of social issues can be achieved.

[0004] However, regarding sensitive data such as trade secrets possessed by each organization and functions rich in know-how, there are concerns about unexpected use and leakage of data and functions after provision.

[0005] As a technique for technically eliminating the above concerns, data sandbox technology has been proposed. Data sandbox technology is a technology that allows mutual data and functions to be multiplied and used without disclosure. Specifically, in data sandbox technology, a data sandbox, which is an execution environment isolated from the outside, is created, data and functions are encrypted and placed in the data sandbox, and after decrypting in the data sandbox, the data is processed by the function. After the processing result is disclosed to the disclosure destination agreed in advance between the data provider and the function provider, the data sandbox is deleted together with the data and the function. As a result, it is possible to obtain the result of processing data with a function while keeping the data and the function confidential.

Prior Art Documents

[0006] [Non-Patent Document 1] "Apache Atlas - Data Governance and Metadata framework for Hadoop," Internet (URL: https: / / atlas.apache.org / # / ) [Overview of the project] [Problems that the invention aims to solve]

[0007] To combine data and functions managed by different entities, data users need to understand not only information about the data but also information about the functions, and convert the data format to match the functions.

[0008] While products exist for cataloging data schema information (Non-Patent Document 1), there is no established method for cataloging and handling information about functions (e.g., information about arguments and outputs), making it difficult to link functions with data managed by different entities.

[0009] This invention has been made in view of the above, and aims to facilitate the effective use of data and functions managed by different entities. [Means for solving the problem]

[0010] An information processing apparatus according to one aspect of the present invention includes a data catalog that holds schema information for one or more data as a catalog, a function catalog that holds input / output information for one or more functions as a catalog, a data conversion module that outputs the data in the format indicated by the schema information of the data, a function conversion module that inputs the data in the format indicated by the input / output information of the function and assigns it to the arguments of the function, and a management unit that manages a mapping module that maps the data obtained from the output of the data conversion module to each of the arguments of the function and outputs the data in the format indicated by the input / output information of the function. The system includes a flow creation unit that assists in creating a flow connecting the data conversion module, the function conversion module, and the mapping module, and a processing unit that reads the data and the function, executes the flow, and processes the data with the function. . [Effects of the Invention]

[0011] According to the present invention, it is possible to facilitate the effective use of data and functions managed by different entities. [Brief explanation of the drawing]

[0012] [Figure 1] This figure shows an example of the configuration of the data utilization system of this embodiment. [Figure 2] Figure 2 is a flowchart illustrating an example of the process flow when a data provider provides data. [Figure 3] Figure 3 shows an example of the data. [Figure 4] Figure 4 shows an example of metadata for the data in Figure 3. [Figure 5] Figure 5 shows an example of a data conversion module that transforms the data in Figure 3. [Figure 6] Figure 6 is a flowchart showing an example of the processing flow for providing a function. [Figure 7] Figure 7 shows an example of a function. [Figure 8] Figure 8 shows an example of the metadata for the function in Figure 7. [Figure 9]FIG. 9 is a diagram showing an example of the function conversion module of FIG. 7. [Figure 10] FIG. 10 is a flowchart showing an example of the process flow in which data utilizers use data and functions. [Figure 11] FIG. 11 is a diagram showing an example of the mapping module. [Figure 12] FIG. 12 is a diagram showing an example of a flow. [Figure 13] FIG. 13 is a diagram showing an example of the process flow of the processing base. [Figure 14] FIG. 14 is a diagram showing variations of the module creator. [Figure 15] FIG. 15 is a diagram showing an example of the hardware configuration of the module creation base and the processing base.

MODE FOR CARRYING OUT THE INVENTION

[0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[0014] FIG. 1 is a diagram showing an example of the configuration of the data utilization system of the present embodiment. The data utilization system shown in the figure includes a module creation base 10 and a processing base 30.

[0015] The data provider stores the data to be provided in the data storage unit 32 of the processing base 30 and stores the metadata of the data in the data catalog 11 of the module creation base 10. Further, the data provider uses the module creation base 10 to create a data conversion module for using the data in the processing base 30. Details of the metadata and the data conversion module will be described later.

[0016] The function provider stores the function they provide in the function storage unit 33 of the processing platform 30, and also stores the function metadata in the function catalog 12 of the module creation platform 10. Furthermore, the function provider uses the module creation platform 10 to create a function conversion module for use in the processing platform 30. Details of the metadata and function conversion module will be described later.

[0017] The data user searches for the data and functions they want to combine from the data catalog 11 and the function catalog 12. The data user refers to the metadata of the data and the metadata of the functions and creates a mapping module that maps the data to the arguments of the functions. The data user connects the data transformation module, the function transformation module, and the mapping module to create a flow. The flow is the sequence of processes that they want to execute on the processing platform 30.

[0018] Before executing the flow on the processing platform 30, the data user proposes a policy to the data provider and function provider describing how they will use the relevant data and function, and how the data user will obtain the result of combining the data and function. An agreement on the policy is then formed between the data provider, function provider, and data user. The data user may be the same as the data provider or function provider. In other words, the data provider may use another party's function to process their own data, and the function provider may process another party's data with their own function. If the data user is the same as the data provider or function provider, an agreement on the policy is formed between the data provider and the function provider.

[0019] When a data user inputs a flow into the processing platform 30, a data sandbox 50 is created to execute the flow. Data and functions are loaded into the data sandbox 50 according to the policy and flow, transformed, processed by the functions, and the processing results are output. After processing, the data sandbox 50 is deleted along with the loaded data and functions. The following describes the parts of the module creation platform 10 and the processing platform 30.

[0020] The module creation platform 10 includes a data catalog 11, a function catalog 12, a data conversion module creation unit 13, a function conversion module creation unit 14, a mapping module creation unit 15, a management unit 16, and a flow creation unit 17.

[0021] The data catalog 11 holds metadata about the data provided by the data provider as a catalog. In addition to general metadata, the data catalog 11 stores schema information for the data. Schema information is information that defines the data structure. In this embodiment, the schema information stores a data model that holds the key, type, unit, and meaning for each item of the data. The data provided by the data provider is described in key-value format or can be converted to key-value format.

[0022] Function Catalog 12 holds metadata about functions provided by function providers as a catalog. In addition to general metadata, Function Catalog 12 stores input / output information about function arguments and outputs. Information about arguments is standardized to the same format as the data schema information. Specifically, Function Catalog 12 stores a data model for each argument that holds the key, type, unit, and meaning. The input / output information has the name of the key for each argument and the order information of that key (argument). For example, the input key is given as "num1", "num2", ... indicating the order of the arguments. Function Catalog 12 also stores a data model for output information that holds the type, unit, and meaning. Information about output may include a key (e.g., "output") for obtaining the processing result.

[0023] By disclosing and managing the same items in both the data schema information and the function input / output information, the interface connecting the two can be understood, making it easier to link them together.

[0024] The data conversion module creation unit 13 assists in the creation of data conversion modules. A data conversion module is a program that enables the acquisition of data in the format indicated by the metadata stored in the data catalog 11. In this embodiment, the interface between modules is defined by an msg object, and the data conversion module adapts the interface so that data values ​​can be acquired from the msg object using keys. When a key is specified in the output of the data conversion module, the data corresponding to the key can be obtained. For example, if the key is "price", the data value corresponding to "price" can be obtained with "msg.price". Also, if "msg.sales_quantity" and another key "sales_quantity" are specified, the data value corresponding to "sales_quantity" can be obtained.

[0025] The function conversion module creation unit 14 assists in the creation of a function conversion module. A function conversion module is a program for inputting data in the format indicated by the metadata stored in the function catalog 12 and assigning it to the arguments of a function. In this embodiment, the function variable module obtains the value of data by specifying a key in the msg object and assigns the obtained value to the argument of the function corresponding to the key. For example, when the function conversion module inputs values ​​specified by the keys "num1" and "num2", it assigns the value obtained with "msg.num1" to the first argument of the function and the value obtained with "msg.num2" to the second argument of the function. The metadata in the function catalog 12 indicates that the values ​​obtained with the keys "num1" and "num2" are assigned to the first and second arguments of the function, respectively.

[0026] The mapping module creation unit 15 assists in the creation of mapping modules. A mapping module is a program that maps the values ​​of data obtained from the output of the data conversion module to each of the arguments of a function. For example, if data values ​​can be obtained from the output of the data conversion module using the keys "price" and "sales_quantity", and the function conversion module assigns the values ​​obtained using the keys "num1" and "num2" to the first and second arguments of the function, the mapping module takes the output of the data conversion module as input, assigns the value obtained using the key "price" to the value of key "num1", and assigns the value obtained using the key "sales_quantity" to the value of key "num2". By inputting the output of the mapping module into the function conversion module, the value obtained using the key "price" is assigned to the first argument of the function, and the value obtained using the key "sales_quantity" is assigned to the second argument. Data users refer to the data catalog 11 and the function catalog 12 to create mapping modules that map data to each of the arguments of a function.

[0027] The mapping module converts data values ​​to match the units or types of the function arguments, if necessary. For example, if the data unit is kg and the function argument unit is g, the mapping module converts the data value from kg to g. If the data contains a date as a character type and the function takes a date as a numeric input, the mapping module converts the data value from character to numeric.

[0028] The data conversion module creation unit 13, the function conversion module creation unit 14, and the mapping module creation unit 15 may, for example, provide an editor function for inputting each module, or a function for loading each module from an external tool. Alternatively, the data conversion module creation unit 13 may create a data conversion module based on the data schema information, and the function conversion module creation unit 14 may create a function conversion module based on the function's input / output information. The mapping module creation unit 15 may create a mapping module based on the data schema information and the function's input / output information. For example, the mapping module creation unit 15 refers to the data schema information and the function's input / output information to extract data and function arguments with the same type and meaning, and maps the extracted data to the extracted function arguments. If a unit or type conversion is necessary, the mapping module creation unit 15 adds a function to convert units or types to the mapping module. The mapping module may also perform conversions other than units and types.

[0029] The management unit 16 holds and manages data conversion modules, function conversion modules, and mapping modules. For example, the management unit 16 may associate data metadata with data conversion modules and function metadata with function conversion modules. When a data user searches for data and functions by referring to the data catalog 11 and function catalog 12, the data user obtains the data conversion modules and function conversion modules needed to use that data and function from the management unit 16 and creates a mapping module to connect the data conversion modules and function conversion modules.

[0030] The flow creation unit 17 assists in creating flows by connecting each module. Data users create flows by connecting the outputs of modules to the inputs of other modules. The flow creation unit 17 can utilize, for example, Node-RED. Node-RED is a tool for developing applications by dragging and dropping various nodes into a workspace and connecting them with lines. In this embodiment, each module is created as a Node-RED node, and flows are created by connecting the nodes in Node-RED.

[0031] When a data user places a flow on the processing platform 30, the processing platform 30 processes the data using functions according to the flow and outputs the processing results.

[0032] The processing board 30 includes a control unit 31, a data storage unit 32, a function storage unit 33, and a data sandbox 50.

[0033] The control unit 31 controls the execution of flows on the processing platform 30 in accordance with a policy agreed upon in advance among the data provider, function provider, and data user. Specifically, after confirming the policy, the control unit 31 inputs the flow and creates a data sandbox 50, reads the data and functions necessary for the execution of the flow from the data storage unit 32 and the function storage unit 33 and places them in the data sandbox 50, and executes the flow within the data sandbox 50.

[0034] The control unit 31 maintains policies regarding the use of data and functions and determines whether the data user's use of data and functions conforms to the policies. If it conforms to the policies, the control unit 31 executes the flow and returns the processing results to the data user. The policies are the conditions for data users to use data and functions. Policies regarding the use of data and functions are agreed upon between the data provider, the function provider, and the data user. The policies define the scope of data use, the conditions for function use, and the scope of use of processing results obtained by combining data and functions. The scope of data use includes, for example, the items of data that can be used, the people who can use the data, the period during which the data can be used, and the number of times the data can be used. The conditions for function use include, for example, the functions of the function that can be used, the amount of data that the function can process, the people who can use the function, the period during which the function can be used, and the number of times the function can be used. The scope of use of processing results includes, for example, the people who can use the processing results, the period during which the processing results can be used, and the number of times the processing results can be used.

[0035] The data storage unit 32 stores the data provided by the data provider. Access to the data stored in the data storage unit 32 is restricted to the data provider in accordance with the policy. The data storage unit 32 may store the data in an encrypted state.

[0036] The function storage unit 33 stores functions provided by function providers. Access to functions stored in the function storage unit 33 is restricted to function providers in accordance with the policy. The function storage unit 33 may store functions in an encrypted state.

[0037] The data and functions are encrypted and placed in the data sandbox 50. Note that the data may be retrieved from a location other than the data storage unit 32 and placed in the data sandbox 50, and the functions may be retrieved from a location other than the function storage unit 33 and placed in the data sandbox 50.

[0038] The data sandbox 50 is an execution environment isolated from the outside world, created for each flow, and deleted after the flow has been processed. The data sandbox 50 comprises a flow execution unit 51 and a function execution unit 52. The flow execution unit 51 executes modules according to the flow. The function execution unit 52 executes functions by assigning data as arguments. The data and functions are decrypted and processed within a Trusted Execution Environment (TEE). The TEE is, for example, an area within the CPU provided by the Central Processing Unit (CPU). The data sandbox 50 is deleted after the processing results are returned to the data user.

[0039] Next, referring to the flowchart in Figure 2, we will explain an example of the process flow for data providers to provide data.

[0040] In step S11, the data provider stores the data they provide in the data storage unit 32. The data provider may register the data storage location with the processing platform 30 instead of the data itself. An example of data is shown in Figure 3. The data in Figure 3 includes the product number (item_code) and the selling price (selling_price).

[0041] In step S12, the data provider registers the metadata of the data to be provided in the data catalog 11. Figure 4 shows an example of the metadata for the data in Figure 3. In addition to general metadata, the metadata includes a data model that holds the key, type, unit, and meaning for each piece of data. Specifically, the metadata in Figure 4 includes the data name, data description, data owner, and creation date and time as general metadata. As schema information for the data, it includes a data model for the product number data with the key "item_code", type character, and no unit, and a data model for the sales price data with the key "selling_price", type integer, and unit dollars.

[0042] In step S13, the data provider uses the data transformation module creation unit 13 to create a data transformation module to obtain values ​​from keys. The created data transformation module is linked to the metadata of the data catalog 11 and managed by the management unit 16. Figure 5 shows an example of a data transformation module. The data transformation module in Figure 5 reads the data from Figure 3 within the data sandbox 50, assigns the read values ​​to the variables corresponding to the keys "item_code" and "selling_price", and outputs messages indicating that the data values ​​for each key have been obtained. Hereafter, the data transformation module in Figure 5 will also be referred to as the Sales node.

[0043] Next, referring to the flowchart in Figure 6, we will explain an example of the process flow in which a function provider provides a function.

[0044] In step S21, the function provider stores the function they provide in the function storage unit 33. The function provider may register the storage location of the function with the processing board 30 instead of the function itself. An example of a function is shown in Figure 7. The function in Figure 7 is a function that calculates the sales revenue when 100 units of a product are sold.

[0045] In step S22, the function provider registers the metadata of the function they provide in the function catalog 12. Figure 8 shows an example of the metadata for the function in Figure 7. In addition to general metadata, the metadata includes input / output information regarding the function's arguments and outputs. Specifically, the metadata in Figure 8 includes the function name, function description, function owner, creation date and time, and function input / output information. The function's input / output information includes information about the argument, indicating that it takes the price of a product with the key "num1", type integer, and unit yen as an argument, and information about the output, indicating that it outputs the sales revenue when 100 units of a product of type integer, unit yen are sold.

[0046] In step S23, the function provider uses the function conversion module creation unit 14 to create a function conversion module for processing data by inputting it as an argument. The created function conversion module is linked to the metadata of the function catalog 12 and managed by the management unit 16. Figure 9 shows an example of a function conversion module. The function conversion module in Figure 9 calls the function in Figure 7 within the data sandbox 50 by substituting the value obtained with the key "num1" in the input message as the first argument. Hereinafter, the function conversion module in Figure 9 will also be referred to as the Sum node.

[0047] Next, referring to the flowchart in Figure 10, we will explain an example of the process flow in which data users utilize data and functions.

[0048] In step S31, the data user searches for the data and functions they want to use by referring to the data catalog 11 and the function catalog 12. If the data user is the same as the data provider, they search for the function that processes their own data in the function catalog 12. If the data user is the same as the function provider, they search for the data that their own function will process in the data catalog 11.

[0049] In step S32, the data user refers to the metadata of the data provided by the data catalog 11 and the metadata of the functions provided by the function catalog 12, and uses the mapping module creation unit 15 to create a mapping module to map the data to the arguments of the functions. The mapping module is managed by the management unit 16.

[0050] For example, a data user can refer to the metadata in Figure 4 to learn that the product number and selling price can be obtained from the output of the Sales node using the keys "item_code" and "selling_price," and that the unit of the value obtained using the key "selling_price" is dollars. By referring to the metadata in Figure 8, the Sum node can learn that the value obtained with the key "num1" is assigned to the function argument, that the unit of the value obtained with the key "num1" is yen, and that the unit of the output of the Sum node is yen. Based on the information obtained, the data user creates a mapping module that maps the information obtained from the output of the Sales node to the function argument. An example of a mapping module is shown in Figure 11. The mapping module in Figure 11 is a module that maps the output of the Sales node in Figure 5 to the function argument of the Sum node in Figure 9. Specifically, the mapping module in Figure 1 is a module that obtains the value corresponding to the key "selling_price" from the output of the Sales node, converts the unit of the obtained value to the unit of input to the Sum node, and outputs a message that assigns the converted value to the variable indicated by the key "num1." Hereafter, the mapping module in Figure 10 will also be referred to as a Mapping node.

[0051] In step S33, the data user uses the flow creation unit 17 to connect various modules and creates a flow for processing data with functions on the processing platform 30. An example of a flow is shown in Figure 12. In the flow in Figure 12, the Sales node and the Sum node are connected via a Mapping node. By executing this flow, the output of the Sales node is processed by the Mapping node and input to the Sum node. Specifically, the Sales node reads the data and assigns the data value to a variable indicated by the key "selling_price". The Mapping node retrieves the value from the variable indicated by the key "selling_price", converts the unit of the retrieved value from dollars to yen, and assigns the converted value to a variable indicated by the key "num1". The Sum node retrieves the value from the variable indicated by the key "num1", assigns the retrieved value as an argument, and executes the function.

[0052] In the data catalog 11 and function catalog 12, the schema information of the data and the input / output information of the functions are cataloged in a unified format that includes keys, types, units, and meanings. This allows data users to search for the desired data and the functions that can process that data, and also makes it easier to link data and functions.

[0053] Next, we will refer to the flowchart in Figure 13 and explain an example of the processing flow of the processing platform 30.

[0054] In step S41, the processing board 30 receives the flow and module input.

[0055] In step S42, the control unit 31 determines whether the use of the flow's data and functions conforms to the policy. For example, the control unit 31 extracts the data and functions used in the flow and determines whether the data user has the right to use that data and functions. If the use of the flow's data and functions does not conform to the policy, the processing infrastructure 30 does not execute any further processing. The control unit 31 may also notify that the use of the flow's data and functions does not conform to the policy.

[0056] In step S43, the control unit 31 creates a data sandbox 50 for executing the flow and retrieves data and functions according to the policy and places them within the data sandbox 50. Encrypted data and encrypted functions are placed within the data sandbox 50.

[0057] In step S44, the data sandbox 50 executes each module according to the flow. For example, the flow execution unit 51 executes modules according to the flow, and the function execution unit 52 decodes the data and functions in the CPU in response to the module execution and processes the data with the function.

[0058] In step S45, the data sandbox 50 outputs the processing results obtained from the execution of the flow.

[0059] In step S46, the control unit 31 deletes the data sandbox 50 along with the data and functions.

[0060] Through the above process, it is possible to obtain only the processing results obtained by processing the data with the function, without seeing the data or the function itself.

[0061] In this embodiment, a processing platform 30 is used that processes data and functions within a data sandbox 50 while keeping them confidential, but this is not the only option. For example, a data user may process the data using functions on their own computer using a flow created on the module creation platform 10. It is assumed that the data and functions have policies set to allow them to be used on the data user's computer.

[0062] Furthermore, although this embodiment describes an example where a data user creates a mapping module, as shown in Figure 14(a), a data provider may create a data transformation module and a mapping module, or as shown in Figure 14(b), a function provider may create a function transformation module and a mapping module. In the example in Figure 14(a), the data provider creates Data1 and Data2 nodes and, by referring to the function catalog 12, creates a Mapping node that maps the outputs of the Data1 and Data2 nodes to the arguments of the Function node in order to process their own data with another person's function. In the example in Figure 14(b), the function provider creates a Function node and, by referring to the data catalog 11, creates a Mapping node that maps the outputs of the Data1 and Data2 nodes to the arguments of the Function node in order to process another person's data with their own function.

[0063] Figure 14(c) shows an example of a data user, who is neither a data provider nor a function provider, creating a mapping module. The Data1 and Data2 nodes are created by the data provider. The Function node is created by the function provider. The data user refers to the data catalog 11 and the function catalog 12 to create a Mapping node that maps the outputs of the Data1 and Data2 nodes to the arguments of the Function node.

[0064] As described above, the module creation platform 10 of this embodiment includes a data catalog 11 that holds data schema information as a catalog, a function catalog 12 that holds function input / output information as a catalog, a management unit 16 that manages a data conversion module that outputs data in the format indicated by the data schema information, a function conversion module that inputs data in the format indicated by the function input / output information and assigns it to the function arguments, and a mapping module that maps the data obtained from the output of the data conversion module to each of the function arguments and outputs the data in the format indicated by the function input / output information, and a flow creation unit 17 that supports the creation of flows connecting the data conversion module, the function conversion module and the mapping module. As a result, data users can search for desired data and desired functions from the data catalog 11 and the function catalog 12 and use the data and functions in combination.

[0065] According to this embodiment, the schema information of the data and the input / output information of the function are unified into the same format, and the schema information of the data includes the key, type, unit, and meaning for each data item, and the input / output information of the function includes the key, type, unit, and meaning for each argument of the function, thereby making it easier to link the data with the input of the function.

[0066] The module creation platform 10 and processing platform 30 described above can be a general-purpose computer system, such as the one shown in Figure 15, which includes a CPU 901, memory 902, storage 903, communication device 904, input device 905, and output device 906. In this computer system, the module creation platform 10 and processing platform 30 are realized when the CPU 901 executes a predetermined program loaded onto the memory 902. This program can be recorded on a computer-readable non-temporary recording medium such as a magnetic disk, optical disk, or semiconductor memory, or it can be distributed via a network. The module creation platform 10 and processing platform 30 may be composed of multiple computers or virtual machines on the cloud. The communication device 904, input device 905, and output device 906 may also be composed of multiple computers or virtual machines on the cloud. [Explanation of Symbols]

[0067] 10 Module creation platform 11 Data Catalog 12 Function Catalog 13. Data Conversion Module Creation Section 14 Function Conversion Module Creation Section 15. Mapping Module Creation Section 16 Management Department 17. Flow Creation Section 30 Processing infrastructure 31 Control Unit 32 Data storage unit 33 Function storage unit 50 Data Sandbox 51 Flow Execution Unit 52 Function Execution Unit

Claims

1. A data catalog that holds schema information for one or more data as a catalog, A function catalog that holds input / output information for one or more functions as a catalog, A management unit manages a data conversion module that outputs the aforementioned data in the format indicated by the schema information of the aforementioned data, a function conversion module that inputs the aforementioned data in the format indicated by the input / output information of the aforementioned function and assigns it to the arguments of the aforementioned function, and a mapping module that maps the data obtained from the output of the data conversion module to each of the arguments of the aforementioned function and outputs the aforementioned data in the format indicated by the input / output information of the aforementioned function. A flow creation unit that assists in creating a flow by connecting the data conversion module, the function conversion module, and the mapping module, The system includes a processing unit that reads the aforementioned data and the aforementioned function, executes the aforementioned flow, and processes the aforementioned data with the aforementioned function. Information processing device.

2. An information processing device according to Claim 1, The processing unit holds the data and the function. Information processing device.

3. An information processing apparatus according to claim 1, The schema information for the aforementioned data includes, for each piece of data, the key, type, unit, and meaning. The input and output information of the function includes, for each argument of the function, the key, type, unit, and meaning. Information processing device.

4. An information processing apparatus according to claim 3, The data conversion module stores the value of the data in a variable from which the value can be obtained using the data's key. The mapping module obtains the value of the data by specifying the key of the data to the output of the data conversion module, and stores the value of the data in a variable whose value can be obtained using the key of the function's argument. The function conversion module obtains the value of the data by specifying the key of the function argument to the output of the mapping module, and assigns the value of the obtained data to the function argument. Information processing device.

5. An information processing apparatus according to claim 4, The mapping module converts the values ​​of the data obtained from the output of the data conversion module to match the units or types of the function's arguments. Information processing device.

6. An information processing apparatus according to any one of claims 1 to 5, The processing unit creates an execution environment for executing the flow, places the data and the function within the execution environment, processes the data with the function according to the flow, and after processing, deletes the execution environment along with the data and the function. Information processing device.

7. Computers It maintains schema information for one or more data as a catalog, It stores the input / output information of one or more functions as a catalog. A data conversion module that outputs the aforementioned data in the format indicated by the schema information of the aforementioned data; a function conversion module that inputs the aforementioned data in the format indicated by the input / output information of the aforementioned function and assigns it to the arguments of the aforementioned function; and a mapping module that maps the data obtained from the output of the data conversion module to each of the arguments of the aforementioned function and outputs the aforementioned data in the format indicated by the input / output information of the aforementioned function. Supports the creation of a flow that connects the aforementioned data conversion module, the aforementioned function conversion module, and the aforementioned mapping module. The data and the function are read, the flow is executed and the data is processed by the function. Information processing methods.

8. A program for operating a computer as each part of the information processing apparatus described in any one of claims 1 to 5.